aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/README32
-rw-r--r--meta-oe/README.md31
-rw-r--r--meta-oe/classes/breakpad.bbclass2
-rw-r--r--meta-oe/classes/gitpkgv.bbclass14
-rw-r--r--meta-oe/classes/gpe.bbclass4
-rw-r--r--meta-oe/classes/image_types_sparse.bbclass17
-rw-r--r--meta-oe/classes/itstool.bbclass2
-rw-r--r--meta-oe/classes/signing.bbclass316
-rw-r--r--meta-oe/classes/socorro-syms.bbclass2
-rw-r--r--meta-oe/conf/include/ptest-packagelists-meta-oe.inc72
-rw-r--r--meta-oe/conf/layer.conf33
-rw-r--r--meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend2
-rw-r--r--meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff2
-rw-r--r--meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch2
-rw-r--r--meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch2
-rw-r--r--meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb7
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb14
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem/0001-include-missing-cstdint.patch32
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb30
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch57
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Unbolt-ubuntu-hack.patch26
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch44
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb110
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb115
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch32
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-drop-unnecessary-build-dependencies.patch58
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-networkd.c-define-scope-specific-to-case-statement.patch47
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0002-meson.build-do-not-use-Werror.patch29
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.0.bb52
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.5.2.bb68
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.6.bb67
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend14
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-build-on-32bit.patch38
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-type-mismatch-on-32bit-arches.patch33
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch40
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch38
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-apply-msvc-workaround-for-clang-16.patch32
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-free_mon-Include-missing-cstdint.patch28
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch714
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-server-Adjust-the-cache-alignment-assumptions.patch37
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-wiredtiger-Avoid-using-off64_t.patch30
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch3
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch2
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch17
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch18
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb123
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb-generator_0.4.8.bb14
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb-runtime_0.4.8.bb17
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb.bb16
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb.inc13
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb29
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch46
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch33
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch41
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch35
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb49
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Port-build-to-python3.patch6897
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch33
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-fix-cross-compilation-on-i586-targets.patch38
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-do-not-create-python-environment.patch64
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0005-fix-cannot-find-link.patch34
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0006-workaround-autoconf-2.13-detection-failed.patch28
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0007-fix-do_compile-failed-on-mips.patch33
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0008-add-riscv-support.patch50
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0009-mozjs-fix-coredump-caused-by-getenv.patch27
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0010-format-overflow.patch21
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0011-To-fix-build-error-on-arm32BE.patch28
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0012-JS_PUBLIC_API.patch55
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0013-riscv-Disable-atomic-operations.patch38
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-remove-JS_VOLATIME_ARM.patch111
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch80
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0001-support-musl.patch98
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0002-js-Fix-build-with-musl.patch31
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb147
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb35
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-support/nvmetcli/nvmetcli_0.7.bb39
-rw-r--r--meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb8
-rw-r--r--meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend5
-rw-r--r--meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb36
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend2
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb56
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch44
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.6.bb55
-rw-r--r--meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.8.0.bb51
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf4
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-cleanup24
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-setup35
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-start7
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs_1.0.bb35
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf/android-gadget-setup37
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf_1.0.bb18
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0001-Fixes-for-yocto-build.patch164
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0002-android-tools-modifications-to-make-it-build-in-yoct.patch375
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0003-Update-usage-of-usbdevfs_urb-to-match-new-kernel-UAP.patch128
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0004-adb-Fix-build-on-big-endian-systems.patch50
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0005-adb-Allow-adbd-to-be-run-as-root.patch25
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/adbd.mk87
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/android-tools-adbd.service13
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Add-riscv64-support.patch653
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Added-missing-headers.patch46
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Nonnull.patch22
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Vector-cast.patch16
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/add-missing-headers.patch43
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/20150704-CVE-2015-3239_dwarf_i.h.patch15
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/legacy_built-in_sync_functions.patch28
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/user_pt_regs.patch26
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-attribute-issue-with-gcc.patch19
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-build-on-non-x86.patch26
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-gettid-exception-declaration.patch26
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-standard-namespace-errors.patch24
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/hard-code-build-number.patch46
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/libusb-header-path.patch18
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/move-log-file-to-proper-dir.patch20
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/simg_dump-python3.patch64
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/stdatomic.patch66
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/stub-out-fastdeploy.patch95
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Add-riscv64-support.patch653
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Added-missing-headers.patch46
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Nonnull.patch22
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Vector-cast.patch16
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/add-missing-headers.patch43
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-attribute-issue-with-gcc.patch19
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-build-on-non-x86.patch26
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-gettid-exception-declaration.patch26
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-standard-namespace-errors.patch24
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/hard-code-build-number.patch46
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/libusb-header-path.patch18
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/move-log-file-to-proper-dir.patch20
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/simg_dump-python3.patch64
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/stdatomic.patch66
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/stub-out-fastdeploy.patch95
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/throw-exception-on-unknown-os.patch18
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/throw-exception-on-unknown-os.patch18
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/remount2
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/rules_yocto.mk1
-rw-r--r--meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb194
-rw-r--r--meta-oe/files/static-group-meta-oe9
-rw-r--r--meta-oe/files/static-passwd-meta-oe11
-rw-r--r--meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py1
-rw-r--r--meta-oe/lib/oeqa/selftest/cases/syzkaller.py124
-rw-r--r--meta-oe/licenses/Arphic-Public-License116
-rw-r--r--meta-oe/licenses/Bellcore13
-rw-r--r--meta-oe/licenses/MINPACK51
-rw-r--r--meta-oe/licenses/rateconv27
-rw-r--r--meta-oe/licenses/wxWidgets54
-rw-r--r--meta-oe/recipes-benchmark/bonnie/bonnie++/fix-configure-lfs.patch39
-rw-r--r--meta-oe/recipes-benchmark/bonnie/bonnie++/fix-csv2html-data.patch183
-rw-r--r--meta-oe/recipes-benchmark/bonnie/bonnie++/makefile-use-link-for-helper.patch24
-rw-r--r--meta-oe/recipes-benchmark/bonnie/bonnie++_1.04.bb8
-rw-r--r--meta-oe/recipes-benchmark/bonnie/bonnie++_2.00a.bb33
-rw-r--r--meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb12
-rw-r--r--meta-oe/recipes-benchmark/dbench/dbench_4.0.bb10
-rw-r--r--meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch2
-rw-r--r--meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb1
-rw-r--r--meta-oe/recipes-benchmark/fio/fio_3.25.bb45
-rw-r--r--meta-oe/recipes-benchmark/fio/fio_3.36.bb45
-rw-r--r--meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch2
-rw-r--r--meta-oe/recipes-benchmark/glmark2/files/0002-run-dispmanx-fullscreen.patch12
-rw-r--r--meta-oe/recipes-benchmark/glmark2/files/0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch103
-rw-r--r--meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch138
-rw-r--r--meta-oe/recipes-benchmark/glmark2/glmark2_git.bb18
-rw-r--r--meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch35
-rw-r--r--meta-oe/recipes-benchmark/iozone3/iozone3_490.bb121
-rw-r--r--meta-oe/recipes-benchmark/iozone3/iozone3_506.bb119
-rw-r--r--meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch2
-rw-r--r--meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb2
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch13
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch10
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3_3.16.bb31
-rw-r--r--meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb30
-rw-r--r--meta-oe/recipes-benchmark/libc-bench/libc-bench/0001-build-Do-not-override-ldflags-from-environment.patch30
-rw-r--r--meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb5
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch2
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch2
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch2
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch2
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch2
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch2
-rw-r--r--meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb27
-rw-r--r--meta-oe/recipes-benchmark/linpack/linpack/0001-linpack-Define-DP-only-when-SP-is-not-defined.patch32
-rw-r--r--meta-oe/recipes-benchmark/linpack/linpack_1.0.bb10
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch27
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-bench.h-Fix-typo-in-specifying-string.h.patch27
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch)2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-manual-pages.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-manual-pages.patch)2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_fifo-Fix-cleanup-sequence.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_fifo-Fix-cleanup-sequence.patch)2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_http.c-Add-printf-format.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch)2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-lmbench-Point-webpage-lm-to-target-directory.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lmbench-Point-webpage-lm-to-target-directory.patch)2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch239
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch)0
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch)2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/fix-lmbench-memory-check-failure.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch)2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/lmbench_result_html_report.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch)2
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/obey-ranlib.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch)0
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/update-config-script.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch)0
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench/update-results-script.patch (renamed from meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch)0
-rw-r--r--meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb24
-rw-r--r--meta-oe/recipes-benchmark/mbw/mbw_2.0.bb16
-rw-r--r--meta-oe/recipes-benchmark/memtester/files/Makefile.patch2
-rw-r--r--meta-oe/recipes-benchmark/memtester/memtester_4.5.0.bb25
-rw-r--r--meta-oe/recipes-benchmark/memtester/memtester_4.6.0.bb24
-rw-r--r--meta-oe/recipes-benchmark/phoronix-test-suite/files/CVE-2022-40704.patch46
-rw-r--r--meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.4.bb43
-rw-r--r--meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb41
-rw-r--r--meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb18
-rw-r--r--meta-oe/recipes-benchmark/s-suite/s-suite_git.bb8
-rw-r--r--meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch28
-rw-r--r--meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch72
-rw-r--r--meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.11.bb23
-rw-r--r--meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb21
-rw-r--r--meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb26
-rw-r--r--meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb30
-rw-r--r--meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch2
-rw-r--r--meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb4
-rw-r--r--meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb5
-rw-r--r--meta-oe/recipes-bsp/acpitool/acpitool_0.5.1.bb2
-rw-r--r--meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb22
-rw-r--r--meta-oe/recipes-bsp/con2fbmap/con2fbmap/0001-con2fbmap-Add-missing-include-on-string.h.patch28
-rw-r--r--meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb6
-rw-r--r--meta-oe/recipes-bsp/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch2
-rw-r--r--meta-oe/recipes-bsp/cpufrequtils/cpufrequtils_008.bb9
-rw-r--r--meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb38
-rw-r--r--meta-oe/recipes-bsp/firmwared/firmwared_git.bb10
-rw-r--r--meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch57
-rw-r--r--meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch44
-rw-r--r--meta-oe/recipes-bsp/flashrom/flashrom/0001-hwaccess-use-__asm__-as-is-done-elsewhere.patch52
-rw-r--r--meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch69
-rw-r--r--meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch68
-rw-r--r--meta-oe/recipes-bsp/flashrom/flashrom_1.2.1.bb20
-rw-r--r--meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb21
-rw-r--r--meta-oe/recipes-bsp/fwupd/fwupd-efi/cc.patch53
-rw-r--r--meta-oe/recipes-bsp/fwupd/fwupd-efi_1.3.bb33
-rw-r--r--meta-oe/recipes-bsp/fwupd/fwupd/0001-meson-Avoid-absolute-buildtime-paths-in-generated-he.patch41
-rwxr-xr-xmeta-oe/recipes-bsp/fwupd/fwupd/run-ptest6
-rw-r--r--meta-oe/recipes-bsp/fwupd/fwupd_1.8.9.bb142
-rw-r--r--meta-oe/recipes-bsp/i2cdev/i2cdev/fix-lsi2c-makefile.patch28
-rw-r--r--meta-oe/recipes-bsp/i2cdev/i2cdev/fix-musl.patch110
-rw-r--r--meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb26
-rw-r--r--meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb4
-rw-r--r--meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch30
-rw-r--r--meta-oe/recipes-bsp/ledmon/ledmon/0001-fix-build-with-clang.patch90
-rw-r--r--meta-oe/recipes-bsp/ledmon/ledmon_0.97.bb34
-rw-r--r--meta-oe/recipes-bsp/ledmon/ledmon_git.bb41
-rw-r--r--meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb16
-rw-r--r--meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb81
-rw-r--r--meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb14
-rw-r--r--meta-oe/recipes-bsp/lsscsi/lsscsi_030.bb13
-rw-r--r--meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.13.bb33
-rw-r--r--meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.8.bb30
-rw-r--r--meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb10
-rw-r--r--meta-oe/recipes-bsp/pointercal/pointercal_0.0.bb5
-rw-r--r--meta-oe/recipes-connectivity/ace/ace_6.5.12.bb42
-rw-r--r--meta-oe/recipes-connectivity/ace/ace_6.5.19.bb41
-rw-r--r--meta-oe/recipes-connectivity/ace/files/ace_config.patch2
-rw-r--r--meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb68
-rw-r--r--meta-oe/recipes-connectivity/gammu/gammu_1.42.0.bb68
-rw-r--r--meta-oe/recipes-connectivity/gammu/python3-gammu/0001-setup.py-StrictVersion-packaging.version.patch49
-rw-r--r--meta-oe/recipes-connectivity/gammu/python3-gammu_3.2.4.bb21
-rw-r--r--meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch53
-rw-r--r--meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch2
-rw-r--r--meta-oe/recipes-connectivity/gattlib/gattlib_git.bb28
-rw-r--r--meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb24
-rw-r--r--meta-oe/recipes-connectivity/gensio/gensio_2.8.3.bb26
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch79
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb51
-rw-r--r--meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb52
-rw-r--r--meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch2
-rw-r--r--meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb8
-rw-r--r--meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb22
-rw-r--r--meta-oe/recipes-connectivity/irssi/irssi_1.4.5.bb21
-rw-r--r--meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch37
-rw-r--r--meta-oe/recipes-connectivity/iwd/iwd_1.12.bb55
-rw-r--r--meta-oe/recipes-connectivity/iwd/iwd_2.16.bb55
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5/0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch32
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb192
-rw-r--r--meta-oe/recipes-connectivity/krb5/krb5_1.21.2.bb201
-rw-r--r--meta-oe/recipes-connectivity/libev/libev_4.33.bb4
-rw-r--r--meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb17
-rw-r--r--meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice/0001-include-unistd.h-for-usleep.patch31
-rw-r--r--meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb17
-rw-r--r--meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb22
-rw-r--r--meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb17
-rw-r--r--meta-oe/recipes-connectivity/libmbim/libmbim_1.24.6.bb17
-rw-r--r--meta-oe/recipes-connectivity/libmbim/libmbim_1.30.0.bb22
-rw-r--r--meta-oe/recipes-connectivity/libmtp/libmtp_1.1.18.bb50
-rw-r--r--meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb47
-rw-r--r--meta-oe/recipes-connectivity/libndp/libndp_1.7.bb12
-rw-r--r--meta-oe/recipes-connectivity/libndp/libndp_1.8.bb12
-rw-r--r--meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch58
-rw-r--r--meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb24
-rw-r--r--meta-oe/recipes-connectivity/libnet/libnet_1.3.bb20
-rw-r--r--meta-oe/recipes-connectivity/libnfs/libnfs/0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch61
-rw-r--r--meta-oe/recipes-connectivity/libnfs/libnfs/0001-cmake-Test-for-sys-uio.h.patch44
-rw-r--r--meta-oe/recipes-connectivity/libnfs/libnfs_5.0.3.bb18
-rw-r--r--meta-oe/recipes-connectivity/libqmi/libqmi_1.26.6.bb21
-rw-r--r--meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb28
-rw-r--r--meta-oe/recipes-connectivity/libqrtr-glib/libqrtr-glib_git.bb21
-rw-r--r--meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.10.bb33
-rw-r--r--meta-oe/recipes-connectivity/libtorrent/libtorrent/don-t-run-code-while-configuring-package.patch28
-rw-r--r--meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb29
-rw-r--r--meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.1.6.bb43
-rw-r--r--meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.3.bb65
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch26
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch48
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch26
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch37
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/phc2sys@.service.in13
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/ptp4l@.service.in11
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb23
-rw-r--r--meta-oe/recipes-connectivity/linuxptp/linuxptp_4.1.bb62
-rw-r--r--meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/04-use-pkg-config-for-gnutls.patch23
-rw-r--r--meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/glib-2.32.patch10
-rw-r--r--meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb21
-rw-r--r--meta-oe/recipes-connectivity/loudmouth/loudmouth_1.5.4.bb16
-rw-r--r--meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.10.bb53
-rw-r--r--meta-oe/recipes-connectivity/modemmanager/modemmanager_1.22.0.bb55
-rw-r--r--meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch24
-rw-r--r--meta-oe/recipes-connectivity/mosh/mosh/0001-configure.ac-add-support-of-protobuf-4.22.x.patch63
-rw-r--r--meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb48
-rw-r--r--meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb50
-rw-r--r--meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch3
-rw-r--r--meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb7
-rw-r--r--meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb14
-rw-r--r--meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch2
-rw-r--r--meta-oe/recipes-connectivity/obexftp/obexftp/Remove_some_printf_in_obexftpd.patch2
-rw-r--r--meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch2
-rw-r--r--meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb8
-rw-r--r--meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb2
-rw-r--r--meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch25
-rw-r--r--meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.13.bb33
-rw-r--r--meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.8.bb34
-rw-r--r--meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch59
-rw-r--r--meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.2.bb24
-rw-r--r--meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_23.09.bb21
-rw-r--r--meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch25
-rw-r--r--meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb15
-rw-r--r--meta-oe/recipes-connectivity/rabbitmq-c/files/CVE-2023-35789.patch131
-rw-r--r--meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb19
-rw-r--r--meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.13.0.bb21
-rw-r--r--meta-oe/recipes-connectivity/rfkill/rfkill/0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch2
-rw-r--r--meta-oe/recipes-connectivity/rfkill/rfkill/dont.call.git.rev-parse.on.parent.dir.patch2
-rw-r--r--meta-oe/recipes-connectivity/rfkill/rfkill_1.0.bb4
-rw-r--r--meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch104
-rw-r--r--meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb19
-rw-r--r--meta-oe/recipes-connectivity/ser2net/files/ser2net.service13
-rw-r--r--meta-oe/recipes-connectivity/ser2net/ser2net_4.3.3.bb18
-rw-r--r--meta-oe/recipes-connectivity/ser2net/ser2net_4.6.1.bb30
-rw-r--r--meta-oe/recipes-connectivity/smstools3/smstools3/scripts_no_bash.patch2
-rw-r--r--meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath.patch2
-rw-r--r--meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb2
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb10
-rw-r--r--meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb4
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch6
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb63
-rw-r--r--meta-oe/recipes-connectivity/thrift/thrift_0.20.0.bb71
-rw-r--r--meta-oe/recipes-connectivity/transmission/transmission_git.bb20
-rw-r--r--meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb22
-rw-r--r--meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb23
-rw-r--r--meta-oe/recipes-connectivity/wifi-test-suite/files/0001-wfa_cmdproc-Store-return-value-into-location.patch32
-rw-r--r--meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch2
-rw-r--r--meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_10.10.1.bb40
-rw-r--r--meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb39
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvdial/typo_pon.wvdial.1.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb6
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/04_signed_request.diff2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/05_gcc.diff2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/06_gcc-4.7.diff2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/07_buildflags.diff2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams/openssl-buildfix.patch2
-rw-r--r--meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb36
-rw-r--r--meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch2
-rw-r--r--meta-oe/recipes-connectivity/zabbix/zabbix/0001-initialize-msghdr-portably.patch52
-rw-r--r--meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch36
-rw-r--r--meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb79
-rw-r--r--meta-oe/recipes-connectivity/zabbix/zabbix_6.2.7.bb78
-rw-r--r--meta-oe/recipes-connectivity/zeromq/cppzmq_4.10.0.bb20
-rw-r--r--meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb20
-rw-r--r--meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb35
-rw-r--r--meta-oe/recipes-connectivity/zeromq/zeromq_4.3.4.bb29
-rw-r--r--meta-oe/recipes-connectivity/zeromq/zeromq_4.3.5.bb28
-rw-r--r--meta-oe/recipes-core/basu/basu_0.2.1.bb21
-rw-r--r--meta-oe/recipes-core/dbus-cxx/dbus-cxx_0.12.bb26
-rw-r--r--meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.5.1.bb25
-rw-r--r--meta-oe/recipes-core/dbus-cxx/files/fix_build_musl.patch26
-rw-r--r--meta-oe/recipes-core/dbus/dbus-broker_26.bb33
-rw-r--r--meta-oe/recipes-core/dbus/dbus-broker_32.bb32
-rw-r--r--meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch4
-rw-r--r--meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb7
-rw-r--r--meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch2
-rw-r--r--meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb4
-rw-r--r--meta-oe/recipes-core/emlog/emlog.inc8
-rw-r--r--meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch2
-rw-r--r--meta-oe/recipes-core/emlog/emlog_git.bb15
-rw-r--r--meta-oe/recipes-core/glfw/glfw_3.3.8.bb36
-rw-r--r--meta-oe/recipes-core/glfw/glfw_3.3.bb26
-rw-r--r--meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.78.0.bb32
-rw-r--r--meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch40
-rw-r--r--meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb35
-rw-r--r--meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb30
-rw-r--r--meta-oe/recipes-core/images/meta-oe-image-all.bb5
-rw-r--r--meta-oe/recipes-core/images/meta-oe-image-base.bb7
-rw-r--r--meta-oe/recipes-core/images/meta-oe-image-ptest-all.bb25
-rw-r--r--meta-oe/recipes-core/images/meta-oe-image-ptest-fast.bb6
-rw-r--r--meta-oe/recipes-core/images/meta-oe-image-ptest.bb41
-rw-r--r--meta-oe/recipes-core/images/meta-oe-image.bb5
-rw-r--r--meta-oe/recipes-core/images/meta-oe-ptest-image.bb5
-rw-r--r--meta-oe/recipes-core/libnfc/libnfc_git.bb8
-rw-r--r--meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.6.bb19
-rw-r--r--meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.12.1.bb19
-rw-r--r--meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.6.bb20
-rw-r--r--meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.6.0.bb19
-rw-r--r--meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb19
-rw-r--r--meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch82
-rw-r--r--meta-oe/recipes-core/libxml/libxml++/run-ptest3
-rw-r--r--meta-oe/recipes-core/libxml/libxml++_2.40.1.bb28
-rw-r--r--meta-oe/recipes-core/mdbus2/mdbus2_git.bb8
-rw-r--r--meta-oe/recipes-core/meta/buildtools-imagemagick.bb10
-rw-r--r--meta-oe/recipes-core/meta/distro-feed-configs.bb5
-rw-r--r--meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch16
-rw-r--r--meta-oe/recipes-core/mm-common/mm-common_1.0.2.bb13
-rw-r--r--meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb27
-rw-r--r--meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb12
-rw-r--r--meta-oe/recipes-core/ndctl/ndctl/0001-include-libgen.h-for-basename.patch32
-rw-r--r--meta-oe/recipes-core/ndctl/ndctl_v69.bb32
-rw-r--r--meta-oe/recipes-core/ndctl/ndctl_v78.bb34
-rw-r--r--meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb20
-rw-r--r--meta-oe/recipes-core/opencl/ocl-icd_git.bb19
-rw-r--r--meta-oe/recipes-core/opencl/opencl-clhpp_git.bb8
-rw-r--r--meta-oe/recipes-core/opencl/opencl-headers_2023.12.14.bb19
-rw-r--r--meta-oe/recipes-core/opencl/opencl-headers_git.bb18
-rw-r--r--meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb54
-rw-r--r--meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb47
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-basic.bb5
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-boot.bb5
-rw-r--r--meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb565
-rw-r--r--meta-oe/recipes-core/pim435/pim435_git.bb22
-rw-r--r--meta-oe/recipes-core/plymouth/files/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch34
-rw-r--r--meta-oe/recipes-core/plymouth/plymouth/0001-Avoid-linking-to-plymouth_logo_file.patch28
-rw-r--r--meta-oe/recipes-core/plymouth/plymouth/0001-Drop-libdl-references.patch70
-rw-r--r--meta-oe/recipes-core/plymouth/plymouth/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch63
-rw-r--r--meta-oe/recipes-core/plymouth/plymouth/0001-Make-themes-build-optional.patch120
-rw-r--r--meta-oe/recipes-core/plymouth/plymouth/0001-plymouth-Add-the-retain-splash-option.patch35
-rw-r--r--meta-oe/recipes-core/plymouth/plymouth/0001-plymouth-start-service-in-add-related-kernel-paramet.patch31
-rw-r--r--meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb67
-rw-r--r--meta-oe/recipes-core/plymouth/plymouth_24.004.60.bb102
-rw-r--r--meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb11
-rw-r--r--meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch42
-rw-r--r--meta-oe/recipes-core/safec/safec_3.5.1.bb21
-rw-r--r--meta-oe/recipes-core/safec/safec_3.7.1.bb21
-rwxr-xr-xmeta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/run-ptest15
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch413
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-meson-Fix-reallocarray-check.patch25
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch163
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch25
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch63
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch27
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch432
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch54
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch442
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch227
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch153
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch47
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch45
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch97
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch42
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch99
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch34
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch38
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch62
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch35
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch30
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch32
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch33
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch11
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-missing_type.h-add-comparison_fn_t.patch61
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch434
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch79
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch699
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch156
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch44
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch106
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch99
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch34
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch43
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch41
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch76
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch32
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch562
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch60
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch173
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch49
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch37
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch572
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch52
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch42
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch39
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch57
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch43
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/static-libsystemd-pkgconfig.patch11
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb70
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.4.bb77
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.3.bb16
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.5.0.bb16
-rwxr-xr-xmeta-oe/recipes-core/sdbus-c++/sdbus-c++/run-ptest6
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb37
-rw-r--r--meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.5.0.bb51
-rw-r--r--meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb10
-rw-r--r--meta-oe/recipes-core/toybox/toybox_0.8.11.bb113
-rw-r--r--meta-oe/recipes-core/toybox/toybox_0.8.4.bb114
-rw-r--r--meta-oe/recipes-core/usleep/usleep_1.0.bb33
-rw-r--r--meta-oe/recipes-core/usleep/usleep_1.2.bb33
-rw-r--r--meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc562
-rw-r--r--meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.25.bb73
-rw-r--r--meta-oe/recipes-crypto/botan/botan_2.14.0.bb53
-rw-r--r--meta-oe/recipes-crypto/botan/botan_3.2.0.bb52
-rw-r--r--meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb92
-rw-r--r--meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.7.2.bb117
-rw-r--r--meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.3.bb31
-rw-r--r--meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.5.bb31
-rw-r--r--meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch36
-rw-r--r--meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb30
-rw-r--r--meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb32
-rw-r--r--meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb8
-rw-r--r--meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch49
-rw-r--r--meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb13
-rw-r--r--meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb14
-rw-r--r--meta-oe/recipes-crypto/libtomcrypt/libtomcrypt/CVE-2019-17362.patch25
-rw-r--r--meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb41
-rw-r--r--meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb28
-rw-r--r--meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.27.bb30
-rw-r--r--meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.30.0.bb31
-rw-r--r--meta-oe/recipes-dbs/influxdb/influxdb/0001-Use-v2.1.2-xxhash-to-fix-build-with-go-1.17.patch39
-rw-r--r--meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch14
-rw-r--r--meta-oe/recipes-dbs/influxdb/influxdb_1.7.10.bb65
-rw-r--r--meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb76
-rw-r--r--meta-oe/recipes-dbs/leveldb/leveldb/0001-CMakeLists.txt-fix-googletest-related-options.patch55
-rw-r--r--meta-oe/recipes-dbs/leveldb/leveldb/0001-Fix-printing-64-bit-integer-types.patch43
-rw-r--r--meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb33
-rw-r--r--meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb35
-rw-r--r--meta-oe/recipes-dbs/libdbi/libdbi.inc2
-rw-r--r--meta-oe/recipes-dbs/libdbi/libdbi_0.9.0.bb1
-rw-r--r--meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch35
-rw-r--r--meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch24
-rw-r--r--meta-oe/recipes-dbs/lmdb/files/run-ptest25
-rw-r--r--meta-oe/recipes-dbs/lmdb/lmdb_0.9.31.bb39
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb-native_10.11.7.bb23
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb-native_10.5.8.bb20
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb.inc179
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch84
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch19
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-33439-Fix-build-with-libxml2-2.12.patch170
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-the-compile_time_assert-lines.patch43
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch45
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch26
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch69
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/0001-stacktrace-t.c-make-the-test-conditional.patch38
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch82
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch32
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch34
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch35
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/lfs64.patch21
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch13
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/my.cnf2
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch43
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/run-ptest20
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch67
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/ssize_t.patch15
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch2
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch23
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb_10.11.7.bb63
-rw-r--r--meta-oe/recipes-dbs/mysql/mariadb_10.5.8.bb27
-rw-r--r--meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb4
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch25
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch36
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch27
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch41
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch32
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch119
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch49
-rw-r--r--meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch17
-rw-r--r--meta-oe/recipes-dbs/postgresql/postgresql.inc164
-rw-r--r--meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb12
-rw-r--r--meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb16
-rw-r--r--meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch19
-rw-r--r--meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch60
-rw-r--r--meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch42
-rw-r--r--meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc50
-rw-r--r--meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb14
-rw-r--r--meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb62
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch13
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch43
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch47
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch66
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0002-cmake-Use-exported-target-for-bz2.patch34
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0003-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch33
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0004-Implement-support-for-musl-ppc64.patch42
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0005-Implement-timer-implementation-for-mips-platform.patch32
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0006-Implement-timer-for-arm-v6.patch40
-rw-r--r--meta-oe/recipes-dbs/rocksdb/files/0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch39
-rw-r--r--meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb44
-rw-r--r--meta-oe/recipes-dbs/rocksdb/rocksdb_9.0.0.bb57
-rw-r--r--meta-oe/recipes-dbs/soci/soci/0001-Do-not-use-std-shuffle-with-clang-15.patch32
-rw-r--r--meta-oe/recipes-dbs/soci/soci/soci_libdir.patch28
-rw-r--r--meta-oe/recipes-dbs/soci/soci_3.2.3.bb49
-rw-r--r--meta-oe/recipes-dbs/soci/soci_4.0.3.bb49
-rw-r--r--meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch32
-rw-r--r--meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch32
-rw-r--r--meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch20
-rw-r--r--meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc12
-rw-r--r--meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb61
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch11
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch16
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch49
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch81
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20240116.2.bb53
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb34
-rw-r--r--meta-oe/recipes-devtools/aer-inject/aer-inject/0001-include-libgen.h-for-basename.patch32
-rw-r--r--meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb30
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup4
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start6
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb4
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch35
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0004-adb-Fix-build-on-big-endian-systems.patch2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0005-adb-add-base64-implementation.patch2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0006-adb-Musl-fixes.patch29
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0007-adb-usb_linux.c-fix-build-with-glibc-2.28.patch2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0008-adb-Allow-adbd-to-be-ran-as-root.patch2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0014-add-u3-ss-descriptor-support-for-adb.patch344
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch60
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch188
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch114
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff4
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/core/b64_pton_function_decl.patch14
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb49
-rw-r--r--meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb34
-rw-r--r--meta-oe/recipes-devtools/apitrace/apitrace_9.0.bb30
-rw-r--r--meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb8
-rw-r--r--meta-oe/recipes-devtools/boost-url/boost-url_git.bb17
-rw-r--r--meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch49
-rw-r--r--meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch39
-rw-r--r--meta-oe/recipes-devtools/bootchart/bootchart_git.bb21
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch61
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0001-Fixed-missing-include-for-std-find_if.patch31
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch49
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch11
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch47
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch14
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch22
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch60
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch26
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch46
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch13
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch46
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch16
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch20
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb127
-rw-r--r--meta-oe/recipes-devtools/breakpad/breakpad_git.bb127
-rw-r--r--meta-oe/recipes-devtools/capnproto/capnproto/0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch38
-rw-r--r--meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb26
-rw-r--r--meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb28
-rw-r--r--meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch67
-rw-r--r--meta-oe/recipes-devtools/cgdb/cgdb/0001-cgdb-Do-not-search-for-cgdb.txt-in-build-dir.patch34
-rw-r--r--meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb22
-rw-r--r--meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb20
-rw-r--r--meta-oe/recipes-devtools/cjson/cjson/run-ptest8
-rw-r--r--meta-oe/recipes-devtools/cjson/cjson_1.7.14.bb21
-rw-r--r--meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb40
-rw-r--r--meta-oe/recipes-devtools/cloc/cloc_1.88.bb21
-rw-r--r--meta-oe/recipes-devtools/cloc/cloc_1.98.bb19
-rw-r--r--meta-oe/recipes-devtools/concurrencykit/concurrencykit/0001-build-Use-ilp32d-abi-on-riscv32-and-lp64d-on-rv64.patch32
-rw-r--r--meta-oe/recipes-devtools/concurrencykit/concurrencykit/0001-configure-Fix-compoiler-detection-logic-for-cross-co.patch84
-rw-r--r--meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch62
-rw-r--r--meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb20
-rw-r--r--meta-oe/recipes-devtools/cpuid/cpuid_20201006.bb23
-rw-r--r--meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb25
-rw-r--r--meta-oe/recipes-devtools/cpuid/files/0001-Makefile-update-the-hardcode-path-to-bindir-mandir.patch36
-rw-r--r--meta-oe/recipes-devtools/ctags/ctags_5.8.bb25
-rw-r--r--meta-oe/recipes-devtools/ctags/ctags_6.1.20240310.0.bb36
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap/0001-do-not-hardcode-the-full-path-of-dpkg.patch33
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch41
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch47
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gzbin767 -> 0 bytes
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb27
-rw-r--r--meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb35
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch2
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch2
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch2
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch2
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch2
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch2
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch2
-rw-r--r--meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch2
-rw-r--r--meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb46
-rw-r--r--meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb40
-rw-r--r--meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch11
-rw-r--r--meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch130
-rw-r--r--meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb18
-rw-r--r--meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb21
-rw-r--r--meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.6.bb18
-rw-r--r--meta-oe/recipes-devtools/exprtk/exprtk_git.bb6
-rw-r--r--meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb14
-rw-r--r--meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb28
-rw-r--r--meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc3
-rw-r--r--meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb45
-rw-r--r--meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb15
-rw-r--r--meta-oe/recipes-devtools/flatcc/flatcc/0001-Check-for-C-standard-version-23-for-__fallthrough__.patch31
-rw-r--r--meta-oe/recipes-devtools/flatcc/flatcc_git.bb30
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins/0001-geany.m4-Do-not-tinker-with-pkg-config-paths.patch32
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins/0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch36
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins/0001-scope-Use-0-instead-of-NULL-for-gboolean.patch34
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb245
-rw-r--r--meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb248
-rw-r--r--meta-oe/recipes-devtools/geany/geany_1.37.1.bb21
-rw-r--r--meta-oe/recipes-devtools/geany/geany_1.38.bb21
-rw-r--r--meta-oe/recipes-devtools/giflib/files/CVE-2019-15133.patch23
-rw-r--r--meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb24
-rw-r--r--meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb24
-rw-r--r--meta-oe/recipes-devtools/glade/glade_3.22.2.bb19
-rw-r--r--meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch30
-rw-r--r--meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb75
-rw-r--r--meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb67
-rw-r--r--meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.22.7.bb28
-rw-r--r--meta-oe/recipes-devtools/guider/guider_3.9.7.bb19
-rw-r--r--meta-oe/recipes-devtools/guider/guider_3.9.8.bb18
-rw-r--r--meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch41
-rw-r--r--meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb11
-rw-r--r--meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb2
-rw-r--r--meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch54
-rw-r--r--meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-make-Make-CC-weak-assignment.patch44
-rw-r--r--meta-oe/recipes-devtools/iptraf/iptraf-ng/iptraf-ng-tmpfiles.conf3
-rw-r--r--meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch55
-rw-r--r--meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb42
-rw-r--r--meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb53
-rw-r--r--meta-oe/recipes-devtools/jemalloc/files/run-ptest48
-rw-r--r--meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb53
-rwxr-xr-xmeta-oe/recipes-devtools/jq/jq/run-ptest37
-rw-r--r--meta-oe/recipes-devtools/jq/jq_1.6.bb31
-rw-r--r--meta-oe/recipes-devtools/jq/jq_1.7.1.bb46
-rw-r--r--meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch29
-rw-r--r--meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0002-Fix-assumed-signed-char.patch71
-rw-r--r--meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0003-For-root-value-use-empty-pointer.patch41
-rw-r--r--meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0004-cmake-Use-GNUInstallDirs.patch43
-rw-r--r--meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb14
-rw-r--r--meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb19
-rw-r--r--meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb25
-rw-r--r--meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.5.bb25
-rw-r--r--meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-Fix-build-with-libmicrohttpd.patch52
-rw-r--r--meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb30
-rw-r--r--meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb28
-rw-r--r--meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.0.bb20
-rw-r--r--meta-oe/recipes-devtools/kconfig-frontends/files/0001-Avoid-using-hard-coded-usr-include-paths.patch33
-rw-r--r--meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb11
-rwxr-xr-xmeta-oe/recipes-devtools/lapack/lapack/run-ptest3
-rw-r--r--meta-oe/recipes-devtools/lapack/lapack_3.12.0.bb59
-rw-r--r--meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb24
-rw-r--r--meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb18
-rw-r--r--meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb23
-rw-r--r--meta-oe/recipes-devtools/lemon/files/lemon.163
-rw-r--r--meta-oe/recipes-devtools/lemon/lemon.inc25
-rw-r--r--meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb24
-rw-r--r--meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb7
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb22
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb21
-rw-r--r--meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb7
-rw-r--r--meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch2
-rw-r--r--meta-oe/recipes-devtools/libubox/libubox_git.bb8
-rw-r--r--meta-oe/recipes-devtools/lshw/files/0001-Fix-musl-build.patch125
-rw-r--r--meta-oe/recipes-devtools/lshw/files/0001-disable-docbook2man.patch30
-rw-r--r--meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb32
-rw-r--r--meta-oe/recipes-devtools/lshw/lshw_02.20.bb43
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch2
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch86
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch2
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-configure-Recognise-linux-musl-as-a-host-OS.patch2
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch50
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch2
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-Remove-unused-host_powerpc64-function.patch39
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch29
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch2
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch41
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch30
-rw-r--r--meta-oe/recipes-devtools/ltrace/ltrace_git.bb19
-rw-r--r--meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch59
-rw-r--r--meta-oe/recipes-devtools/lua/lua/0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch90
-rw-r--r--meta-oe/recipes-devtools/lua/lua/CVE-2020-15888.patch45
-rw-r--r--meta-oe/recipes-devtools/lua/lua/CVE-2020-15945.patch167
-rw-r--r--meta-oe/recipes-devtools/lua/lua/lua.pc.in10
-rw-r--r--meta-oe/recipes-devtools/lua/lua/run-ptest19
-rw-r--r--meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch13
-rw-r--r--meta-oe/recipes-devtools/lua/lua_5.3.6.bb70
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit/0001-Use-builtin-for-clear_cache.patch29
-rw-r--r--meta-oe/recipes-devtools/luajit/luajit_git.bb40
-rw-r--r--meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch75
-rw-r--r--meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb21
-rw-r--r--meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb27
-rw-r--r--meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb28
-rw-r--r--meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb16
-rw-r--r--meta-oe/recipes-devtools/mcpp/files/0001-configure-Fix-checks-for-system-headers.patch44
-rw-r--r--meta-oe/recipes-devtools/mcpp/files/CVE-2019-14274.patch2
-rw-r--r--meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch2
-rw-r--r--meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb1
-rw-r--r--meta-oe/recipes-devtools/memstat/memstat/0001-Include-limits.h-for-PATH_MAX-definition.patch2
-rw-r--r--meta-oe/recipes-devtools/memstat/memstat_1.0.bb4
-rw-r--r--meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb38
-rw-r--r--meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb36
-rw-r--r--meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb20
-rw-r--r--meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0001-Fix-initialization-in-test-1140.patch113
-rw-r--r--meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0002-Fix-gcc-build-problem.patch82
-rw-r--r--meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0003-Adapt-check_cxx_compiler_flag-to-cmake-3.0.2.patch53
-rw-r--r--meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/run-ptest4
-rw-r--r--meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb45
-rw-r--r--meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb54
-rw-r--r--meta-oe/recipes-devtools/mpich/mpich_4.2.0.bb67
-rw-r--r--meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb21
-rw-r--r--meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb20
-rw-r--r--meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb21
-rw-r--r--meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb2
-rw-r--r--meta-oe/recipes-devtools/musl/musl-nscd/0001-Fix-build-under-GCC-fno-common.patch43
-rw-r--r--meta-oe/recipes-devtools/musl/musl-nscd/0001-configure-Check-for-flex-if-lex-is-not-found.patch29
-rw-r--r--meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch50
-rw-r--r--meta-oe/recipes-devtools/musl/musl-nscd_git.bb11
-rw-r--r--meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb11
-rwxr-xr-xmeta-oe/recipes-devtools/nlohmann-json/files/run-ptest12
-rw-r--r--meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb45
-rw-r--r--meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.1.bb28
-rwxr-xr-xmeta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.11/oe-npm-cache77
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.11.bb21
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch43
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch53
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch94
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch55
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch63
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch71
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch25
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch71
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch87
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch18
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch21
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch19
-rwxr-xr-xmeta-oe/recipes-devtools/nodejs/nodejs/run-ptest8
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch24
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb161
-rw-r--r--meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb182
-rw-r--r--meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch2
-rw-r--r--meta-oe/recipes-devtools/octave/octave_4.4.1.bb40
-rw-r--r--meta-oe/recipes-devtools/octave/octave_7.2.0.bb56
-rw-r--r--meta-oe/recipes-devtools/openocd/openocd_git.bb24
-rw-r--r--meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb11
-rw-r--r--meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch35
-rw-r--r--meta-oe/recipes-devtools/pahole/pahole_1.25.bb32
-rw-r--r--meta-oe/recipes-devtools/pax-utils/pax-utils_1.2.2.bb36
-rw-r--r--meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb35
-rw-r--r--meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb6
-rw-r--r--meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch58
-rw-r--r--meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch73
-rw-r--r--meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch49
-rw-r--r--meta-oe/recipes-devtools/perfetto/libperfetto.bb14
-rw-r--r--meta-oe/recipes-devtools/perfetto/perfetto.bb156
-rw-r--r--meta-oe/recipes-devtools/perfetto/perfetto.inc10
-rw-r--r--meta-oe/recipes-devtools/perl/exiftool_12.72.bb22
-rw-r--r--meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb24
-rw-r--r--meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb24
-rw-r--r--meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb22
-rw-r--r--meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb4
-rw-r--r--meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch56
-rw-r--r--meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb17
-rw-r--r--meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch22
-rw-r--r--meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb21
-rw-r--r--meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb28
-rw-r--r--meta-oe/recipes-devtools/perl/libio-pty-perl_1.16.bb16
-rw-r--r--meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb26
-rw-r--r--meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb6
-rw-r--r--meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb25
-rw-r--r--meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb22
-rw-r--r--meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb4
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch93
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch30
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-ext-opcache-config.m4-enable-opcache.patch251
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch237
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch29
-rw-r--r--meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch39
-rw-r--r--meta-oe/recipes-devtools/php/php/0002-build-php.m4-don-t-unset-cache-variables.patch45
-rw-r--r--meta-oe/recipes-devtools/php/php/0003-php-remove-host-specific-info-from-header-file.patch36
-rw-r--r--meta-oe/recipes-devtools/php/php/0004-configure.ac-don-t-include-build-libtool.m4.patch33
-rw-r--r--meta-oe/recipes-devtools/php/php/0005-pear-fix-Makefile.frag-for-Yocto.patch31
-rw-r--r--meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch46
-rw-r--r--meta-oe/recipes-devtools/php/php/0007-sapi-cli-config.m4-fix-build-directory.patch32
-rw-r--r--meta-oe/recipes-devtools/php/php/0008-ext-imap-config.m4-fix-include-paths.patch45
-rw-r--r--meta-oe/recipes-devtools/php/php/0009-php-don-t-use-broken-wrapper-for-mkdir.patch31
-rw-r--r--meta-oe/recipes-devtools/php/php/0010-iconv-fix-detection.patch35
-rw-r--r--meta-oe/recipes-devtools/php/php/70_mod_php7.conf9
-rw-r--r--meta-oe/recipes-devtools/php/php/70_mod_php8.conf9
-rw-r--r--meta-oe/recipes-devtools/php/php/CVE-2020-7069.patch158
-rw-r--r--meta-oe/recipes-devtools/php/php/CVE-2020-7070.patch24
-rw-r--r--meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch32
-rw-r--r--meta-oe/recipes-devtools/php/php/iconv.patch41
-rw-r--r--meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch41
-rw-r--r--meta-oe/recipes-devtools/php/php/pear-makefile.patch22
-rw-r--r--meta-oe/recipes-devtools/php/php/phar-makefile.patch46
-rw-r--r--meta-oe/recipes-devtools/php/php/php-fpm.service57
-rw-r--r--meta-oe/recipes-devtools/php/php/php_exec_native.patch26
-rw-r--r--meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch34
-rw-r--r--meta-oe/recipes-devtools/php/php_7.4.9.bb271
-rw-r--r--meta-oe/recipes-devtools/php/php_8.2.16.bb299
-rw-r--r--meta-oe/recipes-devtools/ply/ply_git.bb12
-rw-r--r--meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch38
-rw-r--r--meta-oe/recipes-devtools/pmtools/pmtools_git.bb8
-rw-r--r--meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch45
-rw-r--r--meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch47
-rw-r--r--meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch36
-rw-r--r--meta-oe/recipes-devtools/poke/poke_1.2.bb32
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch106
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch36
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb37
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.0.bb38
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch26
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch28
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch17
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf/0001-protobuf-fix-configure-error.patch33
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb90
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf_4.25.3.bb118
-rw-r--r--meta-oe/recipes-devtools/pugixml/pugixml_1.11.2.bb25
-rw-r--r--meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb24
-rw-r--r--meta-oe/recipes-devtools/python/python-distutils-extra.inc13
-rw-r--r--meta-oe/recipes-devtools/python/python3-apscheduler_3.10.4.bb13
-rw-r--r--meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb17
-rw-r--r--meta-oe/recipes-devtools/python/python3-distutils-extra.bb9
-rw-r--r--meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb15
-rw-r--r--meta-oe/recipes-devtools/python/python3-pycups_2.0.1.bb19
-rw-r--r--meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb11
-rw-r--r--meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb10
-rw-r--r--meta-oe/recipes-devtools/sip/sip3_4.19.23.bb40
-rw-r--r--meta-oe/recipes-devtools/sip/sip_6.8.3.bb24
-rw-r--r--meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb22
-rw-r--r--meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb12
-rw-r--r--meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.0.2.bb32
-rw-r--r--meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb32
-rw-r--r--meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb24
-rw-r--r--meta-oe/recipes-devtools/suitesparse/suitesparse/0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch2
-rw-r--r--meta-oe/recipes-devtools/suitesparse/suitesparse/0002-Preserve-links-when-installing-libmetis.patch2
-rw-r--r--meta-oe/recipes-devtools/suitesparse/suitesparse/0003-Add-version-information-to-libmetis.patch2
-rw-r--r--meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb75
-rw-r--r--meta-oe/recipes-devtools/suitesparse/suitesparse_5.8.1.bb80
-rw-r--r--meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb15
-rwxr-xr-xmeta-oe/recipes-devtools/systemd/systemd-systemctl/systemctl340
-rw-r--r--meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch50
-rw-r--r--meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch31
-rw-r--r--meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb16
-rw-r--r--meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb23
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk/confsearch.diff2
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff2
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff2
-rw-r--r--meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb18
-rw-r--r--meta-oe/recipes-devtools/uftrace/uftrace/0001-include-libgen.h-for-basename.patch34
-rw-r--r--meta-oe/recipes-devtools/uftrace/uftrace_0.15.2.bb44
-rw-r--r--meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb45
-rw-r--r--meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch28
-rw-r--r--meta-oe/recipes-devtools/unattended-upgrades/files/0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch78
-rw-r--r--meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb32
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Define-prototype-for-safe_flock.patch105
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Do-not-build-mtest.patch38
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Fix-Wincompatible-function-pointer-types.patch178
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Support-OpenSSL-1.1.patch2
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/0002-tmail-Include-ctype.h-for-isdigit.patch26
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch2
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb18
-rw-r--r--meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb22
-rw-r--r--meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb44
-rw-r--r--meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb43
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0003-src-Makefile-Fix-Makefile-macro-error.patch29
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb50
-rw-r--r--meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb49
-rw-r--r--meta-oe/recipes-devtools/yajl/yajl/CVE-2017-16516.patch37
-rw-r--r--meta-oe/recipes-devtools/yajl/yajl/CVE-2022-24795.patch59
-rw-r--r--meta-oe/recipes-devtools/yajl/yajl/CVE-2023-33460.patch35
-rw-r--r--meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb2
-rw-r--r--meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb8
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm/0001-yasm-Set-build-date-to-SOURCE_DATE_EPOCH.patch37
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm/0002-yasm-Use-BUILD_DATE-for-reproducibility.patch42
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch29
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch41
-rw-r--r--meta-oe/recipes-devtools/yasm/yasm_git.bb17
-rw-r--r--meta-oe/recipes-extended/beep/beep_1.4.12.bb19
-rw-r--r--meta-oe/recipes-extended/beep/beep_1.4.9.bb32
-rw-r--r--meta-oe/recipes-extended/beep/files/0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch63
-rw-r--r--meta-oe/recipes-extended/beep/files/0001-beep-library-Make-it-compatible-with-c99.patch78
-rw-r--r--meta-oe/recipes-extended/beep/files/linux-input.patch155
-rw-r--r--meta-oe/recipes-extended/bitwise/bitwise_0.41.bb24
-rw-r--r--meta-oe/recipes-extended/bitwise/bitwise_0.50.bb32
-rw-r--r--meta-oe/recipes-extended/bitwise/files/0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch2
-rw-r--r--meta-oe/recipes-extended/bitwise/files/ptest.out.expected13
-rwxr-xr-xmeta-oe/recipes-extended/bitwise/files/run-ptest11
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/0001-Do-not-undefine-_FILE_OFFSET_BITS.patch59
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/0001-scripts-Do-not-check-for-files-on-build-host.patch52
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch11
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch36
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb91
-rw-r--r--meta-oe/recipes-extended/boinc/boinc-client_7.20.5.bb82
-rw-r--r--meta-oe/recipes-extended/brotli/brotli/838.patch48
-rw-r--r--meta-oe/recipes-extended/brotli/brotli_1.0.9.bb23
-rw-r--r--meta-oe/recipes-extended/brotli/brotli_1.1.0.bb23
-rw-r--r--meta-oe/recipes-extended/byacc/byacc.inc2
-rw-r--r--meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch70
-rw-r--r--meta-oe/recipes-extended/byacc/byacc_20200910.bb11
-rw-r--r--meta-oe/recipes-extended/byacc/byacc_20230219.bb10
-rw-r--r--meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch16
-rw-r--r--meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb41
-rw-r--r--meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.21.0.bb40
-rw-r--r--meta-oe/recipes-extended/cfengine/cfengine/0001-Fixed-with-libxml2-no-case-in-configure.ac.patch89
-rw-r--r--meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb72
-rw-r--r--meta-oe/recipes-extended/cfengine/cfengine_3.21.0.bb76
-rw-r--r--meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb14
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch22
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Fix-error.patch10
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Modify-cmakelist.patch41
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-fix-the-build-error-when-python-3.0.patch31
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-no-ruby-perl.patch14
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-sblim-sigsegv.patch18
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.9.5-python-lib-dir.patch17
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb42
-rw-r--r--meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.4.bb34
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch2
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch2
-rw-r--r--meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch2
-rw-r--r--meta-oe/recipes-extended/collectd/collectd_5.12.0.bb20
-rw-r--r--meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb44
-rw-r--r--meta-oe/recipes-extended/ddrescue/ddrescue_1.28.bb44
-rw-r--r--meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb33
-rw-r--r--meta-oe/recipes-extended/dialog/dialog_1.3-20240307.bb31
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch10
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch80
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch36
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb73
-rw-r--r--meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.6.bb66
-rw-r--r--meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb10
-rw-r--r--meta-oe/recipes-extended/duktape/duktape_2.7.0.bb40
-rw-r--r--meta-oe/recipes-extended/duktape/files/run-ptest32
-rw-r--r--meta-oe/recipes-extended/dumb-init/dumb-init_1.2.5.bb2
-rw-r--r--meta-oe/recipes-extended/enscript/enscript/0001-getopt-Include-string.h-for-strcmp-stcncmp-functions.patch27
-rw-r--r--meta-oe/recipes-extended/enscript/enscript_1.6.6.bb5
-rw-r--r--meta-oe/recipes-extended/etcd/etcd-cpp-apiv3/0001-cmake-fix-when-cross-compiling.patch68
-rw-r--r--meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.15.3.bb23
-rw-r--r--meta-oe/recipes-extended/etcd/etcd/0001-test_lib.sh-remove-gobin-requirement-during-build.patch51
-rw-r--r--meta-oe/recipes-extended/etcd/etcd/0001-xxhash-bump-to-v2.1.2.patch205
-rw-r--r--meta-oe/recipes-extended/etcd/etcd/etcd-existing.conf37
-rw-r--r--meta-oe/recipes-extended/etcd/etcd/etcd-new.path9
-rw-r--r--meta-oe/recipes-extended/etcd/etcd/etcd-new.service15
-rw-r--r--meta-oe/recipes-extended/etcd/etcd/etcd.service15
-rw-r--r--meta-oe/recipes-extended/etcd/etcd_3.5.7.bb73
-rw-r--r--meta-oe/recipes-extended/figlet/figlet_git.bb4
-rw-r--r--meta-oe/recipes-extended/flatpak/flatpak-xdg-utils_1.0.5.bb14
-rw-r--r--meta-oe/recipes-extended/flatpak/flatpak/0001-flatpak-pc-add-pc_sysrootdir.patch28
-rw-r--r--meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-for-native-wayland-scanner.patch28
-rw-r--r--meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-native-gtkdoc.patch33
-rw-r--r--meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb78
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch70
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch34
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch43
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch28
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch38
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch30
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch28
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch40
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch82
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch32
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch34
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch45
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch63
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch33
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch36
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/0007-cmake-Do-not-check-for-upstart-on-build-host.patch46
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch27
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch38
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch16
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb67
-rw-r--r--meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb92
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch9
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch12
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch30
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb71
-rw-r--r--meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb71
-rw-r--r--meta-oe/recipes-extended/haveged/haveged_1.9.14.bb47
-rw-r--r--meta-oe/recipes-extended/haveged/haveged_1.9.18.bb25
-rw-r--r--meta-oe/recipes-extended/hexedit/hexedit_1.5.bb20
-rw-r--r--meta-oe/recipes-extended/hexedit/hexedit_1.6.bb20
-rw-r--r--meta-oe/recipes-extended/highway/highway_1.1.0.bb17
-rw-r--r--meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch28
-rw-r--r--meta-oe/recipes-extended/hiredis/hiredis/run-ptest3
-rw-r--r--meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb23
-rw-r--r--meta-oe/recipes-extended/hiredis/hiredis_1.2.0.bb39
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0001-Drop-using-register-storage-classifier.patch309
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0001-Fix-installing-ipp-usb-quirk.patch40
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0001-common-utils-Include-string.h-for-strcasestr.patch44
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0002-Add-ImageProcessor-only-when-DISBALE_IMAGEPROCESSOR_.patch48
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0003-pserror.c-Define-column-to-be-int-explcitly.patch23
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0004-Define-missing-prototype-for-functions.patch55
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch64
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0006-Workaround-patch-for-missing-Python3-transition-of-t.patch132
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch2
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch2
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/600-fix.patch2
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/999-remove-lImageProcessor.patch69
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/configure.patch9
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch76
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch2
-rw-r--r--meta-oe/recipes-extended/hplip/hplip_3.19.12.bb88
-rw-r--r--meta-oe/recipes-extended/hplip/hplip_3.22.10.bb89
-rw-r--r--meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb31
-rw-r--r--meta-oe/recipes-extended/hwloc/hwloc_2.9.3.bb28
-rw-r--r--meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch31
-rw-r--r--meta-oe/recipes-extended/icewm/icewm_1.6.5.bb46
-rw-r--r--meta-oe/recipes-extended/icewm/icewm_3.4.5.bb46
-rw-r--r--meta-oe/recipes-extended/indent/indent/0001-Remove-dead-paren_level-code.patch79
-rw-r--r--meta-oe/recipes-extended/indent/indent_2.2.12.bb5
-rw-r--r--meta-oe/recipes-extended/inputattach-config/inputattach-config.bb2
-rw-r--r--meta-oe/recipes-extended/iotop/iotop_0.6.bb29
-rw-r--r--meta-oe/recipes-extended/iotop/iotop_1.26.bb25
-rw-r--r--meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb36
-rw-r--r--meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.4.bb36
-rw-r--r--meta-oe/recipes-extended/jansson/jansson/0001-Fix-overwriting-linker-flags.patch29
-rw-r--r--meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch63
-rw-r--r--meta-oe/recipes-extended/jansson/jansson_2.13.1.bb14
-rw-r--r--meta-oe/recipes-extended/jansson/jansson_2.14.bb20
-rw-r--r--meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb6
-rw-r--r--meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch2
-rw-r--r--meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch2
-rw-r--r--meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb16
-rw-r--r--meta-oe/recipes-extended/lastlog2/files/0001-remove-lto-to-fix-link-error-of-clang.patch31
-rw-r--r--meta-oe/recipes-extended/lastlog2/lastlog2_1.2.0.bb36
-rw-r--r--meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb29
-rw-r--r--meta-oe/recipes-extended/libblockdev/files/0001-fix-pythondir-for-multilib-when-cross-compiling.patch32
-rw-r--r--meta-oe/recipes-extended/libblockdev/libblockdev_2.25.bb39
-rw-r--r--meta-oe/recipes-extended/libblockdev/libblockdev_3.1.1.bb39
-rwxr-xr-xmeta-oe/recipes-extended/libcbor/libcbor_0.11.0.bb14
-rw-r--r--meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch2
-rw-r--r--meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch41
-rw-r--r--meta-oe/recipes-extended/libcec/libcec_6.0.2.bb26
-rw-r--r--meta-oe/recipes-extended/libconfig/libconfig_1.7.2.bb21
-rw-r--r--meta-oe/recipes-extended/libconfig/libconfig_1.7.3.bb21
-rw-r--r--meta-oe/recipes-extended/libdeflate/libdeflate_1.20.bb15
-rw-r--r--meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb8
-rw-r--r--meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch2
-rw-r--r--meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch2
-rw-r--r--meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch2
-rw-r--r--meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch2
-rw-r--r--meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch2
-rw-r--r--meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch2
-rw-r--r--meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb8
-rw-r--r--meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch180
-rw-r--r--meta-oe/recipes-extended/libidn/libidn/0001-largefile.m4-Sync-with-latest-gnulib.patch390
-rw-r--r--meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch24
-rw-r--r--meta-oe/recipes-extended/libidn/libidn_1.36.bb40
-rw-r--r--meta-oe/recipes-extended/libidn/libidn_1.41.bb43
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb29
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb41
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libplist_git.bb43
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libusbmuxd_2.0.2.bb6
-rw-r--r--meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb17
-rw-r--r--meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch26
-rw-r--r--meta-oe/recipes-extended/libleak/libleak_0.3.6.bb37
-rw-r--r--meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb4
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-add-DESTDIR.patch6
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-fix-install-failure-on-host-without-ldco.patch63
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock-libs.patch10
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-redefine-LOCKPROG.patch51
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile/configure.patch24
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile/liblockfile-fix-install-so-to-man-dir.patch8
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb37
-rw-r--r--meta-oe/recipes-extended/liblockfile/liblockfile_1.17.bb36
-rw-r--r--meta-oe/recipes-extended/liblognorm/liblognorm.inc17
-rw-r--r--meta-oe/recipes-extended/liblognorm/liblognorm/0001-Add-asprintf-to-autoconf-function-check-macro.patch28
-rw-r--r--meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb5
-rw-r--r--meta-oe/recipes-extended/liblognorm/liblognorm_2.0.6.bb27
-rw-r--r--meta-oe/recipes-extended/libmodbus/libmodbus.inc16
-rw-r--r--meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch314
-rw-r--r--meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch52
-rw-r--r--meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch32
-rw-r--r--meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb4
-rw-r--r--meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb17
-rw-r--r--meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb12
-rw-r--r--meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb31
-rw-r--r--meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch78
-rw-r--r--meta-oe/recipes-extended/libpwquality/files/0002-Makefile.am-respect-PYTHONSITEDIR.patch26
-rw-r--r--meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch43
-rw-r--r--meta-oe/recipes-extended/libpwquality/libpwquality_1.4.4.bb41
-rw-r--r--meta-oe/recipes-extended/libpwquality/libpwquality_1.4.5.bb41
-rw-r--r--meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch56
-rw-r--r--meta-oe/recipes-extended/libqb/libqb_1.0.5.bb37
-rw-r--r--meta-oe/recipes-extended/libqb/libqb_2.0.8.bb26
-rw-r--r--meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch18
-rw-r--r--meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch18
-rw-r--r--meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch16
-rw-r--r--meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch29
-rw-r--r--meta-oe/recipes-extended/libreport/libreport_2.10.0.bb49
-rw-r--r--meta-oe/recipes-extended/libreport/libreport_2.17.15.bb49
-rw-r--r--meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb2
-rw-r--r--meta-oe/recipes-extended/libstatgrab/libstatgrab/0001-configure.ac-Do-not-use-single-line-comment.patch33
-rw-r--r--meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.1.bb33
-rw-r--r--meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb35
-rw-r--r--meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch38
-rw-r--r--meta-oe/recipes-extended/libuio/libuio/replace_inline_with_static-inline.patch121
-rw-r--r--meta-oe/recipes-extended/libuio/libuio_0.2.1.bb17
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch2
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch2
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch2
-rw-r--r--meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb13
-rw-r--r--meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-Define-CARD32-as-uint-as-it-is-32-bit.patch42
-rw-r--r--meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-Fix-type-of-the-void-pointer-assignment.patch33
-rw-r--r--meta-oe/recipes-extended/libx86-1/libx86-1.1/libx86-mmap-offset.patch2
-rw-r--r--meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb6
-rw-r--r--meta-oe/recipes-extended/libyang/libyang/0001-test_context-skip-test-case-test_searchdirs.patch29
-rw-r--r--meta-oe/recipes-extended/libyang/libyang/run-ptest18
-rw-r--r--meta-oe/recipes-extended/libyang/libyang_2.1.148.bb45
-rw-r--r--meta-oe/recipes-extended/libzip/libzip_1.10.1.bb26
-rw-r--r--meta-oe/recipes-extended/libzip/libzip_1.7.3.bb18
-rw-r--r--meta-oe/recipes-extended/linuxconsole/linuxconsole/0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch37
-rw-r--r--meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb96
-rw-r--r--meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.1.bb97
-rw-r--r--meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb24
-rw-r--r--meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.19.bb23
-rw-r--r--meta-oe/recipes-extended/logwatch/logwatch_7.10.bb57
-rw-r--r--meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb58
-rw-r--r--meta-oe/recipes-extended/lprng/lprng_3.8.C.bb6
-rw-r--r--meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch59
-rw-r--r--meta-oe/recipes-extended/mailx/files/0001-support-openssl-1.1.x.patch72
-rw-r--r--meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch41
-rw-r--r--meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch25
-rw-r--r--meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch71
-rw-r--r--meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch79
-rw-r--r--meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch113
-rw-r--r--meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch31
-rw-r--r--meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch38
-rw-r--r--meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch46
-rw-r--r--meta-oe/recipes-extended/mailx/mailx_12.5-5.bb54
-rw-r--r--meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch2
-rw-r--r--meta-oe/recipes-extended/md5deep/md5deep_git.bb7
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch39
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0001-CMakeLists.txt-use-curl-local-source-tarball.patch34
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0001-Do-not-use-bundled-packages.patch108
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch34
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0001-cxxopts-Add-limits-header.patch34
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0002-Fix-osspuuid-build.patch78
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0002-cmake-LibreSSL.cmake-use-libressl-local-source-tarba.patch32
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0003-Fix-libsodium-build.patch39
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0003-cmake-BundledOSSPUUID.cmake-use-ossp-uuid-local-sour.patch34
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0004-Fix-spdlog-build.patch44
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0005-Pass-noline-flag-to-flex.patch31
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0006-OsUtils.h-add-missing-header-cstdint-for-int64_t.patch36
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0007-CMakeLists.txt-do-not-use-ccache.patch38
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/0008-libsodium-aarch64_crypto.patch38
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch34
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch43
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch60
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch36
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch37
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch25
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch12
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/minifi.service13
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch38
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.15.0.bb201
-rw-r--r--meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb137
-rw-r--r--meta-oe/recipes-extended/minio/minio/modules.txt208
-rw-r--r--meta-oe/recipes-extended/minio/minio_git.bb166
-rw-r--r--meta-oe/recipes-extended/minio/src_uri.inc509
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0001-Cargo.toml-do-not-abort-on-panic.patch32
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0001-add-arm-to-list-of-mozinline.patch32
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch44
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0001-rewrite-cargo-host-linker-in-python3.patch54
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0001-util.configure-fix-one-occasionally-reproduced-confi.patch48
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0002-moz.configure-do-not-look-for-llvm-objdump.patch44
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch66
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/0004-use-asm-sgidefs.h.patch38
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/armv5.patch19
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/fix-musl-build.patch29
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/musl-disable-stackwalk.patch27
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115/riscv32.patch60
-rw-r--r--meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb98
-rw-r--r--meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch2
-rw-r--r--meta-oe/recipes-extended/mraa/mraa/0001-include-Declare-gVERSION-global-as-extern.patch31
-rw-r--r--meta-oe/recipes-extended/mraa/mraa/0001-mraa-Use-posix-basename.patch46
-rw-r--r--meta-oe/recipes-extended/mraa/mraa/0002-gpio-Include-limits.h-for-PATH_MAX.patch30
-rw-r--r--meta-oe/recipes-extended/mraa/mraa_git.bb37
-rw-r--r--meta-oe/recipes-extended/nana/nana/0001-Makefile.am-fix-build-with-separate-build-dir.patch27
-rw-r--r--meta-oe/recipes-extended/nana/nana/0002-man-Makefile.am-we-seem-not-to-need-the-work-around-.patch56
-rw-r--r--meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch40
-rw-r--r--meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch137
-rw-r--r--meta-oe/recipes-extended/nana/nana_2.5.bb34
-rw-r--r--meta-oe/recipes-extended/nana/nana_git.bb44
-rw-r--r--meta-oe/recipes-extended/networking/mstpd/bridge-stp18
-rw-r--r--meta-oe/recipes-extended/networking/mstpd/mstpd.service10
-rw-r--r--meta-oe/recipes-extended/networking/mstpd_git.bb33
-rw-r--r--meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch2
-rw-r--r--meta-oe/recipes-extended/nicstat/nicstat_1.95.bb2
-rw-r--r--meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb6
-rw-r--r--meta-oe/recipes-extended/openwsman/openwsman/0001-Link-with-libm-for-floor-function.patch71
-rw-r--r--meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch2
-rw-r--r--meta-oe/recipes-extended/openwsman/openwsman/libssl-is-required-if-eventint-supported.patch2
-rw-r--r--meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb72
-rw-r--r--meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb73
-rw-r--r--meta-oe/recipes-extended/ostree/ostree_2020.8.bb189
-rw-r--r--meta-oe/recipes-extended/ostree/ostree_2024.5.bb214
-rw-r--r--meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch3
-rw-r--r--meta-oe/recipes-extended/p7zip/files/CVE-2016-9296.patch27
-rw-r--r--meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch13
-rw-r--r--meta-oe/recipes-extended/p7zip/files/CVE-2018-5996.patch227
-rw-r--r--meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch34
-rw-r--r--meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch16
-rw-r--r--meta-oe/recipes-extended/p7zip/p7zip_16.02.bb25
-rw-r--r--meta-oe/recipes-extended/p8platform/files/0001-Make-resulting-cmake-config-relocatable.patch64
-rw-r--r--meta-oe/recipes-extended/p8platform/p8platform_git.bb13
-rw-r--r--meta-oe/recipes-extended/pam/pam-plugin-ccreds/0001-configure-Check-for-function-from-libdb-during-confi.patch34
-rw-r--r--meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb8
-rw-r--r--meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch25
-rw-r--r--meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.1.bb22
-rw-r--r--meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb24
-rw-r--r--meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-configure-Include-stdio.h-for-printf.patch37
-rw-r--r--meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb9
-rw-r--r--meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb14
-rw-r--r--meta-oe/recipes-extended/pegtl/pegtl_3.2.7.bb13
-rw-r--r--meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb2
-rw-r--r--meta-oe/recipes-extended/plocate/plocate/0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch39
-rw-r--r--meta-oe/recipes-extended/plocate/plocate_1.1.22.bb15
-rw-r--r--meta-oe/recipes-extended/pmdk/pmdk_1.9.bb49
-rw-r--r--meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb48
-rw-r--r--meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules24
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb2
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb2
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb17
-rw-r--r--meta-oe/recipes-extended/polkit/polkit-group-rule.inc4
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch232
-rw-r--r--meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch35
-rw-r--r--meta-oe/recipes-extended/polkit/polkit_0.116.bb57
-rw-r--r--meta-oe/recipes-extended/polkit/polkit_124.bb59
-rw-r--r--meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb10
-rw-r--r--meta-oe/recipes-extended/qad/qad/0001-Fix-warnings-found-by-clang-compiler.patch53
-rw-r--r--meta-oe/recipes-extended/qad/qad_git.bb28
-rw-r--r--meta-oe/recipes-extended/qcbor/qcbor_git.bb32
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch2
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch2
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch2
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch2
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch2
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb6
-rw-r--r--meta-oe/recipes-extended/redis-plus-plus/files/0001-CMakeLists.txt-fix-substitution-for-static-libs.patch45
-rw-r--r--meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.2.bb18
-rw-r--r--meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.11.bb26
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/0001-src-Do-not-reset-FINAL_LIBS.patch30
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/0006-Define-correct-gregs-for-RISCV32.patch60
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/GNU_SOURCE-7.patch29
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/hiredis-use-default-CC-if-it-is-set.patch38
-rwxr-xr-xmeta-oe/recipes-extended/redis/redis-7.2.4/init-redis-server71
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/lua-update-Makefile-to-use-environment-build-setting.patch77
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/oe-use-libc-malloc.patch36
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/redis.conf1314
-rw-r--r--meta-oe/recipes-extended/redis/redis-7.2.4/redis.service17
-rw-r--r--meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch10
-rw-r--r--meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch62
-rw-r--r--meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch14
-rw-r--r--meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch2
-rw-r--r--meta-oe/recipes-extended/redis/redis/ilp32.patch29
-rwxr-xr-xmeta-oe/recipes-extended/redis/redis/init-redis-server31
-rw-r--r--meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch68
-rw-r--r--meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch14
-rw-r--r--meta-oe/recipes-extended/redis/redis/redis.service1
-rw-r--r--meta-oe/recipes-extended/redis/redis/riscv32.patch47
-rw-r--r--meta-oe/recipes-extended/redis/redis_6.0.9.bb67
-rw-r--r--meta-oe/recipes-extended/redis/redis_6.2.14.bb66
-rw-r--r--meta-oe/recipes-extended/redis/redis_7.2.4.bb70
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb129
-rw-r--r--meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb131
-rw-r--r--meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb15
-rw-r--r--meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb15
-rw-r--r--meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch34
-rw-r--r--meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch88
-rw-r--r--meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch49
-rw-r--r--meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch41
-rw-r--r--meta-oe/recipes-extended/rsyslog/librelp/run-ptest10
-rw-r--r--meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb86
-rw-r--r--meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb18
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch46
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch23
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest6
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb202
-rw-r--r--meta-oe/recipes-extended/rsyslog/rsyslog_8.2402.0.bb207
-rw-r--r--meta-oe/recipes-extended/s-nail/files/0001-make.rc-set-VAL_MTA.patch48
-rw-r--r--meta-oe/recipes-extended/s-nail/files/0001-mk-make-config.sh-not-reveal-the-build-env.patch43
-rw-r--r--meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-eh-no-give-up-share-detection.patch68
-rw-r--r--meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch45
-rw-r--r--meta-oe/recipes-extended/s-nail/files/make-errors.patch45
-rw-r--r--meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb49
-rw-r--r--meta-oe/recipes-extended/sanlock/sanlock/0001-add-missing-system-header-string.h.patch41
-rw-r--r--meta-oe/recipes-extended/sanlock/sanlock/0001-include-libgen.h-for-basename.patch32
-rw-r--r--meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb45
-rw-r--r--meta-oe/recipes-extended/sanlock/sanlock_3.9.1.bb49
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Replace-need-for-error.h-when-it-does-not-exist.patch27
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-configure-Check-for-function-from-respective-library.patch72
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-missing-system-headers.patch151
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-stdint.h-system-header-for-UINT16_MAX.patch2
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.15-fix-provider-debugging.patch2
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-maxMsgLen.patch2
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-multilib-man-cfg.patch2
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch2
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.5-service.patch2
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch2
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-ftbfs.patch2
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb21
-rw-r--r--meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-Fix-implicit-function-declarations.patch80
-rw-r--r--meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb1
-rw-r--r--meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch2
-rw-r--r--meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch2
-rw-r--r--meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb25
-rw-r--r--meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch34
-rw-r--r--meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch2
-rw-r--r--meta-oe/recipes-extended/sedutil/files/0001-include-missing-cstdint.patch32
-rw-r--r--meta-oe/recipes-extended/sedutil/sedutil_git.bb15
-rw-r--r--meta-oe/recipes-extended/sgpio/sgpio/0001-makefile-Add-LDFLAGS-to-linking-rule.patch2
-rw-r--r--meta-oe/recipes-extended/sgpio/sgpio/Makefile-error-fix.patch2
-rw-r--r--meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb5
-rw-r--r--meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb4
-rw-r--r--meta-oe/recipes-extended/sigrok/libsigrokdecode/0001-configure.ac-add-py-3.10-support.patch24
-rw-r--r--meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb6
-rw-r--r--meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.2.bb4
-rw-r--r--meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch68
-rw-r--r--meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb53
-rw-r--r--meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb52
-rw-r--r--meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch33
-rw-r--r--meta-oe/recipes-extended/snappy/snappy_1.1.10.bb28
-rw-r--r--meta-oe/recipes-extended/snappy/snappy_1.1.8.bb25
-rw-r--r--meta-oe/recipes-extended/socketcan/can-isotp_git.bb15
-rw-r--r--meta-oe/recipes-extended/socketcan/can-utils_2023.03.bb50
-rw-r--r--meta-oe/recipes-extended/socketcan/can-utils_git.bb47
-rw-r--r--meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb8
-rw-r--r--meta-oe/recipes-extended/socketcan/libsocketcan_0.0.12.bb4
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig/0001-Add-cstdint-for-uintXX_t-types.patch38
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch49
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig/0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch29
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch96
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch359
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch16
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb64
-rw-r--r--meta-oe/recipes-extended/sysdig/sysdig_git.bb54
-rw-r--r--meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch2
-rw-r--r--meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch2
-rw-r--r--meta-oe/recipes-extended/tipcutils/tipcutils_git.bb16
-rw-r--r--meta-oe/recipes-extended/tiptop/tiptop/0001-Fix-a-lot-of-Werror-format-security-errors-with-mvwp.patch31
-rw-r--r--meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb12
-rw-r--r--meta-oe/recipes-extended/tmate/files/0001-fix-finding-msgpack.patch43
-rw-r--r--meta-oe/recipes-extended/tmate/tmate_2.4.0.bb17
-rw-r--r--meta-oe/recipes-extended/tmux/tmux_3.1c.bb25
-rw-r--r--meta-oe/recipes-extended/tmux/tmux_3.3a.bb25
-rw-r--r--meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb14
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-Add-missing-standard-headers-for-str-and-exit-APIs.patch64
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-cow.c-Replace-stat64-with-stat.patch34
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-include-required-system-header-files-for-fd_set-and-.patch2
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-makefiles-Append-to-CFLAGS-instead-of-re-assign.patch122
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch2
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch2
-rw-r--r--meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb15
-rw-r--r--meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch2
-rw-r--r--meta-oe/recipes-extended/upm/upm/0001-include-missing-cstdint.patch43
-rw-r--r--meta-oe/recipes-extended/upm/upm_git.bb33
-rw-r--r--meta-oe/recipes-extended/vlock/vlock_2.2.3.bb8
-rw-r--r--meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb10
-rw-r--r--meta-oe/recipes-extended/wipe/wipe_0.24.bb4
-rw-r--r--meta-oe/recipes-extended/wtmpdb/wtmpdb/0001-include-libgen.h-for-basename.patch32
-rw-r--r--meta-oe/recipes-extended/wtmpdb/wtmpdb_0.11.0.bb35
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-Set-HAVE_LARGEFILE_SUPPORT-to-1-explicitly.patch30
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-locale-Avoid-using-glibc-specific-defines-on-musl.patch26
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/create-links-with-relative-path.patch52
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch107
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/musl-locale-l.patch34
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/not-append-system-name-to-lib-name.patch32
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets/wx-config-fix-libdir-for-multilib.patch60
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb123
-rw-r--r--meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb104
-rw-r--r--meta-oe/recipes-extended/zlog/zlog_1.2.15.bb17
-rw-r--r--meta-oe/recipes-extended/zlog/zlog_1.2.16.bb17
-rwxr-xr-xmeta-oe/recipes-extended/zram/zram/zram-swap-init5
-rw-r--r--meta-oe/recipes-extended/zram/zram_0.2.bb15
-rw-r--r--meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch27
-rw-r--r--meta-oe/recipes-extended/zstd/zstd_1.4.5.bb39
-rw-r--r--meta-oe/recipes-extended/zsync/zsync-curl/fixes.patch115
-rw-r--r--meta-oe/recipes-extended/zsync/zsync-curl/make.patch50
-rw-r--r--meta-oe/recipes-extended/zsync/zsync-curl_git.bb20
-rw-r--r--meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb22
-rw-r--r--meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb19
-rw-r--r--meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb19
-rw-r--r--meta-oe/recipes-gnome/gcab/gcab_1.4.bb24
-rw-r--r--meta-oe/recipes-gnome/gcab/gcab_1.6.bb24
-rw-r--r--meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch34
-rw-r--r--meta-oe/recipes-gnome/gcr/gcr3_3.41.2.bb61
-rw-r--r--meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h1
-rw-r--r--meta-oe/recipes-gnome/gmime/gmime/nodolt.patch10
-rw-r--r--meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb23
-rw-r--r--meta-oe/recipes-gnome/gmime/gmime_3.2.6.bb19
-rw-r--r--meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb9
-rw-r--r--meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb6
-rw-r--r--meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.3.bb16
-rw-r--r--meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb26
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtk+.inc18
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtk+/0001-Fix-signature-of-create_menu-function.patch50
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch36
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb6
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtkmm/0001-meson.build-use-relative-path.patch52
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb26
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb22
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtkmm4_4.14.0.bb21
-rw-r--r--meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb5
-rw-r--r--meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb34
-rw-r--r--meta-oe/recipes-gnome/libjcat/libjcat_0.2.1.bb34
-rw-r--r--meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch36
-rw-r--r--meta-oe/recipes-gnome/libpeas/libpeas/0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch82
-rw-r--r--meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch21
-rw-r--r--meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb32
-rw-r--r--meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb28
-rw-r--r--meta-oe/recipes-gnome/libxmlb/libxmlb/run-ptest3
-rw-r--r--meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb19
-rw-r--r--meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb12
-rw-r--r--meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb12
-rw-r--r--meta-oe/recipes-gnome/vte9/vte9.inc18
-rw-r--r--meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch136
-rw-r--r--meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch14
-rw-r--r--meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb12
-rw-r--r--meta-oe/recipes-graphics/aml/aml_git.bb35
-rw-r--r--meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb17
-rw-r--r--meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb15
-rw-r--r--meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb15
-rw-r--r--meta-oe/recipes-graphics/cglm/cglm_0.9.2.bb25
-rw-r--r--meta-oe/recipes-graphics/dietsplash/dietsplash/0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch28
-rw-r--r--meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch2
-rw-r--r--meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb16
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb-examples/0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch39
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb1
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb.inc17
-rw-r--r--meta-oe/recipes-graphics/directfb/directfb/0001-include-libgen.h-for-basename.patch32
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch2
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch2
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch2
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.6.bb31
-rw-r--r--meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb32
-rw-r--r--meta-oe/recipes-graphics/fbgrab/fbgrab_1.4.bb16
-rw-r--r--meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb16
-rw-r--r--meta-oe/recipes-graphics/fbida/fbida_2.14.bb78
-rw-r--r--meta-oe/recipes-graphics/fbida/fbida_git.bb41
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch34
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0001-fbida-Include-missing-sys-types.h.patch31
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch28
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch66
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch124
-rw-r--r--meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch27
-rw-r--r--meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch17
-rw-r--r--meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch2
-rw-r--r--meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch2
-rw-r--r--meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch13
-rw-r--r--meta-oe/recipes-graphics/feh/feh_3.10.2.bb30
-rw-r--r--meta-oe/recipes-graphics/feh/feh_3.6.1.bb31
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch385
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch77
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch29
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch11
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb47
-rw-r--r--meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb52
-rw-r--r--meta-oe/recipes-graphics/fontforge/libspiro_20221101.bb14
-rw-r--r--meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb20
-rw-r--r--meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb30
-rw-r--r--meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch2
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch2
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb109
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb123
-rw-r--r--meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch32
-rw-r--r--meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch143
-rw-r--r--meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb8
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch50
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch15
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch39
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch32
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.27.bb22
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb21
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch48
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch33
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.27.bb55
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb53
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch58
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch10
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch26
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch33
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb92
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb121
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch2
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf/0001-main.c-Define-prototype-for-setup_appdata.patch27
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch2
-rw-r--r--meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb9
-rw-r--r--meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb23
-rw-r--r--meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.119.bb44
-rw-r--r--meta-oe/recipes-graphics/imlib2/imlib2_git.bb15
-rw-r--r--meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb24
-rw-r--r--meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb34
-rw-r--r--meta-oe/recipes-graphics/leptonica/leptonica_1.80.0.bb20
-rw-r--r--meta-oe/recipes-graphics/leptonica/leptonica_1.82.0.bb19
-rw-r--r--meta-oe/recipes-graphics/libdecor/libdecor_0.2.2.bb31
-rw-r--r--meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch17
-rw-r--r--meta-oe/recipes-graphics/libforms/files/0001-Modify-include-dir.patch33
-rw-r--r--meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch2
-rw-r--r--meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch2
-rw-r--r--meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch2
-rw-r--r--meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb27
-rw-r--r--meta-oe/recipes-graphics/libforms/libforms_1.2.5pre1.bb26
-rw-r--r--meta-oe/recipes-graphics/libglvnd/libglvnd_1.7.0.bb30
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch29
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2022-34568.patch28
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-image/0001-png-img-Fix-prototypes-of-callbacks.patch52
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb6
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch2
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb4
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb4
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb4
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb4
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf/0001-freetype-Fix-function-signatures-to-match-without-ca.patch69
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch8
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb29
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb35
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb15
-rw-r--r--meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb52
-rw-r--r--meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb56
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-libyui-ncurses-Replace-off64_t-with-off_t-and-stat64.patch176
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses_4.0.0.bb49
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui-ncurses_4.2.3.bb50
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui_4.0.0.bb36
-rw-r--r--meta-oe/recipes-graphics/libyui/libyui_4.2.3.bb36
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch63
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch45
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0004-Factor-out-fbdev-initialization-code.patch52
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0005-Add-DRM-KMS-example-support.patch59
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0006-Add-SDL2-example-support.patch69
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch68
-rw-r--r--meta-oe/recipes-graphics/lvgl/files/0008-fix-fbdev-set-resolution-prior-to-buffer.patch29
-rw-r--r--meta-oe/recipes-graphics/lvgl/lv-conf.inc76
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.1.0.bb45
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb33
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0001-Initialize-msghdr-struct-in-a-portable-way.patch40
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch38
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch4
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch2
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch4
-rw-r--r--meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb28
-rw-r--r--meta-oe/recipes-graphics/neatvnc/neatvnc_0.8.0.bb38
-rw-r--r--meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb4
-rw-r--r--meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb17
-rw-r--r--meta-oe/recipes-graphics/openbox/files/0001-Fix-function-protype-visibility.patch94
-rw-r--r--meta-oe/recipes-graphics/openbox/obconf_git.bb12
-rw-r--r--meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb18
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg/0001-This-patch-fixed-include-dir-to-usr-include-.-Obviou.patch36
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb21
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.0.bb21
-rw-r--r--meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb9
-rw-r--r--meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.1.bb19
-rw-r--r--meta-oe/recipes-graphics/pango/pangomm_2.42.1.bb23
-rw-r--r--meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb18
-rw-r--r--meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch45
-rw-r--r--meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch2
-rw-r--r--meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb5
-rw-r--r--meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb12
-rw-r--r--meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch31
-rw-r--r--meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch57
-rw-r--r--meta-oe/recipes-graphics/renderdoc/renderdoc_1.27.bb38
-rw-r--r--meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb38
-rw-r--r--meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch31
-rw-r--r--meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch50
-rw-r--r--meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch35
-rw-r--r--meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb18
-rw-r--r--meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb2
-rw-r--r--meta-oe/recipes-graphics/suckless/st_0.8.4.bb35
-rw-r--r--meta-oe/recipes-graphics/suckless/st_0.9.2.bb35
-rw-r--r--meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch37
-rw-r--r--meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch42
-rw-r--r--meta-oe/recipes-graphics/surf/surf_2.0.bb25
-rw-r--r--meta-oe/recipes-graphics/surf/surf_2.1.bb31
-rw-r--r--meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb19
-rw-r--r--meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch66
-rw-r--r--meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb11
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb10
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract/0001-include-sys-time.h.patch34
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract_4.1.1.bb24
-rw-r--r--meta-oe/recipes-graphics/tesseract/tesseract_5.3.4.bb21
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch50
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch21
-rw-r--r--meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch36
-rw-r--r--meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb130
-rw-r--r--meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb133
-rw-r--r--meta-oe/recipes-graphics/tslib/tslib_1.22.bb39
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb2
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_2.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_2.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_2.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_2.004.bb34
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.000.bb15
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.100.bb15
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb14
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb35
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb17
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb9
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb61
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb7
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb4
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb21
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb6
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb9
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb9
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb23
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb23
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb8
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20190815.bb19
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20200916.bb19
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb4
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb2
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb16
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb25
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb7
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb5
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb28
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb26
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb7
-rw-r--r--meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch2
-rw-r--r--meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb23
-rw-r--r--meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb22
-rw-r--r--meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb23
-rw-r--r--meta-oe/recipes-graphics/vdpau/libvdpau_1.5.bb25
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch28
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch29
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkan-cts-include-missing-cstdint.patch34
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts-Include-missing-cstdint.patch32
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch8
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch26
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/files/gen-framework-path.patch20
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc71
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts/0001-use-library-sonames-for-linking.patch114
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb33
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.9.3.bb40
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts/0001-use-library-sonames-for-linking.patch114
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb24
-rw-r--r--meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb38
-rw-r--r--meta-oe/recipes-graphics/wayland/libei_1.2.1.bb25
-rw-r--r--meta-oe/recipes-graphics/wayland/waylandpp/0001-include-missing-cstdint.patch59
-rw-r--r--meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb45
-rw-r--r--meta-oe/recipes-graphics/x11vnc/files/CVE-2020-29074.patch27
-rw-r--r--meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb10
-rw-r--r--meta-oe/recipes-graphics/xbindkeys/xbindkeys_1.8.7.bb18
-rw-r--r--meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb14
-rw-r--r--meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb13
-rw-r--r--meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb23
-rw-r--r--meta-oe/recipes-graphics/xdotool/xdotool_3.20211022.1.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-app/iceauth_1.0.10.bb16
-rw-r--r--meta-oe/recipes-graphics/xorg-app/iceauth_1.0.8.bb16
-rw-r--r--meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb16
-rw-r--r--meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xclock_1.1.1.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.5.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.6.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.5.bb17
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.7.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xmag_1.0.7.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xmessage_1.0.7.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb9
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xrdb_1.2.2.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xrefresh_1.1.0.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb13
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb16
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb16
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch28
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xterm_362.bb48
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xterm_388.bb50
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xwd_1.0.9.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb12
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xwud_1.0.6.bb12
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb7
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc8
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc11
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb7
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb12
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb20
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb20
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb7
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-amdgpu_23.0.0.bb23
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch34
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb25
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb33
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch68
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb21
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch66
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.17.bb21
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb6
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb2
-rw-r--r--meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb2
-rw-r--r--meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb2
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/0001-lbx_zlib-Mark-declration-with-extern.patch36
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch55
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb16
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb28
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.16.bb26
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.0.bb11
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.1.bb12
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.3.bb11
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/0001-Tweak-app-defaults.patch304
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch47
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/0002-build-Do-not-build-po-files.patch53
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch100
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch283
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.44.bb36
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb62
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch2
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb13
-rw-r--r--meta-oe/recipes-graphics/yad/yad_6.0.bb9
-rw-r--r--meta-oe/recipes-graphics/ydotool/ydotool_git.bb26
-rw-r--r--meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb4
-rw-r--r--meta-oe/recipes-kernel/bpftool/bpftool.bb31
-rw-r--r--meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p2.bb76
-rw-r--r--meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p3.bb76
-rw-r--r--meta-oe/recipes-kernel/cpupower/cpupower.bb6
-rw-r--r--meta-oe/recipes-kernel/crash/crash-cross-canadian_8.0.4.bb52
-rw-r--r--meta-oe/recipes-kernel/crash/crash.inc91
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch21
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0001-printk-add-support-for-lockless-ringbuffer.patch445
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch36
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0002-printk-use-committed-finalized-state-values.patch103
-rw-r--r--meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch33
-rw-r--r--meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch2
-rw-r--r--meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch21
-rw-r--r--meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.91
-rw-r--r--meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch29
-rw-r--r--meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch26
-rw-r--r--meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch33
-rw-r--r--meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch79
-rw-r--r--meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch37
-rw-r--r--meta-oe/recipes-kernel/crash/crash_7.2.9.bb120
-rw-r--r--meta-oe/recipes-kernel/crash/crash_8.0.4.bb28
-rw-r--r--meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb7
-rw-r--r--meta-oe/recipes-kernel/ipmitool/files/0001-csv-revision-Drop-the-git-revision-info.patch42
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool/0001-Migrate-to-openssl-1.1.patch152
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch53
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-vulnerabilities.patch133
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool/0001-hpmfwupg-move-variable-definition-to-.c-file.patch41
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool/0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch53
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool/0003-channel-Fix-buffer-overflow.patch69
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool/0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch94
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool/0005-fru-sdr-Fix-id_string-buffer-overflows.patch142
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb45
-rw-r--r--meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb59
-rw-r--r--meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-Prevent-access-times-from-changing-resulting-gzip-md.patch25
-rw-r--r--meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-ihpm-Include-stdlib.h-for-malloc-free-atoi-functions.patch26
-rw-r--r--meta-oe/recipes-kernel/ipmiutil/ipmiutil/fix_systemd_path.patch29
-rw-r--r--meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb47
-rw-r--r--meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.9.bb47
-rw-r--r--meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb68
-rwxr-xr-xmeta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest10
-rw-r--r--meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/userfaultfd.patch2
-rw-r--r--meta-oe/recipes-kernel/kpatch/kpatch.inc16
-rw-r--r--meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch31
-rw-r--r--meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb44
-rw-r--r--meta-oe/recipes-kernel/libbpf/libbpf_1.4.0.bb36
-rw-r--r--meta-oe/recipes-kernel/libpfm/libpfm4/0002-perf_examples-Remove-unused-sum-variable.patch44
-rw-r--r--meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb32
-rw-r--r--meta-oe/recipes-kernel/libpfm/libpfm4_4.13.0.bb33
-rw-r--r--meta-oe/recipes-kernel/libtracefs/libtracefs/0001-makefile-Do-not-preserve-ownership-in-cp-command.patch31
-rw-r--r--meta-oe/recipes-kernel/libtracefs/libtracefs/0001-tracefs-perf-Add-missing-headers-for-syscall-and-SYS.patch31
-rw-r--r--meta-oe/recipes-kernel/libtracefs/libtracefs_1.7.0.bb23
-rw-r--r--meta-oe/recipes-kernel/linux/linux.inc10
-rw-r--r--meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch74
-rw-r--r--meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch92
-rw-r--r--meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.8.bb64
-rw-r--r--meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.5.bb62
-rw-r--r--meta-oe/recipes-kernel/minicoredumper/files/0001-corestripper-Fix-uninitialized-warning.patch53
-rw-r--r--meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch29
-rw-r--r--meta-oe/recipes-kernel/minicoredumper/files/run-ptest12
-rw-r--r--meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb46
-rw-r--r--meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.7.bb49
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile.inc66
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch30
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch55
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0001-Replace-std-bind2nd-with-generic-lambda.patch34
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch79
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0001-configure-Include-unistd.h-for-getpid-API.patch28
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch131
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch40
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch30
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch63
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch31
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch131
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch23
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch30
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch113
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch46
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch12
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/musl.patch46
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch98
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch44
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb13
-rw-r--r--meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb80
-rw-r--r--meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch51
-rw-r--r--meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb9
-rw-r--r--meta-oe/recipes-kernel/spidev-test/spidev-test.bb8
-rw-r--r--meta-oe/recipes-kernel/trace-cmd/files/0001-Do-not-emit-useless-rpath.patch34
-rw-r--r--meta-oe/recipes-kernel/trace-cmd/files/0001-Replace-LFS64-interfaces-off64_t-and-lseek64.patch1136
-rw-r--r--meta-oe/recipes-kernel/trace-cmd/files/0001-trace-cmd-make-it-build-with-musl.patch132
-rw-r--r--meta-oe/recipes-kernel/trace-cmd/files/0002-Drop-using-_LARGEFILE64_SOURCE.patch145
-rw-r--r--meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb17
-rw-r--r--meta-oe/recipes-kernel/trace-cmd/trace-cmd_3.1.5.bb32
-rw-r--r--meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb6
-rw-r--r--meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb69
-rw-r--r--meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb22
-rw-r--r--meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb4
-rw-r--r--meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch2
-rw-r--r--meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch2
-rw-r--r--meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb25
-rw-r--r--meta-oe/recipes-multimedia/cdrkit/files/0001-add-new-option-eltorito-platform.patch335
-rw-r--r--meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch2
-rw-r--r--meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Add-checksum.h-and-md5.h-for-function-pr.patch44
-rw-r--r--meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch2
-rw-r--r--meta-oe/recipes-multimedia/cdrkit/files/0001-install-netscsid-to-bin-for-nativesdk.patch28
-rw-r--r--meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch2
-rw-r--r--meta-oe/recipes-multimedia/faad2/faad2_2.11.1.bb17
-rw-r--r--meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb14
-rw-r--r--meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch2
-rw-r--r--meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb3
-rw-r--r--meta-oe/recipes-multimedia/jack/a2jmidid/ppc_musl_ucontext.patch19
-rw-r--r--meta-oe/recipes-multimedia/jack/a2jmidid_9.bb11
-rw-r--r--meta-oe/recipes-multimedia/jack/jack/0001-Conceal-imp-warnings-in-Python3.patch34
-rw-r--r--meta-oe/recipes-multimedia/jack/jack/0001-example-clients-Use-c-compiler-for-jack_simdtests.patch37
-rw-r--r--meta-oe/recipes-multimedia/jack/jack/0002-Fix-all-DeprecationWarning-invalid-escape-sequence.patch229
-rw-r--r--meta-oe/recipes-multimedia/jack/jack_1.19.17.bb53
-rw-r--r--meta-oe/recipes-multimedia/jack/jack_1.9.22.bb59
-rw-r--r--meta-oe/recipes-multimedia/libass/libass_0.14.0.bb30
-rw-r--r--meta-oe/recipes-multimedia/libass/libass_0.17.1.bb27
-rw-r--r--meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb11
-rw-r--r--meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb24
-rw-r--r--meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+2.0.1.bb24
-rw-r--r--meta-oe/recipes-multimedia/libcdio/libcdio/0001-Fix-a-few-Werror-format-security-errors-with-mvprint.patch40
-rw-r--r--meta-oe/recipes-multimedia/libcdio/libcdio/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch43
-rw-r--r--meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb16
-rw-r--r--meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb12
-rw-r--r--meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb11
-rw-r--r--meta-oe/recipes-multimedia/libid3tag/libid3tag/0001-Fix-gperf-3.1-incompatibility.patch40
-rw-r--r--meta-oe/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch34
-rw-r--r--meta-oe/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch43
-rw-r--r--meta-oe/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch19
-rw-r--r--meta-oe/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch15
-rw-r--r--meta-oe/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch39
-rw-r--r--meta-oe/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb27
-rw-r--r--meta-oe/recipes-multimedia/libjxl/libjxl_0.10.2.bb39
-rw-r--r--meta-oe/recipes-multimedia/libmad/libmad/0001-configure-Respect-the-cflags-from-environment.patch47
-rw-r--r--meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch2
-rw-r--r--meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb17
-rw-r--r--meta-oe/recipes-multimedia/libmms/libmms_0.6.4.bb4
-rw-r--r--meta-oe/recipes-multimedia/libmodplug/libmodplug/0001-fastmix-Drop-register-storage-class-keyword.patch38
-rw-r--r--meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb7
-rw-r--r--meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb55
-rw-r--r--meta-oe/recipes-multimedia/libopus/libopus_1.5.2.bb56
-rw-r--r--meta-oe/recipes-multimedia/live555/live555_20210129.bb62
-rw-r--r--meta-oe/recipes-multimedia/live555/live555_20210824.bb63
-rw-r--r--meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb2
-rw-r--r--meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb114
-rw-r--r--meta-oe/recipes-multimedia/mplayer/mpv_0.35.1.bb116
-rw-r--r--meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb15
-rw-r--r--meta-oe/recipes-multimedia/pulseaudio/paprefs_1.2.bb19
-rw-r--r--meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch112
-rw-r--r--meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb24
-rw-r--r--meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb27
-rw-r--r--meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb2
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch43
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch46
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch28
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch48
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils/export-mediactl-headers.patch23
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils/mediactl-pkgconfig.patch20
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb57
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb85
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch961
-rw-r--r--meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb9
-rw-r--r--meta-oe/recipes-multimedia/wavpack/files/extract-libtool-and-convert-to-soversion.patch35
-rw-r--r--meta-oe/recipes-multimedia/wavpack/files/set-soversion-and-version.patch26
-rw-r--r--meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb10
-rw-r--r--meta-oe/recipes-multimedia/wavpack/wavpack_5.6.0.bb18
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch9
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx_1.14.0.bb51
-rw-r--r--meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb50
-rw-r--r--meta-oe/recipes-multimedia/xpext/xpext/auxdir.patch2
-rw-r--r--meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb2
-rw-r--r--meta-oe/recipes-multimedia/xsp/xsp/xsp-fix-pc.patch2
-rw-r--r--meta-oe/recipes-navigation/geoclue/geoclue/0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch30
-rw-r--r--meta-oe/recipes-navigation/geoclue/geoclue_2.5.7.bb47
-rw-r--r--meta-oe/recipes-navigation/geoclue/geoclue_2.7.1.bb61
-rw-r--r--meta-oe/recipes-navigation/geos/files/geos-config-Add-includedir-variable.patch39
-rw-r--r--meta-oe/recipes-navigation/geos/geos.inc21
-rw-r--r--meta-oe/recipes-navigation/geos/geos_3.12.1.bb22
-rw-r--r--meta-oe/recipes-navigation/geos/geos_3.4.3.bb7
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb5
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch108
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch79
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb143
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb159
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch17
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_geos.patch45
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_macros.patch14
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_pkgconfig.patch13
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb22
-rw-r--r--meta-oe/recipes-navigation/libspatialite/libspatialite_5.0.1.bb24
-rw-r--r--meta-oe/recipes-navigation/orrery/orrery/0001-Append-cflags-instead-of-overriding-in-Makefile.am.patch28
-rw-r--r--meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch2
-rw-r--r--meta-oe/recipes-navigation/orrery/orrery/use.GdkPixbuf.patch2
-rw-r--r--meta-oe/recipes-navigation/orrery/orrery_2.7.bb12
-rw-r--r--meta-oe/recipes-navigation/proj/proj_7.0.1.bb21
-rw-r--r--meta-oe/recipes-navigation/proj/proj_9.3.1.bb27
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-Fix-time.h-check.patch54
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-sample-Rename-dprintf-to-cyrus_dprintf.patch91
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch37
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2022-24407.patch27
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/avoid-to-call-AC_TRY_RUN.patch39
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/debian_patches_0014_avoid_pic_overwrite.diff30
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/saslauthd.conf11
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/saslauthd.service12
-rw-r--r--meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb98
-rw-r--r--meta-oe/recipes-printing/cups/cups-filters.inc81
-rw-r--r--meta-oe/recipes-printing/cups/cups-filters/fix-make-race.patch33
-rw-r--r--meta-oe/recipes-printing/cups/cups-filters_1.27.2.bb4
-rw-r--r--meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb30
-rw-r--r--meta-oe/recipes-printing/cups/cups-pk-helper/dont-localize-org.opensuse.CupsPkHelper.Mechanism.service.patch26
-rw-r--r--meta-oe/recipes-printing/cups/cups-pk-helper_0.2.7.bb23
-rw-r--r--meta-oe/recipes-printing/cups/libcupsfilters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch36
-rw-r--r--meta-oe/recipes-printing/cups/libcupsfilters_2.0.0.bb17
-rw-r--r--meta-oe/recipes-printing/cups/libppd_2.0.0.bb18
-rw-r--r--meta-oe/recipes-printing/cups/python3-pycups.bb11
-rw-r--r--meta-oe/recipes-printing/gutenprint/gutenprint_5.3.4.bb63
-rw-r--r--meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb36
-rw-r--r--meta-oe/recipes-printing/qpdf/qpdf_11.8.0.bb31
-rw-r--r--meta-oe/recipes-security/audit/audit/0001-Fixed-swig-host-contamination-issue.patch57
-rw-r--r--meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch49
-rw-r--r--meta-oe/recipes-security/audit/audit/audit-volatile.conf1
-rw-r--r--meta-oe/recipes-security/audit/audit/auditd153
-rw-r--r--meta-oe/recipes-security/audit/audit_4.0.1.bb103
-rw-r--r--meta-oe/recipes-security/bubblewrap/bubblewrap_0.8.0.bb24
-rw-r--r--meta-oe/recipes-security/keyutils/files/0001-Adhere-to-the-SOURCE_DATE_EPOCH-standard.patch32
-rw-r--r--meta-oe/recipes-security/keyutils/files/0001-tests-builtin_trusted-Failure-command-is-failed.patch27
-rw-r--r--meta-oe/recipes-security/keyutils/files/0001-tests-toolbox.inc.sh-update-regex-for-getting-endian.patch35
-rw-r--r--meta-oe/recipes-security/keyutils/files/0002-tests-Use-head-n1-for-busybox-compatibility.patch64
-rw-r--r--meta-oe/recipes-security/keyutils/keyutils_1.6.1.bb65
-rw-r--r--meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb62
-rw-r--r--meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch2
-rw-r--r--meta-oe/recipes-security/nmap/nmap_7.80.bb22
-rw-r--r--meta-oe/recipes-security/passwdqc/passwdqc/makefile-add-ldflags.patch25
-rw-r--r--meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb66
-rw-r--r--meta-oe/recipes-security/passwdqc/passwdqc_2.0.3.bb65
-rw-r--r--meta-oe/recipes-security/softhsm/files/0001-avoid-unnecessary-check-for-sqlite3-binary.patch40
-rw-r--r--meta-oe/recipes-security/softhsm/softhsm_2.6.1.bb11
-rw-r--r--meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb30
-rw-r--r--meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.6.1.bb29
-rw-r--r--meta-oe/recipes-security/usbguard/usbguard/0001-Add-and-use-pkgconfig-instead-of-libgcrypt-config.patch106
-rw-r--r--meta-oe/recipes-security/usbguard/usbguard/0001-include-missing-cstdint.patch45
-rw-r--r--meta-oe/recipes-security/usbguard/usbguard_1.1.2.bb70
-rw-r--r--meta-oe/recipes-shells/dash/dash_0.5.11.3.bb27
-rw-r--r--meta-oe/recipes-shells/dash/dash_0.5.12.bb26
-rw-r--r--meta-oe/recipes-shells/mksh/mksh_59.bb36
-rw-r--r--meta-oe/recipes-shells/mksh/mksh_59c.bb37
-rw-r--r--meta-oe/recipes-shells/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch12
-rw-r--r--meta-oe/recipes-shells/tcsh/tcsh/0002-Add-debian-csh-scripts.patch2
-rw-r--r--meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb44
-rw-r--r--meta-oe/recipes-shells/tcsh/tcsh_6.24.12.bb46
-rw-r--r--meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_1.patch60
-rw-r--r--meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_2.patch140
-rw-r--r--meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_3.patch77
-rw-r--r--meta-oe/recipes-shells/zsh/zsh_5.4.2.bb65
-rw-r--r--meta-oe/recipes-shells/zsh/zsh_5.8.bb62
-rw-r--r--meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb6
-rw-r--r--meta-oe/recipes-support/anthy/anthy/2ch_t.patch2
-rw-r--r--meta-oe/recipes-support/anthy/anthy/native-helpers.patch2
-rw-r--r--meta-oe/recipes-support/anthy/anthy/not_build_elc.patch2
-rw-r--r--meta-oe/recipes-support/anthy/anthy/target-helpers.patch2
-rw-r--r--meta-oe/recipes-support/anthy/anthy_9100h.bb21
-rw-r--r--meta-oe/recipes-support/asio/asio_1.18.1.bb29
-rw-r--r--meta-oe/recipes-support/asio/asio_1.28.0.bb28
-rw-r--r--meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch30
-rw-r--r--meta-oe/recipes-support/atop/atop_2.4.0.bb14
-rw-r--r--meta-oe/recipes-support/augeas/augeas.inc33
-rw-r--r--meta-oe/recipes-support/augeas/augeas/0001-src-internal-Use-__GLIBC__-to-check-for-GNU-extentio.patch34
-rw-r--r--meta-oe/recipes-support/augeas/augeas_1.12.0.bb34
-rw-r--r--meta-oe/recipes-support/avro/avro-c++/0001-Remove-cpp-unittest-compilation.patch86
-rw-r--r--meta-oe/recipes-support/avro/avro-c++/0002-Add-package-configuration-files.patch84
-rw-r--r--meta-oe/recipes-support/avro/avro-c++/0003-Update-CXX-standard-to-CXX14.patch24
-rw-r--r--meta-oe/recipes-support/avro/avro-c++_1.11.3.bb22
-rw-r--r--meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch70
-rw-r--r--meta-oe/recipes-support/avro/avro-c_1.11.3.bb17
-rw-r--r--meta-oe/recipes-support/avro/avro-c_1.9.2.bb18
-rw-r--r--meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb39
-rw-r--r--meta-oe/recipes-support/bdwgc/bdwgc_8.2.6.bb37
-rw-r--r--meta-oe/recipes-support/boost-sml/boost-sml_1.1.11.bb25
-rw-r--r--meta-oe/recipes-support/btop/btop_1.3.2.bb23
-rw-r--r--meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch27
-rw-r--r--meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch84
-rw-r--r--meta-oe/recipes-support/c-ares/c-ares/run-ptest3
-rw-r--r--meta-oe/recipes-support/c-ares/c-ares_1.16.1.bb27
-rw-r--r--meta-oe/recipes-support/c-ares/c-ares_1.27.0.bb30
-rw-r--r--meta-oe/recipes-support/c-periphery/c-periphery_2.3.1.bb21
-rw-r--r--meta-oe/recipes-support/c-periphery/c-periphery_2.4.2.bb21
-rw-r--r--meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb8
-rw-r--r--meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch2
-rw-r--r--meta-oe/recipes-support/canonical-multitouch/geis/0001-provide-function-declaration-with-prototypes.patch690
-rw-r--r--meta-oe/recipes-support/canonical-multitouch/geis/fix-indentation-for-gcc6.patch2
-rw-r--r--meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb21
-rw-r--r--meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb10
-rw-r--r--meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch12
-rw-r--r--meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch18
-rw-r--r--meta-oe/recipes-support/ccid/ccid_1.4.33.bb20
-rw-r--r--meta-oe/recipes-support/ccid/ccid_1.5.5.bb18
-rw-r--r--meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb34
-rw-r--r--meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb41
-rw-r--r--meta-oe/recipes-support/ckermit/ckermit/0001-Fix-function-prototype-errors.patch106
-rw-r--r--meta-oe/recipes-support/ckermit/ckermit_302.bb4
-rw-r--r--meta-oe/recipes-support/cli11/cli11/0001-Do-not-download-the-catch-framework-during-configure.patch41
-rw-r--r--meta-oe/recipes-support/cli11/cli11_1.9.1.bb17
-rw-r--r--meta-oe/recipes-support/cli11/cli11_2.3.2.bb26
-rw-r--r--meta-oe/recipes-support/cmark/cmark_0.31.0.bb15
-rw-r--r--meta-oe/recipes-support/cmark/cmark_git.bb17
-rw-r--r--meta-oe/recipes-support/colord/colord-native.bb4
-rw-r--r--meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch6
-rw-r--r--meta-oe/recipes-support/colord/colord.bb10
-rw-r--r--meta-oe/recipes-support/colord/colord.inc7
-rw-r--r--meta-oe/recipes-support/consolation/consolation_0.0.8.bb29
-rw-r--r--meta-oe/recipes-support/consolation/consolation_0.0.9.bb29
-rw-r--r--meta-oe/recipes-support/cpp-netlib/cpp-netlib/a53f123040998744602f190944464af0e159ea19.patch30
-rw-r--r--meta-oe/recipes-support/cpp-netlib/cpp-netlib_git.bb12
-rw-r--r--meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch2
-rw-r--r--meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch2
-rw-r--r--meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb19
-rw-r--r--meta-oe/recipes-support/cpprest/cpprest_2.10.19.bb19
-rw-r--r--meta-oe/recipes-support/cpulimit/cpulimit/0001-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch41
-rw-r--r--meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb23
-rw-r--r--meta-oe/recipes-support/crucible/crucible_2023.11.02.bb20
-rw-r--r--meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-14.bb7
-rw-r--r--meta-oe/recipes-support/cyaml/cyaml_1.4.1.bb27
-rw-r--r--meta-oe/recipes-support/daemonize/daemonize_git.bb2
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/0001-Fix-signature-of-main-function.patch209
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-Fix-QA-Issue.patch2
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff2
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff2
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch2
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools/warnings.patch76
-rw-r--r--meta-oe/recipes-support/daemontools/daemontools_0.76.bb8
-rw-r--r--meta-oe/recipes-support/dc/double-conversion_3.3.0.bb41
-rw-r--r--meta-oe/recipes-support/dc/files/run-ptest23
-rw-r--r--meta-oe/recipes-support/devmem2/devmem2.bb28
-rw-r--r--meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch70
-rw-r--r--meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch91
-rw-r--r--meta-oe/recipes-support/devmem2/devmem2_2.0.bb19
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util-native_0.11.bb (renamed from meta-oe/recipes-support/dfu-util/dfu-util-native_0.10.bb)0
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_0.10.bb13
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb11
-rw-r--r--meta-oe/recipes-support/dhex/dhex_0.69.bb2
-rw-r--r--meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb4
-rw-r--r--meta-oe/recipes-support/dool/dool_1.3.1.bb23
-rw-r--r--meta-oe/recipes-support/driverctl/driverctl_0.115.bb26
-rw-r--r--meta-oe/recipes-support/dstat/dstat/0001-change-dstat-to-python3.patch89
-rw-r--r--meta-oe/recipes-support/dstat/dstat_0.7.4.bb24
-rw-r--r--meta-oe/recipes-support/edid-decode/edid-decode_git.bb18
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-timeout.patch2
-rw-r--r--meta-oe/recipes-support/eject/eject_2.1.5.bb9
-rw-r--r--meta-oe/recipes-support/emacs/emacs_27.1.bb262
-rw-r--r--meta-oe/recipes-support/emacs/emacs_29.1.bb311
-rw-r--r--meta-oe/recipes-support/emacs/files/avoid-running-host-binaries-for-sanity.patch38
-rw-r--r--meta-oe/recipes-support/emacs/files/use-emacs-native-tools-for-cross-compiling.patch106
-rw-r--r--meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch85
-rw-r--r--meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch30
-rw-r--r--meta-oe/recipes-support/enca/enca/dont-run-tests.patch2
-rw-r--r--meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch2
-rw-r--r--meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch2
-rw-r--r--meta-oe/recipes-support/enca/enca_1.19.bb10
-rw-r--r--meta-oe/recipes-support/epeg/epeg/0001-configure-Fix-checks-for-libjpeg-and-libexif.patch32
-rw-r--r--meta-oe/recipes-support/epeg/epeg_git.bb4
-rw-r--r--meta-oe/recipes-support/espeak/espeak_1.48.04.bb7
-rw-r--r--meta-oe/recipes-support/espeak/files/0001-Drop-using-register-keyword-for-storage-classifier.patch38
-rw-r--r--meta-oe/recipes-support/espeak/files/0001-Fix-build-of-shared-library-on-architectures-needing.patch2
-rw-r--r--meta-oe/recipes-support/evemu-tools/evemu-tools_git.bb21
-rw-r--r--meta-oe/recipes-support/exiv2/exiv2/0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch40
-rw-r--r--meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb16
-rw-r--r--meta-oe/recipes-support/exiv2/exiv2_0.28.0.bb19
-rw-r--r--meta-oe/recipes-support/farsight/libnice_0.1.16.bb40
-rw-r--r--meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch2
-rw-r--r--meta-oe/recipes-support/fbset/fbset-modes.bb3
-rw-r--r--meta-oe/recipes-support/fbset/fbset_2.1.bb7
-rw-r--r--meta-oe/recipes-support/fftw/fftw/install-bench.patch43
-rw-r--r--meta-oe/recipes-support/fftw/fftw/run-ptest27
-rw-r--r--meta-oe/recipes-support/fftw/fftw_3.3.10.bb103
-rw-r--r--meta-oe/recipes-support/fftw/fftw_3.3.8.bb83
-rw-r--r--meta-oe/recipes-support/fltk/fltk-native.bb6
-rw-r--r--meta-oe/recipes-support/fltk/fltk.bb21
-rw-r--r--meta-oe/recipes-support/fltk/fltk.inc7
-rw-r--r--meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch2
-rw-r--r--meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch24
-rw-r--r--meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch41
-rw-r--r--meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch42
-rw-r--r--meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch182
-rw-r--r--meta-oe/recipes-support/fltk/fltk/disable_test.patch2
-rw-r--r--meta-oe/recipes-support/fltk/fltk/fltk-native-link-libdl.patch44
-rw-r--r--meta-oe/recipes-support/fmt/fmt_10.2.1.bb16
-rw-r--r--meta-oe/recipes-support/fmt/fmt_7.1.3.bb17
-rw-r--r--meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch57
-rw-r--r--meta-oe/recipes-support/freerdp/freerdp/0002-Do-not-install-tools-a-CMake-targets.patch45
-rw-r--r--meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch2
-rw-r--r--meta-oe/recipes-support/freerdp/freerdp3_3.4.0.bb61
-rw-r--r--meta-oe/recipes-support/freerdp/freerdp_2.11.2.bb92
-rw-r--r--meta-oe/recipes-support/freerdp/freerdp_2.3.0.bb85
-rw-r--r--meta-oe/recipes-support/function2/function2_4.1.0.bb21
-rw-r--r--meta-oe/recipes-support/function2/function2_4.2.4.bb21
-rw-r--r--meta-oe/recipes-support/gd/gd/0001-Fix-deprecared-function-prototypes.patch115
-rw-r--r--meta-oe/recipes-support/gd/gd_2.3.1.bb54
-rw-r--r--meta-oe/recipes-support/gd/gd_2.3.3.bb55
-rw-r--r--meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb4
-rw-r--r--meta-oe/recipes-support/gflags/gflags_2.2.2.bb6
-rw-r--r--meta-oe/recipes-support/glog/glog/0001-Change-SleepForMilliseconds-parameter-from-unsigned-.patch33
-rw-r--r--meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch118
-rw-r--r--meta-oe/recipes-support/glog/glog/libexecinfo.patch40
-rw-r--r--meta-oe/recipes-support/glog/glog_0.4.0.bb32
-rw-r--r--meta-oe/recipes-support/glog/glog_0.6.0.bb43
-rw-r--r--meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb40
-rw-r--r--meta-oe/recipes-support/gnulib/gnulib_202401.bb37
-rw-r--r--meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.3.bb20
-rw-r--r--meta-oe/recipes-support/gosu/gosu_1.17.bb29
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch31
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch12
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch39
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch38
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch59
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch4
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch61
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/sgidef.patch25
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools_2.15.bb65
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb50
-rw-r--r--meta-oe/recipes-support/gpm/gpm_git.bb11
-rw-r--r--meta-oe/recipes-support/gradm/gradm/0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch2
-rw-r--r--meta-oe/recipes-support/gradm/gradm/0001-make-Define-SBINDIR-flag.patch69
-rw-r--r--meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb50
-rw-r--r--meta-oe/recipes-support/gradm/gradm_3.1-202111052217.bb51
-rw-r--r--meta-oe/recipes-support/gsl/gsl.inc5
-rw-r--r--meta-oe/recipes-support/gsl/gsl_2.6.bb5
-rw-r--r--meta-oe/recipes-support/gsl/gsl_2.7.1.bb4
-rw-r--r--meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch96
-rw-r--r--meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb42
-rw-r--r--meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb42
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/0001-sata.c-Declare-ata_get_powermode-prototype.patch33
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch2
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch2
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff2
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb8
-rw-r--r--meta-oe/recipes-support/hdf5/files/0001-cmake-remove-build-flags.patch96
-rw-r--r--meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch68
-rw-r--r--meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch15
-rwxr-xr-xmeta-oe/recipes-support/hdf5/files/H5Tinit-32.c975
-rw-r--r--meta-oe/recipes-support/hdf5/files/H5Tinit-64.c991
-rw-r--r--meta-oe/recipes-support/hdf5/files/H5lib_settings.c98
-rw-r--r--meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb62
-rw-r--r--meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb58
-rw-r--r--meta-oe/recipes-support/hidapi/hidapi/0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch27
-rw-r--r--meta-oe/recipes-support/hidapi/hidapi_0.14.0.bb15
-rw-r--r--meta-oe/recipes-support/hidapi/hidapi_git.bb18
-rw-r--r--meta-oe/recipes-support/hstr/files/0001-Use-OE-specific-checks-for-ncurses.patch42
-rw-r--r--meta-oe/recipes-support/hstr/files/0001-configure.ac-Don-t-use-AC_CHECK_FILE.patch33
-rw-r--r--meta-oe/recipes-support/hstr/hstr_3.1.0.bb17
-rw-r--r--meta-oe/recipes-support/htop/files/0001-Use-pkg-config.patch45
-rw-r--r--meta-oe/recipes-support/htop/htop_3.0.5.bb33
-rw-r--r--meta-oe/recipes-support/htop/htop_3.3.0.bb36
-rw-r--r--meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb136
-rw-r--r--meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb18
-rw-r--r--meta-oe/recipes-support/hunspell/hunspell_1.7.2.bb21
-rw-r--r--meta-oe/recipes-support/hwdata/hwdata_0.381.bb26
-rw-r--r--meta-oe/recipes-support/hwdata/hwdata_git.bb23
-rw-r--r--meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb17
-rw-r--r--meta-oe/recipes-support/iksemel/iksemel_1.5.bb6
-rw-r--r--meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb91
-rw-r--r--meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb101
-rw-r--r--meta-oe/recipes-support/imapfilter/imapfilter_2.7.5.bb21
-rw-r--r--meta-oe/recipes-support/imapfilter/imapfilter_2.8.2.bb23
-rw-r--r--meta-oe/recipes-support/inih/files/0001-include-install-header-files-without-prefix-dir-inih.patch24
-rw-r--r--meta-oe/recipes-support/inih/libinih_58.bb14
-rw-r--r--meta-oe/recipes-support/inih/libinih_git.bb23
-rw-r--r--meta-oe/recipes-support/iniparser/iniparser/0001-iniparser.pc-Make-libpath-a-variable.patch23
-rw-r--r--meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch2
-rw-r--r--meta-oe/recipes-support/iniparser/iniparser/CVE-2023-33461.patch48
-rw-r--r--meta-oe/recipes-support/iniparser/iniparser_4.1.bb19
-rw-r--r--meta-oe/recipes-support/inotify-tools/inotify-tools/0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch28
-rw-r--r--meta-oe/recipes-support/inotify-tools/inotify-tools/0002-libinotifytools-Bridge-differences-between-musl-glib.patch40
-rw-r--r--meta-oe/recipes-support/inotify-tools/inotify-tools/0003-replace-stat64-lstat64-with-stat-lstat.patch119
-rw-r--r--meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb27
-rw-r--r--meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb21
-rw-r--r--meta-oe/recipes-support/joe/joe_4.6.bb2
-rw-r--r--meta-oe/recipes-support/lcms/lcms_2.12.bb16
-rw-r--r--meta-oe/recipes-support/lcms/lcms_2.16.bb17
-rw-r--r--meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch898
-rw-r--r--meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch247
-rwxr-xr-xmeta-oe/recipes-support/lcov/lcov_1.14.bb65
-rwxr-xr-xmeta-oe/recipes-support/lcov/lcov_1.16.bb57
-rw-r--r--meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb8
-rw-r--r--meta-oe/recipes-support/libb64/libb64/0001-Makefile-fix-parallel-build-of-examples.patch46
-rw-r--r--meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch27
-rw-r--r--meta-oe/recipes-support/libb64/libb64/0001-examples-Use-proper-function-prototype-for-main.patch27
-rw-r--r--meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch57
-rw-r--r--meta-oe/recipes-support/libb64/libb64_2.0.0.1.bb38
-rw-r--r--meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb29
-rw-r--r--meta-oe/recipes-support/libbytesize/libbytesize_2.4.bb30
-rw-r--r--meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch2
-rw-r--r--meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch2
-rw-r--r--meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch65
-rw-r--r--meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb25
-rw-r--r--meta-oe/recipes-support/libcereal/files/0001-cmake-Use-idirafter-instead-of-isystem.patch52
-rw-r--r--meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch38
-rw-r--r--meta-oe/recipes-support/libcereal/files/0001-sandbox-Do-not-use-int8_t-in-std-uniform_int_distrib.patch54
-rwxr-xr-xmeta-oe/recipes-support/libcereal/files/run-ptest12
-rw-r--r--meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb31
-rw-r--r--meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb56
-rw-r--r--meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb29
-rw-r--r--meta-oe/recipes-support/libcyusbserial/libcyusbserial/0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch43
-rw-r--r--meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb10
-rw-r--r--meta-oe/recipes-support/libee/libee.inc2
-rw-r--r--meta-oe/recipes-support/libee/libee/libee-parallel-make.patch2
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch72
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb22
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb27
-rw-r--r--meta-oe/recipes-support/libestr/libestr_0.1.11.bb2
-rw-r--r--meta-oe/recipes-support/libfann/libfann_git.bb6
-rw-r--r--meta-oe/recipes-support/libfido2/libfido2_1.14.0.bb25
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi_1.4.bb33
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi_1.5.bb40
-rw-r--r--meta-oe/recipes-support/libgpiod/files/run-ptest12
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod-1.x/run-ptest19
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest24
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod.inc60
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb44
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb45
-rw-r--r--meta-oe/recipes-support/libgpiod/libgpiod_2.1.1.bb31
-rw-r--r--meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb18
-rw-r--r--meta-oe/recipes-support/libgusb/libgusb_0.3.5.bb12
-rw-r--r--meta-oe/recipes-support/libharu/libharu/0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch30
-rw-r--r--meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch52
-rw-r--r--meta-oe/recipes-support/libharu/libharu_2.3.0.bb24
-rw-r--r--meta-oe/recipes-support/libharu/libharu_2.4.4.bb16
-rw-r--r--meta-oe/recipes-support/libiio/libiio_0.25.bb81
-rw-r--r--meta-oe/recipes-support/libiio/libiio_git.bb48
-rw-r--r--meta-oe/recipes-support/libiodbc/libiodbc_3.52.15.bb30
-rw-r--r--meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb27
-rw-r--r--meta-oe/recipes-support/libjs/libjs-jquery-globalize_1.7.0.bb23
-rw-r--r--meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb42
-rw-r--r--meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb25
-rw-r--r--meta-oe/recipes-support/libjs/libjs-jquery_3.3.1.bb27
-rw-r--r--meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb4
-rw-r--r--meta-oe/recipes-support/libmanette/libmanette_0.2.7.bb16
-rw-r--r--meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb31
-rw-r--r--meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch2
-rw-r--r--meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb5
-rw-r--r--meta-oe/recipes-support/libmxml/libmxml_3.1.bb33
-rw-r--r--meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb31
-rw-r--r--meta-oe/recipes-support/libnice/libnice_0.1.22.bb30
-rw-r--r--meta-oe/recipes-support/libnvme/libnvme_1.8.bb22
-rw-r--r--meta-oe/recipes-support/liboauth/liboauth/0001-Support-OpenSSL-1.1.0.patch2
-rw-r--r--meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb2
-rw-r--r--meta-oe/recipes-support/libol/libol/configure.patch14
-rw-r--r--meta-oe/recipes-support/libol/libol_0.3.18.bb20
-rw-r--r--meta-oe/recipes-support/liboop/liboop/tcl_dev.patch2
-rw-r--r--meta-oe/recipes-support/liboop/liboop_1.0.1.bb2
-rw-r--r--meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch28
-rw-r--r--meta-oe/recipes-support/libosinfo/libosinfo/0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch32
-rw-r--r--meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb35
-rw-r--r--meta-oe/recipes-support/libp11/libp11_0.4.11.bb30
-rw-r--r--meta-oe/recipes-support/libp11/libp11_0.4.12.bb30
-rw-r--r--meta-oe/recipes-support/libpaper/libpaper_2.1.2.bb9
-rw-r--r--meta-oe/recipes-support/libraw/libraw_0.21.2.bb11
-rw-r--r--meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb2
-rw-r--r--meta-oe/recipes-support/librdkafka/librdkafka/0001-cmake-Use-CMAKE_INSTALL_LIBDIR.patch30
-rw-r--r--meta-oe/recipes-support/librdkafka/librdkafka_1.8.2.bb23
-rw-r--r--meta-oe/recipes-support/librsync/librsync_2.3.1.bb18
-rw-r--r--meta-oe/recipes-support/librsync/librsync_2.3.4.bb17
-rw-r--r--meta-oe/recipes-support/libsmi/libsmi/0001-Define-createIdentifierRef-prototype-in-yang-complex.patch53
-rw-r--r--meta-oe/recipes-support/libsmi/libsmi/0001-parser-yang-Define-_DEFAULT_SOURCE.patch28
-rw-r--r--meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb26
-rw-r--r--meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb14
-rw-r--r--meta-oe/recipes-support/libssh/libssh/0001-libgcrypt.c-Fix-prototype-of-des3_encrypt-des3_decry.patch44
-rw-r--r--meta-oe/recipes-support/libssh/libssh/0001-tests-CMakeLists.txt-do-not-search-ssh-sshd-commands.patch36
-rw-r--r--meta-oe/recipes-support/libssh/libssh/run-ptest17
-rw-r--r--meta-oe/recipes-support/libssh/libssh_0.10.6.bb48
-rw-r--r--meta-oe/recipes-support/libssh/libssh_0.8.9.bb35
-rw-r--r--meta-oe/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch57
-rw-r--r--meta-oe/recipes-support/libstemmer/libstemmer_2.2.0.bb37
-rw-r--r--meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch2
-rw-r--r--meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch2
-rw-r--r--meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch2
-rw-r--r--meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-check-the-return-value.patch34
-rw-r--r--meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-switch-to-python3.patch101
-rw-r--r--meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-use-python3-interpreter.patch28
-rw-r--r--meta-oe/recipes-support/libteam/libteam/0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch46
-rw-r--r--meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch2
-rw-r--r--meta-oe/recipes-support/libteam/libteam/run-ptest5
-rw-r--r--meta-oe/recipes-support/libteam/libteam_1.31.bb24
-rw-r--r--meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb1
-rw-r--r--meta-oe/recipes-support/libtinyxml2/files/run-ptest10
-rw-r--r--meta-oe/recipes-support/libtinyxml2/libtinyxml2_10.0.0.bb30
-rw-r--r--meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb15
-rw-r--r--meta-oe/recipes-support/libtommath/libtommath_1.3.0.bb23
-rw-r--r--meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch30
-rw-r--r--meta-oe/recipes-support/liburing/liburing/0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch35
-rw-r--r--meta-oe/recipes-support/liburing/liburing_0.7.bb31
-rw-r--r--meta-oe/recipes-support/liburing/liburing_2.5.bb29
-rw-r--r--meta-oe/recipes-support/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch14
-rw-r--r--meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch24
-rw-r--r--meta-oe/recipes-support/libusb/libusb-compat/run-ptest14
-rw-r--r--meta-oe/recipes-support/libusb/libusb-compat_0.1.7.bb41
-rw-r--r--meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb47
-rw-r--r--meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch2
-rw-r--r--meta-oe/recipes-support/libusbg/libusbg_git.bb6
-rw-r--r--meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch796
-rw-r--r--meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch52
-rwxr-xr-x[-rw-r--r--]meta-oe/recipes-support/libusbgx/libusbgx/gadget-start11
-rwxr-xr-xmeta-oe/recipes-support/libusbgx/libusbgx/gadget-stop13
-rw-r--r--meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service6
-rw-r--r--meta-oe/recipes-support/libusbgx/libusbgx_git.bb46
-rw-r--r--meta-oe/recipes-support/libutempter/libutempter.bb42
-rw-r--r--meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch7
-rw-r--r--meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch2
-rw-r--r--meta-oe/recipes-support/libutempter/libutempter/libutempter-remove-glibc-assumption.patch81
-rw-r--r--meta-oe/recipes-support/libutempter/libutempter_1.2.2-alt1.bb40
-rw-r--r--meta-oe/recipes-support/links/files/ac-prog-cxx.patch2
-rw-r--r--meta-oe/recipes-support/links/links-x11_2.20.2.bb53
-rw-r--r--meta-oe/recipes-support/links/links-x11_2.26.bb29
-rw-r--r--meta-oe/recipes-support/links/links.inc2
-rw-r--r--meta-oe/recipes-support/links/links_2.21.bb15
-rw-r--r--meta-oe/recipes-support/links/links_2.29.bb11
-rw-r--r--meta-oe/recipes-support/lio-utils/lio-utils/0001-Makefiles-Respect-environment-variables-and-add-LDFL.patch2
-rw-r--r--meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb12
-rw-r--r--meta-oe/recipes-support/lockdev/lockdev/0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch28
-rw-r--r--meta-oe/recipes-support/lockdev/lockdev/build.patch2
-rw-r--r--meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch2
-rw-r--r--meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb14
-rw-r--r--meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch2
-rw-r--r--meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch2
-rw-r--r--meta-oe/recipes-support/log4c/log4c_1.2.4.bb2
-rw-r--r--meta-oe/recipes-support/log4cpp/files/fix-pc.patch2
-rw-r--r--meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb21
-rw-r--r--meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb22
-rw-r--r--meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb8
-rw-r--r--meta-oe/recipes-support/lvm2/files/0001-configure.ac-check-egrep.patch33
-rw-r--r--meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch2
-rw-r--r--meta-oe/recipes-support/lvm2/files/0001-include-libgen.h-for-basename.patch32
-rw-r--r--meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch27
-rw-r--r--meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch10
-rw-r--r--meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch23
-rw-r--r--meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch11
-rw-r--r--meta-oe/recipes-support/lvm2/libdevmapper_2.03.22.bb (renamed from meta-oe/recipes-support/lvm2/libdevmapper_2.03.11.bb)0
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2.inc18
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch12
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2/0001-lvmdbusd-create-dirs-for-lock-file.patch29
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch55
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2_2.03.11.bb91
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2_2.03.22.bb110
-rw-r--r--meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb31
-rw-r--r--meta-oe/recipes-support/mailcap/mailcap_2.1.54.bb30
-rw-r--r--meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb2
-rw-r--r--meta-oe/recipes-support/mcelog/mce-inject_git.bb6
-rw-r--r--meta-oe/recipes-support/mcelog/mce-test_git.bb16
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog/0001-client-Include-string.h-form-mem-function-prototypes.patch26
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog/0001-test-avoid-the-pfa-test-hang.patch36
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog/run-ptest8
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog_175.bb36
-rw-r--r--meta-oe/recipes-support/mcelog/mcelog_198.bb44
-rw-r--r--meta-oe/recipes-support/md4c/md4c_0.5.2.bb17
-rw-r--r--meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch2
-rw-r--r--meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch2
-rw-r--r--meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch2
-rw-r--r--meta-oe/recipes-support/mg/mg_20200723.bb38
-rw-r--r--meta-oe/recipes-support/mg/mg_20230501.bb38
-rw-r--r--meta-oe/recipes-support/mime-support/mime-support_3.48.bb64
-rw-r--r--meta-oe/recipes-support/mime-support/mime-support_3.62.bb65
-rw-r--r--meta-oe/recipes-support/monit/monit_5.27.2.bb53
-rw-r--r--meta-oe/recipes-support/monit/monit_5.33.0.bb56
-rw-r--r--meta-oe/recipes-support/mscgen/mscgen_0.20.bb6
-rw-r--r--meta-oe/recipes-support/msktutil/msktutil/0001-configure.ac-Remove-native-include-path.patch31
-rw-r--r--meta-oe/recipes-support/msktutil/msktutil_1.2.1.bb16
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0001-RH-fixup-udev-rules-for-redhat.patch76
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch40
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0001-fix-boolean-value-with-json-c-0.14.patch42
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch44
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0001-libmultipath-always-use-glibc-basename.patch42
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0001-libmultipath-uevent.c-fix-error-handling-for-udev_mo.patch39
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0002-RH-Remove-the-property-blacklist-exception-builtin.patch65
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0003-RH-don-t-start-without-a-config-file.patch117
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0004-RH-use-rpm-optflags-if-present.patch55
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch653
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch95
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0007-RH-warn-on-invalid-regex-instead-of-failing.patch105
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0008-RH-reset-default-find_mutipaths-value-to-off.patch34
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-modify-create-config.mk-for-cross-co.patch40
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0010-Subject-PATCH-Always-use-devmapper.patch72
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0011-fix-bug-of-do_compile-and-do_install.patch43
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0012-add-explicit-dependency-on-libraries.patch40
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch72
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch57
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch117
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch64
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch656
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch99
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch129
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch38
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch57
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch60
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch43
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch40
-rw-r--r--meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.4.bb122
-rw-r--r--meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.8.bb125
-rw-r--r--meta-oe/recipes-support/nano/nano_5.6.bb21
-rw-r--r--meta-oe/recipes-support/nano/nano_7.2.bb22
-rw-r--r--meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch2
-rw-r--r--meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch2
-rw-r--r--meta-oe/recipes-support/ne10/ne10_1.2.1.bb18
-rw-r--r--meta-oe/recipes-support/neon/neon/0001-Disable-installing-documentation.patch30
-rw-r--r--meta-oe/recipes-support/neon/neon/run-ptest25
-rw-r--r--meta-oe/recipes-support/neon/neon_0.30.2.bb38
-rw-r--r--meta-oe/recipes-support/neon/neon_0.33.0.bb63
-rw-r--r--meta-oe/recipes-support/nmon/nmon/0001-Fix-a-lot-of-Werror-format-security-errors-with-mvpr.patch175
-rw-r--r--meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch10
-rw-r--r--meta-oe/recipes-support/nmon/nmon_16g.bb31
-rw-r--r--meta-oe/recipes-support/nmon/nmon_16m.bb30
-rw-r--r--meta-oe/recipes-support/nspr/nspr/0001-Fix-Wincompatible-function-pointer-types.patch39
-rw-r--r--meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch30
-rw-r--r--meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch17
-rw-r--r--meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch39
-rw-r--r--meta-oe/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch19
-rw-r--r--meta-oe/recipes-support/nspr/nspr_4.29.bb197
-rw-r--r--meta-oe/recipes-support/nspr/nspr_4.35.bb199
-rw-r--r--meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch18
-rw-r--r--meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch19
-rw-r--r--meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch2
-rw-r--r--meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch2
-rw-r--r--meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch4
-rw-r--r--meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch2
-rw-r--r--meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch4
-rw-r--r--meta-oe/recipes-support/nss/nss_3.60.1.bb282
-rw-r--r--meta-oe/recipes-support/nss/nss_3.98.bb289
-rw-r--r--meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch18
-rw-r--r--meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch36
-rw-r--r--meta-oe/recipes-support/onig/onig/0002-build-enable-serial-tests-automake-option-for-ptest.patch38
-rwxr-xr-xmeta-oe/recipes-support/onig/onig/run-ptest2
-rw-r--r--meta-oe/recipes-support/onig/onig_6.9.4.bb33
-rw-r--r--meta-oe/recipes-support/onig/onig_6.9.9.bb34
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch94
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch78
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch36
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch33
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch33
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch30
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch41
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch45
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch58
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch135
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch25
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch24
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch26
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch742
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch39
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch29
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch31
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch27
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf2
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init66
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service11
-rw-r--r--meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb116
-rw-r--r--meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb20
-rw-r--r--meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb20
-rw-r--r--meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch31
-rw-r--r--meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch2
-rw-r--r--meta-oe/recipes-support/openct/openct/etc-openct_usb.in-modify-UDEVINFO.patch2
-rw-r--r--meta-oe/recipes-support/openct/openct_0.6.20.bb13
-rw-r--r--meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch39
-rw-r--r--meta-oe/recipes-support/opencv/ade_0.1.1f.bb22
-rw-r--r--meta-oe/recipes-support/opencv/ade_0.1.2.bb20
-rw-r--r--meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch36
-rw-r--r--meta-oe/recipes-support/opencv/opencv/0001-Add-missing-include.patch28
-rw-r--r--meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch28
-rw-r--r--meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch2
-rw-r--r--meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch2
-rw-r--r--meta-oe/recipes-support/opencv/opencv/0008-Do-not-embed-build-directory-in-binaries.patch138
-rw-r--r--meta-oe/recipes-support/opencv/opencv_4.5.1.bb225
-rw-r--r--meta-oe/recipes-support/opencv/opencv_4.9.0.bb210
-rw-r--r--meta-oe/recipes-support/openldap/openldap/0001-build-top.mk-unset-STRIP_OPTS.patch38
-rw-r--r--meta-oe/recipes-support/openldap/openldap/install-strip.patch17
-rw-r--r--meta-oe/recipes-support/openldap/openldap/openldap-2.4.28-gnutls-gcrypt.patch17
-rw-r--r--meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch58
-rw-r--r--meta-oe/recipes-support/openldap/openldap/openldap-m4-pthread.patch22
-rw-r--r--meta-oe/recipes-support/openldap/openldap/thread_stub.patch20
-rw-r--r--meta-oe/recipes-support/openldap/openldap/use-urandom.patch38
-rw-r--r--meta-oe/recipes-support/openldap/openldap_2.4.57.bb256
-rw-r--r--meta-oe/recipes-support/openldap/openldap_2.6.7.bb231
-rw-r--r--meta-oe/recipes-support/opensc/opensc_0.21.0.bb48
-rw-r--r--meta-oe/recipes-support/opensc/opensc_0.25.1.bb49
-rw-r--r--meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb6
-rw-r--r--meta-oe/recipes-support/p910nd/p910nd_0.97.bb22
-rw-r--r--meta-oe/recipes-support/pcp/pcp-native_6.0.5.bb48
-rw-r--r--meta-oe/recipes-support/pcp/pcp.inc40
-rw-r--r--meta-oe/recipes-support/pcp/pcp/0001-Remove-unsuitble-part-for-cross-compile.patch39
-rw-r--r--meta-oe/recipes-support/pcp/pcp/0001-configure-Limit-the-header-search-to-sysroot.patch45
-rw-r--r--meta-oe/recipes-support/pcp/pcp/0001-htop-Change-dependency-order-of-header-and-sourcefil.patch36
-rw-r--r--meta-oe/recipes-support/pcp/pcp/config.linux13
-rw-r--r--meta-oe/recipes-support/pcp/pcp/fix_parallel_make.patch13
-rw-r--r--meta-oe/recipes-support/pcp/pcp/pass-options-to-AR.patch29
-rw-r--r--meta-oe/recipes-support/pcp/pcp_6.0.5.bb236
-rw-r--r--meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch43
-rw-r--r--meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.0.bb59
-rw-r--r--meta-oe/recipes-support/pcsc-lite/pcsc-lite_2.0.3.bb58
-rw-r--r--meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.5.7.bb16
-rw-r--r--meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.1.bb25
-rw-r--r--meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch118
-rw-r--r--meta-oe/recipes-support/picocom/picocom_git.bb13
-rw-r--r--meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb6
-rw-r--r--meta-oe/recipes-support/pidgin/icyque_git.bb8
-rw-r--r--meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb6
-rw-r--r--meta-oe/recipes-support/pidgin/libotr/0001-tests-Include-missing-sys-socket.h-header.patch31
-rw-r--r--meta-oe/recipes-support/pidgin/libotr_4.1.1.bb3
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb4
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch192
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb9
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch229
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch49
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch2
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch2
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb112
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb113
-rw-r--r--meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb8
-rw-r--r--meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_0.3.bb27
-rw-r--r--meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch2
-rw-r--r--meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch2
-rw-r--r--meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch2
-rw-r--r--meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb2
-rw-r--r--meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch47
-rw-r--r--meta-oe/recipes-support/poco/poco/0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch60
-rw-r--r--meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch66
-rw-r--r--meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch32
-rw-r--r--meta-oe/recipes-support/poco/poco/run-ptest20
-rw-r--r--meta-oe/recipes-support/poco/poco_1.10.1.bb102
-rw-r--r--meta-oe/recipes-support/poco/poco_1.12.5p2.bb119
-rw-r--r--meta-oe/recipes-support/poppler/poppler-data_0.4.10.bb37
-rw-r--r--meta-oe/recipes-support/poppler/poppler-data_0.4.12.bb36
-rw-r--r--meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch52
-rw-r--r--meta-oe/recipes-support/poppler/poppler/0001-cmake-Do-not-use-isystem.patch192
-rw-r--r--meta-oe/recipes-support/poppler/poppler/CVE-2023-34872.patch46
-rw-r--r--meta-oe/recipes-support/poppler/poppler/jpeg-stdio.patch41
-rw-r--r--meta-oe/recipes-support/poppler/poppler_21.02.0.bb51
-rw-r--r--meta-oe/recipes-support/poppler/poppler_23.04.0.bb58
-rw-r--r--meta-oe/recipes-support/portaudio/files/ldflags.patch51
-rw-r--r--meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb29
-rw-r--r--meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb32
-rw-r--r--meta-oe/recipes-support/pps-tools/pps-tools_1.0.2.bb18
-rw-r--r--meta-oe/recipes-support/pps-tools/pps-tools_1.0.3.bb18
-rw-r--r--meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch2
-rw-r--r--meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch2
-rw-r--r--meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch2
-rw-r--r--meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch2
-rw-r--r--meta-oe/recipes-support/procmail/procmail_3.22.bb2
-rw-r--r--meta-oe/recipes-support/psutils/psutils_2.10.bb24
-rw-r--r--meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch40
-rw-r--r--meta-oe/recipes-support/pv/pv/run-ptest7
-rw-r--r--meta-oe/recipes-support/pv/pv_1.6.20.bb28
-rw-r--r--meta-oe/recipes-support/pv/pv_1.6.6.bb16
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch2
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch2
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch2
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch2
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb3
-rw-r--r--meta-oe/recipes-support/raptor2/files/0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch34
-rw-r--r--meta-oe/recipes-support/raptor2/raptor2/0001-Remove-the-access-to-entities-checked-private-symbol.patch34
-rw-r--r--meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb25
-rw-r--r--meta-oe/recipes-support/raptor2/raptor2_2.0.16.bb24
-rw-r--r--meta-oe/recipes-support/rdfind/rdfind_1.4.1.bb16
-rw-r--r--meta-oe/recipes-support/rdfind/rdfind_1.6.0.bb13
-rw-r--r--meta-oe/recipes-support/re2/re2/run-ptest3
-rw-r--r--meta-oe/recipes-support/re2/re2_2020.11.01.bb23
-rw-r--r--meta-oe/recipes-support/re2/re2_2024.03.01.bb44
-rw-r--r--meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb1
-rw-r--r--meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb17
-rw-r--r--meta-oe/recipes-support/remmina/remmina_1.4.11.bb36
-rw-r--r--meta-oe/recipes-support/remmina/remmina_1.4.34.bb50
-rw-r--r--meta-oe/recipes-support/reptyr/reptyr_0.10.0.bb29
-rw-r--r--meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb12
-rw-r--r--meta-oe/recipes-support/rtc-tools/rtc-tools_2022.02.bb14
-rw-r--r--meta-oe/recipes-support/rtkit/rtkit_0.13.bb23
-rw-r--r--meta-oe/recipes-support/sass/libsass_git.bb6
-rw-r--r--meta-oe/recipes-support/sass/sassc_git.bb6
-rw-r--r--meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch24
-rw-r--r--meta-oe/recipes-support/satyr/satyr_0.36.bb35
-rw-r--r--meta-oe/recipes-support/satyr/satyr_0.43.bb35
-rw-r--r--meta-oe/recipes-support/sdmon/sdmon_git.bb20
-rw-r--r--meta-oe/recipes-support/sdparm/sdparm_1.11.bb26
-rw-r--r--meta-oe/recipes-support/sdparm/sdparm_1.12.bb26
-rw-r--r--meta-oe/recipes-support/serial-utils/pty-forward-native.bb7
-rw-r--r--meta-oe/recipes-support/serial-utils/serial-forward/0001-correct-the-typo-in-include-file-name-string.h.patch27
-rw-r--r--meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch2
-rw-r--r--meta-oe/recipes-support/serial-utils/serial-forward_git.bb8
-rw-r--r--meta-oe/recipes-support/serial/serial/Findcatkin.cmake5
-rw-r--r--meta-oe/recipes-support/serial/serial_1.2.1.bb28
-rw-r--r--meta-oe/recipes-support/sg3-utils/sg3-utils_1.45.bb24
-rw-r--r--meta-oe/recipes-support/sg3-utils/sg3-utils_1.48.bb22
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch2
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils/0001-Fix-building-with-GCC-10.patch2
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils/0001-configure.ac-Check-and-define-intmax_t-type.patch32
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils/0002-Do-not-include-lib-md5.c-into-src-shar.c.patch2
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils/CVE-2018-1000097.patch2
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb7
-rw-r--r--meta-oe/recipes-support/smarty/smarty_4.4.1.bb26
-rw-r--r--meta-oe/recipes-support/span-lite/span-lite_0.11.0.bb11
-rw-r--r--meta-oe/recipes-support/span-lite/span-lite_0.8.1.bb12
-rw-r--r--meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch26
-rw-r--r--meta-oe/recipes-support/spdlog/spdlog_1.13.0.bb18
-rw-r--r--meta-oe/recipes-support/spdlog/spdlog_1.8.2.bb22
-rw-r--r--meta-oe/recipes-support/spitools/spitools_git.bb10
-rw-r--r--meta-oe/recipes-support/srecord/files/0001-Disable-doxygen.patch85
-rw-r--r--meta-oe/recipes-support/srecord/files/0001-cmake-Do-not-try-to-compute-library-dependencies-dur.patch45
-rw-r--r--meta-oe/recipes-support/srecord/files/0001-cmake-respect-explicit-install-prefix.patch31
-rw-r--r--meta-oe/recipes-support/srecord/files/add-option-to-remove-docs.patch57
-rw-r--r--meta-oe/recipes-support/srecord/srecord_1.64.bb25
-rw-r--r--meta-oe/recipes-support/srecord/srecord_1.65.0.bb20
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch2
-rw-r--r--meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb9
-rw-r--r--meta-oe/recipes-support/stm32flash/stm32flash_0.6.bb13
-rw-r--r--meta-oe/recipes-support/stm32flash/stm32flash_0.7.bb13
-rw-r--r--meta-oe/recipes-support/switchtec-user/switchtec-user_4.2.bb21
-rw-r--r--meta-oe/recipes-support/synergy/synergy_git.bb4
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/0001-Fix-buildpaths-warning.patch55
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch40
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/0001-plugin.c-workaround-powerpc64le-segfaults-error.patch46
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch74
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch47
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch65
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch25
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/shebang.patch18
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd2
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit2
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch4
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng.inc143
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb15
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb149
-rw-r--r--meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb6
-rw-r--r--meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch33
-rw-r--r--meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch37
-rw-r--r--meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch42
-rw-r--r--meta-oe/recipes-support/tbb/tbb/cross-compile.patch35
-rw-r--r--meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch30
-rw-r--r--meta-oe/recipes-support/tbb/tbb/tbb.pc11
-rw-r--r--meta-oe/recipes-support/tbb/tbb_2020.3.bb46
-rw-r--r--meta-oe/recipes-support/tbb/tbb_2021.11.0.bb62
-rw-r--r--meta-oe/recipes-support/thin-provisioning-tools/files/0001-do-not-strip-pdata_tools-at-do_install.patch33
-rw-r--r--meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch34
-rw-r--r--meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc214
-rw-r--r--meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc6
-rw-r--r--meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb21
-rw-r--r--meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.12.bb50
-rw-r--r--meta-oe/recipes-support/tio/tio_2.7.bb19
-rw-r--r--meta-oe/recipes-support/tokyocabinet/tokyocabinet/0001-configure-Fix-check-functions-for-AC_CHECK_LIB-test.patch58
-rw-r--r--meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb3
-rw-r--r--meta-oe/recipes-support/toscoterm/toscoterm_git.bb29
-rw-r--r--meta-oe/recipes-support/tree/tree_1.8.0.bb21
-rw-r--r--meta-oe/recipes-support/tree/tree_2.1.1.bb20
-rw-r--r--meta-oe/recipes-support/uchardet/uchardet_0.0.7.bb9
-rw-r--r--meta-oe/recipes-support/uchardet/uchardet_0.0.8.bb8
-rw-r--r--meta-oe/recipes-support/udisks/udisks2/0001-Makefile.am-Dont-include-buildpath.patch47
-rw-r--r--meta-oe/recipes-support/udisks/udisks2_2.10.1.bb63
-rw-r--r--meta-oe/recipes-support/udisks/udisks2_git.bb56
-rw-r--r--meta-oe/recipes-support/uhubctl/uhubctl_2.3.0.bb21
-rw-r--r--meta-oe/recipes-support/uhubctl/uhubctl_2.5.0.bb21
-rw-r--r--meta-oe/recipes-support/uim/uim/uim-module-manager.patch2
-rw-r--r--meta-oe/recipes-support/uim/uim_1.8.8.bb59
-rw-r--r--meta-oe/recipes-support/unicode-ucd/files/license.html98
-rw-r--r--meta-oe/recipes-support/unicode-ucd/unicode-ucd_12.1.0.bb22
-rw-r--r--meta-oe/recipes-support/unicode-ucd/unicode-ucd_14.0.0.bb22
-rw-r--r--meta-oe/recipes-support/unixodbc/files/0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch54
-rw-r--r--meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb48
-rw-r--r--meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb29
-rw-r--r--meta-oe/recipes-support/upower/upower_0.99.11.bb35
-rw-r--r--meta-oe/recipes-support/upower/upower_0.99.17.bb44
-rw-r--r--meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb16
-rw-r--r--meta-oe/recipes-support/uriparser/uriparser_0.9.7.bb16
-rw-r--r--meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.bb6
-rw-r--r--meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.0.bb27
-rw-r--r--meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.1.bb31
-rw-r--r--meta-oe/recipes-support/usbids/usbids_2023.01.16.bb18
-rw-r--r--meta-oe/recipes-support/uthash/uthash_2.2.0.bb46
-rw-r--r--meta-oe/recipes-support/uthash/uthash_2.3.0.bb46
-rw-r--r--meta-oe/recipes-support/utouch/utouch-evemu_git.bb6
-rw-r--r--meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch2
-rw-r--r--meta-oe/recipes-support/utouch/utouch-frame_git.bb6
-rw-r--r--meta-oe/recipes-support/utouch/utouch-mtview_git.bb6
-rw-r--r--meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils2
-rw-r--r--meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.10.patch23
-rw-r--r--meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb83
-rw-r--r--meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.14.bb91
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch29
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch35
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch65
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch30
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch30
-rw-r--r--meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.1.bb188
-rw-r--r--meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/1024.patch508
-rw-r--r--meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch2
-rw-r--r--meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch2
-rw-r--r--meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb11
-rw-r--r--meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb4
-rw-r--r--meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.5.bb19
-rw-r--r--meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal/0001-meson.build-add-a-hack-for-crosscompile.patch28
-rw-r--r--meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.1.bb49
-rw-r--r--meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb16
-rw-r--r--meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.18.bb15
-rw-r--r--meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch10
-rw-r--r--meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch13
-rw-r--r--meta-oe/recipes-support/xmlsec1/xmlsec1/ensure-search-path-non-host.patch17
-rw-r--r--meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch6
-rw-r--r--meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch12
-rwxr-xr-xmeta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest4
-rw-r--r--meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch12
-rw-r--r--meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.31.bb66
-rw-r--r--meta-oe/recipes-support/xmlsec1/xmlsec1_1.3.4.bb67
-rw-r--r--meta-oe/recipes-support/xmlstarlet/files/0001-Fix-hash_key_put-signature.patch33
-rw-r--r--meta-oe/recipes-support/xmlstarlet/files/0001-Make-xmlError-struct-constant.patch45
-rw-r--r--meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch2
-rw-r--r--meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb5
-rw-r--r--meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb23
-rw-r--r--meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.9.19.bb23
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp/0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch2
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp/0001-Fix-the-compile-error.patch2
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch28
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch27
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch30
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp/0001-mark-count-with-unused-attribute.patch31
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch28
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb96
-rw-r--r--meta-oe/recipes-support/xrdp/xrdp_0.9.19.bb91
-rw-r--r--meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.10.bb2
-rw-r--r--meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb21
-rw-r--r--meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.6.3.bb17
-rw-r--r--meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb17
-rw-r--r--meta-oe/recipes-support/zbar/zbar/0001-qt-Create-subdir-in-Makefile.patch2
-rw-r--r--meta-oe/recipes-support/zbar/zbar/0002-zbarcam-Create-subdir-in-Makefile.patch2
-rw-r--r--meta-oe/recipes-support/zbar/zbar_git.bb16
-rw-r--r--meta-oe/recipes-support/zchunk/zchunk_1.1.9.bb22
-rw-r--r--meta-oe/recipes-support/zchunk/zchunk_1.4.0.bb23
-rw-r--r--meta-oe/recipes-support/zile/zile_2.4.15.bb6
-rw-r--r--meta-oe/recipes-test/bats/bats_1.1.0.bb21
-rw-r--r--meta-oe/recipes-test/bats/bats_1.11.0.bb34
-rw-r--r--meta-oe/recipes-test/catch2/catch2_2.13.10.bb21
-rw-r--r--meta-oe/recipes-test/catch2/catch2_2.13.4.bb22
-rw-r--r--meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb43
-rw-r--r--meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb43
-rw-r--r--meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch43
-rw-r--r--meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb2
-rw-r--r--meta-oe/recipes-test/cpputest/cpputest_4.0.bb25
-rw-r--r--meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb19
-rw-r--r--meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb21
-rw-r--r--meta-oe/recipes-test/cunit/cunit_2.1-3.bb8
-rw-r--r--meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb17
-rw-r--r--meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch24
-rw-r--r--meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch37
-rw-r--r--meta-oe/recipes-test/evtest/evtest_1.34.bb18
-rw-r--r--meta-oe/recipes-test/evtest/evtest_1.35.bb16
-rw-r--r--meta-oe/recipes-test/fbtest/fb-test_1.1.0.bb18
-rw-r--r--meta-oe/recipes-test/fbtest/fb-test_git.bb20
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch22
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch46
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0001-Makefile.am-Add-missing-link-with-zlib.patch43
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch46
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch68
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch31
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0003-Remove-Werror-from-build.patch45
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch28
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch74
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch28
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0005-Undefine-PAGE_SIZE.patch25
-rw-r--r--meta-oe/recipes-test/fwts/fwts/0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch60
-rw-r--r--meta-oe/recipes-test/fwts/fwts_20.07.00.bb32
-rw-r--r--meta-oe/recipes-test/fwts/fwts_22.11.00.bb36
-rw-r--r--meta-oe/recipes-test/googletest/googletest_1.14.0.bb37
-rw-r--r--meta-oe/recipes-test/googletest/googletest_git.bb31
-rw-r--r--meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch45
-rw-r--r--meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb28
-rw-r--r--meta-oe/recipes-test/linux-serial-test/linux-serial-test_git.bb13
-rw-r--r--meta-oe/recipes-test/pm-qa/pm-qa_git.bb9
-rw-r--r--meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb13
-rw-r--r--meta-oe/recipes-test/syzkaller/syzkaller/0001-executor-Include-missing-linux-falloc.h.patch37
-rw-r--r--meta-oe/recipes-test/syzkaller/syzkaller/0001-sys-targets-targets.go-allow-users-to-override-hardc.patch62
-rw-r--r--meta-oe/recipes-test/syzkaller/syzkaller_git.bb82
-rw-r--r--meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch2
-rw-r--r--meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch2
2979 files changed, 75959 insertions, 56640 deletions
diff --git a/meta-oe/README b/meta-oe/README
deleted file mode 100644
index 98f671d7c2..0000000000
--- a/meta-oe/README
+++ /dev/null
@@ -1,32 +0,0 @@
-meta-oe
-=======
-
-This layer depends on:
-
-URI: git://github.com/openembedded/openembedded-core.git
-branch: master
-revision: HEAD
-
-luajit recipe requires host compiler to be able to generate 32bit code when target is 32bit
-e.g. arm, so ensure that $CC -m32 is functional on build host, if building this recipe, needed
-packages to fullfit this might have different names on different host distributions
-e.g. on archlinux based distributions install prerequisites like below
-
-pacman -S lib32-gcc-libs lib32-glibc
-
-Ubuntu
-sudo apt-get install gcc-multilib
-
-Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject'
-
-When sending single patches, please use something like:
-'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix="meta-oe][PATCH"'
-
-You are encouraged to fork the mirror on GitHub https://github.com/openembedded/meta-openembedded
-to share your patches, this is preferred for patch sets consisting of more than one patch.
-
-Other services like GitLab, repo.or.cz or self-hosted setups are of course accepted as well,
-'git fetch <remote>' works the same on all of them. We recommend GitHub because it is free, easy
-to use, has been proven to be reliable and has a really good web GUI.
-
-layer maintainer: Khem Raj <raj.khem@gmail.com>
diff --git a/meta-oe/README.md b/meta-oe/README.md
new file mode 100644
index 0000000000..676a2c8925
--- /dev/null
+++ b/meta-oe/README.md
@@ -0,0 +1,31 @@
+meta-oe
+=======
+
+This layer depends on:
+
+URI: git://github.com/openembedded/openembedded-core.git
+branch: master
+
+luajit recipe requires host compiler to be able to generate 32bit code when target is 32bit
+e.g. arm, so ensure that $CC -m32 is functional on build host, if building this recipe, needed
+packages to fullfit this might have different names on different host distributions
+e.g. on archlinux based distributions install prerequisites like below
+
+pacman -S lib32-gcc-libs lib32-glibc
+
+Ubuntu
+sudo apt-get install gcc-multilib linux-libc-dev:i386
+
+Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-oe]' in the subject'
+
+When sending single patches, please use something like:
+'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix="meta-oe][PATCH"'
+
+You are encouraged to fork the mirror on GitHub https://github.com/openembedded/meta-openembedded
+to share your patches, this is preferred for patch sets consisting of more than one patch.
+
+Other services like GitLab, repo.or.cz or self-hosted setups are of course accepted as well,
+'git fetch <remote>' works the same on all of them. We recommend GitHub because it is free, easy
+to use, has been proven to be reliable and has a really good web GUI.
+
+layer maintainer: Khem Raj <raj.khem@gmail.com>
diff --git a/meta-oe/classes/breakpad.bbclass b/meta-oe/classes/breakpad.bbclass
index cebe559a7f..96b8f42e97 100644
--- a/meta-oe/classes/breakpad.bbclass
+++ b/meta-oe/classes/breakpad.bbclass
@@ -32,5 +32,5 @@ breakpad_package_preprocess () {
PACKAGES =+ "${PN}-breakpad"
-FILES_${PN}-breakpad = "/usr/share/breakpad-syms"
+FILES:${PN}-breakpad = "/usr/share/breakpad-syms"
diff --git a/meta-oe/classes/gitpkgv.bbclass b/meta-oe/classes/gitpkgv.bbclass
index 180421ed35..5ab507969c 100644
--- a/meta-oe/classes/gitpkgv.bbclass
+++ b/meta-oe/classes/gitpkgv.bbclass
@@ -25,17 +25,17 @@
#
# inherit gitpkgv
#
-# PV = "1.0+gitr${SRCPV}" # expands to something like 1.0+gitr3+4c1c21d7dbbf93b0df336994524313dfe0d4963b
-# PKGV = "1.0+gitr${GITPKGV}" # expands also to something like 1.0+gitr31337+4c1c21d7d
+# PV = "1.0+git" # expands to 1.0+git
+# PKGV = "1.0+git${GITPKGV}" # expands also to something like 1.0+git31337+4c1c21d7d
#
# or
#
# inherit gitpkgv
#
-# PV = "1.0+gitr${SRCPV}" # expands to something like 1.0+gitr3+4c1c21d7dbbf93b0df336994524313dfe0d4963b
-# PKGV = "${GITPKGVTAG}" # expands to something like 1.0-31337+g4c1c21d
-# if there is tag v1.0 before this revision or
-# ver1.0-31337+g4c1c21d if there is tag ver1.0
+# PV = "1.0+git" # expands to 1.0+git
+# PKGV = "${GITPKGVTAG}" # expands to something like 1.0-31337+g4c1c21d
+# if there is tag v1.0 before this revision or
+# ver1.0-31337+g4c1c21d if there is tag ver1.0
GITPKGV = "${@get_git_pkgv(d, False)}"
GITPKGVTAG = "${@get_git_pkgv(d, True)}"
@@ -56,7 +56,7 @@ def gitpkgv_drop_tag_prefix(d, version):
def get_git_pkgv(d, use_tags):
import os
import bb
- from pipes import quote
+ from shlex import quote
src_uri = d.getVar('SRC_URI').split()
fetcher = bb.fetch2.Fetch(src_uri, d)
diff --git a/meta-oe/classes/gpe.bbclass b/meta-oe/classes/gpe.bbclass
index 9fc136590a..a9b1cd5a90 100644
--- a/meta-oe/classes/gpe.bbclass
+++ b/meta-oe/classes/gpe.bbclass
@@ -1,7 +1,7 @@
-DEPENDS_prepend = "virtual/libintl intltool-native "
+DEPENDS:prepend = "virtual/libintl intltool-native "
GPE_TARBALL_SUFFIX ?= "gz"
SRC_URI = "${GPE_MIRROR}/${BP}.tar.${GPE_TARBALL_SUFFIX}"
-FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry"
+FILES:${PN} += "${datadir}/gpe ${datadir}/application-registry"
SECTION ?= "gpe"
inherit gettext
diff --git a/meta-oe/classes/image_types_sparse.bbclass b/meta-oe/classes/image_types_sparse.bbclass
new file mode 100644
index 0000000000..d6ea68968e
--- /dev/null
+++ b/meta-oe/classes/image_types_sparse.bbclass
@@ -0,0 +1,17 @@
+inherit image_types
+
+# This sets the granularity of the sparse image conversion. Chunk sizes will be
+# specified in units of this value. Setting this value smaller than the
+# underlying image's block size will not result in any further space saving.
+# However, there is no loss in correctness if this value is larger or smaller
+# than optimal. This value should be a power of two.
+SPARSE_BLOCK_SIZE ??= "4096"
+
+CONVERSIONTYPES += "sparse"
+
+CONVERSION_CMD:sparse = " \
+ truncate --no-create --size=%${SPARSE_BLOCK_SIZE} "${IMAGE_NAME}.${type}"; \
+ img2simg -s "${IMAGE_NAME}.${type}" "${IMAGE_NAME}.${type}.sparse" ${SPARSE_BLOCK_SIZE}; \
+ "
+
+CONVERSION_DEPENDS_sparse = "android-tools-native"
diff --git a/meta-oe/classes/itstool.bbclass b/meta-oe/classes/itstool.bbclass
index 45e3fb839c..962461f205 100644
--- a/meta-oe/classes/itstool.bbclass
+++ b/meta-oe/classes/itstool.bbclass
@@ -2,4 +2,4 @@
inherit python3native
-DEPENDS_append = " itstool-native"
+DEPENDS:append = " itstool-native"
diff --git a/meta-oe/classes/signing.bbclass b/meta-oe/classes/signing.bbclass
new file mode 100644
index 0000000000..f52d861b76
--- /dev/null
+++ b/meta-oe/classes/signing.bbclass
@@ -0,0 +1,316 @@
+#
+# Copyright Jan Luebbe <jlu@pengutronix.de>
+#
+# SPDX-License-Identifier: MIT
+#
+
+# This class provides a common workflow to use asymmetric (i.e. RSA) keys to
+# sign artifacts. Usually, the keys are either stored as simple files in the
+# file system or on an HSM (Hardware Security Module). While files are easy to
+# use, it's hard to verify that no copies of the private key have been made
+# and only authorized persons are able to use the key. Use of an HSM addresses
+# these risks by only allowing use of the key via an API (often PKCS #11). The
+# standard way of referring to a specific key in an HSM are PKCS #11 URIs (RFC
+# 7512).
+#
+# Many software projects support signing using PKCS #11 keys, but configuring
+# this is very project specific. Furthermore, as physical HSMs are not very
+# widespread, testing code signing in CI is not simple. To solve this at the
+# build system level, this class takes the approach of always using PKCS #11 at
+# the recipe level. For cases where the keys are available as files (i.e. test
+# keys in CI), they are imported into SoftHSM (a HSM emulation library).
+#
+# Recipes access the available keys via a specific role. So, depending on
+# whether we're building during development or for release, a given role can
+# refer to different keys.
+# Each key recipe PROVIDES a virtual package corresponding to the role, allowing
+# the user to select one of multiple keys for a role when needed.
+#
+# For use with a real HSM, a PKCS #11 URI can be set (i.e. in local.conf) to
+# override the SoftHSM key with the real one:
+#
+# SIGNING_PKCS11_URI[fit] = "pkcs11:serial=DENK0200554;object=ptx-dev-rauc&pin-value=123456"
+# SIGNING_PKCS11_MODULE[fit] = "/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so"
+#
+# Examples for defining roles and importing keys:
+#
+# meta-code-signing/recipes-security/signing-keys/dummy-rsa-key-native.bb
+# meta-code-signing-demo/recipes-security/ptx-dev-keys/ptx-dev-keys-native_git.bb
+#
+# Examples for using keys for signing:
+#
+# meta-code-signing-demo/recipes-security/fit-image/linux-fit-image.bb
+# meta-code-signing-demo/recipes-core/bundles/update-bundle.bb
+#
+# Examples for using keys for authentication:
+#
+# meta-code-signing-demo/recipes-security/fit-image/barebox_%.bbappend
+# meta-code-signing-demo/recipes-core/rauc/rauc_%.bbappend
+#
+# Examples for using keys for both signing and authentication:
+#
+# meta-code-signing-demo/recipes-kernel/linux/linux-yocto_6.1.bbappend
+
+SIGNING_PKCS11_URI ?= ""
+SIGNING_PKCS11_MODULE ?= ""
+
+DEPENDS += "softhsm-native libp11-native opensc-native openssl-native"
+
+def signing_class_prepare(d):
+ import os.path
+
+ def export(role, k, v):
+ k = k % (role, )
+ d.setVar(k, v)
+ d.setVarFlag(k, "export", "1")
+
+ roles = set()
+ roles |= (d.getVarFlags("SIGNING_PKCS11_URI") or {}).keys()
+ roles |= (d.getVarFlags("SIGNING_PKCS11_MODULE") or {}).keys()
+ for role in roles:
+ if not set(role).issubset("abcdefghijklmnopqrstuvwxyz0123456789_"):
+ bb.fatal("key role name '%s' must consist of only [a-z0-9_]" % (role,))
+
+ pkcs11_uri = d.getVarFlag("SIGNING_PKCS11_URI", role) or d.getVar("SIGNING_PKCS11_URI")
+ if not pkcs11_uri.startswith("pkcs11:"):
+ bb.fatal("URI for key role '%s' must start with 'pkcs11:'" % (role,))
+
+ pkcs11_module = d.getVarFlag("SIGNING_PKCS11_MODULE", role) or d.getVar("SIGNING_PKCS11_MODULE")
+ if not os.path.isfile(pkcs11_module):
+ bb.fatal("module path for key role '%s' must be an existing file" % (role,))
+
+ if pkcs11_uri and not pkcs11_module:
+ bb.warn("SIGNING_PKCS11_URI[%s] is set without SIGNING_PKCS11_MODULE[%s]" % (role, role))
+ if pkcs11_module and not pkcs11_uri:
+ bb.warn("SIGNING_PKCS11_MODULE[%s] is set without SIGNING_PKCS11_URI[%s]" % (role, role))
+
+ export(role, "SIGNING_PKCS11_URI_%s_", pkcs11_uri)
+ export(role, "SIGNING_PKCS11_MODULE_%s_", pkcs11_module)
+
+signing_pkcs11_tool() {
+ pkcs11-tool --module "${STAGING_LIBDIR_NATIVE}/softhsm/libsofthsm2.so" --login --pin 1111 $*
+}
+
+signing_import_prepare() {
+ export _SIGNING_ENV_FILE_="${B}/meta-signing.env"
+ rm -f "$_SIGNING_ENV_FILE_"
+
+ export SOFTHSM2_CONF="${B}/softhsm2.conf"
+ export SOFTHSM2_DIR="${B}/softhsm2.tokens"
+ export SOFTHSM2_MOD="${STAGING_LIBDIR_NATIVE}/softhsm/libsofthsm2.so"
+
+ echo "directories.tokendir = $SOFTHSM2_DIR" > "$SOFTHSM2_CONF"
+ echo "objectstore.backend = db" >> "$SOFTHSM2_CONF"
+ rm -rf "$SOFTHSM2_DIR"
+ mkdir -p "$SOFTHSM2_DIR"
+
+ softhsm2-util --module $SOFTHSM2_MOD --init-token --free --label ${PN} --pin 1111 --so-pin 222222
+}
+
+signing_import_define_role() {
+ local role="${1}"
+ case "${1}" in
+ (*[!a-z0-9_]*) false;;
+ (*) true;;
+ esac || bbfatal "invalid role name '${1}', must consist of [a-z0-9_]"
+
+ echo "_SIGNING_PKCS11_URI_${role}_=\"pkcs11:token=${PN};object=$role;pin-value=1111\"" >> $_SIGNING_ENV_FILE_
+ echo "_SIGNING_PKCS11_MODULE_${role}_=\"softhsm\"" >> $_SIGNING_ENV_FILE_
+}
+
+# signing_import_cert_from_der <role> <der>
+#
+# Import a certificate from DER file to a role. To be used
+# with SoftHSM.
+signing_import_cert_from_der() {
+ local role="${1}"
+ local der="${2}"
+
+ signing_pkcs11_tool --type cert --write-object "${der}" --label "${role}"
+}
+
+# signing_import_cert_from_pem <role> <pem>
+#
+# Import a certificate from PEM file to a role. To be used
+# with SoftHSM.
+signing_import_cert_from_pem() {
+ local role="${1}"
+ local pem="${2}"
+
+ openssl x509 \
+ -in "${pem}" -inform pem -outform der |
+ signing_pkcs11_tool --type cert --write-object /proc/self/fd/0 --label "${role}"
+}
+
+# signing_import_pubkey_from_der <role> <der>
+#
+# Import a public key from DER file to a role. To be used with SoftHSM.
+signing_import_pubkey_from_der() {
+ local role="${1}"
+ local der="${2}"
+
+ signing_pkcs11_tool --type pubkey --write-object "${der}" --label "${role}"
+}
+
+# signing_import_pubkey_from_pem <role> <pem>
+#
+# Import a public key from PEM file to a role. To be used with SoftHSM.
+signing_import_pubkey_from_pem() {
+ local openssl_keyopt
+ local role="${1}"
+ local pem="${2}"
+
+ if [ -n "${IMPORT_PASS_FILE}" ]; then
+ openssl pkey \
+ -passin "file:${IMPORT_PASS_FILE}" \
+ -in "${pem}" -inform pem -pubout -outform der
+ else
+ openssl pkey \
+ -in "${pem}" -inform pem -pubout -outform der
+ fi |
+ signing_pkcs11_tool --type pubkey --write-object /proc/self/fd/0 --label "${role}"
+}
+
+# signing_import_privkey_from_der <role> <der>
+#
+# Import a private key from DER file to a role. To be used with SoftHSM.
+signing_import_privkey_from_der() {
+ local role="${1}"
+ local der="${2}"
+ signing_pkcs11_tool --type privkey --write-object "${der}" --label "${role}"
+}
+
+# signing_import_privkey_from_pem <role> <pem>
+#
+# Import a private key from PEM file to a role. To be used with SoftHSM.
+signing_import_privkey_from_pem() {
+ local openssl_keyopt
+ local role="${1}"
+ local pem="${2}"
+
+ if [ -n "${IMPORT_PASS_FILE}" ]; then
+ openssl pkey \
+ -passin "file:${IMPORT_PASS_FILE}" \
+ -in "${pem}" -inform pem -outform der
+ else
+ openssl pkey \
+ -in "${pem}" -inform pem -outform der
+ fi |
+ signing_pkcs11_tool --type privkey --write-object /proc/self/fd/0 --label "${role}"
+}
+
+# signing_import_key_from_pem <role> <pem>
+#
+# Import a private and public key from PEM file to a role. To be used
+# with SoftHSM.
+signing_import_key_from_pem() {
+ local role="${1}"
+ local pem="${2}"
+
+ signing_import_pubkey_from_pem "${role}" "${pem}"
+ signing_import_privkey_from_pem "${role}" "${pem}"
+}
+
+signing_import_finish() {
+ echo "loaded objects:"
+ signing_pkcs11_tool --list-objects
+}
+
+signing_import_install() {
+ install -d ${D}${localstatedir}/lib/softhsm/tokens/${PN}
+ install -m 600 -t ${D}${localstatedir}/lib/softhsm/tokens/${PN} ${B}/softhsm2.tokens/*/*
+ install -d ${D}${localstatedir}/lib/meta-signing.env.d
+ install -m 644 "${B}/meta-signing.env" ${D}${localstatedir}/lib/meta-signing.env.d/${PN}
+}
+
+signing_prepare() {
+ export OPENSSL_MODULES="${STAGING_LIBDIR_NATIVE}/ossl-modules"
+ export OPENSSL_ENGINES="${STAGING_LIBDIR_NATIVE}/engines-3"
+ export OPENSSL_CONF="${STAGING_LIBDIR_NATIVE}/ssl-3/openssl.cnf"
+ export SSL_CERT_DIR="${STAGING_LIBDIR_NATIVE}/ssl-3/certs"
+ export SSL_CERT_FILE="${STAGING_LIBDIR_NATIVE}/ssl-3/cert.pem"
+
+ if [ -f ${OPENSSL_CONF} ]; then
+ echo "Using '${OPENSSL_CONF}' for OpenSSL configuration"
+ else
+ echo "Missing 'openssl.cnf' at '${STAGING_ETCDIR_NATIVE}/ssl'"
+ return 1
+ fi
+ if [ -d ${OPENSSL_MODULES} ]; then
+ echo "Using '${OPENSSL_MODULES}' for OpenSSL run-time modules"
+ else
+ echo "Missing OpenSSL module directory at '${OPENSSL_MODULES}'"
+ return 1
+ fi
+ if [ -d ${OPENSSL_ENGINES} ]; then
+ echo "Using '${OPENSSL_ENGINES}' for OpenSSL run-time PKCS#11 modules"
+ else
+ echo "Missing OpenSSL PKCS11 engine directory at '${OPENSSL_ENGINES}'"
+ return 1
+ fi
+
+ export SOFTHSM2_CONF="${WORKDIR}/softhsm2.conf"
+ export SOFTHSM2_DIR="${STAGING_DIR_NATIVE}/var/lib/softhsm/tokens"
+
+ echo "directories.tokendir = $SOFTHSM2_DIR" > "$SOFTHSM2_CONF"
+ echo "objectstore.backend = db" >> "$SOFTHSM2_CONF"
+
+ for env in $(ls "${STAGING_DIR_NATIVE}/var/lib/meta-signing.env.d"); do
+ . "${STAGING_DIR_NATIVE}/var/lib/meta-signing.env.d/$env"
+ done
+}
+# make sure these functions are exported
+signing_prepare[vardeps] += "signing_get_uri signing_get_module"
+
+signing_use_role() {
+ local role="${1}"
+
+ export PKCS11_MODULE_PATH="$(signing_get_module $role)"
+ export PKCS11_URI="$(signing_get_uri $role)"
+
+ if [ -z "$PKCS11_MODULE_PATH" ]; then
+ echo "No PKCS11_MODULE_PATH found for role '${role}'"
+ exit 1
+ fi
+ if [ -z "$PKCS11_URI" ]; then
+ echo "No PKCS11_URI found for role '${role}'"
+ exit 1
+ fi
+}
+
+signing_get_uri() {
+ local role="${1}"
+
+ # prefer local configuration
+ eval local uri="\$SIGNING_PKCS11_URI_${role}_"
+ if [ -n "$uri" ]; then
+ echo "$uri"
+ return
+ fi
+
+ # fall back to softhsm
+ eval echo "\$_SIGNING_PKCS11_URI_${role}_"
+}
+
+signing_get_module() {
+ local role="${1}"
+
+ # prefer local configuration
+ eval local module="\$SIGNING_PKCS11_MODULE_${role}_"
+ if [ -n "$module" ]; then
+ echo "$module"
+ return
+ fi
+
+ # fall back to softhsm
+ eval local module="\$_SIGNING_PKCS11_MODULE_${role}_"
+ if [ "$module" = "softhsm" ]; then
+ echo "${STAGING_LIBDIR_NATIVE}/softhsm/libsofthsm2.so"
+ else
+ echo "$module"
+ fi
+}
+
+python () {
+ signing_class_prepare(d)
+}
diff --git a/meta-oe/classes/socorro-syms.bbclass b/meta-oe/classes/socorro-syms.bbclass
index cc435aba1e..b9a5ffc881 100644
--- a/meta-oe/classes/socorro-syms.bbclass
+++ b/meta-oe/classes/socorro-syms.bbclass
@@ -16,7 +16,7 @@ inherit breakpad
PACKAGE_PREPROCESS_FUNCS += "symbol_file_preprocess"
PACKAGES =+ "${PN}-socorro-syms"
-FILES_${PN}-socorro-syms = "/usr/share/socorro-syms"
+FILES:${PN}-socorro-syms = "/usr/share/socorro-syms"
python symbol_file_preprocess() {
diff --git a/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
new file mode 100644
index 0000000000..a29408a822
--- /dev/null
+++ b/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
@@ -0,0 +1,72 @@
+#
+# Lists of the ptest in meta-oe, sorted into two sets by the time they take
+# Please keep these sorted in alphabetical order
+#
+# A first pass at getting all meta-oe recipes which inherit ptest
+# meta_oe_ptest_recipes=$(bitbake-layers show-recipes --recipes-only --layer meta-oe --inherits ptest --bare | tr '\n' ' ' | pcregrep -o1 '^NOTE:.+===(.+)$')
+#
+# ptests which take less than ~30s each
+PTESTS_FAST_META_OE = "\
+ cmocka \
+ cunit \
+ duktape \
+ function2 \
+ fwupd \
+ gcab \
+ jemalloc \
+ jq \
+ leveldb \
+ libcereal \
+ libee \
+ libgpiod \
+ libio-pty-perl \
+ libmanette \
+ librelp \
+ libssh \
+ libtinyxml2 \
+ libxml++-5.0 \
+ libyang \
+ lmdb \
+ microsoft-gsl \
+ minicoredumper \
+ neon \
+ nlohmann-json \
+ nodejs \
+ onig \
+ oprofile \
+ protobuf \
+ pv \
+ sdbus-c++ \
+ uthash \
+ xmlsec1 \
+ zeromq \
+ cjson \
+"
+PTESTS_FAST_META_OE:append:x86 = " mcelog"
+PTESTS_FAST_META_OE:append:x86-64 = " mcelog"
+
+PTESTS_FAST_META_OE:remove:libc-musl = "minicoredumper"
+PTESTS_FAST_META_OE:remove:riscv64 = "nodejs oprofile"
+PTESTS_FAST_META_OE:remove:riscv32 = "nodejs oprofile"
+
+PTESTS_SLOW_META_OE = "\
+ c-ares \
+ fftw \
+ libusb-compat \
+ rsyslog \
+ mariadb \
+ poco \
+ re2 \
+"
+PTESTS_SLOW_META_OE:append:x86 = " kernel-selftest"
+PTESTS_SLOW_META_OE:append:x86-64 = " kernel-selftest"
+PTESTS_SLOW_META_OE:remove:libc-musl = "kernel-selftest"
+
+PTESTS_PROBLEMS_META_OE ="\
+ keyutils \
+ libdbi-perl \
+ libjcat \
+ libteam \
+ ostree \
+ psqlodbc \
+"
diff --git a/meta-oe/conf/layer.conf b/meta-oe/conf/layer.conf
index 3de3015509..4d9acb8cc8 100644
--- a/meta-oe/conf/layer.conf
+++ b/meta-oe/conf/layer.conf
@@ -5,7 +5,7 @@
# Therefore if you want a given layer to be considered high priority
# for the .inc and .conf etc. then consider it adding at the beginning
# of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve
-# the recipe contention so the order of directories in BBFILES does
+# the recipe contention so the order of directories in BBFILES does
# not matter.
# We have a conf and classes directory, append to BBPATH
@@ -21,15 +21,21 @@ BBFILE_PATTERN_openembedded-layer := "^${LAYERDIR}/"
# choosing carefully how this layer interacts with all of the
# other layers.
-BBFILE_PRIORITY_openembedded-layer = "6"
+BBFILE_PRIORITY_openembedded-layer = "5"
# only activates content when identified layers are present,
# to ensure yocto compatibility check pass
BBFILES_DYNAMIC += " \
-meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
-networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \
-gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bb \
-perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \
+ meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bb \
+ meta-python:${LAYERDIR}/dynamic-layers/meta-python/recipes-*/*/*.bbappend \
+ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bb \
+ networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/recipes-*/*/*.bbappend \
+ gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bb \
+ gnome-layer:${LAYERDIR}/dynamic-layers/gnome-layer/recipes-*/*/*.bbappend \
+ perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bb \
+ perl-layer:${LAYERDIR}/dynamic-layers/perl-layer/recipes-*/*/*.bbappend \
+ selinux:${LAYERDIR}/dynamic-layers/selinux/recipes-*/*/*.bb \
+ selinux:${LAYERDIR}/dynamic-layers/selinux/recipes-*/*/*.bbappend \
"
# This should only be incremented on significant changes that will
@@ -38,12 +44,18 @@ LAYERVERSION_openembedded-layer = "1"
LAYERDEPENDS_openembedded-layer = "core"
-LAYERSERIES_COMPAT_openembedded-layer = "gatesgarth hardknott"
+LAYERSERIES_COMPAT_openembedded-layer = "scarthgap"
LICENSE_PATH += "${LAYERDIR}/licenses"
PREFERRED_RPROVIDER_libdevmapper = "lvm2"
+PREFERRED_RPROVIDER_libdevmapper-native = "lvm2-native"
+PREFERRED_RPROVIDER_nativesdk-libdevmapper = "nativesdk-lvm2"
PREFERRED_PROVIDER_android-tools-conf ?= "android-tools-conf"
+# Configures whether coreutils or uutils-coreutils is used.
+PREFERRED_PROVIDER_coreutils = "coreutils"
+PREFERRED_PROVIDER_virtual/opencl-icd ?= "opencl-icd-loader"
+PREFERRED_RPROVIDER_virtual-opencl-icd ?= "opencl-icd-loader"
SIGGEN_EXCLUDERECIPES_ABISAFE += " \
fbset-modes \
@@ -75,8 +87,10 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
ttf-dejavu->fontconfig \
ttf-droid->fontconfig \
ttf-gentium->fontconfig \
+ ttf-google-fira->fontconfig \
ttf-hunkyfonts->fontconfig \
ttf-inconsolata->fontconfig \
+ ttf-ipa->fontconfig \
ttf-liberation->fontconfig \
ttf-liberation-sans-narrow->fontconfig \
ttf-lklug->fontconfig \
@@ -86,6 +100,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
ttf-roboto->fontconfig \
ttf-mplus->fontconfig \
ttf-sazanami->fontconfig \
+ ttf-takao->fontconfig \
ttf-tlwg->fontconfig \
ttf-ubuntu-font-family->fontconfig \
ttf-vlgothic->fontconfig \
@@ -97,6 +112,6 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
source-code-pro-fonts->fontconfig \
"
-DEFAULT_TEST_SUITES_pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}"
+DEFAULT_TEST_SUITES:pn-meta-oe-ptest-image = " ${PTESTTESTSUITE}"
-NON_MULTILIB_RECIPES_append = " crash"
+NON_MULTILIB_RECIPES:append = " crash pahole libbpf"
diff --git a/meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
index dcd88841f9..f15b36184d 100644
--- a/meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -1,3 +1,3 @@
-RDEPENDS_packagegroup-meta-oe-graphics +="\
+RDEPENDS:packagegroup-meta-oe-graphics +="\
openbox-xdgmenu \
"
diff --git a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff
index 8ab5386dc1..cdb29f24dc 100644
--- a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/7_6.diff
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
=== modified file 'openbox-xdgmenu.c'
--- openbox-xdgmenu.c 2011-09-03 20:13:39 +0000
+++ openbox-xdgmenu.c 2013-12-28 17:41:04 +0000
diff --git a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch
index 03b357263f..3def090eb1 100644
--- a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/fix-menu-generation.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: openbox-xdgmenu-0.3/openbox-xdgmenu.c
===================================================================
--- openbox-xdgmenu-0.3.orig/openbox-xdgmenu.c
diff --git a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch
index 3fcc319164..6d123482e8 100644
--- a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu/port-gnome-menus3.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: openbox-xdgmenu-0.3/openbox-xdgmenu.c
===================================================================
--- openbox-xdgmenu-0.3.orig/openbox-xdgmenu.c
diff --git a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
index 237154e295..ac197a631e 100644
--- a/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
+++ b/meta-oe/dynamic-layers/gnome-layer/recipes-graphics/openbox/openbox-xdgmenu_0.3.bb
@@ -1,11 +1,10 @@
SUMMARY = "Openbox configuration tool"
-AUTHOR = "Siegfried Gevatter"
HOMEPAGE = "https://launchpad.net/openbox-xdgmenu/"
SECTION = "x11/wm"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
DEPENDS = " \
- gnome-menus3 \
+ gnome-menus \
glib-2.0 \
"
PV = "0.3"
@@ -33,4 +32,4 @@ do_install() {
install -m 0755 openbox-xdgmenu ${D}${bindir}
}
-RDEPENDS_${PN} += "virtual/x-terminal-emulator"
+RDEPENDS:${PN} += "virtual-x-terminal-emulator"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb
deleted file mode 100644
index de4fa16426..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.2.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Command line interface for testing internet bandwidth using speedtest.net"
-AUTHOR = "Matt Martz"
-
-LICENSE="Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-inherit setuptools3
-
-SRC_URI = "git://github.com/sivel/speedtest-cli.git"
-SRCREV = "c58ad3367bf27f4b4a4d5b1bca29ebd574731c5d"
-
-S = "${WORKDIR}/git"
-
-RDEPENDS_${PN} = "python3 python3-setuptools-scm"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem/0001-include-missing-cstdint.patch b/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem/0001-include-missing-cstdint.patch
new file mode 100644
index 0000000000..0560daa4c2
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem/0001-include-missing-cstdint.patch
@@ -0,0 +1,32 @@
+From 84e884f99e581515b49d8973538bb17e1e6c0dc0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 26 Jan 2023 20:45:57 -0800
+Subject: [PATCH] include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no
+longer transitively included [1]. Explicitly include it for
+uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://github.com/tomba/rwmem/pull/7]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ librwmem/helpers.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/librwmem/helpers.h b/librwmem/helpers.h
+index a0a738b..8d02c9c 100644
+--- a/librwmem/helpers.h
++++ b/librwmem/helpers.h
+@@ -1,6 +1,7 @@
+ #pragma once
+
+ #include <cerrno>
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include <string.h>
+--
+2.39.1
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb
index 065243ccfe..90c9a7147c 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb
+++ b/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb
@@ -8,28 +8,28 @@ can thus be used to access devices which have memory mapped registers. \
\
In i2c mode rwmem accesses an i2c peripheral by sending i2c messages to it."
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS += "python3 python3-pybind11"
+DEPENDS += "fmt libinih"
-PV .= "+git${SRCPV}"
+PV .= "+git"
-SRCREV_rwmem = "3ec3e421211b58e766651c2e3a3a21acf14a1906"
-SRCREV_inih = "4b10c654051a86556dfdb634c891b6c3224c4109"
+SRCREV = "8416326777b2aada0706539b8f9f6acefa476b16"
-SRCREV_FORMAT = "rwmem_inih"
-
-SRC_URI = " \
- git://github.com/tomba/rwmem.git;protocol=https;name=rwmem \
- git://github.com/benhoyt/inih.git;protocol=https;name=inih;nobranch=1;destsuffix=git/ext/inih \
-"
+SRC_URI = "git://github.com/tomba/rwmem.git;protocol=https;name=rwmem;branch=master \
+ file://0001-include-missing-cstdint.patch"
S = "${WORKDIR}/git"
-inherit cmake pkgconfig
+inherit meson pkgconfig python3native
+
+PACKAGECONFIG ?= "python static"
+PACKAGECONFIG[python] = "-Dpyrwmem=enabled,-Dpyrwmem=disabled,cmake-native python3 python3-pybind11"
+PACKAGECONFIG[static] = "-Dstatic-libc=true,-Dstatic-libc=false,"
-do_install() {
- install -D -m 0755 ${B}/bin/rwmem ${D}${bindir}/rwmem
- install -D -m 0644 ${B}/lib/librwmem.a ${D}${libdir}/librwmem.a
+do_install:append() {
+ install -D -m 0644 ${B}/librwmem/librwmem.a ${D}${libdir}/librwmem.a
}
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/pyrwmem"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
index 0e38f7d8ec..d4c8a3d7fc 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -10,6 +10,8 @@ input.h [1]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
plugins/devinput.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch
new file mode 100644
index 0000000000..11f6485b27
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch
@@ -0,0 +1,57 @@
+From 5e3b74927b4fef03d91518d235e9e3ba8cd7ab2e Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 9 Nov 2022 20:49:41 +0100
+Subject: [PATCH] Makefile.am: do not clobber PYTHONPATH from build environment
+
+This environment variable has special significance for python,
+and so lirc's variable has to be named something else.
+
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+Upstream-Status: Pending
+
+ Makefile.am | 2 +-
+ pylint.mak | 2 +-
+ tools/Makefile.am | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 6718af1..fae423e 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -128,7 +128,7 @@ endif
+
+ pylint: .phony
+ $(MAKE) -C tools pylint
+- -PYTHONPATH=$(PYTHONPATH) $(PYLINT) --rcfile=pylint.conf \
++ -PYTHONPATH=$(LIRCPYTHONPATH) $(PYLINT) --rcfile=pylint.conf \
+ --msg-template='$(pylint_template)' $(py_PYTHON)
+
+ pep8: $(py_PYTHON)
+diff --git a/pylint.mak b/pylint.mak
+index bf427ab..2692951 100644
+--- a/pylint.mak
++++ b/pylint.mak
+@@ -1,5 +1,5 @@
+ PYTHONPATH1 = $(abs_top_srcdir)/python-pkg/lirc:
+ PYTHONPATH2 = $(abs_top_srcdir)/python-pkg/lirc/lib/.libs
+-PYTHONPATH = $(PYTHONPATH1):$(PYTHONPATH2)
++LIRCPYTHONPATH = $(PYTHONPATH1):$(PYTHONPATH2)
+ PYLINT = python3-pylint
+ pylint_template = {path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
+diff --git a/tools/Makefile.am b/tools/Makefile.am
+index 85d1fd0..96b17f8 100644
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -142,7 +142,7 @@ force-pylint: .phony
+
+ pylint: .pylint-stamp
+ .pylint-stamp: $(py_sources)
+- -PYTHONPATH=$(PYTHONPATH) $(PYLINT) --rcfile=../pylint.conf \
++ -PYTHONPATH=$(LIRCPYTHONPATH) $(PYLINT) --rcfile=../pylint.conf \
+ --msg-template='$(pylint_template)' $? && touch $@
+
+ .phony:
+--
+2.30.2
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Unbolt-ubuntu-hack.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Unbolt-ubuntu-hack.patch
new file mode 100644
index 0000000000..73bacc9139
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Unbolt-ubuntu-hack.patch
@@ -0,0 +1,26 @@
+From ca126a2832aaff0deef3ba7eaf411dd0dc43b068 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 16 Mar 2023 11:31:14 -0700
+Subject: [PATCH] Unbolt ubuntu hack
+
+This bites during cross compiling where the target is different than
+build host and build host might be ubuntu but that does not matter in
+cross compilation case. This fails builds when usrmerge feature is used
+
+Upstream-Status: Inappropriate [ Cross-compile specific ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -429,7 +429,7 @@ AC_CHECK_LIB([udev], [udev_device_new_fr
+ ])
+
+ dnl Ubuntu's systemd pkg-config seems broken beyond repair. So:
+-kernelversion=`cat /proc/version || echo "non-linux"`
++kernelversion="cross-compiled"
+ AS_CASE([$kernelversion],
+ [*Ubuntu*],[
+ AC_MSG_NOTICE([Hardwiring Ubuntu systemd setup])
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch
new file mode 100644
index 0000000000..48cf7a355c
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-mplay-Fix-build-with-musl.patch
@@ -0,0 +1,44 @@
+From e9e9027d7a324e1ce5e0cb06d4eb51847262a09d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 28 Aug 2022 12:26:52 -0700
+Subject: [PATCH] mplay: Fix build with musl
+
+pthread_t is an opaque type, therefore typecast it to avoid warnings on
+musl
+
+Fixes
+mplay.c:200:12: error: incompatible integer to pointer conversion initializing 'pthread_t' (aka 'struct __pthread *') with an expression of type 'int' [-Wint-conversion]
+| .tid = -1
+| ^~
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lirc/git/merge-requests/47/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/mplay.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/mplay.c b/plugins/mplay.c
+index d6d9619..5b9eb4b 100644
+--- a/plugins/mplay.c
++++ b/plugins/mplay.c
+@@ -197,7 +197,7 @@ static struct {
+ .latest_button = MPLAY_CODE_ERROR,
+ .fd = -1,
+ .pipefd = { -1, -1 },
+- .tid = -1
++ .tid = (pthread_t)-1
+ };
+
+ /**
+@@ -788,7 +788,7 @@ int mplayfamily_deinit(void)
+ return 0;
+ }
+ pthread_join(mplayfamily_local_data.tid, NULL);
+- mplayfamily_local_data.tid = -1;
++ mplayfamily_local_data.tid = (pthread_t)-1;
+ }
+ if (mplayfamily_local_data.pipefd[0] != -1) {
+ close(mplayfamily_local_data.pipefd[0]);
+--
+2.37.2
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch
index 41353dbbdc..ed840cd098 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff --git a/configure.ac b/configure.ac
index 58347d8..8c7fca2 100644
--- a/configure.ac
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
deleted file mode 100644
index b68303241e..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
+++ /dev/null
@@ -1,110 +0,0 @@
-DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
-DESCRIPTION_append_lirc = " This package contains the lirc daemon, libraries and tools."
-DESCRIPTION_append_lirc-exec = " This package contains a daemon that runs programs on IR signals."
-DESCRIPTION_append_lirc-remotes = " This package contains some config files for remotes."
-DESCRIPTION_append_lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2."
-HOMEPAGE = "http://www.lirc.org"
-SECTION = "console/network"
-LICENSE = "GPLv2"
-DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml python3-setuptools-native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \
- file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
- file://fix_build_errors.patch \
- file://lircd.service \
- file://lircd.init \
- file://lircexec.init \
- file://lircd.conf \
- file://lirc_options.conf \
- file://lirc.tmpfiles \
-"
-SRC_URI[md5sum] = "86c3f8e4efaba10571addb8313d1e040"
-SRC_URI[sha256sum] = "8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2"
-
-SYSTEMD_PACKAGES = "lirc lirc-exec"
-SYSTEMD_SERVICE_${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service"
-SYSTEMD_SERVICE_${PN}-exec = "irexec.service"
-SYSTEMD_AUTO_ENABLE_lirc = "enable"
-SYSTEMD_AUTO_ENABLE_lirc-exec = "enable"
-
-inherit autotools pkgconfig systemd python3native distutils-common-base
-
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd"
-PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11,"
-
-PACKAGECONFIG ?= " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \
-"
-CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes"
-
-#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"'
-
-# Ensure python-pkg/VERSION exists
-do_configure_append() {
- cp ${S}/VERSION ${S}/python-pkg/
-}
-
-# Create PYTHON_TARBALL which LIRC needs for install-nodist_pkgdataDATA
-do_install_prepend() {
- rm -rf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/
- mkdir ${WORKDIR}/${PN}-${PV}/python-pkg/dist/
- tar --exclude='${WORKDIR}/${PN}-${PV}/python-pkg/*' -czf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/${PN}-${PV}.tar.gz ${S}
-}
-
-# In code, path to python is a variable that is replaced with path to native version of it
-# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3.
-# Replace it with #!/usr/bin/env python3
-do_install_append() {
- sed -i '1c#!/usr/bin/env python3' ${D}${bindir}/lirc-setup \
- ${D}${PYTHON_SITEPACKAGES_DIR}/lirc-setup/lirc-setup \
- ${D}${bindir}/irtext2udp \
- ${D}${bindir}/lirc-init-db \
- ${D}${bindir}/irdb-get \
- ${D}${bindir}/pronto2lirc \
- ${D}${sbindir}/lircd-setup
-
- install -m 0755 -d ${D}${sysconfdir}
- install -m 0755 -d ${D}${sysconfdir}/lirc
- install -m 0755 -d ${D}${systemd_unitdir}/system
- install -m 0755 -d ${D}${libdir}/tmpfiles.d
- install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/
- install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/
- install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/
- install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf
- rm -rf ${D}${libdir}/lirc/plugins/*.la
- rmdir ${D}/var/run/lirc ${D}/var/run
- chown -R root:root ${D}${datadir}/lirc/contrib
-}
-
-PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python"
-
-RDEPENDS_${PN} = "bash python3"
-RDEPENDS_${PN}-exec = "${PN}"
-RDEPENDS_${PN}-python = "python3-shell python3-pyyaml python3-datetime python3-netclient python3-stringold"
-
-RRECOMMENDS_${PN} = "${PN}-exec ${PN}-plugins"
-
-FILES_${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs"
-FILES_${PN}-contrib = "${datadir}/lirc/contrib"
-FILES_${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec ${systemd_unitdir}/system/irexec.service"
-FILES_${PN} += "${systemd_unitdir}/system/lircexec.init"
-FILES_${PN} += "${systemd_unitdir}/system/lircd.service"
-FILES_${PN} += "${systemd_unitdir}/system/lircd.socket"
-FILES_${PN} += "${libdir}/tmpfiles.d/lirc.conf"
-FILES_${PN}-dbg += "${libdir}/lirc/plugins/.debug"
-FILES_${PN}-python += "${bindir}/irdb-get ${bindir}/irtext2udp ${bindir}/lircd-setup ${bindir}/pronto2lirc ${libdir}/python*/site-packages"
-
-INITSCRIPT_PACKAGES = "lirc lirc-exec"
-INITSCRIPT_NAME_lirc-exec = "lircexec"
-INITSCRIPT_PARAMS_lirc-exec = "defaults 21"
-
-# this is for distributions that don't use udev
-pkg_postinst_${PN}_append() {
- if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi
-}
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb
new file mode 100644
index 0000000000..d348ef8be9
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.2.bb
@@ -0,0 +1,115 @@
+DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
+DESCRIPTION:append:lirc = " This package contains the lirc daemon, libraries and tools."
+DESCRIPTION:append:lirc-exec = " This package contains a daemon that runs programs on IR signals."
+DESCRIPTION:append:lirc-remotes = " This package contains some config files for remotes."
+DESCRIPTION:append:lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2."
+HOMEPAGE = "http://www.lirc.org"
+SECTION = "console/network"
+LICENSE = "GPL-2.0-only"
+DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml python3-setuptools-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ file://fix_build_errors.patch \
+ file://0001-mplay-Fix-build-with-musl.patch \
+ file://lircd.service \
+ file://lircd.init \
+ file://lircexec.init \
+ file://lircd.conf \
+ file://lirc_options.conf \
+ file://lirc.tmpfiles \
+ file://0001-Makefile.am-do-not-clobber-PYTHONPATH-from-build-env.patch \
+ file://0001-Unbolt-ubuntu-hack.patch \
+ "
+SRC_URI[sha256sum] = "3d44ec8274881cf262f160805641f0827ffcc20ade0d85e7e6f3b90e0d3d222a"
+
+SYSTEMD_PACKAGES = "lirc lirc-exec"
+SYSTEMD_SERVICE:${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service"
+SYSTEMD_SERVICE:${PN}-exec = "irexec.service"
+SYSTEMD_AUTO_ENABLE:lirc = "enable"
+SYSTEMD_AUTO_ENABLE:lirc-exec = "enable"
+
+inherit autotools pkgconfig systemd python3native setuptools3-base
+
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd"
+PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11,"
+
+PACKAGECONFIG ?= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \
+"
+CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes SH_PATH=/bin/sh"
+
+#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"'
+
+# Ensure python-pkg/VERSION exists
+do_configure:append() {
+ cp ${S}/VERSION ${S}/python-pkg/
+}
+
+# Create PYTHON_TARBALL which LIRC needs for install-nodist_pkgdataDATA
+do_install:prepend() {
+ rm -rf ${S}/python-pkg/dist/
+ mkdir ${S}/python-pkg/dist/
+ tar --exclude='${S}/python-pkg/*' -czf ${S}/python-pkg/dist/${BP}.tar.gz ${S}
+}
+
+# In code, path to python is a variable that is replaced with path to native version of it
+# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3.
+# Replace it with #!/usr/bin/env python3
+do_install:append() {
+ sed -i '1c#!/usr/bin/env python3' ${D}${bindir}/lirc-setup \
+ ${D}${PYTHON_SITEPACKAGES_DIR}/lirc-setup/lirc-setup \
+ ${D}${bindir}/irtext2udp \
+ ${D}${bindir}/lirc-init-db \
+ ${D}${bindir}/irdb-get \
+ ${D}${bindir}/pronto2lirc \
+ ${D}${sbindir}/lircd-setup
+
+ install -m 0755 -d ${D}${sysconfdir}
+ install -m 0755 -d ${D}${sysconfdir}/lirc
+ install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/
+ install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -m 0755 -d ${D}${systemd_unitdir}/system ${D}${libdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/
+ install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf
+ else
+ rm -rf ${D}/lib
+ fi
+ rm -rf ${D}${libdir}/lirc/plugins/*.la
+ rmdir ${D}/var/run/lirc ${D}/var/run
+ chown -R root:root ${D}${datadir}/lirc/contrib
+}
+
+PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python"
+
+RDEPENDS:${PN} = "bash python3"
+RDEPENDS:${PN}-exec = "${PN}"
+RDEPENDS:${PN}-python = "python3-shell python3-pyyaml python3-datetime python3-netclient python3-stringold"
+
+RRECOMMENDS:${PN} = "${PN}-exec ${PN}-plugins"
+
+FILES:${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs"
+FILES:${PN}-contrib = "${datadir}/lirc/contrib"
+FILES:${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec ${systemd_unitdir}/system/irexec.service"
+FILES:${PN} += "${systemd_unitdir}/system/lircexec.init"
+FILES:${PN} += "${systemd_unitdir}/system/lircd.service"
+FILES:${PN} += "${systemd_unitdir}/system/lircd.socket"
+FILES:${PN} += "${libdir}/tmpfiles.d/lirc.conf"
+FILES:${PN}-dbg += "${libdir}/lirc/plugins/.debug"
+FILES:${PN}-python += "${bindir}/irdb-get ${bindir}/irtext2udp ${bindir}/lircd-setup ${bindir}/pronto2lirc ${PYTHON_SITEPACKAGES_DIR}"
+
+INITSCRIPT_PACKAGES = "lirc lirc-exec"
+INITSCRIPT_NAME:lirc-exec = "lircexec"
+INITSCRIPT_PARAMS:lirc-exec = "defaults 21"
+
+# this is for distributions that don't use udev
+pkg_postinst:${PN}:append() {
+ if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi
+}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch
new file mode 100644
index 0000000000..cabceae84d
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch
@@ -0,0 +1,32 @@
+From 0ea11f520a8b4453e60eaf0679b9feb757024422 Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+Date: Fri, 25 Dec 2020 11:41:43 +0900
+Subject: [PATCH] don't fail if GLOB_BRACE is not defined
+
+Upstream-Status: Pending
+
+Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+---
+ src/util.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/util.c b/src/util.c
+index 36eb896a..ee13ec44 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -35,6 +35,12 @@
+ #include "names.h"
+ #include "yaml-helpers.h"
+
++/* Don't fail if the standard library
++ * doesn't provide brace expansion */
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ GHashTable*
+ wifi_frequency_24;
+
+--
+2.25.1
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-drop-unnecessary-build-dependencies.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-drop-unnecessary-build-dependencies.patch
new file mode 100644
index 0000000000..4f385e917a
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-meson.build-drop-unnecessary-build-dependencies.patch
@@ -0,0 +1,58 @@
+From d3aa30f5cd7ba375e006a755752acbcfcd619452 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 6 Mar 2024 19:27:15 +0800
+Subject: [PATCH] meson.build: drop unnecessary build dependencies
+
+The pytest and pycoverage are required by meson test but not for
+building. Mark them as 'required: false' to get rid of unnecessary
+build dependencies.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ meson.build | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 9556836a..30f33fe2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -25,8 +25,8 @@ bash_completions_dir = completions.get_variable(pkgconfig: 'completionsdir', def
+ # Order: Fedora/Mageia/openSUSE || Debian/Ubuntu
+ pyflakes = find_program('pyflakes-3', 'pyflakes3', required: false)
+ pycodestyle = find_program('pycodestyle-3', 'pycodestyle', 'pep8', required: false)
+-pytest = find_program('pytest-3', 'pytest3') # also requires the pytest-cov plugin
+-pycoverage = find_program('coverage-3', 'python3-coverage')
++pytest = find_program('pytest-3', 'pytest3', required: false) # also requires the pytest-cov plugin
++pycoverage = find_program('coverage-3', 'python3-coverage', required: false)
+ pandoc = find_program('pandoc', required: false)
+ find = find_program('find')
+
+@@ -75,6 +75,7 @@ if get_option('unit_testing')
+ endif
+
+ #FIXME: exclude doc/env/
++if pyflakes.found() and pycodestyle.found()
+ test('linting',
+ pyflakes,
+ timeout: 100,
+@@ -91,7 +92,9 @@ test('legacy-tests',
+ find_program('tests/cli_legacy.py'),
+ timeout: 600,
+ env: test_env)
++endif
+ #TODO: split out dbus tests into own test() instance, to run in parallel
++if pycoverage.found()
+ test('unit-tests',
+ pycoverage,
+ args: ['run', '-a', '-m', 'pytest', '-s', '-v', '--cov-append', meson.current_source_dir()],
+@@ -143,4 +146,5 @@ if get_option('b_coverage')
+ priority: -99, # run last
+ is_parallel: false)
+ endif
++endif
+
+--
+2.25.1
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-networkd.c-define-scope-specific-to-case-statement.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-networkd.c-define-scope-specific-to-case-statement.patch
new file mode 100644
index 0000000000..9f01108a20
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0001-networkd.c-define-scope-specific-to-case-statement.patch
@@ -0,0 +1,47 @@
+From 6e3dd61bf90a7ca8c36c5b95943cbff7c1ad3c2d Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 6 Mar 2024 16:12:31 +0800
+Subject: [PATCH] networkd.c: define scope specific to case statement
+
+Per [1], define a scope specific to case statement to fix build with
+clang.
+
+Fixes:
+../git/src/networkd.c:544:13: error: expected expression
+ 544 | gchar* first = g_strcmp0(def->id, def->veth_peer_link->id) < 0 ? def->id : def->veth_peer_link->id;
+ | ^
+../git/src/networkd.c:545:17: error: use of undeclared identifier 'first'
+ 545 | if (first != def->id) {
+ | ^
+
+[1] https://stackoverflow.com/questions/92396/why-cant-variables-be-declared-in-a-switch-statement
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/networkd.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/networkd.c b/src/networkd.c
+index 25121c48..5eb9c0fe 100644
+--- a/src/networkd.c
++++ b/src/networkd.c
+@@ -541,12 +541,14 @@ write_netdev_file(const NetplanNetDefinition* def, const char* rootdir, const ch
+ * and, if the selected name is the name of the netdef being written, we generate
+ * the .netdev file. Otherwise we skip the netdef.
+ */
++ {
+ gchar* first = g_strcmp0(def->id, def->veth_peer_link->id) < 0 ? def->id : def->veth_peer_link->id;
+ if (first != def->id) {
+ g_string_free(s, TRUE);
+ return;
+ }
+ g_string_append_printf(s, "Kind=veth\n\n[Peer]\nName=%s\n", def->veth_peer_link->id);
++ }
+ break;
+
+ case NETPLAN_DEF_TYPE_TUNNEL:
+--
+2.25.1
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0002-meson.build-do-not-use-Werror.patch b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0002-meson.build-do-not-use-Werror.patch
new file mode 100644
index 0000000000..663a80ecde
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan/0002-meson.build-do-not-use-Werror.patch
@@ -0,0 +1,29 @@
+From 668ee79f39614ad758edd44c42b8b0eff57877cf Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sun, 3 Oct 2021 21:52:16 +0200
+Subject: [PATCH] meson.build: do not use -Werror
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 30f33fe2..0b214795 100644
+--- a/meson.build
++++ b/meson.build
+@@ -4,7 +4,7 @@ project('netplan', 'c',
+ default_options: [
+ 'c_std=c99',
+ 'warning_level=2',
+- 'werror=true',
++ 'werror=false',
+ ],
+ meson_version: '>= 0.61.0',
+ )
+--
+2.25.1
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.0.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.0.bb
new file mode 100644
index 0000000000..229414718c
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/netplan/netplan_1.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "The network configuration abstraction renderer"
+DESCRIPTION = "Netplan is a utility for easily configuring networking on a \
+linux system. You simply create a YAML description of the required network \
+interfaces and what each should be configured to do. From this description \
+Netplan will generate all the necessary configuration for your chosen renderer \
+tool."
+HOMEPAGE = "https://netplan.io"
+SECTION = "net/misc"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+inherit meson pkgconfig systemd python3targetconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SRC_URI = "git://github.com/CanonicalLtd/netplan.git;branch=main;protocol=https \
+ file://0001-meson.build-drop-unnecessary-build-dependencies.patch \
+ file://0002-meson.build-do-not-use-Werror.patch \
+ "
+
+SRC_URI:append:libc-musl = " file://0001-don-t-fail-if-GLOB_BRACE-is-not-defined.patch"
+SRC_URI:append:toolchain-clang = " file://0001-networkd.c-define-scope-specific-to-case-statement.patch"
+
+SRCREV = "45f7cd1569896d9e316c130bf5c60b7ccfc8211d"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "glib-2.0 libyaml util-linux-libuuid \
+ systemd python3-cffi-native \
+ "
+
+EXTRA_OEMESON = "-Dunit_testing=false"
+
+RDEPENDS:${PN} = "python3-core python3-netifaces python3-pyyaml \
+ python3-dbus python3-rich python3-cffi \
+ util-linux-libuuid libnetplan \
+ "
+
+do_install:append() {
+ install -d -m 755 ${D}${sysconfdir}/netplan
+}
+
+PACKAGES += "${PN}-dbus libnetplan"
+
+FILES:libnetplan = "${libdir}/libnetplan.so.*"
+FILES:${PN} = "${sbindir} ${libexecdir}/netplan/generate \
+ ${datadir}/netplan ${datadir}/bash-completion \
+ ${systemd_unitdir} ${PYTHON_SITEPACKAGES_DIR} \
+ ${sysconfdir}/netplan \
+ "
+FILES:${PN}-dbus = "${libexecdir}/netplan/netplan-dbus ${datadir}/dbus-1"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.5.2.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.5.2.bb
deleted file mode 100644
index 2f0ef16c80..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_2.5.2.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-SUMMARY = "Open-source IoT platform for data collection, processing, visualization, and device management"
-DESCRIPTION = "\
-The Thingsboard IoT Gateway is an open-source solution that allows you \
-to integrate devices connected to legacy and third-party systems with Thingsboard."
-HOMEPAGE = "https://thingsboard.io/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI[md5sum] = "469c8b5cd1c16c20ef40f0a97a3a0fda"
-SRC_URI[sha256sum] = "b328f4e315c3541ac80a4931974a34a81afe4d1f382f48e8604669a55816c0d7"
-
-inherit pypi setuptools3
-
-PYPI_PACKAGE = "thingsboard-gateway"
-
-RDEPENDS_${PN} += " python3-jsonpath-rw \
- python3-regex \
- python3-paho-mqtt \
- python3-pyyaml \
- python3-simplejson \
- python3-requests \
- python3-pip \
- python3-pyrsistent \
-"
-
-SRC_URI += "file://bacnet.json \
- file://ble.json \
- file://can.json \
- file://custom_serial.json \
- file://modbus.json \
- file://modbus_serial.json \
- file://mqtt.json \
- file://opcua.json \
- file://odbc.json \
- file://request.json \
- file://rest.json \
- file://snmp.json \
- file://tb_gateway.yaml \
- file://logs.conf \
- file://thingsboard-gateway.service \
- "
-
-
-inherit systemd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "thingsboard-gateway.service"
-
-FILES_${PN} += "/etc \
- /lib \
- /usr \
-"
-
-do_install_append(){
-
- install -d ${D}${sysconfdir}/thingsboard-gateway/config
-
- for file in $(find ${WORKDIR} -maxdepth 1 -type f -name *.json); do
- install -m 0644 "$file" ${D}${sysconfdir}/thingsboard-gateway/config
- done
-
- install -m 0644 ${WORKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config
- install -m 0644 ${WORKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service
-} \ No newline at end of file
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.6.bb b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.6.bb
new file mode 100644
index 0000000000..0d0f6fea48
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-connectivity/thingsboard-gateway/thingsboard-gateway_3.4.6.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Open-source IoT platform for data collection, processing, visualization, and device management"
+DESCRIPTION = "\
+The Thingsboard IoT Gateway is an open-source solution that allows you \
+to integrate devices connected to legacy and third-party systems with Thingsboard."
+HOMEPAGE = "https://thingsboard.io/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI[sha256sum] = "fc24bb674308f05d963a1dbed8d0b38ead77424ad7cf032a2652732af48f1336"
+
+inherit pypi setuptools3
+
+PYPI_PACKAGE = "thingsboard-gateway"
+
+RDEPENDS:${PN} += " python3-jsonpath-rw \
+ python3-regex \
+ python3-paho-mqtt \
+ python3-pyyaml \
+ python3-simplejson \
+ python3-requests \
+ python3-pip \
+ python3-pyrsistent \
+"
+
+SRC_URI += "file://bacnet.json \
+ file://ble.json \
+ file://can.json \
+ file://custom_serial.json \
+ file://modbus.json \
+ file://modbus_serial.json \
+ file://mqtt.json \
+ file://opcua.json \
+ file://odbc.json \
+ file://request.json \
+ file://rest.json \
+ file://snmp.json \
+ file://tb_gateway.yaml \
+ file://logs.conf \
+ file://thingsboard-gateway.service \
+ "
+
+
+inherit systemd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "thingsboard-gateway.service"
+
+FILES:${PN} += "/etc \
+ /lib \
+ /usr \
+"
+
+do_install:append(){
+
+ install -d ${D}${sysconfdir}/thingsboard-gateway/config
+
+ for file in $(find ${WORKDIR} -maxdepth 1 -type f -name *.json); do
+ install -m 0644 "$file" ${D}${sysconfdir}/thingsboard-gateway/config
+ done
+
+ install -m 0644 ${WORKDIR}/tb_gateway.yaml ${D}${sysconfdir}/thingsboard-gateway/config
+ install -m 0644 ${WORKDIR}/logs.conf ${D}${sysconfdir}/thingsboard-gateway/config
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/thingsboard-gateway.service ${D}${systemd_system_unitdir}/thingsboard-gateway.service
+}
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
index 50da5e5d0d..7fff849ecd 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
+++ b/meta-oe/dynamic-layers/meta-python/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -1,20 +1,18 @@
-RDEPENDS_packagegroup-meta-oe-devtools += "\
+RDEPENDS:packagegroup-meta-oe-devtools += "\
python3-distutils-extra \
rwmem \
- speedtest-cli \
- mongodb \
"
-RDEPENDS_packagegroup-meta-oe-connectivity += "\
+RDEPENDS:packagegroup-meta-oe-connectivity += "\
lirc \
"
-RDEPENDS_packagegroup-meta-oe-extended += "\
+RDEPENDS:packagegroup-meta-oe-extended += "\
lcdproc \
- mozjs \
"
-RDEPENDS_packagegroup-meta-oe-support += "\
+RDEPENDS:packagegroup-meta-oe-support += "\
+ nvmetcli \
smem \
"
-RDEPENDS_packagegroup-meta-oe-extended_remove_libc-musl = "lcdproc"
+RDEPENDS:packagegroup-meta-oe-extended:remove:libc-musl = "lcdproc"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-build-on-32bit.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-build-on-32bit.patch
new file mode 100644
index 0000000000..4abc044151
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-build-on-32bit.patch
@@ -0,0 +1,38 @@
+From b172ebe7e709b10338c1b260310dacc15c557cff Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Fri, 22 Sep 2023 15:37:29 +0200
+Subject: [PATCH] Fix build on 32bit
+
+* fixes:
+ src/mongo/util/net/http_client_curl.cpp: In function 'size_t mongo::{anonymous}::ReadMemoryCallback(char*, size_t, size_t, void*)':
+ src/mongo/util/net/http_client_curl.cpp:172:21: error: no matching function for call to 'min(size_t, long unsigned int)'
+ 172 | std::min(size * nitems, static_cast<unsigned long>(bufReader->remaining()));
+ | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* reported in:
+ https://jira.mongodb.org/browse/SERVER-73007
+ but will probably get closed like:
+ mongodb/0001-Fix-type-mismatch-on-32bit-arches.patch
+ submitted in:
+ https://jira.mongodb.org/browse/SERVER-74633
+ as they don't support 32bit builds
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Pending
+---
+ src/mongo/util/net/http_client_curl.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mongo/util/net/http_client_curl.cpp b/src/mongo/util/net/http_client_curl.cpp
+index 57290d0f8ed..f251fe2a550 100644
+--- a/src/mongo/util/net/http_client_curl.cpp
++++ b/src/mongo/util/net/http_client_curl.cpp
+@@ -169,7 +169,7 @@ size_t ReadMemoryCallback(char* buffer, size_t size, size_t nitems, void* instre
+
+ if (bufReader->remaining() > 0) {
+ size_t readSize =
+- std::min(size * nitems, static_cast<unsigned long>(bufReader->remaining()));
++ std::min(size * nitems, static_cast<size_t>(bufReader->remaining()));
+ auto buf = bufReader->readBytes(readSize);
+ memcpy(buffer, buf.rawData(), readSize);
+ ret = readSize;
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-type-mismatch-on-32bit-arches.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-type-mismatch-on-32bit-arches.patch
new file mode 100644
index 0000000000..def17995dc
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Fix-type-mismatch-on-32bit-arches.patch
@@ -0,0 +1,33 @@
+From 81eabea4e4da55cddfe8bcfcbc3759fa90948254 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 3 Mar 2023 14:13:29 -0800
+Subject: [PATCH] Fix type mismatch on 32bit arches
+
+std::set::size returns an unsigned integral type.
+std::max call therefore gets (unsigned int, unsigned long) here.
+Type of both arguments is not same, so its ambigous
+and there is no matching std::max implementation for mismatching
+arguments. std::max expects both input variables to be of
+same type, max(int,int) etc..
+
+Fixes
+src/mongo/util/processinfo_linux.cpp:424:16: error: no matching function for call to 'max'
+ return std::max(socketIds.size(), 1ul);
+
+Upstream-Status: Submitted [https://jira.mongodb.org/browse/SERVER-74633]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/util/processinfo_linux.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/mongo/util/processinfo_linux.cpp
++++ b/src/mongo/util/processinfo_linux.cpp
+@@ -421,7 +421,7 @@ public:
+
+ // On ARM64, the "physical id" field is unpopulated, causing there to be 0 sockets found. In
+ // this case, we default to 1.
+- return std::max(socketIds.size(), 1ul);
++ return std::max(static_cast<unsigned long>(socketIds.size()), 1ul);
+ }
+
+ /**
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
index e636adc556..500e76bc2f 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-IntelRDFPMathLib20U1-Check-for-__DEFINED_wchar_t.patch
@@ -13,6 +13,8 @@ typedef int wchar_t;
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+
+Upstream-Status: Pending
---
src/third_party/IntelRDFPMathLib20U1/LIBRARY/src/bid_functions.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
index b8a325295d..4d84d3d15b 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Tell-scons-to-use-build-settings-from-environment-va.patch
@@ -6,6 +6,8 @@ Subject: [PATCH 01/10] Tell scons to use build settings from environment
Signed-off-by: Sven Ebenfeld <sven.ebenfeld@gmail.com>
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+
+Upstream-Status: Pending
---
SConstruct | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch
new file mode 100644
index 0000000000..4594bec81a
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-The-std-lib-unary-binary_function-base-classes-are-d.patch
@@ -0,0 +1,40 @@
+From f9b55f5a1fab85bf73c95e6372779d6f50f75e84 Mon Sep 17 00:00:00 2001
+From: jzmaddock <john@johnmaddock.co.uk>
+Date: Mon, 11 Jul 2022 18:26:07 +0100
+Subject: [PATCH] The std lib unary/binary_function base classes are
+ deprecated/removed from libcpp15. Fixes
+ https://github.com/boostorg/container_hash/issues/24.
+
+Upstream-Status: Backport [https://github.com/boostorg/config/pull/440/commits/f0af4a9184457939b89110795ae2d293582c5f66]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp
++++ b/src/third_party/boost-1.70.0/boost/config/stdlib/libcpp.hpp
+@@ -140,4 +140,13 @@
+ # define BOOST_NO_CXX14_HDR_SHARED_MUTEX
+ #endif
+
++#if _LIBCPP_VERSION >= 15000
++//
++// Unary function is now deprecated in C++11 and later:
++//
++#if __cplusplus >= 201103L
++#define BOOST_NO_CXX98_FUNCTION_BASE
++#endif
++#endif
++
+ // --- end ---
+--- a/src/third_party/boost-1.70.0/boost/container_hash/hash.hpp
++++ b/src/third_party/boost-1.70.0/boost/container_hash/hash.hpp
+@@ -118,7 +118,7 @@ namespace boost
+ {
+ namespace hash_detail
+ {
+-#if defined(_HAS_AUTO_PTR_ETC) && !_HAS_AUTO_PTR_ETC
++#if defined(BOOST_NO_CXX98_FUNCTION_BASE)
+ template <typename T>
+ struct hash_base
+ {
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
index 8d82be1b57..cfbcbd9aa2 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 03/10] Use __GLIBC__ to control use of gnu_get_libc_version
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+
+Upstream-Status: Pending
---
src/mongo/util/processinfo_linux.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
index 958e09c3dc..310301d57b 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-Use-long-long-instead-of-int64_t.patch
@@ -9,6 +9,8 @@ since this function expects long long as parameter and not int64_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+
+Upstream-Status: Pending
---
src/mongo/util/procparser.cpp | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch
new file mode 100644
index 0000000000..de05624429
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch
@@ -0,0 +1,38 @@
+From ad37ee80b32a1f740a3197105174d74dff11e4e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Apr 2022 13:56:32 -0700
+Subject: [PATCH] add explict static_cast<size_t> to maxMemoryUsageBytes
+
+Fixes
+src/mongo/db/pipeline/document_source_group.cpp:377:22: error: non-constant-expression cannot be narrowed from type 'long long' to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
+ maxMemoryUsageBytes ? *maxMemoryUsageBytes
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+src/mongo/db/pipeline/document_source_group.cpp:377:22: note: insert an explicit cast to silence this issue
+ maxMemoryUsageBytes ? *maxMemoryUsageBytes
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/db/pipeline/document_source_group.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/mongo/db/pipeline/document_source_group.cpp b/src/mongo/db/pipeline/document_source_group.cpp
+index 4a7b48d6cd2..9a6076c6041 100644
+--- a/src/mongo/db/pipeline/document_source_group.cpp
++++ b/src/mongo/db/pipeline/document_source_group.cpp
+@@ -374,8 +374,8 @@ DocumentSourceGroup::DocumentSourceGroup(const intrusive_ptr<ExpressionContext>&
+ _usedDisk(false),
+ _doingMerge(false),
+ _memoryTracker{pExpCtx->allowDiskUse && !pExpCtx->inMongos,
+- maxMemoryUsageBytes ? *maxMemoryUsageBytes
+- : internalDocumentSourceGroupMaxMemoryBytes.load()},
++ static_cast<size_t>(maxMemoryUsageBytes ? *maxMemoryUsageBytes
++ : internalDocumentSourceGroupMaxMemoryBytes.load())},
+ // We spill to disk in debug mode, regardless of allowDiskUse, to stress the system.
+ _file(!pExpCtx->inMongos && (pExpCtx->allowDiskUse || kDebugBuild)
+ ? std::make_shared<Sorter<Value, Value>::File>(pExpCtx->tempDir + "/" +
+--
+2.35.2
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-apply-msvc-workaround-for-clang-16.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-apply-msvc-workaround-for-clang-16.patch
new file mode 100644
index 0000000000..096269308d
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-apply-msvc-workaround-for-clang-16.patch
@@ -0,0 +1,32 @@
+From 03047c81b2601362bcf79cae67e06d1fba0a6101 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 2 Mar 2023 20:17:57 -0800
+Subject: [PATCH] apply msvc workaround for clang >= 16
+
+This avoids a new Werror found with clang16
+
+boost-1.70.0/boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for this enumeration type [-Wenum-constexpr-conversion]
+ typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../boost-1.70.0/boost/mpl/aux_/integral_wrapper.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/third_party/boost-1.70.0/boost/mpl/aux_/integral_wrapper.hpp b/src/third_party/boost-1.70.0/boost/mpl/aux_/integral_wrapper.hpp
+index 6bc05f7e96e..6bb8d24c9ce 100644
+--- a/src/third_party/boost-1.70.0/boost/mpl/aux_/integral_wrapper.hpp
++++ b/src/third_party/boost-1.70.0/boost/mpl/aux_/integral_wrapper.hpp
+@@ -56,7 +56,7 @@ struct AUX_WRAPPER_NAME
+ // have to #ifdef here: some compilers don't like the 'N + 1' form (MSVC),
+ // while some other don't like 'value + 1' (Borland), and some don't like
+ // either
+-#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243)
++#if BOOST_WORKAROUND(__EDG_VERSION__, <= 243) || __clang_major__ > 15
+ private:
+ BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, next_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N + 1)));
+ BOOST_STATIC_CONSTANT(AUX_WRAPPER_VALUE_TYPE, prior_value = BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (N - 1)));
+--
+2.39.2
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
index e726933f56..ad944e4666 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-asio-Dont-use-experimental-with-clang.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 10/10] asio: Dont use experimental with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+
+Upstream-Status: Pending
---
src/third_party/asio-master/asio/include/asio/detail/string_view.hpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-free_mon-Include-missing-cstdint.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-free_mon-Include-missing-cstdint.patch
new file mode 100644
index 0000000000..8cee14889f
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-free_mon-Include-missing-cstdint.patch
@@ -0,0 +1,28 @@
+From 5d8218b8a1b5bc71e2a0cf543a000e194daba599 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 29 Jan 2023 17:15:30 -0800
+Subject: [PATCH] free_mon: Include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no
+longer transitively included [1]. Explicitly include it
+for uintXX_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ src/mongo/db/free_mon/free_mon_options.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/mongo/db/free_mon/free_mon_options.h
++++ b/src/mongo/db/free_mon/free_mon_options.h
+@@ -29,6 +29,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch
deleted file mode 100644
index df4cee2b42..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch
+++ /dev/null
@@ -1,714 +0,0 @@
-From 44272ce47e768e090263df5cb9cb7ce17e544ad3 Mon Sep 17 00:00:00 2001
-From: Vincent Prince <vincent.prince.external@saftbatteries.com>
-Date: Tue, 15 Sep 2020 11:40:15 +0200
-Subject: [PATCH] kms-message: bump libmongocrypto to v1.0.4
-
-This fixes compilation with alpinelinux
-see https://github.com/mongodb/libmongocrypt/pull/89
-
-Upstream-Status: Pending
-
-Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
----
- .../kms-message/THIRD_PARTY_NOTICES | 2 +-
- src/third_party/kms-message/src/hexlify.c | 21 +----
- src/third_party/kms-message/src/hexlify.h | 2 -
- .../kms-message/src/kms_crypto_apple.c | 5 +
- .../kms-message/src/kms_crypto_libcrypto.c | 94 +++++++++++++++++++
- .../kms-message/src/kms_crypto_none.c | 4 +
- .../kms-message/src/kms_crypto_windows.c | 4 +
- .../kms-message/src/kms_decrypt_request.c | 2 +-
- .../kms-message/src/kms_encrypt_request.c | 2 +-
- src/third_party/kms-message/src/kms_kv_list.c | 11 ++-
- .../kms-message/src/kms_message/kms_message.h | 2 +
- .../src/kms_message/kms_message_defines.h | 10 ++
- src/third_party/kms-message/src/kms_port.c | 33 +++++++
- src/third_party/kms-message/src/kms_port.h | 27 +++---
- src/third_party/kms-message/src/kms_request.c | 41 +++++---
- .../kms-message/src/kms_request_str.c | 13 ++-
- .../kms-message/src/kms_request_str.h | 5 -
- .../kms-message/src/kms_response_parser.c | 26 ++++-
- .../scripts/kms_message_get_sources.sh | 2 +-
- 19 files changed, 244 insertions(+), 62 deletions(-)
- create mode 100644 src/third_party/kms-message/src/kms_crypto_libcrypto.c
- create mode 100644 src/third_party/kms-message/src/kms_port.c
-
-diff --git a/src/third_party/kms-message/THIRD_PARTY_NOTICES b/src/third_party/kms-message/THIRD_PARTY_NOTICES
-index 3fc095170c..4110c1b91e 100644
---- a/src/third_party/kms-message/THIRD_PARTY_NOTICES
-+++ b/src/third_party/kms-message/THIRD_PARTY_NOTICES
-@@ -1,4 +1,4 @@
--License notice for common-b64.c
-+License notice for kms_b64.c
- -------------------------------------------------------------------------------
-
- ISC License
-diff --git a/src/third_party/kms-message/src/hexlify.c b/src/third_party/kms-message/src/hexlify.c
-index be9ee030b9..941fc93d1b 100644
---- a/src/third_party/kms-message/src/hexlify.c
-+++ b/src/third_party/kms-message/src/hexlify.c
-@@ -24,6 +24,8 @@ char *
- hexlify (const uint8_t *buf, size_t len)
- {
- char *hex_chars = malloc (len * 2 + 1);
-+ KMS_ASSERT (hex_chars);
-+
- char *p = hex_chars;
- size_t i;
-
-@@ -35,22 +37,3 @@ hexlify (const uint8_t *buf, size_t len)
-
- return hex_chars;
- }
--
--uint8_t *
--unhexlify (const char *hex_chars, size_t *len)
--{
-- uint8_t *buf;
-- uint8_t *pos;
--
-- *len = strlen (hex_chars) / 2;
-- buf = malloc (*len);
-- pos = buf;
--
-- while (*hex_chars) {
-- KMS_ASSERT (1 == sscanf (hex_chars, "%2hhx", pos));
-- pos++;
-- hex_chars += 2;
-- }
--
-- return buf;
--}
-diff --git a/src/third_party/kms-message/src/hexlify.h b/src/third_party/kms-message/src/hexlify.h
-index e0096eb6ca..a6a504ebe8 100644
---- a/src/third_party/kms-message/src/hexlify.h
-+++ b/src/third_party/kms-message/src/hexlify.h
-@@ -19,5 +19,3 @@
-
- char *
- hexlify (const uint8_t *buf, size_t len);
--uint8_t *
--unhexlify (const char *hex_chars, size_t *len);
-diff --git a/src/third_party/kms-message/src/kms_crypto_apple.c b/src/third_party/kms-message/src/kms_crypto_apple.c
-index 61da0a6288..a26e0d65e8 100644
---- a/src/third_party/kms-message/src/kms_crypto_apple.c
-+++ b/src/third_party/kms-message/src/kms_crypto_apple.c
-@@ -16,9 +16,12 @@
-
- #include "kms_crypto.h"
-
-+#ifdef KMS_MESSAGE_ENABLE_CRYPTO_COMMON_CRYPTO
-+
- #include <CommonCrypto/CommonDigest.h>
- #include <CommonCrypto/CommonHMAC.h>
-
-+
- int
- kms_crypto_init ()
- {
-@@ -54,3 +57,5 @@ kms_sha256_hmac (void *unused_ctx,
- CCHmac (kCCHmacAlgSHA256, key_input, key_len, input, len, hash_out);
- return true;
- }
-+
-+#endif /* KMS_MESSAGE_ENABLE_CRYPTO_COMMON_CRYPTO */
-diff --git a/src/third_party/kms-message/src/kms_crypto_libcrypto.c b/src/third_party/kms-message/src/kms_crypto_libcrypto.c
-new file mode 100644
-index 0000000000..6f25657fdd
---- /dev/null
-+++ b/src/third_party/kms-message/src/kms_crypto_libcrypto.c
-@@ -0,0 +1,94 @@
-+/*
-+ * Copyright 2018-present MongoDB, Inc.
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ * http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
-+#include "kms_crypto.h"
-+
-+#ifdef KMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO
-+
-+#include <openssl/sha.h>
-+#include <openssl/evp.h>
-+#include <openssl/hmac.h>
-+
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
-+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
-+static EVP_MD_CTX *
-+EVP_MD_CTX_new (void)
-+{
-+ return calloc (sizeof (EVP_MD_CTX), 1);
-+}
-+
-+static void
-+EVP_MD_CTX_free (EVP_MD_CTX *ctx)
-+{
-+ EVP_MD_CTX_cleanup (ctx);
-+ free (ctx);
-+}
-+#endif
-+
-+int
-+kms_crypto_init ()
-+{
-+ return 0;
-+}
-+
-+void
-+kms_crypto_cleanup ()
-+{
-+}
-+
-+bool
-+kms_sha256 (void *unused_ctx,
-+ const char *input,
-+ size_t len,
-+ unsigned char *hash_out)
-+{
-+ EVP_MD_CTX *digest_ctxp = EVP_MD_CTX_new ();
-+ bool rval = false;
-+
-+ if (1 != EVP_DigestInit_ex (digest_ctxp, EVP_sha256 (), NULL)) {
-+ goto cleanup;
-+ }
-+
-+ if (1 != EVP_DigestUpdate (digest_ctxp, input, len)) {
-+ goto cleanup;
-+ }
-+
-+ rval = (1 == EVP_DigestFinal_ex (digest_ctxp, hash_out, NULL));
-+
-+cleanup:
-+ EVP_MD_CTX_free (digest_ctxp);
-+
-+ return rval;
-+}
-+
-+bool
-+kms_sha256_hmac (void *unused_ctx,
-+ const char *key_input,
-+ size_t key_len,
-+ const char *input,
-+ size_t len,
-+ unsigned char *hash_out)
-+{
-+ return HMAC (EVP_sha256 (),
-+ key_input,
-+ key_len,
-+ (unsigned char *) input,
-+ len,
-+ hash_out,
-+ NULL) != NULL;
-+}
-+
-+#endif /* KMS_MESSAGE_ENABLE_CRYPTO_LIBCRYPTO */
-diff --git a/src/third_party/kms-message/src/kms_crypto_none.c b/src/third_party/kms-message/src/kms_crypto_none.c
-index 9ef2147687..94da5abd88 100644
---- a/src/third_party/kms-message/src/kms_crypto_none.c
-+++ b/src/third_party/kms-message/src/kms_crypto_none.c
-@@ -16,6 +16,8 @@
-
- #include "kms_crypto.h"
-
-+#ifndef KMS_MESSAGE_ENABLE_CRYPTO
-+
- int
- kms_crypto_init ()
- {
-@@ -48,3 +50,5 @@ kms_sha256_hmac (void *unused_ctx,
- /* only gets called if hooks were mistakenly not set */
- return false;
- }
-+
-+#endif /* KMS_MESSAGE_ENABLE_CRYPTO */
-diff --git a/src/third_party/kms-message/src/kms_crypto_windows.c b/src/third_party/kms-message/src/kms_crypto_windows.c
-index ccdc7e095d..8177b0ddc0 100644
---- a/src/third_party/kms-message/src/kms_crypto_windows.c
-+++ b/src/third_party/kms-message/src/kms_crypto_windows.c
-@@ -16,6 +16,8 @@
-
- #include "kms_crypto.h"
-
-+#ifdef KMS_MESSAGE_ENABLE_CRYPTO_CNG
-+
- // tell windows.h not to include a bunch of headers we don't need:
- #define WIN32_LEAN_AND_MEAN
-
-@@ -130,3 +132,5 @@ cleanup:
-
- return status == STATUS_SUCCESS ? 1 : 0;
- }
-+
-+#endif /* KMS_MESSAGE_ENABLE_CRYPTO_CNG */
-diff --git a/src/third_party/kms-message/src/kms_decrypt_request.c b/src/third_party/kms-message/src/kms_decrypt_request.c
-index 06faa43119..f1ca282768 100644
---- a/src/third_party/kms-message/src/kms_decrypt_request.c
-+++ b/src/third_party/kms-message/src/kms_decrypt_request.c
-@@ -48,7 +48,7 @@ kms_decrypt_request_new (const uint8_t *ciphertext_blob,
- if (!(b64 = malloc (b64_len))) {
- KMS_ERROR (request,
- "Could not allocate %d bytes for base64-encoding payload",
-- b64_len);
-+ (int) b64_len);
- goto done;
- }
-
-diff --git a/src/third_party/kms-message/src/kms_encrypt_request.c b/src/third_party/kms-message/src/kms_encrypt_request.c
-index b5f4d6436e..24b064d95f 100644
---- a/src/third_party/kms-message/src/kms_encrypt_request.c
-+++ b/src/third_party/kms-message/src/kms_encrypt_request.c
-@@ -47,7 +47,7 @@ kms_encrypt_request_new (const uint8_t *plaintext,
- if (!(b64 = malloc (b64_len))) {
- KMS_ERROR (request,
- "Could not allocate %d bytes for base64-encoding payload",
-- b64_len);
-+ (int) b64_len);
- goto done;
- }
-
-diff --git a/src/third_party/kms-message/src/kms_kv_list.c b/src/third_party/kms-message/src/kms_kv_list.c
-index 2d6845a1aa..0cff3dc2c6 100644
---- a/src/third_party/kms-message/src/kms_kv_list.c
-+++ b/src/third_party/kms-message/src/kms_kv_list.c
-@@ -17,6 +17,7 @@
-
- #include "kms_kv_list.h"
- #include "kms_message/kms_message.h"
-+#include "kms_message_private.h"
- #include "kms_request_str.h"
- #include "kms_port.h"
- #include "sort.h"
-@@ -39,9 +40,12 @@ kms_kv_list_t *
- kms_kv_list_new (void)
- {
- kms_kv_list_t *lst = malloc (sizeof (kms_kv_list_t));
-+ KMS_ASSERT (lst);
-
- lst->size = 16;
- lst->kvs = malloc (lst->size * sizeof (kms_kv_t));
-+ KMS_ASSERT (lst->kvs);
-+
- lst->len = 0;
-
- return lst;
-@@ -72,6 +76,7 @@ kms_kv_list_add (kms_kv_list_t *lst,
- if (lst->len == lst->size) {
- lst->size *= 2;
- lst->kvs = realloc (lst->kvs, lst->size * sizeof (kms_kv_t));
-+ KMS_ASSERT (lst->kvs);
- }
-
- kv_init (&lst->kvs[lst->len], key, value);
-@@ -84,7 +89,7 @@ kms_kv_list_find (const kms_kv_list_t *lst, const char *key)
- size_t i;
-
- for (i = 0; i < lst->len; i++) {
-- if (0 == strcasecmp (lst->kvs[i].key->str, key)) {
-+ if (0 == kms_strcasecmp (lst->kvs[i].key->str, key)) {
- return &lst->kvs[i];
- }
- }
-@@ -119,8 +124,12 @@ kms_kv_list_dup (const kms_kv_list_t *lst)
- }
-
- dup = malloc (sizeof (kms_kv_list_t));
-+ KMS_ASSERT (dup);
-+
- dup->size = dup->len = lst->len;
- dup->kvs = malloc (lst->len * sizeof (kms_kv_t));
-+ KMS_ASSERT (dup->kvs);
-+
-
- for (i = 0; i < lst->len; i++) {
- kv_init (&dup->kvs[i], lst->kvs[i].key, lst->kvs[i].value);
-diff --git a/src/third_party/kms-message/src/kms_message/kms_message.h b/src/third_party/kms-message/src/kms_message/kms_message.h
-index 6ea95dd04c..8048528f2e 100644
---- a/src/third_party/kms-message/src/kms_message/kms_message.h
-+++ b/src/third_party/kms-message/src/kms_message/kms_message.h
-@@ -17,6 +17,8 @@
- #ifndef KMS_MESSAGE_H
- #define KMS_MESSAGE_H
-
-+#include <sys/types.h>
-+
- #include "kms_message_defines.h"
- #include "kms_request_opt.h"
- #include "kms_request.h"
-diff --git a/src/third_party/kms-message/src/kms_message/kms_message_defines.h b/src/third_party/kms-message/src/kms_message/kms_message_defines.h
-index a4d019bd77..a539d531ef 100644
---- a/src/third_party/kms-message/src/kms_message/kms_message_defines.h
-+++ b/src/third_party/kms-message/src/kms_message/kms_message_defines.h
-@@ -53,4 +53,14 @@ kms_message_cleanup (void);
- } /* extern "C" */
- #endif
-
-+#ifdef _MSC_VER
-+#include <basetsd.h>
-+#pragma warning(disable : 4142)
-+#ifndef _SSIZE_T_DEFINED
-+#define _SSIZE_T_DEFINED
-+typedef SSIZE_T ssize_t;
-+#endif
-+#pragma warning(default : 4142)
-+#endif
-+
- #endif /* KMS_MESSAGE_DEFINES_H */
-diff --git a/src/third_party/kms-message/src/kms_port.c b/src/third_party/kms-message/src/kms_port.c
-new file mode 100644
-index 0000000000..ee9e6ed9c9
---- /dev/null
-+++ b/src/third_party/kms-message/src/kms_port.c
-@@ -0,0 +1,33 @@
-+/*
-+ * Copyright 2020-present MongoDB, Inc.
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ * http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
-+#include "kms_port.h"
-+#if defined(_WIN32)
-+#include <stdlib.h>
-+#include <string.h>
-+char * kms_strndup (const char *src, size_t len)
-+{
-+ char *dst = (char *) malloc (len + 1);
-+ if (!dst) {
-+ return 0;
-+ }
-+
-+ memcpy (dst, src, len);
-+ dst[len] = '\0';
-+
-+ return dst;
-+}
-+#endif
-\ No newline at end of file
-diff --git a/src/third_party/kms-message/src/kms_port.h b/src/third_party/kms-message/src/kms_port.h
-index c3cbbac369..2123a99dc9 100644
---- a/src/third_party/kms-message/src/kms_port.h
-+++ b/src/third_party/kms-message/src/kms_port.h
-@@ -15,21 +15,18 @@
- * limitations under the License.
- */
-
--#if defined(_WIN32)
--#define strcasecmp _stricmp
--
--inline char *
--strndup (const char *src, size_t len)
--{
-- char *dst = (char *) malloc (len + 1);
-- if (!dst) {
-- return 0;
-- }
--
-- memcpy (dst, src, len);
-- dst[len] = '\0';
-+#ifndef KMS_PORT_H
-+#define KMS_PORT_H
-
-- return dst;
--}
-+#include <stddef.h>
-
-+#if defined(_WIN32)
-+#define kms_strcasecmp _stricmp
-+char *
-+kms_strndup (const char *src, size_t len);
-+#else
-+#define kms_strndup strndup
-+#define kms_strcasecmp strcasecmp
- #endif
-+
-+#endif /* KMS_PORT_H */
-\ No newline at end of file
-diff --git a/src/third_party/kms-message/src/kms_request.c b/src/third_party/kms-message/src/kms_request.c
-index fa2d487123..ac2b07ea6b 100644
---- a/src/third_party/kms-message/src/kms_request.c
-+++ b/src/third_party/kms-message/src/kms_request.c
-@@ -61,6 +61,7 @@ kms_request_new (const char *method,
- kms_request_t *request = calloc (1, sizeof (kms_request_t));
- const char *question_mark;
-
-+ KMS_ASSERT (request);
- /* parsing may set failed to true */
- request->failed = false;
-
-@@ -92,10 +93,14 @@ kms_request_new (const char *method,
- request->header_fields = kms_kv_list_new ();
- request->auto_content_length = true;
-
-- kms_request_set_date (request, NULL);
-+ if (!kms_request_set_date (request, NULL)) {
-+ return request;
-+ }
-
- if (opt && opt->connection_close) {
-- kms_request_add_header_field (request, "Connection", "close");
-+ if (!kms_request_add_header_field (request, "Connection", "close")) {
-+ return request;
-+ }
- }
-
- if (opt && opt->crypto.sha256) {
-@@ -164,7 +169,9 @@ kms_request_set_date (kms_request_t *request, const struct tm *tm)
- kms_request_str_set_chars (request->date, buf, sizeof "YYYYmmDD" - 1);
- kms_request_str_set_chars (request->datetime, buf, sizeof AMZ_DT_FORMAT - 1);
- kms_kv_list_del (request->header_fields, "X-Amz-Date");
-- kms_request_add_header_field (request, "X-Amz-Date", buf);
-+ if (!kms_request_add_header_field (request, "X-Amz-Date", buf)) {
-+ return false;
-+ }
-
- return true;
- }
-@@ -309,7 +316,8 @@ append_canonical_headers (kms_kv_list_t *lst, kms_request_str_t *str)
- * values in headers that have multiple values." */
- for (i = 0; i < lst->len; i++) {
- kv = &lst->kvs[i];
-- if (previous_key && 0 == strcasecmp (previous_key->str, kv->key->str)) {
-+ if (previous_key &&
-+ 0 == kms_strcasecmp (previous_key->str, kv->key->str)) {
- /* duplicate header */
- kms_request_str_append_char (str, ',');
- kms_request_str_append_stripped (str, kv->value);
-@@ -339,12 +347,13 @@ append_signed_headers (kms_kv_list_t *lst, kms_request_str_t *str)
-
- for (i = 0; i < lst->len; i++) {
- kv = &lst->kvs[i];
-- if (previous_key && 0 == strcasecmp (previous_key->str, kv->key->str)) {
-+ if (previous_key &&
-+ 0 == kms_strcasecmp (previous_key->str, kv->key->str)) {
- /* duplicate header */
- continue;
- }
-
-- if (0 == strcasecmp (kv->key->str, "connection")) {
-+ if (0 == kms_strcasecmp (kv->key->str, "connection")) {
- continue;
- }
-
-@@ -412,7 +421,8 @@ finalize (kms_request_t *request)
- static int
- cmp_header_field_names (const void *a, const void *b)
- {
-- return strcasecmp (((kms_kv_t *) a)->key->str, ((kms_kv_t *) b)->key->str);
-+ return kms_strcasecmp (((kms_kv_t *) a)->key->str,
-+ ((kms_kv_t *) b)->key->str);
- }
-
- static kms_kv_list_t *
-@@ -447,6 +457,7 @@ kms_request_get_canonical (kms_request_t *request)
- kms_request_str_append_newline (canonical);
- normalized = kms_request_str_path_normalized (request->path);
- kms_request_str_append_escaped (canonical, normalized, false);
-+ kms_request_str_destroy (normalized);
- kms_request_str_append_newline (canonical);
- append_canonical_query (request, canonical);
- kms_request_str_append_newline (canonical);
-@@ -454,12 +465,14 @@ kms_request_get_canonical (kms_request_t *request)
- append_canonical_headers (lst, canonical);
- kms_request_str_append_newline (canonical);
- append_signed_headers (lst, canonical);
-- kms_request_str_append_newline (canonical);
-- kms_request_str_append_hashed (
-- &request->crypto, canonical, request->payload);
--
-- kms_request_str_destroy (normalized);
- kms_kv_list_destroy (lst);
-+ kms_request_str_append_newline (canonical);
-+ if (!kms_request_str_append_hashed (
-+ &request->crypto, canonical, request->payload)) {
-+ KMS_ERROR (request, "could not generate hash");
-+ kms_request_str_destroy (canonical);
-+ return NULL;
-+ }
-
- return kms_request_str_detach (canonical);
- }
-@@ -514,6 +527,10 @@ kms_request_get_string_to_sign (kms_request_t *request)
- kms_request_str_append_chars (sts, "/aws4_request\n", -1);
-
- creq = kms_request_str_wrap (kms_request_get_canonical (request), -1);
-+ if (!creq) {
-+ goto done;
-+ }
-+
- if (!kms_request_str_append_hashed (&request->crypto, sts, creq)) {
- goto done;
- }
-diff --git a/src/third_party/kms-message/src/kms_request_str.c b/src/third_party/kms-message/src/kms_request_str.c
-index 0f7c19c972..65207d2f4f 100644
---- a/src/third_party/kms-message/src/kms_request_str.c
-+++ b/src/third_party/kms-message/src/kms_request_str.c
-@@ -51,10 +51,13 @@ kms_request_str_t *
- kms_request_str_new (void)
- {
- kms_request_str_t *s = malloc (sizeof (kms_request_str_t));
-+ KMS_ASSERT (s);
-
- s->len = 0;
- s->size = 16;
- s->str = malloc (s->size);
-+ KMS_ASSERT (s->str);
-+
- s->str[0] = '\0';
-
- return s;
-@@ -64,11 +67,15 @@ kms_request_str_t *
- kms_request_str_new_from_chars (const char *chars, ssize_t len)
- {
- kms_request_str_t *s = malloc (sizeof (kms_request_str_t));
-+ KMS_ASSERT (s);
-+
- size_t actual_len;
-
- actual_len = len < 0 ? strlen (chars) : (size_t) len;
- s->size = actual_len + 1;
- s->str = malloc (s->size);
-+ KMS_ASSERT (s->str);
-+
- memcpy (s->str, chars, actual_len);
- s->str[actual_len] = '\0';
- s->len = actual_len;
-@@ -86,6 +93,8 @@ kms_request_str_wrap (char *chars, ssize_t len)
- }
-
- s = malloc (sizeof (kms_request_str_t));
-+ KMS_ASSERT (s);
-+
-
- s->str = chars;
- s->len = len < 0 ? strlen (chars) : (size_t) len;
-@@ -148,8 +157,10 @@ kms_request_str_t *
- kms_request_str_dup (kms_request_str_t *str)
- {
- kms_request_str_t *dup = malloc (sizeof (kms_request_str_t));
-+ KMS_ASSERT (dup);
-+
-
-- dup->str = strndup (str->str, str->len);
-+ dup->str = kms_strndup (str->str, str->len);
- dup->len = str->len;
- dup->size = str->len + 1;
-
-diff --git a/src/third_party/kms-message/src/kms_request_str.h b/src/third_party/kms-message/src/kms_request_str.h
-index f053a595aa..0898f59067 100644
---- a/src/third_party/kms-message/src/kms_request_str.h
-+++ b/src/third_party/kms-message/src/kms_request_str.h
-@@ -25,11 +25,6 @@
- #include <stdint.h>
- #include <string.h>
-
--#if defined(_WIN32)
--#include <basetsd.h>
--typedef SSIZE_T ssize_t;
--#endif // _WIN32
--
- typedef struct {
- char *str;
- size_t len;
-diff --git a/src/third_party/kms-message/src/kms_response_parser.c b/src/third_party/kms-message/src/kms_response_parser.c
-index 31e4868a68..6f86fac854 100644
---- a/src/third_party/kms-message/src/kms_response_parser.c
-+++ b/src/third_party/kms-message/src/kms_response_parser.c
-@@ -1,7 +1,7 @@
- #include "kms_message/kms_response_parser.h"
- #include "kms_message_private.h"
-
--#include "kms_message_private.h"
-+#include <errno.h>
- #include <limits.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -24,6 +24,7 @@ _parser_init (kms_response_parser_t *parser)
- parser->raw_response = kms_request_str_new ();
- parser->content_length = -1;
- parser->response = calloc (1, sizeof (kms_response_t));
-+ KMS_ASSERT (parser->response);
- parser->response->headers = kms_kv_list_new ();
- parser->state = PARSING_STATUS_LINE;
- parser->start = 0;
-@@ -34,6 +35,8 @@ kms_response_parser_t *
- kms_response_parser_new (void)
- {
- kms_response_parser_t *parser = malloc (sizeof (kms_response_parser_t));
-+ KMS_ASSERT (parser);
-+
- _parser_init (parser);
- return parser;
- }
-@@ -59,11 +62,26 @@ static bool
- _parse_int (const char *str, int *result)
- {
- char *endptr = NULL;
-+ int64_t long_result;
-
-- *result = (int) strtol (str, &endptr, 10);
-- if (*endptr) {
-+ errno = 0;
-+ long_result = strtol (str, &endptr, 10);
-+ if (endptr == str) {
-+ /* No digits were parsed. Consider this an error */
-+ return false;
-+ }
-+ if (endptr != NULL && *endptr != '\0') {
-+ /* endptr points to the first invalid character. */
-+ return false;
-+ }
-+ if (errno == EINVAL || errno == ERANGE) {
-+ return false;
-+ }
-+ if (long_result > INT32_MAX || long_result < INT32_MIN) {
- return false;
- }
-+ *result = (int) long_result;
-+
- return true;
- }
-
-@@ -72,6 +90,8 @@ static bool
- _parse_int_from_view (const char *str, int start, int end, int *result)
- {
- char *num_str = malloc (end - start + 1);
-+ KMS_ASSERT (num_str);
-+
- bool ret;
-
- strncpy (num_str, str + start, end - start);
-diff --git a/src/third_party/scripts/kms_message_get_sources.sh b/src/third_party/scripts/kms_message_get_sources.sh
-index 6ad2fbb0e6..52ce21b9dd 100755
---- a/src/third_party/scripts/kms_message_get_sources.sh
-+++ b/src/third_party/scripts/kms_message_get_sources.sh
-@@ -18,7 +18,7 @@ if grep -q Microsoft /proc/version; then
- fi
-
- NAME=libmongocrypt
--REVISION=59c8c17bbdfa1cf0fdec60cfdde73a437a868221
-+REVISION=052f7fc610f0cea83a2adf3dd263a5ff04833371
-
- if grep -q Microsoft /proc/version; then
- SRC_ROOT=$(wslpath -u $(powershell.exe -Command "Get-ChildItem Env:TEMP | Get-Content | Write-Host"))
---
-2.24.0
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-server-Adjust-the-cache-alignment-assumptions.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-server-Adjust-the-cache-alignment-assumptions.patch
new file mode 100644
index 0000000000..52c9df9b1b
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-server-Adjust-the-cache-alignment-assumptions.patch
@@ -0,0 +1,37 @@
+From 5c9e0d0fc9188bab0ae09c9c33df01938b0c1b6c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 14 Apr 2022 09:25:33 -0700
+Subject: [PATCH] server: Adjust the cache alignment assumptions
+
+aarch64 has 256 for hardware_destructive_interference_size and gcc 12
+has added a warning to complain about mismatches which results in
+static_assert failures
+
+In file included from src/mongo/s/commands/cluster_find_cmd.cpp:39:
+src/mongo/db/stats/counters.h:185:47: error: static assertion failed: cache line spill
+ 185 | static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
+ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The structure need to ensure true sharing for both the elements
+so align it to hardware_constructive_interference_size instead
+
+Upstream-Status: Inappropriate [https://jira.mongodb.org/browse/SERVER-65664]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mongo/db/stats/counters.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/src/mongo/db/stats/counters.h
++++ b/src/mongo/db/stats/counters.h
+@@ -182,8 +182,8 @@ private:
+ AtomicWord<long long> requests{0};
+ };
+ CacheAligned<Together> _together{};
+- static_assert(sizeof(decltype(_together)) <= stdx::hardware_constructive_interference_size,
+- "cache line spill");
++ static_assert(sizeof(Together) <= stdx::hardware_constructive_interference_size,
++ "cache line spill");
+
+ CacheAligned<AtomicWord<long long>> _logicalBytesOut{0};
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-wiredtiger-Avoid-using-off64_t.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-wiredtiger-Avoid-using-off64_t.patch
new file mode 100644
index 0000000000..abe6898554
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0001-wiredtiger-Avoid-using-off64_t.patch
@@ -0,0 +1,30 @@
+From 0508c1518c2e7c586a231d344e9f93b08507885b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 31 Dec 2022 14:23:40 -0800
+Subject: [PATCH] wiredtiger: Avoid using off64_t
+
+off64_t is not available on musl since off_t is already 64bit by
+default. Therefore replace using off64_t with off_t
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/third_party/wiredtiger/src/os_posix/os_fs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/third_party/wiredtiger/src/os_posix/os_fs.c b/src/third_party/wiredtiger/src/os_posix/os_fs.c
+index 3898eb74343..9ce2d5edb38 100644
+--- a/src/third_party/wiredtiger/src/os_posix/os_fs.c
++++ b/src/third_party/wiredtiger/src/os_posix/os_fs.c
+@@ -533,7 +533,7 @@ __posix_file_sync_nowait(WT_FILE_HANDLE *file_handle, WT_SESSION *wt_session)
+ pfh = (WT_FILE_HANDLE_POSIX *)file_handle;
+
+ /* See comment in __posix_sync(): sync cannot be retried or fail. */
+- WT_SYSCALL(sync_file_range(pfh->fd, (off64_t)0, (off64_t)0, SYNC_FILE_RANGE_WRITE), ret);
++ WT_SYSCALL(sync_file_range(pfh->fd, 0, 0, SYNC_FILE_RANGE_WRITE), ret);
+ if (ret == 0)
+ return (0);
+
+--
+2.39.0
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
index 57f4168f5a..d1e662f291 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0002-Add-a-definition-for-the-macro-__ELF_NATIVE_CLASS.patch
@@ -7,6 +7,8 @@ It depends on the native arch's word size.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+
+Upstream-Status: Pending
---
src/mongo/util/stacktrace_posix.cpp | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
index 910ef0b5f4..d2ba6eb805 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0003-Fix-unknown-prefix-env.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: git/SConstruct
===================================================================
--- git.orig/SConstruct
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
index 2cea9bc31f..45051e103d 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/0004-wiredtiger-Disable-strtouq-on-musl.patch
@@ -4,6 +4,8 @@ Date: Sat, 2 Sep 2017 13:13:15 -0700
Subject: [PATCH 09/10] wiredtiger: Disable strtouq on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
---
src/third_party/wiredtiger/build_linux/wiredtiger_config.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch
index e4ae30776b..9259f96be8 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/1296.patch
@@ -1,4 +1,3 @@
-Upstream-Status: submitted https://github.com/mongodb/mongo/pull/1296
From 362be06fc16a5ad0f9e9aa90cc763c5242e8e35c Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sat, 9 Feb 2019 12:41:45 +0100
@@ -14,6 +13,8 @@ src/mongo/util/net/ssl_manager.cpp: In static member function 'static mongo::Sta
src/mongo/util/net/ssl_manager.cpp:575:79: error: invalid conversion from 'size_t* {aka unsigned int*}' to 'long unsigned int*' [-fpermissive]
if (mongoUnsignedAddOverflow64(tagAndLengthByteCount, derLength, outLength) ||
+Upstream-Status: Submitted [https://github.com/mongodb/mongo/pull/1296]
+
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
---
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch
index 1a7bf0fc52..24b0ad58b6 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/arm64-support.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 05/10] Add alises for arm64 which is same as aarch64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
+
+Upstream-Status: Pending
---
SConstruct | 1 +
src/third_party/IntelRDFPMathLib20U1/SConscript | 2 +-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch
new file mode 100644
index 0000000000..78ebba8fb7
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/disable_runtime_check.patch
@@ -0,0 +1,17 @@
+Lets use cached result for this otherwise runtime test, on qemuppc64
+when this test is run using gcc11, it returns 1, since we dont worry
+about older compilers here, we can cache the result and use it here
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/SConstruct
++++ b/SConstruct
+@@ -3904,7 +3904,7 @@ def doConfigure(myenv):
+
+ conf.AddTest('CheckAltivecVbpermqOutput', CheckAltivecVbpermqOutput)
+
+- outputIndex = next((idx for idx in [0,1] if conf.CheckAltivecVbpermqOutput(idx)), None)
++ outputIndex = 1
+ if outputIndex is not None:
+ conf.env.SetConfigHeaderDefine("MONGO_CONFIG_ALTIVEC_VEC_VBPERMQ_OUTPUT_INDEX", outputIndex)
+ else:
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch
new file mode 100644
index 0000000000..471d5629a1
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb/ppc64_ARCH_BITS.patch
@@ -0,0 +1,18 @@
+Subject: [PATCH] stacktrace: Define ARCH_BITS for ppc64
+
+src/mongo/util/stacktrace_somap.cpp:89:2: error: #error Unknown target architecture.
+stacktrace_somap.cpp:92:33: error: 'ELFCLASSARCH_BITS' was not declared in this scope
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/src/mongo/util/stacktrace_somap.cpp
++++ b/src/mongo/util/stacktrace_somap.cpp
+@@ -81,7 +81,7 @@ void addUnameToSoMap(BSONObjBuilder* soM
+
+ #if defined(__ELF_NATIVE_CLASS) // determine ARCH_BITS
+ #define ARCH_BITS __ELF_NATIVE_CLASS
+-#elif defined(__x86_64__) || defined(__aarch64__)
++#elif defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
+ #define ARCH_BITS 64
+ #elif defined(__i386__) || defined(__arm__)
+ #define ARCH_BITS 32
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
index d0c4eba7ee..ee5c77a85d 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
@@ -11,11 +11,10 @@ DEPENDS = "openssl libpcap zlib boost curl python3 \
inherit scons dos2unix siteinfo python3native systemd useradd
-PV = "4.4.1"
-#v4.4.1
-SRCREV = "ad91a93a5a31e175f5cbf8c69561e788bbc55ce1"
-SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \
- file://0001-kms-message-bump-libmongocrypto-to-v1.0.4.patch \
+PV = "4.4.24"
+#v4.4.24
+SRCREV = "0b86b9b7b42ad9970c5f818c527dd86c0634243a"
+SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4;protocol=https \
file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \
file://0001-Use-long-long-instead-of-int64_t.patch \
file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \
@@ -28,40 +27,63 @@ SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \
file://0001-Fix-compilation-with-fno-common.patch \
file://0001-stacktrace-Define-ARCH_BITS-for-x86.patch \
file://0001-include-needed-c-header.patch \
+ file://disable_runtime_check.patch \
+ file://ppc64_ARCH_BITS.patch \
+ file://0001-add-explict-static_cast-size_t-to-maxMemoryUsageByte.patch \
+ file://0001-server-Adjust-the-cache-alignment-assumptions.patch \
+ file://0001-The-std-lib-unary-binary_function-base-classes-are-d.patch \
+ file://0001-free_mon-Include-missing-cstdint.patch \
+ file://0001-apply-msvc-workaround-for-clang-16.patch \
+ file://0001-Fix-type-mismatch-on-32bit-arches.patch \
+ file://0001-Fix-build-on-32bit.patch \
"
-SRC_URI_append_libc-musl ="\
+SRC_URI:append:libc-musl ="\
file://0001-Mark-one-of-strerror_r-implementation-glibc-specific.patch \
file://0002-Fix-default-stack-size-to-256K.patch \
file://0004-wiredtiger-Disable-strtouq-on-musl.patch \
+ file://0001-wiredtiger-Avoid-using-off64_t.patch \
"
-SRC_URI_append_toolchain-clang = "\
+SRC_URI:append:toolchain-clang = "\
file://0001-asio-Dont-use-experimental-with-clang.patch \
"
-
S = "${WORKDIR}/git"
+CVE_STATUS[CVE-2014-8180] = "not-applicable-config: Not affecting our configuration so it can be safely ignored."
+CVE_STATUS[CVE-2017-2665] = "not-applicable-config: Not affecting our configuration so it can be safely ignored."
+
COMPATIBLE_HOST ?= '(x86_64|i.86|powerpc64|arm|aarch64).*-linux'
PACKAGECONFIG ??= "tcmalloc system-pcre"
# gperftools compilation fails for arm below v7 because of missing support of
# dmb operation. So we use system-allocator instead of tcmalloc
-PACKAGECONFIG_remove_armv6 = "tcmalloc"
-PACKAGECONFIG_remove_libc-musl = "tcmalloc"
-PACKAGECONFIG_remove_riscv64 = "tcmalloc"
-PACKAGECONFIG_remove_riscv32 = "tcmalloc"
+PACKAGECONFIG:remove:armv6 = "tcmalloc"
+PACKAGECONFIG:remove:libc-musl = "tcmalloc"
+PACKAGECONFIG:remove:riscv64 = "tcmalloc"
+PACKAGECONFIG:remove:riscv32 = "tcmalloc"
PACKAGECONFIG[tcmalloc] = "--use-system-tcmalloc,--allocator=system,gperftools,"
PACKAGECONFIG[shell] = ",--js-engine=none,,"
PACKAGECONFIG[system-pcre] = "--use-system-pcre,,libpcre,"
+MONGO_ARCH ?= "${HOST_ARCH}"
+MONGO_ARCH:powerpc64le = "ppc64le"
+WIREDTIGER ?= "off"
+WIREDTIGER:x86-64 = "on"
+WIREDTIGER:aarch64 = "on"
+
+# ld.gold: fatal error: build/59f4f0dd/mongo/mongod: Structure needs cleaning
+LDFLAGS:append:x86:libc-musl = " -fuse-ld=bfd"
+LDFLAGS:remove:toolchain-clang = "-fuse-ld=bfd"
+
EXTRA_OESCONS = "PREFIX=${prefix} \
DESTDIR=${D} \
+ MAXLINELENGTH='2097152' \
LIBPATH=${STAGING_LIBDIR} \
LINKFLAGS='${LDFLAGS}' \
CXXFLAGS='${CXXFLAGS}' \
- TARGET_ARCH=${TARGET_ARCH} \
+ TARGET_ARCH=${MONGO_ARCH} \
MONGO_VERSION=${PV} \
OBJCOPY=${OBJCOPY} \
--ssl \
@@ -69,52 +91,59 @@ EXTRA_OESCONS = "PREFIX=${prefix} \
--use-system-zlib \
--nostrip \
--endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
- --wiredtiger=${@['off','on'][d.getVar('SITEINFO_BITS') != '32']} \
+ --use-hardware-crc32=${@bb.utils.contains('TUNE_FEATURES', 'crc', 'on', 'off', d)} \
+ --wiredtiger='${WIREDTIGER}' \
--separate-debug \
${PACKAGECONFIG_CONFARGS}"
-
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --home-dir /var/run/${BPN} --shell /bin/false --user-group ${BPN}"
-
+USERADD_PARAM:${PN} = "--system --no-create-home --home-dir /var/run/${BPN} --shell /bin/false --user-group ${BPN}"
scons_do_compile() {
- ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} install-core || \
+ ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} install-core ||
die "scons build execution failed."
}
scons_do_install() {
- # install binaries
- install -d ${D}${bindir}
- for i in mongod mongos mongo
- do
- if [ -f ${B}/build/opt/mongo/${i} ]
- then
- install -m 0755 ${B}/build/opt/mongo/${i} ${D}${bindir}/${i}
- else
- bbnote "${i} does not exist"
- fi
- done
-
- # install config
- install -d ${D}${sysconfdir}
- install -m 0644 ${S}/debian/mongod.conf ${D}${sysconfdir}/
-
- # install systemd service
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${S}/debian/mongod.service ${D}${systemd_system_unitdir}
-
- # install mongo data folder
- install -m 755 -d ${D}${localstatedir}/lib/${BPN}
- chown ${PN}:${PN} ${D}${localstatedir}/lib/${BPN}
-
- # Log files
- install -m 755 -d ${D}${localstatedir}/log/${BPN}
- chown ${PN}:${PN} ${D}${localstatedir}/log/${BPN}
+ # install binaries
+ install -d ${D}${bindir}
+ for i in mongod mongos mongo; do
+ if [ -f ${B}/build/*/mongo/$i ]; then
+ install -m 0755 ${B}/build/*/mongo/$i ${D}${bindir}
+ else
+ bbnote "$i does not exist"
+ fi
+ done
+
+ # install config
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${S}/debian/mongod.conf ${D}${sysconfdir}
+
+ # install systemd service
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${S}/debian/mongod.service ${D}${systemd_system_unitdir}
+
+ # install mongo data folder
+ install -m 755 -d ${D}${localstatedir}/lib/${BPN}
+ chown ${BPN}:${BPN} ${D}${localstatedir}/lib/${BPN}
+
+ # Create /var/log/mongodb in runtime.
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then
+ install -d ${D}${nonarch_libdir}/tmpfiles.d
+ echo "d ${localstatedir}/log/${BPN} 0755 ${BPN} ${BPN} -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf
+ fi
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then
+ install -d ${D}${sysconfdir}/default/volatiles
+ echo "d ${BPN} ${BPN} 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN}
+ fi
}
-CONFFILES_${PN} = "${sysconfdir}/mongod.conf"
+CONFFILES:${PN} = "${sysconfdir}/mongod.conf"
+
+SYSTEMD_SERVICE:${PN} = "mongod.service"
-SYSTEMD_SERVICE_${PN} = "mongod.service"
+FILES:${PN} += "${nonarch_libdir}/tmpfiles.d"
+RDEPENDS:${PN} += "tzdata-core"
+SKIP_RECIPE[mongodb] ?= "Needs porting to python 3.12"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb-generator_0.4.8.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb-generator_0.4.8.bb
new file mode 100644
index 0000000000..c86750f8b6
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb-generator_0.4.8.bb
@@ -0,0 +1,14 @@
+require nanopb.inc
+
+inherit python3-dir
+
+DEPENDS = "protobuf-native"
+RDEPENDS:${PN} += "python3-protobuf"
+
+EXTRA_OECMAKE += " \
+ -Dnanopb_PYTHON_INSTDIR_OVERRIDE=${PYTHON_SITEPACKAGES_DIR} \
+ -Dnanopb_BUILD_RUNTIME=OFF \
+ -Dnanopb_BUILD_GENERATOR=ON \
+ "
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb-runtime_0.4.8.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb-runtime_0.4.8.bb
new file mode 100644
index 0000000000..e43931a4ec
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb-runtime_0.4.8.bb
@@ -0,0 +1,17 @@
+require nanopb.inc
+
+EXTRA_OECMAKE += " \
+ -Dnanopb_PROTOC_PATH=/bin/false \
+ -DBUILD_SHARED_LIBS=ON \
+ -Dnanopb_BUILD_RUNTIME=ON \
+ -Dnanopb_BUILD_GENERATOR=OFF \
+ "
+
+# Maintain compatability with old header locations for packages
+# which haven't yet migrated to `nanopb/pb*.h`
+do_install:append() {
+ for hdr in ${D}${includedir}/nanopb/*; do
+ ln -sv nanopb/$(basename "$hdr") ${D}${includedir}/
+ done
+}
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb.bb
new file mode 100644
index 0000000000..d4ab31a9b1
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Combined nanopb package"
+PV = "1.0"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit packagegroup
+
+DEPENDS = " \
+ nanopb-generator \
+ nanopb-runtime \
+"
+
+RDEPENDS:${PN} = " \
+ nanopb-generator \
+ nanopb-runtime \
+"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb.inc b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb.inc
new file mode 100644
index 0000000000..87dbc73e63
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb.inc
@@ -0,0 +1,13 @@
+DESCRIPTION="Protocol Buffers with small code size"
+LICENSE="Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f"
+
+SRC_URI = "git://github.com/nanopb/nanopb.git;branch=master;protocol=https"
+SRCREV = "6cfe48d6f1593f8fa5c0f90437f5e6522587745e"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb b/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb
deleted file mode 100644
index 19db89bdc0..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.4.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION="Protocol Buffers with small code size"
-LICENSE="Zlib"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f"
-
-DEPENDS = "protobuf-native"
-
-SRC_URI = "git://github.com/nanopb/nanopb.git"
-SRCREV = "2b48a361786dfb1f63d229840217a93aae064667"
-
-S = "${WORKDIR}/git"
-
-inherit cmake python3native
-
-do_install_append() {
- install -Dm 0755 ${S}/generator/nanopb_generator.py ${D}${bindir}/nanopb_generator.py
- install -Dm 0755 ${S}/generator/protoc-gen-nanopb ${D}${bindir}/protoc-gen-nanopb
- install -Dm 0755 ${S}/generator/proto/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/proto/__init__.py
-}
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
-FILES_${PN}-dev += "${libdir}/cmake/${BPN}"
-
-RDEPENDS_${PN} += "\
- ${PYTHON_PN}-protobuf \
- protobuf-compiler \
-"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch
deleted file mode 100644
index 35634dd9ba..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-compilation-with-GCC-10.x.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 9b07f6a472c24f5e1b65746756764391be0d55e4 Mon Sep 17 00:00:00 2001
-From: Harald Geyer <harald@ccbib.org>
-Date: Mon, 10 Feb 2020 13:15:10 +0100
-Subject: [PATCH] Fix compilation with GCC >= 10.x
-
-Starting with GCC >= 10.x, -fno-common is used as default
-instead of -fcommon. This patch fixes the compilation.
-
-Closes: #148
-
-Upstream-Status: Backport
-Suggested-by: Conrad Kostecki <conrad@kostecki.com>
-Signed-off-by: Harald Geyer <harald@ccbib.org>
----
- clients/lcdproc/iface.c | 1 +
- clients/lcdproc/iface.h | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/clients/lcdproc/iface.c b/clients/lcdproc/iface.c
-index 40e50cb7..1ac355bd 100644
---- a/clients/lcdproc/iface.c
-+++ b/clients/lcdproc/iface.c
-@@ -32,6 +32,7 @@
- #define UNSET_INT -1
- #define UNSET_STR "\01"
-
-+IfaceInfo iface[MAX_INTERFACES];
-
- static int iface_count = 0; /* number of interfaces */
- static char unit_label[10] = "B"; /* default unit label is Bytes */
-diff --git a/clients/lcdproc/iface.h b/clients/lcdproc/iface.h
-index cc6dbaaf..c1bd6b5b 100644
---- a/clients/lcdproc/iface.h
-+++ b/clients/lcdproc/iface.h
-@@ -18,7 +18,7 @@
- /** max number of interfaces in multi-interface mode */
- #define MAX_INTERFACES 3
-
--IfaceInfo iface[MAX_INTERFACES]; /* interface info */
-+extern IfaceInfo iface[MAX_INTERFACES]; /* interface info */
-
- /** Update screen content */
- int iface_screen(int rep, int display, int *flags_ptr);
---
-2.28.0
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch
deleted file mode 100644
index f6a7956db2..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a20feee4963bc38975fbaf44bbe85a31825f59db Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Apr 2019 17:28:28 -0700
-Subject: [PATCH 1/3] Fix parallel build (fix port-internal make dependencies)
- on many cores
-
-Upstream-Status: Submitted [https://github.com/lcdproc/lcdproc/pull/142]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- server/drivers/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/server/drivers/Makefile.am b/server/drivers/Makefile.am
-index e08f2b2d..4fd2e3f1 100644
---- a/server/drivers/Makefile.am
-+++ b/server/drivers/Makefile.am
-@@ -47,11 +47,11 @@ CwLnx_LDADD = libLCD.a libbignum.a
- futaba_LDADD = @LIBUSB_LIBS@ @LIBUSB_1_0_LIBS@ libLCD.a
- g15_LDADD = @LIBG15@
- glcd_LDADD = libLCD.a @GLCD_DRIVERS@ @FT2_LIBS@ @LIBPNG_LIBS@ @LIBSERDISP@ @LIBUSB_LIBS@ @LIBX11_LIBS@
--glcd_DEPENDENCIES = @GLCD_DRIVERS@ glcd-glcd-render.o
-+glcd_DEPENDENCIES = @GLCD_DRIVERS@ glcd-glcd-render.o libLCD.a
- glcdlib_LDADD = @LIBGLCD@
- glk_LDADD = libbignum.a
- hd44780_LDADD = libLCD.a @HD44780_DRIVERS@ @HD44780_I2C@ @LIBUSB_LIBS@ @LIBFTDI_LIBS@ @LIBUGPIO@ libbignum.a
--hd44780_DEPENDENCIES = @HD44780_DRIVERS@ @HD44780_I2C@
-+hd44780_DEPENDENCIES = @HD44780_DRIVERS@ @HD44780_I2C@ libLCD.a libbignum.a
- i2500vfd_LDADD = @LIBFTDI_LIBS@
- imon_LDADD = libLCD.a libbignum.a
- imonlcd_LDADD = libLCD.a
---
-2.24.1
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch
deleted file mode 100644
index eb866bf10a..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0002-Include-limits.h-for-PATH_MAX-definition.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From d447a05ee560ba5894d2ed4cd93d0475c2f3c08e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 17 Dec 2019 17:39:32 -0800
-Subject: [PATCH 2/3] Include <limits.h> for PATH_MAX definition
-
-musl libc exposes the missing include
-
-Upstream-Status: Submitted [https://github.com/lcdproc/lcdproc/pull/142]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- server/drivers/hidraw_lib.c | 1 +
- server/drivers/linux_input.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/server/drivers/hidraw_lib.c b/server/drivers/hidraw_lib.c
-index 49b03f20..3b51f279 100644
---- a/server/drivers/hidraw_lib.c
-+++ b/server/drivers/hidraw_lib.c
-@@ -8,6 +8,7 @@
- #include <dirent.h>
- #include <errno.h>
- #include <fcntl.h>
-+#include <limits.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/ioctl.h>
-diff --git a/server/drivers/linux_input.c b/server/drivers/linux_input.c
-index 5b914d4c..6fcfc591 100644
---- a/server/drivers/linux_input.c
-+++ b/server/drivers/linux_input.c
-@@ -5,6 +5,7 @@
-
- #include <dirent.h>
- #include <errno.h>
-+#include <limits.h>
- #include <stdint.h>
- #include <stdio.h>
- #include <stdlib.h>
---
-2.24.1
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch
deleted file mode 100644
index e39e9bda14..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc/0003-Fix-non-x86-platforms-on-musl.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 7fd144f101fa5c9316d3468ed26f55629afe1305 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 17 Dec 2019 17:55:54 -0800
-Subject: [PATCH 3/3] Fix non x86 platforms on musl
-
-Musl only specifies in/outb for x86/x86. Use the fallback path in case
-musl is used.
-
-This should fail compilation during the linking stage but for some reason
-does not. Will do if -Werror=implicit-function-declaration is specified.
-
-Original here: https://github.com/openwrt/packages/blob/master/utils/lcdproc/patches/110-in-outb.patch
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- server/drivers/port.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/server/drivers/port.h b/server/drivers/port.h
-index c584cd4e..bde235b3 100644
---- a/server/drivers/port.h
-+++ b/server/drivers/port.h
-@@ -94,7 +94,7 @@ static inline int port_deny_multiple(unsigned short port, unsigned short count);
- /* ---------------------------- Linux ------------------------------------ */
- /* Use ioperm, inb and outb in <sys/io.h> (Linux) */
- /* And iopl for higher addresses of PCI LPT cards */
--#if defined HAVE_IOPERM
-+#if defined(__GLIBC__) || (defined(__x86__) || defined(__x86_64__))
-
- /* Glibc2 and Glibc1 */
- # ifdef HAVE_SYS_IO_H
---
-2.24.1
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
index 35585d0690..c29c51a2ae 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
+++ b/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb
@@ -3,20 +3,15 @@ shipped with this package can be used to acquire various kinds of system stats."
SUMMARY = "Drivers for character-based LCD displays"
HOMEPAGE = "http://lcdproc.org"
SECTION = "utils"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
DEPENDS = "ncurses lirc"
LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
file://README.md;beginline=107;md5=5db392f043253a2d64b1737068ce6b58"
-PV = "0.5.9+git${SRCPV}"
-SRCREV = "3a3d622d9bb74c44fa67bc20573751a207514134"
-SRC_URI = "git://github.com/lcdproc/lcdproc \
- file://0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch \
- file://0002-Include-limits.h-for-PATH_MAX-definition.patch \
- file://0003-Fix-non-x86-platforms-on-musl.patch \
- file://0001-Fix-compilation-with-GCC-10.x.patch \
- "
+PV = "0.5.9+git"
+SRCREV = "0e2ce9b9c46c47363436f9ee730f7c71bf455f0f"
+SRC_URI = "git://github.com/lcdproc/lcdproc;branch=master;protocol=https"
S = "${WORKDIR}/git"
@@ -24,9 +19,9 @@ inherit autotools pkgconfig update-rc.d
LCD_DRIVERS ?= "all,!irman,!svga${SERIALVFD}"
SERIALVFD ?= ""
-SERIALVFD_libc-musl = ",!serialVFD"
-SERIALVFD_libc-musl_x86 = ""
-SERIALVFD_libc-musl_x86-64 = ""
+SERIALVFD:libc-musl = ",!serialVFD"
+SERIALVFD:libc-musl:x86 = ""
+SERIALVFD:libc-musl:x86-64 = ""
LCD_DEFAULT_DRIVER ?= "curses"
@@ -37,7 +32,7 @@ PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render,"
PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid"
PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
-LCD_DRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
+LCD_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
EXTRA_OECONF = "--enable-drivers='${LCD_DRIVERS}'"
@@ -74,33 +69,33 @@ do_install () {
PACKAGES =+ "lcdd lcdvc"
-RRECOMMENDS_${PN} = "lcdd"
+RRECOMMENDS:${PN} = "lcdd"
-FILES_lcdd = "${sysconfdir}/LCDd.conf \
+FILES:lcdd = "${sysconfdir}/LCDd.conf \
${sbindir}/LCDd \
${sysconfdir}/init.d/lcdd"
-CONFFILES_lcdd = "${sysconfdir}/LCDd.conf"
-CONFFILES_${PN} = "${sysconfdir}/lcdproc.conf"
-CONFFILES_lcdvc = "${sysconfdir}/lcdvc.conf"
-FILES_lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc"
+CONFFILES:lcdd = "${sysconfdir}/LCDd.conf"
+CONFFILES:${PN} = "${sysconfdir}/lcdproc.conf"
+CONFFILES:lcdvc = "${sysconfdir}/lcdvc.conf"
+FILES:lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc"
# Driver packages
# USB / no USB trickery
-RCONFLICTS_lcdd-driver-hd47780nousb = "lcdd-driver-hd44780"
-RCONFLICTS_lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb"
+RCONFLICTS:lcdd-driver-hd47780nousb = "lcdd-driver-hd44780"
+RCONFLICTS:lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb"
INITSCRIPT_PACKAGES = "lcdd lcdproc"
-INITSCRIPT_NAME_lcdd = "lcdd"
-INITSCRIPT_NAME_lcdproc = "lcdproc"
-INITSCRIPT_PARAMS_lcdd = "defaults 70 21"
-INITSCRIPT_PARAMS_lcdproc = "defaults 71 20"
+INITSCRIPT_NAME:lcdd = "lcdd"
+INITSCRIPT_NAME:lcdproc = "lcdproc"
+INITSCRIPT_PARAMS:lcdd = "defaults 70 21"
+INITSCRIPT_PARAMS:lcdproc = "defaults 71 20"
-python populate_packages_prepend() {
+python populate_packages:prepend() {
plugindir = d.expand('${libdir}/lcdproc')
- do_split_packages(d, plugindir, '(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
+ do_split_packages(d, plugindir, r'(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
}
PACKAGES_DYNAMIC += "^lcdd-driver-.*"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Port-build-to-python3.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Port-build-to-python3.patch
deleted file mode 100644
index e525047df4..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Port-build-to-python3.patch
+++ /dev/null
@@ -1,6897 +0,0 @@
-From 33a373ba41d978af60c2f0230bcba6ad27357ec8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Wed, 29 Jan 2020 16:25:11 +0100
-Subject: [PATCH] Port build to python3
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* first tool of choice was 2to3
-* some parts were taken from [1] but during work it was found that this patch
- introduces interesting effects - see hash functions. Working more on this
- makes me guess that one has never worked...
-* Few parts were taken from upstream mirror [2]. Since they use six for porting
- to python3 it adds us a new dependency.
-* To get a better overview what is going on or failing some additional messages
- were added. The most verbose one is left disabled - see
- python/mozbuild/mozbuild/configure/__init__.py / Line 310 onwards
-* major changes upstream on build are not to expect so upgrading should cause
- little trouble and changes can be tracked by [3]
-* some solutions are workarounds/hacks so this patch will not be accepeted
- upstream. This should not be a probelme for us: once mozjs >= 68 will arrive
- we have to go to rust/cargo based build anyway.
-
-[1] https://code.foxkit.us/adelie/packages/blob/f2b5773da19ab397fbe64fd32dacc383cfe4cd77/user/mozjs/python3.patch
-[2] https://github.com/mozilla/gecko-dev
-[3] https://github.com/mozilla/gecko-dev/tree/esr60
-
-Upstream-Status: Inaproppriate [Some Hacks]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- build/autoconf/config.status.m4 | 2 +-
- build/moz.configure/android-ndk.configure | 4 +-
- build/moz.configure/checks.configure | 4 +-
- build/moz.configure/init.configure | 31 +-
- build/moz.configure/keyfiles.configure | 4 +-
- build/moz.configure/old.configure | 32 +-
- build/moz.configure/toolchain.configure | 18 +-
- build/moz.configure/util.configure | 9 +-
- build/moz.configure/windows.configure | 10 +-
- build/templates.mozbuild | 2 +-
- config/MozZipFile.py | 12 +-
- config/expandlibs.py | 6 +-
- config/expandlibs_exec.py | 14 +-
- config/expandlibs_gen.py | 4 +-
- configure.py | 42 +-
- js/src/build/moz.build | 8 +-
- js/src/builtin/embedjs.py | 10 +-
- js/src/configure | 2 +-
- js/src/frontend/GenerateReservedWords.py | 6 +-
- js/src/gc/GenerateStatsPhases.py | 4 +-
- js/src/old-configure.in | 2 +
- memory/build/moz.build | 8 +-
- mozglue/build/moz.build | 22 +-
- .../mozbuild/mozbuild/action/check_binary.py | 2 +
- .../mozbuild/action/process_define_files.py | 4 +-
- python/mozbuild/mozbuild/backend/base.py | 8 +-
- python/mozbuild/mozbuild/backend/common.py | 8 +-
- .../mozbuild/backend/configenvironment.py | 14 +-
- .../mozbuild/mozbuild/backend/fastermake.py | 10 +-
- .../mozbuild/backend/recursivemake.py | 181 +++----
- python/mozbuild/mozbuild/config_status.py | 7 +-
- .../mozbuild/mozbuild/configure/__init__.py | 83 +++-
- .../mozbuild/configure/check_debug_ranges.py | 6 +-
- python/mozbuild/mozbuild/configure/options.py | 24 +-
- python/mozbuild/mozbuild/configure/util.py | 12 +-
- .../mozbuild/mozbuild/controller/building.py | 16 +-
- python/mozbuild/mozbuild/frontend/context.py | 89 ++--
- python/mozbuild/mozbuild/frontend/data.py | 8 +-
- python/mozbuild/mozbuild/frontend/emitter.py | 50 +-
- python/mozbuild/mozbuild/frontend/reader.py | 49 +-
- python/mozbuild/mozbuild/frontend/sandbox.py | 3 +-
- python/mozbuild/mozbuild/jar.py | 12 +-
- python/mozbuild/mozbuild/makeutil.py | 24 +-
- python/mozbuild/mozbuild/mozinfo.py | 8 +-
- python/mozbuild/mozbuild/preprocessor.py | 27 +-
- python/mozbuild/mozbuild/shellutil.py | 6 +-
- .../test/backend/test_recursivemake.py | 18 +-
- .../mozbuild/test/configure/common.py | 8 +-
- .../mozbuild/mozbuild/test/configure/lint.py | 8 +-
- .../test/configure/test_checks_configure.py | 8 +-
- .../test/configure/test_compile_checks.py | 4 +-
- .../mozbuild/test/configure/test_configure.py | 244 +++++-----
- .../mozbuild/test/configure/test_lint.py | 24 +-
- .../test/configure/test_moz_configure.py | 32 +-
- .../mozbuild/test/configure/test_options.py | 450 +++++++++---------
- .../configure/test_toolchain_configure.py | 22 +-
- .../test/configure/test_toolchain_helpers.py | 62 +--
- .../configure/test_toolkit_moz_configure.py | 2 +-
- .../mozbuild/test/configure/test_util.py | 8 +-
- python/mozbuild/mozbuild/testing.py | 10 +-
- python/mozbuild/mozbuild/util.py | 79 ++-
- python/mozbuild/mozbuild/virtualenv.py | 6 +-
- python/mozbuild/mozpack/chrome/manifest.py | 6 +-
- python/mozbuild/mozpack/copier.py | 12 +-
- python/mozbuild/mozpack/files.py | 22 +-
- python/mozbuild/mozpack/manifests.py | 16 +-
- python/mozbuild/mozpack/mozjar.py | 37 +-
- .../manifestparser/manifestparser/ini.py | 13 +-
- .../manifestparser/manifestparser.py | 24 +-
- testing/mozbase/mozinfo/mozinfo/mozinfo.py | 26 +-
- .../mozprocess/mozprocess/processhandler.py | 10 +-
- third_party/python/which/which.py | 18 +-
- 72 files changed, 1081 insertions(+), 993 deletions(-)
-
-diff --git a/build/autoconf/config.status.m4 b/build/autoconf/config.status.m4
-index c75575386..543c2d682 100644
---- a/build/autoconf/config.status.m4
-+++ b/build/autoconf/config.status.m4
-@@ -122,7 +122,7 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
- dnl We're going to need [ ] for python syntax.
- changequote(<<<, >>>)dnl
--echo creating $CONFIG_STATUS
-+echo creating $CONFIG_STATUS in `pwd`
-
- cat > $CONFIG_STATUS <<EOF
-
-diff --git a/build/moz.configure/android-ndk.configure b/build/moz.configure/android-ndk.configure
-index 1067b8619..3b592a237 100644
---- a/build/moz.configure/android-ndk.configure
-+++ b/build/moz.configure/android-ndk.configure
-@@ -30,7 +30,7 @@ js_option('--with-android-version',
-
-
- @depends('--with-android-version', min_android_version, '--help')
--@imports(_from='__builtin__', _import='ValueError')
-+@imports(_from='builtins', _import='ValueError')
- def android_version(value, min_version, _):
- if not value:
- # Someone has passed --without-android-version.
-@@ -68,7 +68,7 @@ add_old_configure_assignment('android_ndk', ndk)
-
- @depends(ndk)
- @checking('for android ndk version')
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='open')
- def ndk_version(ndk):
- if not ndk:
- # Building 'js/src' for non-Android.
-diff --git a/build/moz.configure/checks.configure b/build/moz.configure/checks.configure
-index 516652da9..11e1091c6 100644
---- a/build/moz.configure/checks.configure
-+++ b/build/moz.configure/checks.configure
-@@ -14,7 +14,7 @@
-
-
- @template
--@imports(_from='__builtin__', _import='Exception')
-+@imports(_from='builtins', _import='Exception')
- def _declare_exceptions():
- class FatalCheckError(Exception):
- '''An exception to throw from a function decorated with @checking.
-@@ -57,7 +57,7 @@ def checking(what, callback=None):
- try:
- ret = func(*args, **kwargs)
- except FatalCheckError as e:
-- error = e.message
-+ error = str(e)
- display_ret = callback(ret) if callback else ret
- if display_ret is True:
- log.info('yes')
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 648ac2ded..4d74547d8 100644
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -14,7 +14,7 @@ option(env='DIST', nargs=1, help='DIST directory')
-
-
- @depends('--help', 'DIST')
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='open')
- @imports(_from='os.path', _import='exists')
- def check_build_environment(help, dist):
- topobjdir = os.path.realpath(os.path.abspath('.'))
-@@ -65,7 +65,7 @@ def check_build_environment(help, dist):
- # Check for CRLF line endings.
- with open(os.path.join(topsrcdir, 'configure.py'), 'rb') as fh:
- data = fh.read()
-- if '\r' in data:
-+ if b'\r' in data:
- die('\n ***\n'
- ' * The source tree appears to have Windows-style line endings.\n'
- ' *\n'
-@@ -269,7 +269,7 @@ def early_options():
- def early_options():
- return set(
- option.env
-- for option in __sandbox__._options.itervalues()
-+ for option in __sandbox__._options.values()
- if option.env
- )
- return early_options
-@@ -307,15 +307,15 @@ def mozconfig_options(mozconfig, automation, help):
- log.info(' %s' % arg)
- helper.add(arg, origin='mozconfig', args=helper._args)
-
-- for key, value in mozconfig['env']['added'].iteritems():
-+ for key, value in mozconfig['env']['added'].items():
- add(key, value)
- os.environ[key] = value
-- for key, (_, value) in mozconfig['env']['modified'].iteritems():
-+ for key, (_, value) in mozconfig['env']['modified'].items():
- add(key, value)
- os.environ[key] = value
-- for key, value in mozconfig['vars']['added'].iteritems():
-+ for key, value in mozconfig['vars']['added'].items():
- add(key, value)
-- for key, (_, value) in mozconfig['vars']['modified'].iteritems():
-+ for key, (_, value) in mozconfig['vars']['modified'].items():
- add(key, value)
-
-
-@@ -353,7 +353,7 @@ option(env='PYTHON3', nargs=1, help='Python 3 interpreter (3.5 or later)')
- @depends('PYTHON3')
- @checking('for Python 3',
- callback=lambda x: '%s (%s)' % (x.path, x.str_version) if x else 'no')
--@imports(_from='__builtin__', _import='Exception')
-+@imports(_from='builtins', _import='Exception')
- @imports(_from='mozbuild.pythonutil', _import='find_python3_executable')
- @imports(_from='mozbuild.pythonutil', _import='python_executable_version')
- def python3(env_python):
-@@ -377,9 +377,6 @@ def python3(env_python):
- if not python:
- return None
-
-- # The API returns a bytes whereas everything in configure is unicode.
-- python = python.decode('utf-8')
--
- return namespace(
- path=python,
- version=version,
-@@ -481,6 +478,8 @@ def hg_config(build_env, hg, version):
- @imports('re')
- def git_version(git):
- out = check_cmd_output(git, '--version').rstrip()
-+ if isinstance(out, bytes):
-+ out = out.decode('utf-8')
-
- match = re.search('git version (.*)$', out)
-
-@@ -551,8 +550,8 @@ option('--target', nargs=1,
- @imports(_from='mozbuild.configure.constants', _import='Endianness')
- @imports(_from='mozbuild.configure.constants', _import='Kernel')
- @imports(_from='mozbuild.configure.constants', _import='OS')
--@imports(_from='__builtin__', _import='KeyError')
--@imports(_from='__builtin__', _import='ValueError')
-+@imports(_from='builtins', _import='KeyError')
-+@imports(_from='builtins', _import='ValueError')
- def split_triplet(triplet, allow_unknown=False):
- # The standard triplet is defined as
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-@@ -562,6 +561,8 @@ def split_triplet(triplet, allow_unknown=False):
- # Additionally, some may omit "unknown" when the manufacturer
- # is not specified and emit
- # CPU_TYPE-OPERATING_SYSTEM
-+ if isinstance(triplet, bytes):
-+ triplet = triplet.decode('utf-8')
- parts = triplet.split('-', 2)
- if len(parts) == 3:
- cpu, _, os = parts
-@@ -987,7 +988,7 @@ add_old_configure_assignment('MOZ_BUILD_APP', build_project)
- # - otherwise, if we have "a" in GRE_MILESTONE, we're building Nightly or Aurora
- # - otherwise, we're building Release/Beta (define RELEASE_OR_BETA)
- @depends(check_build_environment, '--help')
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='open')
- @imports('re')
- def milestone(build_env, _):
- milestone_path = os.path.join(build_env.topsrcdir,
-@@ -1105,7 +1106,7 @@ def enabled_in_nightly(milestone, _):
- def all_configure_options():
- result = []
- previous = None
-- for option in __sandbox__._options.itervalues():
-+ for option in __sandbox__._options.values():
- # __sandbox__._options contains items for both option.name and
- # option.env. But it's also an OrderedDict, meaning both are
- # consecutive.
-diff --git a/build/moz.configure/keyfiles.configure b/build/moz.configure/keyfiles.configure
-index 5d51cccea..14a35a3c6 100644
---- a/build/moz.configure/keyfiles.configure
-+++ b/build/moz.configure/keyfiles.configure
-@@ -16,8 +16,8 @@ def keyfile(desc, default=None, help=None, callback=lambda x: x):
-
- @depends('--with-%s-keyfile' % name)
- @checking('for the %s key' % desc, lambda x: x and x is not no_key)
-- @imports(_from='__builtin__', _import='open')
-- @imports(_from='__builtin__', _import='IOError')
-+ @imports(_from='builtins', _import='open')
-+ @imports(_from='builtins', _import='IOError')
- def keyfile(value):
- if value:
- try:
-diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
-index 81c10b91f..29b496bae 100644
---- a/build/moz.configure/old.configure
-+++ b/build/moz.configure/old.configure
-@@ -64,9 +64,9 @@ set_config('AUTOCONF', autoconf)
-
- @depends('OLD_CONFIGURE', mozconfig, autoconf, check_build_environment, shell,
- old_configure_assignments, build_project)
--@imports(_from='__builtin__', _import='open')
--@imports(_from='__builtin__', _import='print')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='open')
-+@imports(_from='builtins', _import='print')
-+@imports(_from='builtins', _import='sorted')
- @imports('glob')
- @imports('itertools')
- @imports('subprocess')
-@@ -113,7 +113,7 @@ def prepare_configure(old_configure, mozconfig, autoconf, build_env, shell,
-
- # Make old-configure append to config.log, where we put our own log.
- # This could be done with a m4 macro, but it's way easier this way
-- script = script.replace('>./config.log', '>>./config.log')
-+ script = script.replace(b'>./config.log', b'>>./config.log')
-
- with open(old_configure, 'wb') as fh:
- fh.write(script)
-@@ -282,8 +282,8 @@ def old_configure_options(*options):
- '--x-includes',
- '--x-libraries',
- )
--@imports(_from='__builtin__', _import='compile')
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='compile')
-+@imports(_from='builtins', _import='open')
- @imports('logging')
- @imports('os')
- @imports('subprocess')
-@@ -326,7 +326,7 @@ def old_configure(prepare_configure, extra_old_configure_args, all_options,
- log.debug('Running %s', quote(*cmd))
- if extra_env:
- log.debug('with extra environment: %s',
-- ' '.join('%s=%s' % pair for pair in extra_env.iteritems()))
-+ ' '.join('%s=%s' % pair for pair in extra_env.items()))
-
- # Our logging goes to config.log, the same file old.configure uses.
- # We can't share the handle on the file, so close it. We assume nothing
-@@ -359,7 +359,7 @@ def old_configure(prepare_configure, extra_old_configure_args, all_options,
- # Every variation of the exec() function I tried led to:
- # SyntaxError: unqualified exec is not allowed in function 'main' it
- # contains a nested function with free variables
-- exec code in raw_config # noqa
-+ exec(code, raw_config) # noqa
-
- # Ensure all the flags known to old-configure appear in the
- # @old_configure_options above.
-@@ -393,16 +393,24 @@ def set_old_configure_define(name, value):
- @depends(old_configure)
- @imports('types')
- def post_old_configure(raw_config):
-+ log.info('post_old_configure started')
-+
- for k, v in raw_config['substs']:
- set_old_configure_config(
-- k[1:-1], v[1:-1] if isinstance(v, types.StringTypes) else v)
-+ k[1:-1], v[1:-1] if isinstance(v, str) else v)
-+
-+ log.info('post_old_configure 1 finished')
-
-- for k, v in dict(raw_config['defines']).iteritems():
-+ for k, v in dict(raw_config['defines']).items():
- set_old_configure_define(k[1:-1], v[1:-1])
-
-+ log.info('post_old_configure 2 finished')
-+
- set_old_configure_config('non_global_defines',
- raw_config['non_global_defines'])
-
-+ log.info('post_old_configure 3 finished')
-+
-
- # Assuming no other option is declared after this function, handle the
- # env options that were injected by mozconfig_options by creating dummy
-@@ -414,6 +422,7 @@ def post_old_configure(raw_config):
- @imports('__sandbox__')
- @imports(_from='mozbuild.configure.options', _import='Option')
- def remaining_mozconfig_options(_):
-+ log.info('remaining_mozconfig_options started')
- helper = __sandbox__._helper
- for arg in helper:
- if helper._origins[arg] != 'mozconfig':
-@@ -422,5 +431,6 @@ def remaining_mozconfig_options(_):
- if name.isupper() and name not in __sandbox__._options:
- option = Option(env=name, nargs='*', help=name)
- helper.handle(option)
-+ log.info('remaining_mozconfig_options finished')
-
- # Please do not add anything after remaining_mozconfig_options()
-diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
-index fc640c75e..c5508dfb7 100755
---- a/build/moz.configure/toolchain.configure
-+++ b/build/moz.configure/toolchain.configure
-@@ -391,7 +391,7 @@ def get_compiler_info(compiler, language):
- ('CPU', CPU_preprocessor_checks),
- ('KERNEL', kernel_preprocessor_checks),
- ):
-- for n, (value, condition) in enumerate(preprocessor_checks.iteritems()):
-+ for n, (value, condition) in enumerate(preprocessor_checks.items()):
- check += dedent('''\
- #%(if)s %(condition)s
- %%%(name)s "%(value)s"
-@@ -425,9 +425,9 @@ def get_compiler_info(compiler, language):
- data = {}
- for line in result.splitlines():
- if line.startswith(b'%'):
-- k, _, v = line.partition(' ')
-- k = k.lstrip('%')
-- data[k] = v.replace(' ', '').lstrip('"').rstrip('"')
-+ k, _, v = line.partition(b' ')
-+ k = k.lstrip(b'%').decode('utf-8')
-+ data[k] = v.replace(b' ', b'').lstrip(b'"').rstrip(b'"').decode('utf-8')
- log.debug('%s = %s', k, data[k])
-
- try:
-@@ -551,7 +551,7 @@ def check_compiler(compiler, language, target):
- )
-
-
--@imports(_from='__builtin__', _import='open')
-+@imports(_from='builtins', _import='open')
- @imports('json')
- @imports('subprocess')
- @imports('sys')
-@@ -606,7 +606,7 @@ def vs_major_version(value):
-
-
- @depends(host, target, vs_major_version, check_build_environment, '--with-visual-studio-version')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- @imports(_from='operator', _import='itemgetter')
- @imports('platform')
- def vc_compiler_path(host, target, vs_major_version, env, vs_release_name):
-@@ -807,7 +807,7 @@ def compiler(language, host_or_target, c_compiler=None, other_compiler=None,
- target.os != 'Android':
- return namespace(**{
- k: [] if k == 'flags' else v
-- for k, v in other_compiler.__dict__.iteritems()
-+ for k, v in other_compiler.__dict__.items()
- })
-
- # Normally, we'd use `var` instead of `_var`, but the interaction with
-@@ -1238,7 +1238,7 @@ set_config('VISIBILITY_FLAGS', visibility_flags)
-
- @depends(c_compiler)
- @imports('multiprocessing')
--@imports(_from='__builtin__', _import='min')
-+@imports(_from='builtins', _import='min')
- def pgo_flags(compiler):
- if compiler.type in ('gcc', 'clang'):
- return namespace(
-@@ -1517,6 +1517,8 @@ def enable_gnu_linker(enable_gold_option, c_compiler, developer_options, build_e
- gold = check_cmd_output(*detection_cmd).strip()
- if not gold:
- return
-+ if isinstance(gold, bytes):
-+ gold = gold.decode('utf-8')
-
- goldFullPath = find_program(gold)
- if goldFullPath is None:
-diff --git a/build/moz.configure/util.configure b/build/moz.configure/util.configure
-index 3284fd8b5..218813e2d 100644
---- a/build/moz.configure/util.configure
-+++ b/build/moz.configure/util.configure
-@@ -25,7 +25,6 @@ def configure_error(message):
- # does not.
-
-
--@imports(_from='__builtin__', _import='unicode')
- @imports('subprocess')
- @imports('sys')
- @imports(_from='mozbuild.configure.util', _import='LineIO')
-@@ -39,10 +38,10 @@ def check_cmd_output(*args, **kwargs):
- if 'env' in kwargs:
- normalized_env = {}
- for k, v in kwargs['env'].items():
-- if isinstance(k, unicode):
-+ if isinstance(k, str):
- k = k.encode('utf-8', 'strict')
-
-- if isinstance(v, unicode):
-+ if isinstance(v, str):
- v = v.encode('utf-8', 'strict')
-
- normalized_env[k] = v
-@@ -285,7 +284,7 @@ def unique_list(l):
- # ('19.0', 'x64', r'C:\...\amd64\cl.exe')
- # ('19.0', 'x86', r'C:\...\amd64_x86\cl.exe')
- @imports(_import='_winreg', _as='winreg')
--@imports(_from='__builtin__', _import='WindowsError')
-+@imports(_from='builtins', _import='WindowsError')
- @imports(_from='fnmatch', _import='fnmatch')
- def get_registry_values(pattern, get_32_and_64_bit=False):
- def enum_helper(func, key):
-@@ -360,6 +359,8 @@ def get_registry_values(pattern, get_32_and_64_bit=False):
- @imports(_from='mozbuild.configure.util', _import='Version', _as='_Version')
- def Version(v):
- 'A version number that can be compared usefully.'
-+ if isinstance(v, bytes):
-+ v = v.decode('utf-8')
- return _Version(v)
-
- # Denotes a deprecated option. Combines option() and @depends:
-diff --git a/build/moz.configure/windows.configure b/build/moz.configure/windows.configure
-index a5b790e3b..2b88fc447 100644
---- a/build/moz.configure/windows.configure
-+++ b/build/moz.configure/windows.configure
-@@ -10,7 +10,7 @@ option('--with-windows-version', nargs=1, default='603',
-
-
- @depends('--with-windows-version')
--@imports(_from='__builtin__', _import='ValueError')
-+@imports(_from='builtins', _import='ValueError')
- def valid_windows_version(value):
- if not value:
- die('Cannot build with --without-windows-version')
-@@ -50,8 +50,8 @@ def windows_sdk_dir(value, host):
-
- @imports('os')
- @imports('re')
--@imports(_from='__builtin__', _import='sorted')
--@imports(_from='__builtin__', _import='WindowsError')
-+@imports(_from='builtins', _import='sorted')
-+@imports(_from='builtins', _import='WindowsError')
- def get_sdk_dirs(sdk, subdir):
- def get_dirs_containing(sdk, stem, subdir):
- base = os.path.join(sdk, stem)
-@@ -96,7 +96,7 @@ def valid_windows_sdk_dir_result(value):
-
- @depends(c_compiler, windows_sdk_dir, valid_windows_version, 'WINDOWSSDKDIR')
- @checking('for Windows SDK', valid_windows_sdk_dir_result)
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- @imports(_from='textwrap', _import='dedent')
- def valid_windows_sdk_dir(compiler, windows_sdk_dir, target_version,
- windows_sdk_dir_env):
-@@ -174,7 +174,7 @@ def valid_ucrt_sdk_dir_result(value):
- @depends(windows_sdk_dir, 'WINDOWSSDKDIR', c_compiler)
- @checking('for Universal CRT SDK', valid_ucrt_sdk_dir_result)
- @imports('os')
--@imports(_from='__builtin__', _import='sorted')
-+@imports(_from='builtins', _import='sorted')
- @imports(_import='mozpack.path', _as='mozpath')
- def valid_ucrt_sdk_dir(windows_sdk_dir, windows_sdk_dir_env, c_compiler):
- if windows_sdk_dir_env:
-diff --git a/build/templates.mozbuild b/build/templates.mozbuild
-index 3da850ce5..ae5e410fe 100644
---- a/build/templates.mozbuild
-+++ b/build/templates.mozbuild
-@@ -10,7 +10,7 @@ def Binary():
- templates.'''
-
- # Add -llog by default, since we use it all over the place.
-- if CONFIG['OS_TARGET'] == 'Android':
-+ if str(CONFIG['OS_TARGET']) == 'Android':
- OS_LIBS += ['log']
-
-
-diff --git a/config/MozZipFile.py b/config/MozZipFile.py
-index 337fe0521..dc7add4c3 100644
---- a/config/MozZipFile.py
-+++ b/config/MozZipFile.py
-@@ -18,7 +18,7 @@ class ZipFile(zipfile.ZipFile):
- def __init__(self, file, mode="r", compression=zipfile.ZIP_STORED,
- lock = False):
- if lock:
-- assert isinstance(file, basestring)
-+ assert isinstance(file, str)
- self.lockfile = lock_file(file + '.lck')
- else:
- self.lockfile = None
-@@ -46,7 +46,7 @@ class ZipFile(zipfile.ZipFile):
- date_time=time.localtime(time.time()))
- zinfo.compress_type = self.compression
- # Add some standard UNIX file access permissions (-rw-r--r--).
-- zinfo.external_attr = (0x81a4 & 0xFFFF) << 16L
-+ zinfo.external_attr = (0x81a4 & 0xFFFF) << 16
- else:
- zinfo = zinfo_or_arcname
-
-@@ -58,7 +58,7 @@ class ZipFile(zipfile.ZipFile):
- # as the old, reuse the existing entry.
-
- doSeek = False # store if we need to seek to the eof after overwriting
-- if self.NameToInfo.has_key(zinfo.filename):
-+ if zinfo.filename in self.NameToInfo:
- # Find the last ZipInfo with our name.
- # Last, because that's catching multiple overwrites
- i = len(self.filelist)
-@@ -109,14 +109,14 @@ class ZipFile(zipfile.ZipFile):
- # adjust file mode if we originally just wrote, now we rewrite
- self.fp.close()
- self.fp = open(self.filename, 'r+b')
-- all = map(lambda zi: (zi, True), self.filelist) + \
-- map(lambda zi: (zi, False), self._remove)
-+ all = [(zi, True) for zi in self.filelist] + \
-+ [(zi, False) for zi in self._remove]
- all.sort(lambda l, r: cmp(l[0].header_offset, r[0].header_offset))
- # empty _remove for multiple closes
- self._remove = []
-
- lengths = [all[i+1][0].header_offset - all[i][0].header_offset
-- for i in xrange(len(all)-1)]
-+ for i in range(len(all)-1)]
- lengths.append(self.end - all[-1][0].header_offset)
- to_pos = 0
- for (zi, keep), length in zip(all, lengths):
-diff --git a/config/expandlibs.py b/config/expandlibs.py
-index ac06c432f..df1fed15d 100644
---- a/config/expandlibs.py
-+++ b/config/expandlibs.py
-@@ -26,7 +26,7 @@ ${LIB_PREFIX}${ROOT}.${LIB_SUFFIX} following these rules:
- descriptor contains. And for each of these LIBS, also apply the same
- rules.
- '''
--from __future__ import with_statement
-+
- import sys, os, errno
- import expandlibs_config as conf
-
-@@ -36,7 +36,7 @@ def ensureParentDir(file):
- if dir and not os.path.exists(dir):
- try:
- os.makedirs(dir)
-- except OSError, error:
-+ except OSError as error:
- if error.errno != errno.EEXIST:
- raise
-
-@@ -140,4 +140,4 @@ class ExpandArgs(list):
- return [relativize(arg)]
-
- if __name__ == '__main__':
-- print " ".join(ExpandArgs(sys.argv[1:]))
-+ print(" ".join(ExpandArgs(sys.argv[1:])))
-diff --git a/config/expandlibs_exec.py b/config/expandlibs_exec.py
-index df656016c..fb786a6a8 100644
---- a/config/expandlibs_exec.py
-+++ b/config/expandlibs_exec.py
-@@ -20,7 +20,7 @@ With the --symbol-order argument, followed by a file name, it will add the
- relevant linker options to change the order in which the linker puts the
- symbols appear in the resulting binary. Only works for ELF targets.
- '''
--from __future__ import with_statement
-+
- import sys
- import os
- from expandlibs import (
-@@ -304,11 +304,11 @@ class SectionFinder(object):
- return syms
-
- def print_command(out, args):
-- print >>out, "Executing: " + " ".join(args)
-+ print("Executing: " + " ".join(args), file=out)
- for tmp in [f for f in args.tmp if os.path.isfile(f)]:
-- print >>out, tmp + ":"
-+ print(tmp + ":", file=out)
- with open(tmp) as file:
-- print >>out, "".join([" " + l for l in file.readlines()])
-+ print("".join([" " + l for l in file.readlines()]), file=out)
- out.flush()
-
- def main(args, proc_callback=None):
-@@ -338,13 +338,13 @@ def main(args, proc_callback=None):
- proc = subprocess.Popen(args, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
- if proc_callback:
- proc_callback(proc)
-- except Exception, e:
-- print >>sys.stderr, 'error: Launching', args, ':', e
-+ except Exception as e:
-+ print('error: Launching', args, ':', e, file=sys.stderr)
- raise e
- (stdout, stderr) = proc.communicate()
- if proc.returncode and not options.verbose:
- print_command(sys.stderr, args)
-- sys.stderr.write(stdout)
-+ sys.stderr.write(stdout.decode("utf-8"))
- sys.stderr.flush()
- if proc.returncode:
- return proc.returncode
-diff --git a/config/expandlibs_gen.py b/config/expandlibs_gen.py
-index b1de63cd0..dc62bd184 100644
---- a/config/expandlibs_gen.py
-+++ b/config/expandlibs_gen.py
-@@ -5,7 +5,7 @@
- '''Given a list of object files and library names, prints a library
- descriptor to standard output'''
-
--from __future__ import with_statement
-+
- import sys
- import os
- import expandlibs_config as conf
-@@ -38,4 +38,4 @@ if __name__ == '__main__':
-
- ensureParentDir(options.output)
- with open(options.output, 'w') as outfile:
-- print >>outfile, generate(args)
-+ print(generate(args), file=outfile)
-diff --git a/configure.py b/configure.py
-index 771e34e38..bee329d7c 100644
---- a/configure.py
-+++ b/configure.py
-@@ -2,10 +2,11 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import print_function, unicode_literals
-+
-
- import codecs
- import itertools
-+import logging
- import os
- import sys
- import textwrap
-@@ -34,7 +35,9 @@ from mozbuild.util import (
- def main(argv):
- config = {}
- sandbox = ConfigureSandbox(config, os.environ, argv)
-+ print('sandbox.run started')
- sandbox.run(os.path.join(os.path.dirname(__file__), 'moz.configure'))
-+ print('sandbox.run finished')
-
- if sandbox._help:
- return 0
-@@ -56,12 +59,21 @@ def config_status(config):
-
- sanitized_config = {}
- sanitized_config['substs'] = {
-- k: sanitized_bools(v) for k, v in config.iteritems()
-+ k: sanitized_bools(v) for k, v in config.items()
- if k not in ('DEFINES', 'non_global_defines', 'TOPSRCDIR', 'TOPOBJDIR',
- 'ALL_CONFIGURE_PATHS')
- }
-+
-+ # Hack around OptionValue entries unknown during compile
-+ for opt in ('BUILD_BACKENDS', 'MOZ_UI_LOCALE', 'RUSTFLAGS' ):
-+ old = sanitized_config['substs'][opt]
-+ new = []
-+ for setting in old:
-+ new.append(setting)
-+ sanitized_config['substs'][opt] = new
-+
- sanitized_config['defines'] = {
-- k: sanitized_bools(v) for k, v in config['DEFINES'].iteritems()
-+ k: sanitized_bools(v) for k, v in config['DEFINES'].items()
- }
- sanitized_config['non_global_defines'] = config['non_global_defines']
- sanitized_config['topsrcdir'] = config['TOPSRCDIR']
-@@ -71,20 +83,17 @@ def config_status(config):
- # Create config.status. Eventually, we'll want to just do the work it does
- # here, when we're able to skip configure tests/use cached results/not rely
- # on autoconf.
-- print("Creating config.status", file=sys.stderr)
-- encoding = 'mbcs' if sys.platform == 'win32' else 'utf-8'
-- with codecs.open('config.status', 'w', encoding) as fh:
-+ logging.getLogger('moz.configure').info('Creating config.status')
-+ with codecs.open('config.status', 'w', 'utf-8') as fh:
- fh.write(textwrap.dedent('''\
- #!%(python)s
-- # coding=%(encoding)s
-- from __future__ import unicode_literals
-- from mozbuild.util import encode
-- encoding = '%(encoding)s'
-- ''') % {'python': config['PYTHON'], 'encoding': encoding})
-+ # coding=utf-8
-+ print("config.status started")
-+ ''') % {'python': config['PYTHON']})
- # A lot of the build backend code is currently expecting byte
- # strings and breaks in subtle ways with unicode strings. (bug 1296508)
-- for k, v in sanitized_config.iteritems():
-- fh.write('%s = encode(%s, encoding)\n' % (k, indented_repr(v)))
-+ for k, v in sanitized_config.items():
-+ fh.write('%s = %s\n' % (k, indented_repr(v)))
- fh.write("__all__ = ['topobjdir', 'topsrcdir', 'defines', "
- "'non_global_defines', 'substs', 'mozconfig']")
-
-@@ -97,6 +106,9 @@ def config_status(config):
- args = dict([(name, globals()[name]) for name in __all__])
- config_status(**args)
- '''))
-+ fh.write(textwrap.dedent('''
-+ print("config.status finished")
-+ '''))
-
- partial_config = PartialConfigEnvironment(config['TOPOBJDIR'])
- partial_config.write_vars(sanitized_config)
-@@ -116,7 +128,7 @@ def config_status(config):
- # executable permissions.
- os.chmod('config.status', 0o755)
- if config.get('MOZ_BUILD_APP') != 'js' or config.get('JS_STANDALONE'):
-- os.environ[b'WRITE_MOZINFO'] = b'1'
-+ os.environ['WRITE_MOZINFO'] = '1'
- from mozbuild.config_status import config_status
-
- # Some values in sanitized_config also have more complex types, such as
-@@ -127,7 +139,7 @@ def config_status(config):
-
- # A lot of the build backend code is currently expecting byte strings
- # and breaks in subtle ways with unicode strings.
-- return config_status(args=[], **encode(sanitized_config, encoding))
-+ return config_status(args=[], **sanitized_config)
- return 0
-
-
-diff --git a/js/src/build/moz.build b/js/src/build/moz.build
-index a7f5fa4ce..856cae32d 100644
---- a/js/src/build/moz.build
-+++ b/js/src/build/moz.build
-@@ -47,22 +47,22 @@ USE_LIBS += [
- 'zlib',
- ]
-
--if CONFIG['OS_ARCH'] not in ('WINNT', 'HP-UX'):
-+if str(CONFIG['OS_ARCH']) not in ('WINNT', 'HP-UX'):
- OS_LIBS += [
- 'm',
- ]
-
--if CONFIG['OS_ARCH'] == 'FreeBSD':
-+if str(CONFIG['OS_ARCH']) == 'FreeBSD':
- OS_LIBS += [
- '-pthread',
- ]
-
--if CONFIG['OS_ARCH'] == 'Linux':
-+if str(CONFIG['OS_ARCH']) == 'Linux':
- OS_LIBS += [
- 'dl',
- ]
-
--if CONFIG['OS_ARCH'] == 'SunOS':
-+if str(CONFIG['OS_ARCH']) == 'SunOS':
- OS_LIBS += [
- 'posix4',
- 'dl',
-diff --git a/js/src/builtin/embedjs.py b/js/src/builtin/embedjs.py
-index ba25e71c1..d4f2de122 100644
---- a/js/src/builtin/embedjs.py
-+++ b/js/src/builtin/embedjs.py
-@@ -36,7 +36,7 @@
- #
- # It uses the C preprocessor to process its inputs.
-
--from __future__ import with_statement
-+
- import re, sys, os, subprocess
- import shlex
- import which
-@@ -52,8 +52,8 @@ def ToCAsciiArray(lines):
-
- def ToCArray(lines):
- result = []
-- for chr in lines:
-- result.append(str(ord(chr)))
-+ for char in lines:
-+ result.append("0x%0.2X" % char)
- return ", ".join(result)
-
- HEADER_TEMPLATE = """\
-@@ -87,7 +87,7 @@ def embed(cxx, preprocessorOption, cppflags, msgs, sources, c_out, js_out, names
-
- js_out.write(processed)
- import zlib
-- compressed = zlib.compress(processed)
-+ compressed = zlib.compress(processed.encode('utf-8'))
- data = ToCArray(compressed)
- c_out.write(HEADER_TEMPLATE % {
- 'sources_type': 'unsigned char',
-@@ -107,7 +107,7 @@ def preprocess(cxx, preprocessorOption, source, args = []):
- tmpOut = 'self-hosting-preprocessed.pp';
- outputArg = shlex.split(preprocessorOption + tmpOut)
-
-- with open(tmpIn, 'wb') as input:
-+ with open(tmpIn, 'w') as input:
- input.write(source)
- print(' '.join(cxx + outputArg + args + [tmpIn]))
- result = subprocess.Popen(cxx + outputArg + args + [tmpIn]).wait()
-diff --git a/js/src/configure b/js/src/configure
-index 3b3a39af3..8f5ea41d0 100755
---- a/js/src/configure
-+++ b/js/src/configure
-@@ -24,4 +24,4 @@ export OLD_CONFIGURE="$SRCDIR"/old-configure
-
- set -- "$@" --enable-project=js
-
--which python2.7 > /dev/null && exec python2.7 "$TOPSRCDIR/configure.py" "$@" || exec python "$TOPSRCDIR/configure.py" "$@"
-+which python3 > /dev/null && exec python3 "$TOPSRCDIR/configure.py" "$@" || exec python "$TOPSRCDIR/configure.py" "$@"
-diff --git a/js/src/frontend/GenerateReservedWords.py b/js/src/frontend/GenerateReservedWords.py
-index 3aa2307b9..381c8e2b4 100644
---- a/js/src/frontend/GenerateReservedWords.py
-+++ b/js/src/frontend/GenerateReservedWords.py
-@@ -80,14 +80,14 @@ def split_list_per_column(reserved_word_list, column):
- per_column = column_dict.setdefault(word[column], [])
- per_column.append(item)
-
-- return sorted(column_dict.items(), key=lambda (char, word): ord(char))
-+ return sorted(list(column_dict.items()), key=lambda char_word: ord(char_word[0]))
-
- def generate_letter_switch(opt, unprocessed_columns, reserved_word_list,
- columns=None):
- assert(len(reserved_word_list) != 0);
-
- if not columns:
-- columns = range(0, unprocessed_columns)
-+ columns = list(range(0, unprocessed_columns))
-
- if len(reserved_word_list) == 1:
- index, word = reserved_word_list[0]
-@@ -161,7 +161,7 @@ def split_list_per_length(reserved_word_list):
- per_length = length_dict.setdefault(len(word), [])
- per_length.append(item)
-
-- return sorted(length_dict.items(), key=lambda (length, word): length)
-+ return sorted(list(length_dict.items()), key=lambda length_word: length_word[0])
-
- def generate_switch(opt, reserved_word_list):
- assert(len(reserved_word_list) != 0);
-diff --git a/js/src/gc/GenerateStatsPhases.py b/js/src/gc/GenerateStatsPhases.py
-index 2daf83555..e39a26a4b 100644
---- a/js/src/gc/GenerateStatsPhases.py
-+++ b/js/src/gc/GenerateStatsPhases.py
-@@ -267,7 +267,7 @@ def generateHeader(out):
- #
- # Generate PhaseKind enum.
- #
-- phaseKindNames = map(lambda phaseKind: phaseKind.name, AllPhaseKinds)
-+ phaseKindNames = [phaseKind.name for phaseKind in AllPhaseKinds]
- extraPhaseKinds = [
- "NONE = LIMIT",
- "EXPLICIT_SUSPENSION = LIMIT",
-@@ -279,7 +279,7 @@ def generateHeader(out):
- #
- # Generate Phase enum.
- #
-- phaseNames = map(lambda phase: phase.name, AllPhases)
-+ phaseNames = [phase.name for phase in AllPhases]
- extraPhases = [
- "NONE = LIMIT",
- "EXPLICIT_SUSPENSION = LIMIT",
-diff --git a/js/src/old-configure.in b/js/src/old-configure.in
-index 11c3d5a2e..389265404 100644
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -1884,3 +1884,5 @@ if test "$JS_STANDALONE"; then
- fi
-
- rm -fr confdefs* $ac_clean_files
-+echo confdefs* $ac_clean_files removed
-+echo "old-configure done"
-diff --git a/memory/build/moz.build b/memory/build/moz.build
-index e2c715271..f09ce7935 100644
---- a/memory/build/moz.build
-+++ b/memory/build/moz.build
-@@ -30,7 +30,7 @@ else:
- 'fallback.cpp',
- ]
-
--if CONFIG['OS_TARGET'] == 'Darwin' and (CONFIG['MOZ_REPLACE_MALLOC'] or
-+if str(CONFIG['OS_TARGET']) == 'Darwin' and (CONFIG['MOZ_REPLACE_MALLOC'] or
- CONFIG['MOZ_MEMORY']):
- SOURCES += [
- 'zone.c',
-@@ -38,15 +38,15 @@ if CONFIG['OS_TARGET'] == 'Darwin' and (CONFIG['MOZ_REPLACE_MALLOC'] or
-
- Library('memory')
-
--if CONFIG['OS_TARGET'] == 'Android' and CONFIG['CC_TYPE'] == 'clang':
-+if str(CONFIG['OS_TARGET']) == 'Android' and str(CONFIG['CC_TYPE']) == 'clang':
- CXXFLAGS += [
- '-Wno-tautological-pointer-compare',
- ]
-
--if CONFIG['MOZ_BUILD_APP'] != 'memory':
-+if str(CONFIG['MOZ_BUILD_APP']) != 'memory':
- FINAL_LIBRARY = 'mozglue'
-
--if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
-+if str(CONFIG['CC_TYPE']) in ('msvc', 'clang-cl'):
- CXXFLAGS += ['-wd4273'] # inconsistent dll linkage (bug 558163)
-
- if CONFIG['MOZ_REPLACE_MALLOC_STATIC']:
-diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
-index 53758485a..5e9308802 100644
---- a/mozglue/build/moz.build
-+++ b/mozglue/build/moz.build
-@@ -9,12 +9,12 @@
- # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
- if CONFIG['JS_STANDALONE'] and not CONFIG['MOZ_MEMORY']:
- Library('mozglue')
--elif CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
-+elif str(CONFIG['OS_TARGET']) in ('WINNT', 'Darwin', 'Android'):
- SharedLibrary('mozglue')
- else:
- Library('mozglue')
-
--if CONFIG['OS_TARGET'] == 'Android':
-+if str(CONFIG['OS_TARGET']) == 'Android':
- SOURCES += [
- 'BionicGlue.cpp',
- ]
-@@ -24,14 +24,14 @@ if CONFIG['MOZ_ASAN']:
- 'AsanOptions.cpp',
- ]
-
--if CONFIG['OS_TARGET'] == 'WINNT':
-+if str(CONFIG['OS_TARGET']) == 'WINNT':
- DEFFILE = 'mozglue.def'
- # We'll break the DLL blocklist if we immediately load user32.dll
- DELAYLOAD_DLLS += [
- 'user32.dll',
- ]
-
-- if CONFIG['CC_TYPE'] == "msvc":
-+ if str(CONFIG['CC_TYPE']) == "msvc":
- CFLAGS += ['-guard:cf']
- CXXFLAGS += ['-guard:cf']
- LDFLAGS += ['-guard:cf']
-@@ -48,12 +48,12 @@ if CONFIG['MOZ_WIDGET_TOOLKIT']:
- 'dummy.cpp',
- ]
-
-- if CONFIG['OS_TARGET'] == 'WINNT':
-+ if str(CONFIG['OS_TARGET']) == 'WINNT':
- LOCAL_INCLUDES += [
- '/memory/build',
- ]
-
-- if CONFIG['CC_TYPE'] == "msvc":
-+ if str(CONFIG['CC_TYPE']) == "msvc":
- SOURCES += ['WindowsCFGStatus.cpp']
- SOURCES += [
- 'Authenticode.cpp',
-@@ -85,17 +85,17 @@ if CONFIG['MOZ_WIDGET_TOOLKIT']:
- 'WindowsDllBlocklist.h',
- ]
-
-- if CONFIG['CPU_ARCH'].startswith('x86'):
-+ if str(CONFIG['CPU_ARCH']).startswith('x86'):
- SOURCES += [
- 'SSE.cpp',
- ]
-
-- if CONFIG['CPU_ARCH'] == 'arm':
-+ if str(CONFIG['CPU_ARCH']) == 'arm':
- SOURCES += [
- 'arm.cpp',
- ]
-
-- if CONFIG['CPU_ARCH'].startswith('mips'):
-+ if str(CONFIG['CPU_ARCH']).startswith('mips'):
- SOURCES += [
- 'mips.cpp',
- ]
-@@ -114,7 +114,7 @@ LIBRARY_DEFINES['MOZ_HAS_MOZGLUE'] = True
-
- LDFLAGS += CONFIG['MOZ_GLUE_WRAP_LDFLAGS']
-
--if CONFIG['OS_TARGET'] == 'Darwin':
-+if str(CONFIG['OS_TARGET']) == 'Darwin':
- # On OSX 10.10.3, a dead lock happens in some cases involving dynamic
- # symbol resolution for symbols that jemalloc itself uses. While it
- # might be possible to find a way to avoid all such symbol resolutions,
-@@ -124,7 +124,7 @@ if CONFIG['OS_TARGET'] == 'Darwin':
- # for TLS.
- LDFLAGS += ['-Wl,-bind_at_load']
-
--if CONFIG['MOZ_LINKER'] and CONFIG['TARGET_CPU'] == 'arm':
-+if CONFIG['MOZ_LINKER'] and str(CONFIG['TARGET_CPU']) == 'arm':
- LDFLAGS += ['-Wl,-version-script,%s/arm-eabi-filter' % SRCDIR]
-
- DIST_INSTALL = True
-diff --git a/python/mozbuild/mozbuild/action/check_binary.py b/python/mozbuild/mozbuild/action/check_binary.py
-index 5665ef053..b696f73d6 100644
---- a/python/mozbuild/mozbuild/action/check_binary.py
-+++ b/python/mozbuild/mozbuild/action/check_binary.py
-@@ -104,6 +104,8 @@ def iter_readelf_symbols(target, binary):
-
- def iter_readelf_dynamic(target, binary):
- for line in get_output(target['readelf'], '-d', binary):
-+ if isinstance(line, bytes):
-+ line=line.decode('utf-8')
- data = line.split(None, 2)
- if data and len(data) == 3 and data[0].startswith('0x'):
- yield data[1].rstrip(')').lstrip('('), data[2]
-diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py
-index 563fbb8fa..c3df2869b 100644
---- a/python/mozbuild/mozbuild/action/process_define_files.py
-+++ b/python/mozbuild/mozbuild/action/process_define_files.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import argparse
- import os
-@@ -53,7 +53,7 @@ def process_define_file(output, input):
- 'CONFIGURE_DEFINE_FILE')
- defines = '\n'.join(sorted(
- '#define %s %s' % (name, val)
-- for name, val in config.defines['ALLDEFINES'].iteritems()))
-+ for name, val in config.defines['ALLDEFINES'].items()))
- l = l[:m.start('cmd') - 1] \
- + defines + l[m.end('name'):]
- elif cmd == 'define':
-diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py
-index a8d5c94e0..7cda63475 100644
---- a/python/mozbuild/mozbuild/backend/base.py
-+++ b/python/mozbuild/mozbuild/backend/base.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from abc import (
- ABCMeta,
-@@ -31,7 +31,7 @@ from .configenvironment import ConfigEnvironment
- from mozbuild.base import ExecutionSummary
-
-
--class BuildBackend(LoggingMixin):
-+class BuildBackend(LoggingMixin, metaclass=ABCMeta):
- """Abstract base class for build backends.
-
- A build backend is merely a consumer of the build configuration (the output
-@@ -39,8 +39,6 @@ class BuildBackend(LoggingMixin):
- is the discretion of the specific implementation.
- """
-
-- __metaclass__ = ABCMeta
--
- def __init__(self, environment):
- assert isinstance(environment, (ConfigEnvironment, EmptyConfig))
- self.populate_logger()
-@@ -311,7 +309,7 @@ class BuildBackend(LoggingMixin):
- srcdir = mozpath.dirname(obj.input_path)
- pp.context.update({
- k: ' '.join(v) if isinstance(v, list) else v
-- for k, v in obj.config.substs.iteritems()
-+ for k, v in obj.config.substs.items()
- })
- pp.context.update(
- top_srcdir=obj.topsrcdir,
-diff --git a/python/mozbuild/mozbuild/backend/common.py b/python/mozbuild/mozbuild/backend/common.py
-index d00cbbcaf..f747df446 100644
---- a/python/mozbuild/mozbuild/backend/common.py
-+++ b/python/mozbuild/mozbuild/backend/common.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import json
- import os
-@@ -174,7 +174,7 @@ class CommonBackend(BuildBackend):
- if len(self._idl_manager.idls):
- self._write_rust_xpidl_summary(self._idl_manager)
- self._handle_idl_manager(self._idl_manager)
-- self._handle_generated_sources(mozpath.join(self.environment.topobjdir, 'dist/include/%s.h' % idl['root']) for idl in self._idl_manager.idls.values())
-+ self._handle_generated_sources(mozpath.join(self.environment.topobjdir, 'dist/include/%s.h' % idl['root']) for idl in list(self._idl_manager.idls.values()))
-
-
- for config in self._configs:
-@@ -372,14 +372,14 @@ class CommonBackend(BuildBackend):
-
- with self._write_file(mozpath.join(topobjdir, 'dist', 'xpcrs', 'rt', 'all.rs')) as fh:
- fh.write("// THIS FILE IS GENERATED - DO NOT EDIT\n\n")
-- for idl in manager.idls.values():
-+ for idl in list(manager.idls.values()):
- fh.write(include_tmpl % ("rt", idl['root']))
- fh.write(";\n")
-
- with self._write_file(mozpath.join(topobjdir, 'dist', 'xpcrs', 'bt', 'all.rs')) as fh:
- fh.write("// THIS FILE IS GENERATED - DO NOT EDIT\n\n")
- fh.write("&[\n")
-- for idl in manager.idls.values():
-+ for idl in list(manager.idls.values()):
- fh.write(include_tmpl % ("bt", idl['root']))
- fh.write(",\n")
- fh.write("]\n")
-diff --git a/python/mozbuild/mozbuild/backend/configenvironment.py b/python/mozbuild/mozbuild/backend/configenvironment.py
-index 3676a7d18..f0896cea4 100644
---- a/python/mozbuild/mozbuild/backend/configenvironment.py
-+++ b/python/mozbuild/mozbuild/backend/configenvironment.py
-@@ -2,14 +2,14 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import sys
- import json
-
- from collections import Iterable, OrderedDict
--from types import StringTypes, ModuleType
-+from types import ModuleType
-
- import mozpack.path as mozpath
-
-@@ -22,7 +22,7 @@ from mozbuild.shellutil import quote as shell_quote
-
-
- if sys.version_info.major == 2:
-- text_type = unicode
-+ text_type = str
- else:
- text_type = str
-
-@@ -151,7 +151,7 @@ class ConfigEnvironment(object):
- shell_quote(self.defines[name]).replace('$', '$$'))
- for name in sorted(global_defines)])
- def serialize(name, obj):
-- if isinstance(obj, StringTypes):
-+ if isinstance(obj, str):
- return obj
- if isinstance(obj, Iterable):
- return ' '.join(obj)
-@@ -185,8 +185,8 @@ class ConfigEnvironment(object):
- except UnicodeDecodeError:
- return v.decode('utf-8', 'replace')
-
-- for k, v in self.substs.items():
-- if not isinstance(v, StringTypes):
-+ for k, v in list(self.substs.items()):
-+ if not isinstance(v, str):
- if isinstance(v, Iterable):
- type(v)(decode(i) for i in v)
- elif not isinstance(v, text_type):
-@@ -255,7 +255,7 @@ class PartialConfigDict(object):
- existing_files = self._load_config_track()
-
- new_files = set()
-- for k, v in values.iteritems():
-+ for k, v in values.items():
- new_files.add(self._write_file(k, v))
-
- for filename in existing_files - new_files:
-diff --git a/python/mozbuild/mozbuild/backend/fastermake.py b/python/mozbuild/mozbuild/backend/fastermake.py
-index b029aa10f..b66ade64f 100644
---- a/python/mozbuild/mozbuild/backend/fastermake.py
-+++ b/python/mozbuild/mozbuild/backend/fastermake.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals, print_function
-+
-
- from mozbuild.backend.base import PartialBackend
- from mozbuild.backend.common import CommonBackend
-@@ -140,7 +140,7 @@ class FasterMakeBackend(CommonBackend, PartialBackend):
- # Add information for chrome manifest generation
- manifest_targets = []
-
-- for target, entries in self._manifest_entries.iteritems():
-+ for target, entries in self._manifest_entries.items():
- manifest_targets.append(target)
- install_target = mozpath.basedir(target, install_manifests_bases)
- self._install_manifests[install_target].add_content(
-@@ -152,13 +152,13 @@ class FasterMakeBackend(CommonBackend, PartialBackend):
- % ' '.join(self._install_manifests.keys()))
-
- # Add dependencies we infered:
-- for target, deps in self._dependencies.iteritems():
-+ for target, deps in self._dependencies.items():
- mk.create_rule([target]).add_dependencies(
- '$(TOPOBJDIR)/%s' % d for d in deps)
-
- mk.add_statement('include $(TOPSRCDIR)/config/faster/rules.mk')
-
-- for base, install_manifest in self._install_manifests.iteritems():
-+ for base, install_manifest in self._install_manifests.items():
- with self._write_file(
- mozpath.join(self.environment.topobjdir, 'faster',
- 'install_%s' % base.replace('/', '_'))) as fh:
-@@ -167,7 +167,7 @@ class FasterMakeBackend(CommonBackend, PartialBackend):
- # For artifact builds only, write a single unified manifest for consumption by |mach watch|.
- if self.environment.is_artifact_build:
- unified_manifest = InstallManifest()
-- for base, install_manifest in self._install_manifests.iteritems():
-+ for base, install_manifest in self._install_manifests.items():
- # Expect 'dist/bin/**', which includes 'dist/bin' with no trailing slash.
- assert base.startswith('dist/bin')
- base = base[len('dist/bin'):]
-diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
-index dd9020d62..aa89cc297 100644
---- a/python/mozbuild/mozbuild/backend/recursivemake.py
-+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import logging
- import os
-@@ -12,7 +12,7 @@ from collections import (
- defaultdict,
- namedtuple,
- )
--from StringIO import StringIO
-+from io import StringIO
- from itertools import chain
-
- from mozpack.manifests import (
-@@ -80,75 +80,76 @@ from ..util import (
- )
- from ..makeutil import Makefile
- from mozbuild.shellutil import quote as shell_quote
-+from functools import reduce
-
- MOZBUILD_VARIABLES = [
-- b'ASFLAGS',
-- b'CMSRCS',
-- b'CMMSRCS',
-- b'CPP_UNIT_TESTS',
-- b'DIRS',
-- b'DIST_INSTALL',
-- b'EXTRA_DSO_LDOPTS',
-- b'EXTRA_JS_MODULES',
-- b'EXTRA_PP_COMPONENTS',
-- b'EXTRA_PP_JS_MODULES',
-- b'FORCE_SHARED_LIB',
-- b'FORCE_STATIC_LIB',
-- b'FINAL_LIBRARY',
-- b'HOST_CFLAGS',
-- b'HOST_CSRCS',
-- b'HOST_CMMSRCS',
-- b'HOST_CXXFLAGS',
-- b'HOST_EXTRA_LIBS',
-- b'HOST_LIBRARY_NAME',
-- b'HOST_PROGRAM',
-- b'HOST_SIMPLE_PROGRAMS',
-- b'JAR_MANIFEST',
-- b'JAVA_JAR_TARGETS',
-- b'LIBRARY_NAME',
-- b'LIBS',
-- b'MAKE_FRAMEWORK',
-- b'MODULE',
-- b'NO_DIST_INSTALL',
-- b'NO_EXPAND_LIBS',
-- b'NO_INTERFACES_MANIFEST',
-- b'NO_JS_MANIFEST',
-- b'OS_LIBS',
-- b'PARALLEL_DIRS',
-- b'PREF_JS_EXPORTS',
-- b'PROGRAM',
-- b'RESOURCE_FILES',
-- b'SHARED_LIBRARY_LIBS',
-- b'SHARED_LIBRARY_NAME',
-- b'SIMPLE_PROGRAMS',
-- b'SONAME',
-- b'STATIC_LIBRARY_NAME',
-- b'TEST_DIRS',
-- b'TOOL_DIRS',
-+ 'ASFLAGS',
-+ 'CMSRCS',
-+ 'CMMSRCS',
-+ 'CPP_UNIT_TESTS',
-+ 'DIRS',
-+ 'DIST_INSTALL',
-+ 'EXTRA_DSO_LDOPTS',
-+ 'EXTRA_JS_MODULES',
-+ 'EXTRA_PP_COMPONENTS',
-+ 'EXTRA_PP_JS_MODULES',
-+ 'FORCE_SHARED_LIB',
-+ 'FORCE_STATIC_LIB',
-+ 'FINAL_LIBRARY',
-+ 'HOST_CFLAGS',
-+ 'HOST_CSRCS',
-+ 'HOST_CMMSRCS',
-+ 'HOST_CXXFLAGS',
-+ 'HOST_EXTRA_LIBS',
-+ 'HOST_LIBRARY_NAME',
-+ 'HOST_PROGRAM',
-+ 'HOST_SIMPLE_PROGRAMS',
-+ 'JAR_MANIFEST',
-+ 'JAVA_JAR_TARGETS',
-+ 'LIBRARY_NAME',
-+ 'LIBS',
-+ 'MAKE_FRAMEWORK',
-+ 'MODULE',
-+ 'NO_DIST_INSTALL',
-+ 'NO_EXPAND_LIBS',
-+ 'NO_INTERFACES_MANIFEST',
-+ 'NO_JS_MANIFEST',
-+ 'OS_LIBS',
-+ 'PARALLEL_DIRS',
-+ 'PREF_JS_EXPORTS',
-+ 'PROGRAM',
-+ 'RESOURCE_FILES',
-+ 'SHARED_LIBRARY_LIBS',
-+ 'SHARED_LIBRARY_NAME',
-+ 'SIMPLE_PROGRAMS',
-+ 'SONAME',
-+ 'STATIC_LIBRARY_NAME',
-+ 'TEST_DIRS',
-+ 'TOOL_DIRS',
- # XXX config/Makefile.in specifies this in a make invocation
- #'USE_EXTENSION_MANIFEST',
-- b'XPCSHELL_TESTS',
-- b'XPIDL_MODULE',
-+ 'XPCSHELL_TESTS',
-+ 'XPIDL_MODULE',
- ]
-
- DEPRECATED_VARIABLES = [
-- b'EXPORT_LIBRARY',
-- b'EXTRA_LIBS',
-- b'HOST_LIBS',
-- b'LIBXUL_LIBRARY',
-- b'MOCHITEST_A11Y_FILES',
-- b'MOCHITEST_BROWSER_FILES',
-- b'MOCHITEST_BROWSER_FILES_PARTS',
-- b'MOCHITEST_CHROME_FILES',
-- b'MOCHITEST_FILES',
-- b'MOCHITEST_FILES_PARTS',
-- b'MOCHITEST_METRO_FILES',
-- b'MOCHITEST_ROBOCOP_FILES',
-- b'MODULE_OPTIMIZE_FLAGS',
-- b'MOZ_CHROME_FILE_FORMAT',
-- b'SHORT_LIBNAME',
-- b'TESTING_JS_MODULES',
-- b'TESTING_JS_MODULE_DIR',
-+ 'EXPORT_LIBRARY',
-+ 'EXTRA_LIBS',
-+ 'HOST_LIBS',
-+ 'LIBXUL_LIBRARY',
-+ 'MOCHITEST_A11Y_FILES',
-+ 'MOCHITEST_BROWSER_FILES',
-+ 'MOCHITEST_BROWSER_FILES_PARTS',
-+ 'MOCHITEST_CHROME_FILES',
-+ 'MOCHITEST_FILES',
-+ 'MOCHITEST_FILES_PARTS',
-+ 'MOCHITEST_METRO_FILES',
-+ 'MOCHITEST_ROBOCOP_FILES',
-+ 'MODULE_OPTIMIZE_FLAGS',
-+ 'MOZ_CHROME_FILE_FORMAT',
-+ 'SHORT_LIBNAME',
-+ 'TESTING_JS_MODULES',
-+ 'TESTING_JS_MODULE_DIR',
- ]
-
- MOZBUILD_VARIABLES_MESSAGE = 'It should only be defined in moz.build files.'
-@@ -207,7 +208,7 @@ class BackendMakeFile(object):
- self.fh.write(buf)
-
- def write_once(self, buf):
-- if isinstance(buf, unicode):
-+ if isinstance(buf, str):
- buf = buf.encode('utf-8')
- if b'\n' + buf not in self.fh.getvalue():
- self.write(buf)
-@@ -280,7 +281,7 @@ class RecursiveMakeTraversal(object):
- Helper function to call a filter from compute_dependencies and
- traverse.
- """
-- return filter(current, self.get_subdirs(current))
-+ return list(filter(current, self.get_subdirs(current)))
-
- def compute_dependencies(self, filter=None):
- """
-@@ -710,7 +711,7 @@ class RecursiveMakeBackend(CommonBackend):
- convenience variables, and the other dependency definitions for a
- hopefully proper directory traversal.
- """
-- for tier, no_skip in self._no_skip.items():
-+ for tier, no_skip in list(self._no_skip.items()):
- self.log(logging.DEBUG, 'fill_root_mk', {
- 'number': len(no_skip), 'tier': tier
- }, 'Using {number} directories during {tier}')
-@@ -757,7 +758,7 @@ class RecursiveMakeBackend(CommonBackend):
- for tier, filter in filters:
- main, all_deps = \
- self._traversal.compute_dependencies(filter)
-- for dir, deps in all_deps.items():
-+ for dir, deps in list(all_deps.items()):
- if deps is not None or (dir in self._idl_dirs \
- and tier == 'export'):
- rule = root_deps_mk.create_rule(['%s/%s' % (dir, tier)])
-@@ -770,7 +771,7 @@ class RecursiveMakeBackend(CommonBackend):
- rule.add_dependencies('%s/%s' % (d, tier) for d in main)
-
- all_compile_deps = reduce(lambda x,y: x|y,
-- self._compile_graph.values()) if self._compile_graph else set()
-+ list(self._compile_graph.values())) if self._compile_graph else set()
- # Include the following as dependencies of the top recursion target for
- # compilation:
- # - nodes that are not dependended upon by anything. Typically, this
-@@ -783,7 +784,7 @@ class RecursiveMakeBackend(CommonBackend):
- # as direct dependencies of the top recursion target, to somehow
- # prioritize them.
- # 1. See bug 1262241 comment 5.
-- compile_roots = [t for t, deps in self._compile_graph.iteritems()
-+ compile_roots = [t for t, deps in list(self._compile_graph.items())
- if not deps or t not in all_compile_deps]
-
- rule = root_deps_mk.create_rule(['recurse_compile'])
-@@ -845,14 +846,14 @@ class RecursiveMakeBackend(CommonBackend):
- rule.add_dependencies(['$(CURDIR)/%: %'])
-
- def _check_blacklisted_variables(self, makefile_in, makefile_content):
-- if b'EXTERNALLY_MANAGED_MAKE_FILE' in makefile_content:
-+ if 'EXTERNALLY_MANAGED_MAKE_FILE' in makefile_content:
- # Bypass the variable restrictions for externally managed makefiles.
- return
-
- for l in makefile_content.splitlines():
- l = l.strip()
- # Don't check comments
-- if l.startswith(b'#'):
-+ if l.startswith('#'):
- continue
- for x in chain(MOZBUILD_VARIABLES, DEPRECATED_VARIABLES):
- if x not in l:
-@@ -909,11 +910,11 @@ class RecursiveMakeBackend(CommonBackend):
- # Directories with a Makefile containing a tools target, or
- # XPI_PKGNAME or INSTALL_EXTENSION_ID can't be skipped and
- # must run during the 'tools' tier.
-- for t in (b'XPI_PKGNAME', b'INSTALL_EXTENSION_ID',
-- b'tools'):
-+ for t in ('XPI_PKGNAME', 'INSTALL_EXTENSION_ID',
-+ 'tools'):
- if t not in content:
- continue
-- if t == b'tools' and not re.search('(?:^|\s)tools.*::', content, re.M):
-+ if t == 'tools' and not re.search('(?:^|\s)tools.*::', content, re.M):
- continue
- if objdir == self.environment.topobjdir:
- continue
-@@ -933,7 +934,7 @@ class RecursiveMakeBackend(CommonBackend):
- self._fill_root_mk()
-
- # Make the master test manifest files.
-- for flavor, t in self._test_manifests.items():
-+ for flavor, t in list(self._test_manifests.items()):
- install_prefix, manifests = t
- manifest_stem = mozpath.join(install_prefix, '%s.ini' % flavor)
- self._write_master_test_manifest(mozpath.join(
-@@ -1039,7 +1040,7 @@ class RecursiveMakeBackend(CommonBackend):
- for p in ('Makefile', 'backend.mk', '.deps/.mkdir.done'):
- build_files.add_optional_exists(p)
-
-- for idl in manager.idls.values():
-+ for idl in list(manager.idls.values()):
- self._install_manifests['dist_idl'].add_link(idl['source'],
- idl['basename'])
- self._install_manifests['dist_include'].add_optional_exists('%s.h'
-@@ -1086,7 +1087,7 @@ class RecursiveMakeBackend(CommonBackend):
-
- interfaces_manifests = []
- dist_dir = mozpath.join(self.environment.topobjdir, 'dist')
-- for manifest, entries in manager.interface_manifests.items():
-+ for manifest, entries in list(manager.interface_manifests.items()):
- interfaces_manifests.append(mozpath.join('$(DEPTH)', manifest))
- for xpt in sorted(entries):
- registered_xpt_files.add(mozpath.join(
-@@ -1194,7 +1195,7 @@ class RecursiveMakeBackend(CommonBackend):
- # Don't allow files to be defined multiple times unless it is allowed.
- # We currently allow duplicates for non-test files or test files if
- # the manifest is listed as a duplicate.
-- for source, (dest, is_test) in obj.installs.items():
-+ for source, (dest, is_test) in list(obj.installs.items()):
- try:
- self._install_manifests['_test_files'].add_link(source, dest)
- except ValueError:
-@@ -1558,7 +1559,7 @@ class RecursiveMakeBackend(CommonBackend):
- man_dir = mozpath.join(self.environment.topobjdir, '_build_manifests',
- dest)
-
-- for k, manifest in manifests.items():
-+ for k, manifest in list(manifests.items()):
- with self._write_file(mozpath.join(man_dir, k)) as fh:
- manifest.write(fileobj=fh)
-
-@@ -1593,20 +1594,20 @@ class RecursiveMakeBackend(CommonBackend):
- pp.context.update(extra)
- if not pp.context.get('autoconfmk', ''):
- pp.context['autoconfmk'] = 'autoconf.mk'
-- pp.handleLine(b'# THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT MODIFY BY HAND.\n');
-- pp.handleLine(b'DEPTH := @DEPTH@\n')
-- pp.handleLine(b'topobjdir := @topobjdir@\n')
-- pp.handleLine(b'topsrcdir := @top_srcdir@\n')
-- pp.handleLine(b'srcdir := @srcdir@\n')
-- pp.handleLine(b'VPATH := @srcdir@\n')
-- pp.handleLine(b'relativesrcdir := @relativesrcdir@\n')
-- pp.handleLine(b'include $(DEPTH)/config/@autoconfmk@\n')
-+ pp.handleLine('# THIS FILE WAS AUTOMATICALLY GENERATED. DO NOT MODIFY BY HAND.\n');
-+ pp.handleLine('DEPTH := @DEPTH@\n')
-+ pp.handleLine('topobjdir := @topobjdir@\n')
-+ pp.handleLine('topsrcdir := @top_srcdir@\n')
-+ pp.handleLine('srcdir := @srcdir@\n')
-+ pp.handleLine('VPATH := @srcdir@\n')
-+ pp.handleLine('relativesrcdir := @relativesrcdir@\n')
-+ pp.handleLine('include $(DEPTH)/config/@autoconfmk@\n')
- if not stub:
- pp.do_include(obj.input_path)
- # Empty line to avoid failures when last line in Makefile.in ends
- # with a backslash.
-- pp.handleLine(b'\n')
-- pp.handleLine(b'include $(topsrcdir)/config/recurse.mk\n')
-+ pp.handleLine('\n')
-+ pp.handleLine('include $(topsrcdir)/config/recurse.mk\n')
- if not stub:
- # Adding the Makefile.in here has the desired side-effect
- # that if the Makefile.in disappears, this will force
-diff --git a/python/mozbuild/mozbuild/config_status.py b/python/mozbuild/mozbuild/config_status.py
-index d46f1332d..a9a27a699 100644
---- a/python/mozbuild/mozbuild/config_status.py
-+++ b/python/mozbuild/mozbuild/config_status.py
-@@ -77,6 +77,7 @@ def config_status(topobjdir='.', topsrcdir='.', defines=None,
- See build/autoconf/config.status.m4.
- '''
-
-+ print("config_status started")
- if 'CONFIG_FILES' in os.environ:
- raise Exception('Using the CONFIG_FILES environment variable is not '
- 'supported.')
-@@ -119,7 +120,7 @@ def config_status(topobjdir='.', topsrcdir='.', defines=None,
- if 'WRITE_MOZINFO' in os.environ:
- write_mozinfo(os.path.join(topobjdir, 'mozinfo.json'), env, os.environ)
-
-- cpu_start = time.clock()
-+ cpu_start = time.perf_counter()
- time_start = time.time()
-
- # Make appropriate backend instances, defaulting to RecursiveMakeBackend,
-@@ -155,7 +156,7 @@ def config_status(topobjdir='.', topsrcdir='.', defines=None,
- summary = obj.gyp_summary()
- print(summary, file=sys.stderr)
-
-- cpu_time = time.clock() - cpu_start
-+ cpu_time = time.perf_counter() - cpu_start
- wall_time = time.time() - time_start
- efficiency = cpu_time / wall_time if wall_time else 100
- untracked = wall_time - execution_time
-@@ -179,3 +180,5 @@ def config_status(topobjdir='.', topsrcdir='.', defines=None,
- # Advertise Android Studio if it is appropriate.
- if MachCommandConditions.is_android(env):
- print(ANDROID_IDE_ADVERTISEMENT)
-+
-+ print("config_status finished")
-diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
-index d03615707..13d623d4f 100644
---- a/python/mozbuild/mozbuild/configure/__init__.py
-+++ b/python/mozbuild/mozbuild/configure/__init__.py
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-
--import __builtin__
-+
-+import builtins
- import inspect
- import logging
- import os
-@@ -38,6 +38,8 @@ from mozbuild.util import (
-
- import mozpack.path as mozpath
-
-+import traceback
-+
-
- class ConfigureError(Exception):
- pass
-@@ -69,7 +71,7 @@ class SandboxDependsFunction(object):
- def __getattr__(self, key):
- return self._getattr(key).sandboxed
-
-- def __nonzero__(self):
-+ def __bool__(self):
- raise ConfigureError(
- 'Cannot do boolean operations on @depends functions.')
-
-@@ -96,6 +98,7 @@ class DependsFunction(object):
- sandbox._value_for(self)
- elif not sandbox._help:
- sandbox._execution_queue.append((sandbox._value_for, (self,)))
-+ sandbox.tasks_debug_out("DependsFunction.__init %s" % func.__name__)
-
- @property
- def name(self):
-@@ -206,6 +209,15 @@ class CombinedDependsFunction(DependsFunction):
- def __ne__(self, other):
- return not self == other
-
-+ def __hash__(self):
-+ # This was one was taken from [1] initially. Should not have done that:
-+ # it causes explosion of ConfigureSandbox._execution_queue with 100%
-+ # CPU load and eating all avaliable memory...
-+ #
-+ # [1] https://code.foxkit.us/adelie/packages/blob/f2b5773da19ab397fbe64fd32dacc383cfe4cd77/user/mozjs/python3.patch#L8068
-+ return hash((self._name, tuple(self.dependencies)))
-+
-+
- class SandboxedGlobal(dict):
- '''Identifiable dict type for use as function global'''
-
-@@ -253,11 +265,12 @@ class ConfigureSandbox(dict):
- # The default set of builtins. We expose unicode as str to make sandboxed
- # files more python3-ready.
- BUILTINS = ReadOnlyDict({
-- b: getattr(__builtin__, b)
-+ b: getattr(builtins, b)
- for b in ('None', 'False', 'True', 'int', 'bool', 'any', 'all', 'len',
- 'list', 'tuple', 'set', 'dict', 'isinstance', 'getattr',
-- 'hasattr', 'enumerate', 'range', 'zip')
-- }, __import__=forbidden_import, str=unicode)
-+ 'hasattr', 'enumerate', 'range', 'zip', '__build_class__',
-+ 'bytes', 'exec')
-+ }, __import__=forbidden_import, str=str)
-
- # Expose a limited set of functions from os.path
- OS = ReadOnlyNamespace(path=ReadOnlyNamespace(**{
-@@ -294,6 +307,11 @@ class ConfigureSandbox(dict):
- # Queue of functions to execute, with their arguments
- self._execution_queue = []
-
-+ # For debugging: Show number of tasks started in run() / added elsewhere
-+ # and some additional info
-+ self.task_debug = False # set True to enable
-+ self.tasks_started = 0
-+
- # Store the `when`s associated to some options.
- self._conditions = {}
-
-@@ -331,7 +349,7 @@ class ConfigureSandbox(dict):
- return method
- def wrapped(*args, **kwargs):
- out_args = [
-- arg.decode(encoding) if isinstance(arg, str) else arg
-+ arg.decode(encoding) if isinstance(arg, bytes) else arg
- for arg in args
- ]
- return method(*out_args, **kwargs)
-@@ -360,6 +378,14 @@ class ConfigureSandbox(dict):
- handler.setFormatter(formatter)
- logger.addHandler(handler)
-
-+ def tasks_debug_out(self, text):
-+ if self.task_debug:
-+ print("%s / queued %i / done %i" %(text, len(self._execution_queue), self.tasks_started))
-+ #if len(self._execution_queue) > 5000:
-+ # traceback.print_stack(file=sys.stdout)
-+ #if len(self._execution_queue) > 5010:
-+ # raise Exception("Too many tasks")
-+
- def include_file(self, path):
- '''Include one file in the sandbox. Users of this class probably want
- to use `run` instead.
-@@ -380,6 +406,9 @@ class ConfigureSandbox(dict):
- if path in self._all_paths:
- raise ConfigureError(
- 'Cannot include `%s` because it was included already.' % path)
-+
-+ if self.task_debug:
-+ print("include_file", path)
- self._paths.append(path)
- self._all_paths.add(path)
-
-@@ -398,7 +427,7 @@ class ConfigureSandbox(dict):
- if path:
- self.include_file(path)
-
-- for option in self._options.itervalues():
-+ for option in self._options.values():
- # All options must be referenced by some @depends function
- if option not in self._seen:
- raise ConfigureError(
-@@ -425,6 +454,8 @@ class ConfigureSandbox(dict):
-
- # Run the execution queue
- for func, args in self._execution_queue:
-+ self.tasks_started += 1
-+ self.tasks_debug_out("ConfigureSandbox.run(%s)" % func.__name__)
- func(*args)
-
- if self._help:
-@@ -504,7 +535,7 @@ class ConfigureSandbox(dict):
- value = PositiveOptionValue()
- elif value is False or value == ():
- value = NegativeOptionValue()
-- elif isinstance(value, types.StringTypes):
-+ elif isinstance(value, (str,)):
- value = PositiveOptionValue((value,))
- elif isinstance(value, tuple):
- value = PositiveOptionValue(value)
-@@ -544,7 +575,7 @@ class ConfigureSandbox(dict):
- return value
-
- def _dependency(self, arg, callee_name, arg_name=None):
-- if isinstance(arg, types.StringTypes):
-+ if isinstance(arg, (str,)):
- prefix, name, values = Option.split_option(arg)
- if values != ():
- raise ConfigureError("Option must not contain an '='")
-@@ -608,7 +639,7 @@ class ConfigureSandbox(dict):
- '''
- when = self._normalize_when(kwargs.get('when'), 'option')
- args = [self._resolve(arg) for arg in args]
-- kwargs = {k: self._resolve(v) for k, v in kwargs.iteritems()
-+ kwargs = {k: self._resolve(v) for k, v in kwargs.items()
- if k != 'when'}
- option = Option(*args, **kwargs)
- if when:
-@@ -689,7 +720,7 @@ class ConfigureSandbox(dict):
- with self.only_when_impl(when):
- what = self._resolve(what)
- if what:
-- if not isinstance(what, types.StringTypes):
-+ if not isinstance(what, (str,)):
- raise TypeError("Unexpected type: '%s'" % type(what).__name__)
- self.include_file(what)
-
-@@ -707,7 +738,7 @@ class ConfigureSandbox(dict):
- (k[:-len('_impl')], getattr(self, k))
- for k in dir(self) if k.endswith('_impl') and k != 'template_impl'
- )
-- glob.update((k, v) for k, v in self.iteritems() if k not in glob)
-+ glob.update((k, v) for k, v in self.items() if k not in glob)
-
- # Any function argument to the template must be prepared to be sandboxed.
- # If the template itself returns a function (in which case, it's very
-@@ -731,7 +762,7 @@ class ConfigureSandbox(dict):
- def wrapper(*args, **kwargs):
- args = [maybe_prepare_function(arg) for arg in args]
- kwargs = {k: maybe_prepare_function(v)
-- for k, v in kwargs.iteritems()}
-+ for k, v in kwargs.items()}
- ret = template(*args, **kwargs)
- if isfunction(ret):
- # We can't expect the sandboxed code to think about all the
-@@ -766,7 +797,7 @@ class ConfigureSandbox(dict):
- for value, required in (
- (_import, True), (_from, False), (_as, False)):
-
-- if not isinstance(value, types.StringTypes) and (
-+ if not isinstance(value, (str,)) and (
- required or value is not None):
- raise TypeError("Unexpected type: '%s'" % type(value).__name__)
- if value is not None and not self.RE_MODULE.match(value):
-@@ -807,7 +838,7 @@ class ConfigureSandbox(dict):
- # Special case for the open() builtin, because otherwise, using it
- # fails with "IOError: file() constructor not accessible in
- # restricted mode"
-- if what == '__builtin__.open':
-+ if what == 'builtins.open':
- return lambda *args, **kwargs: open(*args, **kwargs)
- # Until this proves to be a performance problem, just construct an
- # import statement and execute it.
-@@ -829,7 +860,7 @@ class ConfigureSandbox(dict):
- name = self._resolve(name, need_help_dependency=False)
- if name is None:
- return
-- if not isinstance(name, types.StringTypes):
-+ if not isinstance(name, (str,)):
- raise TypeError("Unexpected type: '%s'" % type(name).__name__)
- if name in data:
- raise ConfigureError(
-@@ -850,6 +881,7 @@ class ConfigureSandbox(dict):
-
- self._execution_queue.append((
- self._resolve_and_set, (self._config, name, value, when)))
-+ self.tasks_debug_out("ConfigureSandbox.set_config_impl / %s(%s" % (name, value))
-
- def set_define_impl(self, name, value, when=None):
- '''Implementation of set_define().
-@@ -864,6 +896,7 @@ class ConfigureSandbox(dict):
- defines = self._config.setdefault('DEFINES', {})
- self._execution_queue.append((
- self._resolve_and_set, (defines, name, value, when)))
-+ self.tasks_debug_out("ConfigureSandbox.set_define_impl / %s(%s)" % (name, value))
-
- def imply_option_impl(self, option, value, reason=None, when=None):
- '''Implementation of imply_option().
-@@ -922,7 +955,7 @@ class ConfigureSandbox(dict):
- if isinstance(possible_reasons[0], Option):
- reason = possible_reasons[0]
- if not reason and (isinstance(value, (bool, tuple)) or
-- isinstance(value, types.StringTypes)):
-+ isinstance(value, (str,))):
- # A reason can be provided automatically when imply_option
- # is called with an immediate value.
- _, filename, line, _, _, _ = inspect.stack()[1]
-@@ -955,10 +988,10 @@ class ConfigureSandbox(dict):
- if not inspect.isfunction(func):
- raise TypeError("Unexpected type: '%s'" % type(func).__name__)
- if func in self._prepared_functions:
-- return func, func.func_globals
-+ return func, func.__globals__
-
- glob = SandboxedGlobal(
-- (k, v) for k, v in func.func_globals.iteritems()
-+ (k, v) for k, v in func.__globals__.items()
- if (inspect.isfunction(v) and v not in self._templates) or (
- inspect.isclass(v) and issubclass(v, Exception))
- )
-@@ -979,20 +1012,20 @@ class ConfigureSandbox(dict):
- # Note this is not entirely bullet proof (if the value is e.g. a list,
- # the list contents could have changed), but covers the bases.
- closure = None
-- if func.func_closure:
-+ if func.__closure__:
- def makecell(content):
- def f():
- content
-- return f.func_closure[0]
-+ return f.__closure__[0]
-
- closure = tuple(makecell(cell.cell_contents)
-- for cell in func.func_closure)
-+ for cell in func.__closure__)
-
- new_func = self.wraps(func)(types.FunctionType(
-- func.func_code,
-+ func.__code__,
- glob,
- func.__name__,
-- func.func_defaults,
-+ func.__defaults__,
- closure
- ))
- @self.wraps(new_func)
-diff --git a/python/mozbuild/mozbuild/configure/check_debug_ranges.py b/python/mozbuild/mozbuild/configure/check_debug_ranges.py
-index c0caa9cc5..a3e1f37e1 100644
---- a/python/mozbuild/mozbuild/configure/check_debug_ranges.py
-+++ b/python/mozbuild/mozbuild/configure/check_debug_ranges.py
-@@ -6,7 +6,7 @@
- # to a given compilation unit. This is used as a helper to find a bug in some
- # versions of GNU ld.
-
--from __future__ import absolute_import
-+
-
- import subprocess
- import sys
-@@ -45,6 +45,8 @@ def get_range_length(range, debug_ranges):
- def main(bin, compilation_unit):
- p = subprocess.Popen(['objdump', '-W', bin], stdout = subprocess.PIPE, stderr = subprocess.PIPE)
- (out, err) = p.communicate()
-+ if isinstance(out, bytes):
-+ out = out.decode('utf-8')
- sections = re.split('\n(Contents of the|The section) ', out)
- debug_info = [s for s in sections if s.startswith('.debug_info')]
- debug_ranges = [s for s in sections if s.startswith('.debug_ranges')]
-@@ -59,4 +61,4 @@ def main(bin, compilation_unit):
-
-
- if __name__ == '__main__':
-- print(main(*sys.argv[1:]))
-+ print((main(*sys.argv[1:])))
-diff --git a/python/mozbuild/mozbuild/configure/options.py b/python/mozbuild/mozbuild/configure/options.py
-index 53ae2ae6d..4d80cad86 100644
---- a/python/mozbuild/mozbuild/configure/options.py
-+++ b/python/mozbuild/mozbuild/configure/options.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import sys
-@@ -12,7 +12,7 @@ from collections import OrderedDict
-
- def istupleofstrings(obj):
- return isinstance(obj, tuple) and len(obj) and all(
-- isinstance(o, types.StringTypes) for o in obj)
-+ isinstance(o, (str,)) for o in obj)
-
-
- class OptionValue(tuple):
-@@ -88,7 +88,7 @@ class PositiveOptionValue(OptionValue):
- in the form of a tuple for when values are given to the option (in the form
- --option=value[,value2...].
- '''
-- def __nonzero__(self):
-+ def __bool__(self):
- return True
-
-
-@@ -113,7 +113,7 @@ class ConflictingOptionError(InvalidOptionError):
- if format_data:
- message = message.format(**format_data)
- super(ConflictingOptionError, self).__init__(message)
-- for k, v in format_data.iteritems():
-+ for k, v in format_data.items():
- setattr(self, k, v)
-
-
-@@ -149,7 +149,7 @@ class Option(object):
- 'At least an option name or an environment variable name must '
- 'be given')
- if name:
-- if not isinstance(name, types.StringTypes):
-+ if not isinstance(name, (str,)):
- raise InvalidOptionError('Option must be a string')
- if not name.startswith('--'):
- raise InvalidOptionError('Option must start with `--`')
-@@ -158,7 +158,7 @@ class Option(object):
- if not name.islower():
- raise InvalidOptionError('Option must be all lowercase')
- if env:
-- if not isinstance(env, types.StringTypes):
-+ if not isinstance(env, (str,)):
- raise InvalidOptionError(
- 'Environment variable name must be a string')
- if not env.isupper():
-@@ -168,8 +168,8 @@ class Option(object):
- isinstance(nargs, int) and nargs >= 0):
- raise InvalidOptionError(
- "nargs must be a positive integer, '?', '*' or '+'")
-- if (not isinstance(default, types.StringTypes) and
-- not isinstance(default, (bool, types.NoneType)) and
-+ if (not isinstance(default, (str,)) and
-+ not isinstance(default, (bool, type(None))) and
- not istupleofstrings(default)):
- raise InvalidOptionError(
- 'default must be a bool, a string or a tuple of strings')
-@@ -241,7 +241,7 @@ class Option(object):
- ', '.join("'%s'" % c for c in choices))
- elif has_choices:
- maxargs = self.maxargs
-- if len(choices) < maxargs and maxargs != sys.maxint:
-+ if len(choices) < maxargs and maxargs != sys.maxsize:
- raise InvalidOptionError('Not enough `choices` for `nargs`')
- self.choices = choices
- self.help = help
-@@ -255,7 +255,7 @@ class Option(object):
- where prefix is one of 'with', 'without', 'enable' or 'disable'.
- The '=values' part is optional. Values are separated with commas.
- '''
-- if not isinstance(option, types.StringTypes):
-+ if not isinstance(option, (str,)):
- raise InvalidOptionError('Option must be a string')
-
- elements = option.split('=', 1)
-@@ -308,7 +308,7 @@ class Option(object):
- def maxargs(self):
- if isinstance(self.nargs, int):
- return self.nargs
-- return 1 if self.nargs == '?' else sys.maxint
-+ return 1 if self.nargs == '?' else sys.maxsize
-
- def _validate_nargs(self, num):
- minargs, maxargs = self.minargs, self.maxargs
-@@ -499,5 +499,5 @@ class CommandLineHelper(object):
-
- def __iter__(self):
- for d in (self._args, self._extra_args):
-- for arg, pos in d.itervalues():
-+ for arg, pos in d.values():
- yield arg
-diff --git a/python/mozbuild/mozbuild/configure/util.py b/python/mozbuild/mozbuild/configure/util.py
-index 9d8b2eb0e..a12986e48 100644
---- a/python/mozbuild/mozbuild/configure/util.py
-+++ b/python/mozbuild/mozbuild/configure/util.py
-@@ -77,15 +77,7 @@ class ConfigureOutputHandler(logging.Handler):
- # Python has this feature where it sets the encoding of pipes to
- # ascii, which blatantly fails when trying to print out non-ascii.
- def fix_encoding(fh):
-- try:
-- isatty = fh.isatty()
-- except AttributeError:
-- isatty = True
--
-- if not isatty:
-- encoding = getpreferredencoding()
-- if encoding:
-- return codecs.getwriter(encoding)(fh)
-+ # no magic on oe / python3
- return fh
-
- self._stdout = fix_encoding(stdout)
-@@ -200,7 +192,7 @@ class LineIO(object):
- self._errors = errors
-
- def write(self, buf):
-- if self._encoding and isinstance(buf, str):
-+ if self._encoding and isinstance(buf, bytes):
- buf = buf.decode(self._encoding, self._errors)
- lines = buf.splitlines()
- if not lines:
-diff --git a/python/mozbuild/mozbuild/controller/building.py b/python/mozbuild/mozbuild/controller/building.py
-index d5af532f7..e9810fe58 100644
---- a/python/mozbuild/mozbuild/controller/building.py
-+++ b/python/mozbuild/mozbuild/controller/building.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import errno
- import getpass
-@@ -146,7 +146,7 @@ class TierStatus(object):
- """
- o = []
-
-- for tier, state in self.tiers.items():
-+ for tier, state in list(self.tiers.items()):
- t_entry = dict(
- name=tier,
- start=state['begin_time'],
-@@ -574,7 +574,7 @@ class BuildProgressFooter(Footer):
-
- def __init__(self, terminal, monitor):
- Footer.__init__(self, terminal)
-- self.tiers = monitor.tiers.tier_status.viewitems()
-+ self.tiers = monitor.tiers.tier_status.items()
-
- def draw(self):
- """Draws this footer in the terminal."""
-@@ -911,8 +911,8 @@ class CCacheStats(object):
-
- return '\n'.join(lines)
-
-- def __nonzero__(self):
-- relative_values = [v for k, v in self._values.items()
-+ def __bool__(self):
-+ relative_values = [v for k, v in list(self._values.items())
- if k not in self.ABSOLUTE_KEYS]
- return (all(v >= 0 for v in relative_values) and
- any(v > 0 for v in relative_values))
-@@ -1156,7 +1156,7 @@ class BuildDriver(MozbuildObject):
-
- high_finder, finder_percent = monitor.have_high_finder_usage()
- if high_finder:
-- print(FINDER_SLOW_MESSAGE % finder_percent)
-+ print((FINDER_SLOW_MESSAGE % finder_percent))
-
- ccache_end = monitor.ccache_stats()
-
-@@ -1276,8 +1276,8 @@ class BuildDriver(MozbuildObject):
- """Install test files."""
-
- if self.is_clobber_needed():
-- print(INSTALL_TESTS_CLOBBER.format(
-- clobber_file=os.path.join(self.topobjdir, 'CLOBBER')))
-+ print((INSTALL_TESTS_CLOBBER.format(
-+ clobber_file=os.path.join(self.topobjdir, 'CLOBBER'))))
- sys.exit(1)
-
- if not test_objs:
-diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozbuild/frontend/context.py
-index fbdbefc1d..1aef6a65a 100644
---- a/python/mozbuild/mozbuild/frontend/context.py
-+++ b/python/mozbuild/mozbuild/frontend/context.py
-@@ -14,7 +14,7 @@ If you are looking for the absolute authority on what moz.build files can
- contain, you've come to the right place.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import os
-
-@@ -237,15 +237,15 @@ class Context(KeyedDefaultDict):
- This function is transactional: if setitem fails for one of the values,
- the context is not updated at all."""
- if isinstance(iterable, dict):
-- iterable = iterable.items()
-+ iterable = list(iterable.items())
-
- update = {}
-- for key, value in itertools.chain(iterable, kwargs.items()):
-+ for key, value in itertools.chain(iterable, list(kwargs.items())):
- stored_type = self._validate(key, value)
- # Don't create an instance of stored_type if coercion is needed,
- # until all values are validated.
- update[key] = (value, stored_type)
-- for key, (value, stored_type) in update.items():
-+ for key, (value, stored_type) in list(update.items()):
- if not isinstance(value, stored_type):
- update[key] = stored_type(value)
- else:
-@@ -311,7 +311,7 @@ class BaseCompileFlags(ContextDerivedValue, dict):
- # a template were set and which were provided as defaults.
- template_name = getattr(context, 'template', None)
- if template_name in (None, 'Gyp'):
-- dict.__init__(self, ((k, v if v is None else TypedList(unicode)(v))
-+ dict.__init__(self, ((k, v if v is None else TypedList(str)(v))
- for k, v, _ in self.flag_variables))
- else:
- dict.__init__(self)
-@@ -520,13 +520,13 @@ class CompileFlags(BaseCompileFlags):
- if key in self and self[key] is None:
- raise ValueError('`%s` may not be set in COMPILE_FLAGS from moz.build, this '
- 'value is resolved from the emitter.' % key)
-- if not (isinstance(value, list) and all(isinstance(v, basestring) for v in value)):
-+ if not (isinstance(value, list) and all(isinstance(v, str) for v in value)):
- raise ValueError('A list of strings must be provided as a value for a '
- 'compile flags category.')
- dict.__setitem__(self, key, value)
-
-
--class FinalTargetValue(ContextDerivedValue, unicode):
-+class FinalTargetValue(ContextDerivedValue, str):
- def __new__(cls, context, value=""):
- if not value:
- value = 'dist/'
-@@ -536,7 +536,7 @@ class FinalTargetValue(ContextDerivedValue, unicode):
- value += 'bin'
- if context['DIST_SUBDIR']:
- value += '/' + context['DIST_SUBDIR']
-- return unicode.__new__(cls, value)
-+ return str.__new__(cls, value)
-
-
- def Enum(*values):
-@@ -584,7 +584,7 @@ class PathMeta(type):
- cls = SourcePath
- return super(PathMeta, cls).__call__(context, value)
-
--class Path(ContextDerivedValue, unicode):
-+class Path(ContextDerivedValue, str, metaclass=PathMeta):
- """Stores and resolves a source path relative to a given context
-
- This class is used as a backing type for some of the sandbox variables.
-@@ -595,7 +595,6 @@ class Path(ContextDerivedValue, unicode):
- - '!objdir/relative/paths'
- - '%/filesystem/absolute/paths'
- """
-- __metaclass__ = PathMeta
-
- def __new__(cls, context, value=None):
- return super(Path, cls).__new__(cls, value)
-@@ -612,10 +611,14 @@ class Path(ContextDerivedValue, unicode):
- """
- return Path(self.context, mozpath.join(self, *p))
-
-+ @staticmethod
-+ def cmp(a, b):
-+ return (a > b) - (a < b)
-+
- def __cmp__(self, other):
- if isinstance(other, Path) and self.srcdir != other.srcdir:
-- return cmp(self.full_path, other.full_path)
-- return cmp(unicode(self), other)
-+ return self.cmp(self.full_path, other.full_path)
-+ return self.cmp(str(self), other)
-
- # __cmp__ is not enough because unicode has __eq__, __ne__, etc. defined
- # and __cmp__ is only used for those when they don't exist.
-@@ -773,7 +776,7 @@ def ContextDerivedTypedRecord(*fields):
- __slots__ = tuple([name for name, _ in fields])
-
- def __init__(self, context):
-- for fname, ftype in self._fields.items():
-+ for fname, ftype in list(self._fields.items()):
- if issubclass(ftype, ContextDerivedValue):
- setattr(self, fname, self._fields[fname](context))
- else:
-@@ -909,8 +912,8 @@ def TypedListWithAction(typ, action):
- return _TypedListWithAction
-
- WebPlatformTestManifest = TypedNamedTuple("WebPlatformTestManifest",
-- [("manifest_path", unicode),
-- ("test_root", unicode)])
-+ [("manifest_path", str),
-+ ("test_root", str)])
- ManifestparserManifestList = OrderedPathListWithAction(read_manifestparser_manifest)
- ReftestManifestList = OrderedPathListWithAction(read_reftest_manifest)
- WptManifestList = TypedListWithAction(WebPlatformTestManifest, read_wpt_manifest)
-@@ -918,18 +921,18 @@ WptManifestList = TypedListWithAction(WebPlatformTestManifest, read_wpt_manifest
- OrderedSourceList = ContextDerivedTypedList(SourcePath, StrictOrderingOnAppendList)
- OrderedTestFlavorList = TypedList(Enum(*all_test_flavors()),
- StrictOrderingOnAppendList)
--OrderedStringList = TypedList(unicode, StrictOrderingOnAppendList)
-+OrderedStringList = TypedList(str, StrictOrderingOnAppendList)
- DependentTestsEntry = ContextDerivedTypedRecord(('files', OrderedSourceList),
- ('tags', OrderedStringList),
- ('flavors', OrderedTestFlavorList))
- BugzillaComponent = TypedNamedTuple('BugzillaComponent',
-- [('product', unicode), ('component', unicode)])
-+ [('product', str), ('component', str)])
- SchedulingComponents = ContextDerivedTypedRecord(
-- ('inclusive', TypedList(unicode, StrictOrderingOnAppendList)),
-- ('exclusive', TypedList(unicode, StrictOrderingOnAppendList)))
-+ ('inclusive', TypedList(str, StrictOrderingOnAppendList)),
-+ ('exclusive', TypedList(str, StrictOrderingOnAppendList)))
-
- GeneratedFilesList = StrictOrderingOnAppendListWithFlagsFactory({
-- 'script': unicode,
-+ 'script': str,
- 'inputs': list,
- 'flags': list, })
-
-@@ -1096,7 +1099,7 @@ class Files(SubContext):
- self.test_tags |= other.test_tags
- self.test_flavors |= other.test_flavors
-
-- for k, v in other.items():
-+ for k, v in list(other.items()):
- if k == 'IMPACTED_TESTS':
- self.test_files |= set(mozpath.relpath(e.full_path, e.context.config.topsrcdir)
- for e in v.files)
-@@ -1154,7 +1157,7 @@ class Files(SubContext):
-
- bug_components = Counter()
-
-- for f in files.values():
-+ for f in list(files.values()):
- bug_component = f.get('BUG_COMPONENT')
- if bug_component:
- bug_components[bug_component] += 1
-@@ -1232,7 +1235,7 @@ VARIABLES = {
- RustLibrary template instead.
- """),
-
-- 'RUST_LIBRARY_TARGET_DIR': (unicode, unicode,
-+ 'RUST_LIBRARY_TARGET_DIR': (str, str,
- """Where CARGO_TARGET_DIR should point when compiling this library. If
- not set, it defaults to the current objdir. It should be a relative path
- to the current objdir; absolute paths should not be used.
-@@ -1248,7 +1251,7 @@ VARIABLES = {
- HostRustLibrary template instead.
- """),
-
-- 'RUST_TEST': (unicode, unicode,
-+ 'RUST_TEST': (str, str,
- """Name of a Rust test to build and run via `cargo test`.
-
- This variable should not be used directly; you should be using the
-@@ -1487,7 +1490,7 @@ VARIABLES = {
- """Like ``OBJDIR_FILES``, with preprocessing. Use sparingly.
- """),
-
-- 'FINAL_LIBRARY': (unicode, unicode,
-+ 'FINAL_LIBRARY': (str, str,
- """Library in which the objects of the current directory will be linked.
-
- This variable contains the name of a library, defined elsewhere with
-@@ -1528,7 +1531,7 @@ VARIABLES = {
- with the host compiler.
- """),
-
-- 'HOST_LIBRARY_NAME': (unicode, unicode,
-+ 'HOST_LIBRARY_NAME': (str, str,
- """Name of target library generated when cross compiling.
- """),
-
-@@ -1546,7 +1549,7 @@ VARIABLES = {
- libraries that link into this library via FINAL_LIBRARY.
- """),
-
-- 'LIBRARY_NAME': (unicode, unicode,
-+ 'LIBRARY_NAME': (str, str,
- """The code name of the library generated for a directory.
-
- By default STATIC_LIBRARY_NAME and SHARED_LIBRARY_NAME take this name.
-@@ -1558,7 +1561,7 @@ VARIABLES = {
- ``example/components/xpcomsample.lib`` on Windows.
- """),
-
-- 'SHARED_LIBRARY_NAME': (unicode, unicode,
-+ 'SHARED_LIBRARY_NAME': (str, str,
- """The name of the static library generated for a directory, if it needs to
- differ from the library code name.
-
-@@ -1572,7 +1575,7 @@ VARIABLES = {
- Implies FORCE_SHARED_LIB.
- """),
-
-- 'STATIC_LIBRARY_NAME': (unicode, unicode,
-+ 'STATIC_LIBRARY_NAME': (str, str,
- """The name of the static library generated for a directory, if it needs to
- differ from the library code name.
-
-@@ -1604,31 +1607,31 @@ VARIABLES = {
-
- This variable contains a list of system libaries to link against.
- """),
-- 'RCFILE': (unicode, unicode,
-+ 'RCFILE': (str, str,
- """The program .rc file.
-
- This variable can only be used on Windows.
- """),
-
-- 'RESFILE': (unicode, unicode,
-+ 'RESFILE': (str, str,
- """The program .res file.
-
- This variable can only be used on Windows.
- """),
-
-- 'RCINCLUDE': (unicode, unicode,
-+ 'RCINCLUDE': (str, str,
- """The resource script file to be included in the default .res file.
-
- This variable can only be used on Windows.
- """),
-
-- 'DEFFILE': (unicode, unicode,
-+ 'DEFFILE': (str, str,
- """The program .def (module definition) file.
-
- This variable can only be used on Windows.
- """),
-
-- 'SYMBOLS_FILE': (Path, unicode,
-+ 'SYMBOLS_FILE': (Path, str,
- """A file containing a list of symbols to export from a shared library.
-
- The given file contains a list of symbols to be exported, and is
-@@ -1649,7 +1652,7 @@ VARIABLES = {
- ``BIN_SUFFIX``, the name will remain unchanged.
- """),
-
-- 'SONAME': (unicode, unicode,
-+ 'SONAME': (str, str,
- """The soname of the shared object currently being linked
-
- soname is the "logical name" of a shared object, often used to provide
-@@ -1719,7 +1722,7 @@ VARIABLES = {
- ``GENERATED_FILES``.
- """),
-
-- 'PROGRAM' : (unicode, unicode,
-+ 'PROGRAM' : (str, str,
- """Compiled executable name.
-
- If the configuration token ``BIN_SUFFIX`` is set, its value will be
-@@ -1727,7 +1730,7 @@ VARIABLES = {
- ``BIN_SUFFIX``, ``PROGRAM`` will remain unchanged.
- """),
-
-- 'HOST_PROGRAM' : (unicode, unicode,
-+ 'HOST_PROGRAM' : (str, str,
- """Compiled host executable name.
-
- If the configuration token ``HOST_BIN_SUFFIX`` is set, its value will be
-@@ -1765,7 +1768,7 @@ VARIABLES = {
- files.
- """),
-
-- 'XPIDL_MODULE': (unicode, unicode,
-+ 'XPIDL_MODULE': (str, str,
- """XPCOM Interface Definition Module Name.
-
- This is the name of the ``.xpt`` file that is created by linking
-@@ -1924,14 +1927,14 @@ VARIABLES = {
-
-
- # The following variables are used to control the target of installed files.
-- 'XPI_NAME': (unicode, unicode,
-+ 'XPI_NAME': (str, str,
- """The name of an extension XPI to generate.
-
- When this variable is present, the results of this directory will end up
- being packaged into an extension instead of the main dist/bin results.
- """),
-
-- 'DIST_SUBDIR': (unicode, unicode,
-+ 'DIST_SUBDIR': (str, str,
- """The name of an alternate directory to install files to.
-
- When this variable is present, the results of this directory will end up
-@@ -1939,7 +1942,7 @@ VARIABLES = {
- otherwise be placed.
- """),
-
-- 'FINAL_TARGET': (FinalTargetValue, unicode,
-+ 'FINAL_TARGET': (FinalTargetValue, str,
- """The name of the directory to install targets to.
-
- The directory is relative to the top of the object directory. The
-@@ -1970,7 +1973,7 @@ VARIABLES = {
-
- 'GYP_DIRS': (StrictOrderingOnAppendListWithFlagsFactory({
- 'variables': dict,
-- 'input': unicode,
-+ 'input': str,
- 'sandbox_vars': dict,
- 'no_chromium': bool,
- 'no_unified': bool,
-@@ -2194,7 +2197,7 @@ VARIABLES = {
- }
-
- # Sanity check: we don't want any variable above to have a list as storage type.
--for name, (storage_type, input_types, docs) in VARIABLES.items():
-+for name, (storage_type, input_types, docs) in list(VARIABLES.items()):
- if storage_type == list:
- raise RuntimeError('%s has a "list" storage type. Use "List" instead.'
- % name)
-diff --git a/python/mozbuild/mozbuild/frontend/data.py b/python/mozbuild/mozbuild/frontend/data.py
-index 442fc9e0a..837453a9f 100644
---- a/python/mozbuild/mozbuild/frontend/data.py
-+++ b/python/mozbuild/mozbuild/frontend/data.py
-@@ -15,7 +15,7 @@ contains the code for converting executed mozbuild files into these data
- structures.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- from mozbuild.util import StrictOrderingOnAppendList
- from mozpack.chrome.manifest import ManifestEntry
-@@ -182,7 +182,7 @@ class ComputedFlags(ContextDerived):
- if value:
- for dest_var in dest_vars:
- flags[dest_var].extend(value)
-- return flags.items()
-+ return list(flags.items())
-
- class XPIDLFile(ContextDerived):
- """Describes an XPIDL file to be compiled."""
-@@ -213,7 +213,7 @@ class BaseDefines(ContextDerived):
- self.defines = defines
-
- def get_defines(self):
-- for define, value in self.defines.iteritems():
-+ for define, value in self.defines.items():
- if value is True:
- yield('-D%s' % define)
- elif value is False:
-@@ -494,7 +494,7 @@ class SimpleProgram(BaseProgram):
- KIND = 'target'
-
- def source_files(self):
-- for srcs in self.sources.values():
-+ for srcs in list(self.sources.values()):
- for f in srcs:
- if mozpath.basename(mozpath.splitext(f)[0]) == mozpath.splitext(self.program)[0]:
- return [f]
-diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py
-index 642b381c0..c28344a75 100644
---- a/python/mozbuild/mozbuild/frontend/emitter.py
-+++ b/python/mozbuild/mozbuild/frontend/emitter.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import itertools
- import logging
-@@ -116,8 +116,8 @@ class TreeMetadataEmitter(LoggingMixin):
- # arguments. This gross hack works around the problem until we
- # rid ourselves of 2.6.
- self.info = {}
-- for k, v in mozinfo.info.items():
-- if isinstance(k, unicode):
-+ for k, v in list(mozinfo.info.items()):
-+ if isinstance(k, str):
- k = k.encode('ascii')
- self.info[k] = v
-
-@@ -234,7 +234,7 @@ class TreeMetadataEmitter(LoggingMixin):
-
-
- # Next do FINAL_LIBRARY linkage.
-- for lib in (l for libs in self._libs.values() for l in libs):
-+ for lib in (l for libs in list(self._libs.values()) for l in libs):
- if not isinstance(lib, (StaticLibrary, RustLibrary)) or not lib.link_into:
- continue
- if lib.link_into not in self._libs:
-@@ -294,13 +294,13 @@ class TreeMetadataEmitter(LoggingMixin):
- lib.link_into == outerlib.basename):
- propagate_defines(lib, defines)
-
-- for lib in (l for libs in self._libs.values() for l in libs):
-+ for lib in (l for libs in list(self._libs.values()) for l in libs):
- if isinstance(lib, Library):
- propagate_defines(lib, lib.lib_defines)
- yield lib
-
-
-- for lib in (l for libs in self._libs.values() for l in libs):
-+ for lib in (l for libs in list(self._libs.values()) for l in libs):
- lib_defines = list(lib.lib_defines.get_defines())
- if lib_defines:
- objdir_flags = self._compile_flags[lib.objdir]
-@@ -310,13 +310,13 @@ class TreeMetadataEmitter(LoggingMixin):
- if objdir_flags:
- objdir_flags.resolve_flags('LIBRARY_DEFINES', lib_defines)
-
-- for flags_obj in self._compile_flags.values():
-+ for flags_obj in list(self._compile_flags.values()):
- yield flags_obj
-
-- for flags_obj in self._compile_as_flags.values():
-+ for flags_obj in list(self._compile_as_flags.values()):
- yield flags_obj
-
-- for obj in self._binaries.values():
-+ for obj in list(self._binaries.values()):
- yield obj
-
-
-@@ -409,7 +409,7 @@ class TreeMetadataEmitter(LoggingMixin):
- libs[key] = l
- if key not in libs:
- libs[key] = l
-- candidates = libs.values()
-+ candidates = list(libs.values())
- if force_static and not candidates:
- if dir:
- raise SandboxValidationError(
-@@ -473,9 +473,9 @@ class TreeMetadataEmitter(LoggingMixin):
-
- def _verify_deps(self, context, crate_dir, crate_name, dependencies, description='Dependency'):
- """Verify that a crate's dependencies all specify local paths."""
-- for dep_crate_name, values in dependencies.iteritems():
-+ for dep_crate_name, values in dependencies.items():
- # A simple version number.
-- if isinstance(values, (str, unicode)):
-+ if isinstance(values, str):
- raise SandboxValidationError(
- '%s %s of crate %s does not list a path' % (description, dep_crate_name, crate_name),
- context)
-@@ -529,7 +529,7 @@ class TreeMetadataEmitter(LoggingMixin):
-
- cargo_target_dir = context.get('RUST_LIBRARY_TARGET_DIR', '.')
-
-- dependencies = set(config.get('dependencies', {}).iterkeys())
-+ dependencies = set(config.get('dependencies', {}).keys())
-
- features = context.get(cls.FEATURES_VAR, [])
- unique_features = set(features)
-@@ -863,7 +863,7 @@ class TreeMetadataEmitter(LoggingMixin):
- assert not gen_sources['UNIFIED_SOURCES']
-
- no_pgo = context.get('NO_PGO')
-- no_pgo_sources = [f for f, flags in all_flags.iteritems()
-+ no_pgo_sources = [f for f, flags in all_flags.items()
- if flags.no_pgo]
- if no_pgo:
- if no_pgo_sources:
-@@ -890,7 +890,7 @@ class TreeMetadataEmitter(LoggingMixin):
-
- # The inverse of the above, mapping suffixes to their canonical suffix.
- canonicalized_suffix_map = {}
-- for suffix, alternatives in suffix_map.iteritems():
-+ for suffix, alternatives in suffix_map.items():
- alternatives.add(suffix)
- for a in alternatives:
- canonicalized_suffix_map[a] = suffix
-@@ -914,7 +914,7 @@ class TreeMetadataEmitter(LoggingMixin):
- # Source files to track for linkables associated with this context.
- ctxt_sources = defaultdict(lambda: defaultdict(list))
-
-- for variable, (klass, gen_klass, suffixes) in varmap.items():
-+ for variable, (klass, gen_klass, suffixes) in list(varmap.items()):
- allowed_suffixes = set().union(*[suffix_map[s] for s in suffixes])
-
- # First ensure that we haven't been given filetypes that we don't
-@@ -941,20 +941,20 @@ class TreeMetadataEmitter(LoggingMixin):
- obj = cls(*arglist)
- srcs = obj.files
- if isinstance(obj, UnifiedSources) and obj.have_unified_mapping:
-- srcs = dict(obj.unified_source_mapping).keys()
-+ srcs = list(dict(obj.unified_source_mapping).keys())
- ctxt_sources[variable][canonical_suffix] += sorted(srcs)
- yield obj
-
- if ctxt_sources:
- for linkable in linkables:
- for target_var in ('SOURCES', 'UNIFIED_SOURCES'):
-- for suffix, srcs in ctxt_sources[target_var].items():
-+ for suffix, srcs in list(ctxt_sources[target_var].items()):
- linkable.sources[suffix] += srcs
- for host_linkable in host_linkables:
-- for suffix, srcs in ctxt_sources['HOST_SOURCES'].items():
-+ for suffix, srcs in list(ctxt_sources['HOST_SOURCES'].items()):
- host_linkable.sources[suffix] += srcs
-
-- for f, flags in all_flags.iteritems():
-+ for f, flags in all_flags.items():
- if flags.flags:
- ext = mozpath.splitext(f)[1]
- yield PerSourceFlag(context, f, flags.flags)
-@@ -1143,7 +1143,7 @@ class TreeMetadataEmitter(LoggingMixin):
- for obj in self._handle_linkables(context, passthru, generated_files):
- yield obj
-
-- generated_files.update(['%s%s' % (k, self.config.substs.get('BIN_SUFFIX', '')) for k in self._binaries.keys()])
-+ generated_files.update(['%s%s' % (k, self.config.substs.get('BIN_SUFFIX', '')) for k in list(self._binaries.keys())])
-
- components = []
- for var, cls in (
-@@ -1277,7 +1277,7 @@ class TreeMetadataEmitter(LoggingMixin):
- for obj in self._process_jar_manifests(context):
- yield obj
-
-- for name, jar in context.get('JAVA_JAR_TARGETS', {}).items():
-+ for name, jar in list(context.get('JAVA_JAR_TARGETS', {}).items()):
- yield ContextWrapped(context, jar)
-
- computed_as_flags.resolve_flags('MOZBUILD',
-@@ -1346,7 +1346,7 @@ class TreeMetadataEmitter(LoggingMixin):
- script = mozpath.join(mozpath.dirname(mozpath.dirname(__file__)),
- 'action', 'process_define_files.py')
- yield GeneratedFile(context, script, 'process_define_file',
-- unicode(path),
-+ str(path),
- [Path(context, path + '.in')])
-
- generated_files = context.get('GENERATED_FILES') or []
-@@ -1393,7 +1393,7 @@ class TreeMetadataEmitter(LoggingMixin):
- flags.flags, localized=localized)
-
- def _process_test_manifests(self, context):
-- for prefix, info in TEST_MANIFESTS.items():
-+ for prefix, info in list(TEST_MANIFESTS.items()):
- for path, manifest in context.get('%s_MANIFESTS' % prefix, []):
- for obj in self._process_test_manifest(context, info, path, manifest):
- yield obj
-@@ -1479,7 +1479,7 @@ class TreeMetadataEmitter(LoggingMixin):
-
- process_support_files(test)
-
-- for path, m_defaults in mpmanifest.manifest_defaults.items():
-+ for path, m_defaults in list(mpmanifest.manifest_defaults.items()):
- process_support_files(m_defaults)
-
- # We also copy manifests into the output directory,
-diff --git a/python/mozbuild/mozbuild/frontend/reader.py b/python/mozbuild/mozbuild/frontend/reader.py
-index c1efc1c3d..0cdf8b8db 100644
---- a/python/mozbuild/mozbuild/frontend/reader.py
-+++ b/python/mozbuild/mozbuild/frontend/reader.py
-@@ -16,7 +16,7 @@ The BuildReader contains basic logic for traversing a tree of mozbuild files.
- It does this by examining specific variables populated during execution.
- """
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import ast
- import inspect
-@@ -81,12 +81,13 @@ from .context import (
-
- from mozbuild.base import ExecutionSummary
- from concurrent.futures.process import ProcessPoolExecutor
-+from functools import reduce
-
-
-
- if sys.version_info.major == 2:
-- text_type = unicode
-- type_type = types.TypeType
-+ text_type = str
-+ type_type = type
- else:
- text_type = str
- type_type = type
-@@ -127,7 +128,7 @@ class EmptyConfig(object):
-
- self.substs = self.PopulateOnGetDict(EmptyValue, substs or self.default_substs)
- udict = {}
-- for k, v in self.substs.items():
-+ for k, v in list(self.substs.items()):
- if isinstance(v, str):
- udict[k.decode('utf-8')] = v.decode('utf-8')
- else:
-@@ -311,7 +312,7 @@ class MozbuildSandbox(Sandbox):
- raise Exception('`template` is a function decorator. You must '
- 'use it as `@template` preceding a function declaration.')
-
-- name = func.func_name
-+ name = func.__name__
-
- if name in self.templates:
- raise KeyError(
-@@ -390,7 +391,7 @@ class MozbuildSandbox(Sandbox):
- klass = self._context.__class__
- self._context.__class__ = TemplateContext
- # The sandbox will do all the necessary checks for these merges.
-- for key, value in context.items():
-+ for key, value in list(context.items()):
- if isinstance(value, dict):
- self[key].update(value)
- elif isinstance(value, (list, HierarchicalStringList)):
-@@ -407,12 +408,14 @@ class MozbuildSandbox(Sandbox):
-
- class TemplateFunction(object):
- def __init__(self, func, sandbox):
-- self.path = func.func_code.co_filename
-- self.name = func.func_name
-+ self.path = func.__code__.co_filename
-+ self.name = func.__name__
-
-- code = func.func_code
-+ code = func.__code__
- firstlineno = code.co_firstlineno
- lines = sandbox._current_source.splitlines(True)
-+ if len(lines) and isinstance(lines[0], bytes):
-+ lines = [l.decode('utf-8') for l in lines]
- lines = inspect.getblock(lines[firstlineno - 1:])
-
- # The code lines we get out of inspect.getsourcelines look like
-@@ -430,7 +433,7 @@ class TemplateFunction(object):
- # actually never calls __getitem__ and __setitem__, so we need to
- # modify the AST so that accesses to globals are properly directed
- # to a dict.
-- self._global_name = b'_data' # AST wants str for this, not unicode
-+ self._global_name = '_data'
- # In case '_data' is a name used for a variable in the function code,
- # prepend more underscores until we find an unused name.
- while (self._global_name in code.co_names or
-@@ -449,8 +452,8 @@ class TemplateFunction(object):
- compile(func_ast, self.path, 'exec'),
- glob,
- self.name,
-- func.func_defaults,
-- func.func_closure,
-+ func.__defaults__,
-+ func.__closure__,
- )
- func()
-
-@@ -464,11 +467,11 @@ class TemplateFunction(object):
- '__builtins__': sandbox._builtins
- }
- func = types.FunctionType(
-- self._func.func_code,
-+ self._func.__code__,
- glob,
- self.name,
-- self._func.func_defaults,
-- self._func.func_closure
-+ self._func.__defaults__,
-+ self._func.__closure__
- )
- sandbox.exec_function(func, args, kwargs, self.path,
- becomes_current_path=False)
-@@ -484,7 +487,7 @@ class TemplateFunction(object):
- def visit_Str(self, node):
- # String nodes we got from the AST parser are str, but we want
- # unicode literals everywhere, so transform them.
-- node.s = unicode(node.s)
-+ node.s = str(node.s)
- return node
-
- def visit_Name(self, node):
-@@ -617,7 +620,7 @@ class BuildReaderError(Exception):
-
- for l in traceback.format_exception(type(self.other), self.other,
- self.trace):
-- s.write(unicode(l))
-+ s.write(str(l))
-
- return s.getvalue()
-
-@@ -767,7 +770,7 @@ class BuildReaderError(Exception):
- s.write(' %s\n' % inner.args[2])
- s.write('\n')
- close_matches = difflib.get_close_matches(inner.args[2],
-- VARIABLES.keys(), 2)
-+ list(VARIABLES.keys()), 2)
- if close_matches:
- s.write('Maybe you meant %s?\n' % ' or '.join(close_matches))
- s.write('\n')
-@@ -1152,7 +1155,7 @@ class BuildReader(object):
- context)
- non_unified_sources.add(source)
- action_overrides = {}
-- for action, script in gyp_dir.action_overrides.iteritems():
-+ for action, script in gyp_dir.action_overrides.items():
- action_overrides[action] = SourcePath(context, script)
-
- gyp_processor = GypProcessor(context.config,
-@@ -1188,7 +1191,7 @@ class BuildReader(object):
-
- recurse_info[d][key] = dict(sandbox.metadata[key])
-
-- for path, child_metadata in recurse_info.items():
-+ for path, child_metadata in list(recurse_info.items()):
- child_path = path.join('moz.build').full_path
-
- # Ensure we don't break out of the topsrcdir. We don't do realpath
-@@ -1279,7 +1282,7 @@ class BuildReader(object):
- # There is room to improve this code (and the code in
- # _find_relevant_mozbuilds) to better handle multiple files in the same
- # directory. Bug 1136966 tracks.
-- for path, mbpaths in relevants.items():
-+ for path, mbpaths in list(relevants.items()):
- path_mozbuilds[path] = [mozpath.join(topsrcdir, p) for p in mbpaths]
-
- for i, mbpath in enumerate(mbpaths[0:-1]):
-@@ -1316,7 +1319,7 @@ class BuildReader(object):
- all_contexts.append(context)
-
- result = {}
-- for path, paths in path_mozbuilds.items():
-+ for path, paths in list(path_mozbuilds.items()):
- result[path] = reduce(lambda x, y: x + y, (contexts[p] for p in paths), [])
-
- return result, all_contexts
-@@ -1356,7 +1359,7 @@ class BuildReader(object):
-
- r = {}
-
-- for path, ctxs in paths.items():
-+ for path, ctxs in list(paths.items()):
- # Should be normalized by read_relevant_mozbuilds.
- assert '\\' not in path
-
-diff --git a/python/mozbuild/mozbuild/frontend/sandbox.py b/python/mozbuild/mozbuild/frontend/sandbox.py
-index b2090802e..6d94291ea 100644
---- a/python/mozbuild/mozbuild/frontend/sandbox.py
-+++ b/python/mozbuild/mozbuild/frontend/sandbox.py
-@@ -17,7 +17,7 @@ KeyError are machine parseable. This machine-friendly data is used to present
- user-friendly error messages in the case of errors.
- """
-
--from __future__ import absolute_import, unicode_literals
-+
-
- import os
- import sys
-@@ -112,6 +112,7 @@ class Sandbox(dict):
- 'int': int,
- 'set': set,
- 'tuple': tuple,
-+ 'str': str,
- })
-
- def __init__(self, context, finder=default_finder):
-diff --git a/python/mozbuild/mozbuild/jar.py b/python/mozbuild/mozbuild/jar.py
-index 47a2eff63..96aea63ce 100644
---- a/python/mozbuild/mozbuild/jar.py
-+++ b/python/mozbuild/mozbuild/jar.py
-@@ -8,7 +8,7 @@ processing jar.mn files.
- See the documentation for jar.mn on MDC for further details on the format.
- '''
-
--from __future__ import absolute_import
-+
-
- import sys
- import os
-@@ -17,7 +17,7 @@ import re
- import logging
- from time import localtime
- from MozZipFile import ZipFile
--from cStringIO import StringIO
-+from io import StringIO
- from collections import defaultdict
-
- from mozbuild.preprocessor import Preprocessor
-@@ -302,9 +302,9 @@ class JarMaker(object):
- '''updateManifest replaces the % in the chrome registration entries
- with the given chrome base path, and updates the given manifest file.
- '''
-- myregister = dict.fromkeys(map(lambda s: s.replace('%',
-- chromebasepath), register))
-- addEntriesToListFile(manifestPath, myregister.iterkeys())
-+ myregister = dict.fromkeys([s.replace('%',
-+ chromebasepath) for s in register])
-+ addEntriesToListFile(manifestPath, iter(myregister.keys()))
-
- def makeJar(self, infile, jardir):
- '''makeJar is the main entry point to JarMaker.
-@@ -322,7 +322,7 @@ class JarMaker(object):
- elif self.relativesrcdir:
- self.localedirs = \
- self.generateLocaleDirs(self.relativesrcdir)
-- if isinstance(infile, basestring):
-+ if isinstance(infile, str):
- logging.info('processing ' + infile)
- self.sourcedirs.append(_normpath(os.path.dirname(infile)))
- pp = self.pp.clone()
-diff --git a/python/mozbuild/mozbuild/makeutil.py b/python/mozbuild/mozbuild/makeutil.py
-index fcd45bed2..f77c5d2c3 100644
---- a/python/mozbuild/mozbuild/makeutil.py
-+++ b/python/mozbuild/mozbuild/makeutil.py
-@@ -2,11 +2,10 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import re
--from types import StringTypes
- from collections import Iterable
-
-
-@@ -66,7 +65,7 @@ class _SimpleOrderedSet(object):
- self._list = []
- self._set = set()
-
-- def __nonzero__(self):
-+ def __bool__(self):
- return bool(self._set)
-
- def __iter__(self):
-@@ -103,19 +102,19 @@ class Rule(object):
-
- def add_targets(self, targets):
- '''Add additional targets to the rule.'''
-- assert isinstance(targets, Iterable) and not isinstance(targets, StringTypes)
-+ assert isinstance(targets, Iterable) and not isinstance(targets, str)
- self._targets.update(targets)
- return self
-
- def add_dependencies(self, deps):
- '''Add dependencies to the rule.'''
-- assert isinstance(deps, Iterable) and not isinstance(deps, StringTypes)
-+ assert isinstance(deps, Iterable) and not isinstance(deps, str)
- self._dependencies.update(deps)
- return self
-
- def add_commands(self, commands):
- '''Add commands to the rule.'''
-- assert isinstance(commands, Iterable) and not isinstance(commands, StringTypes)
-+ assert isinstance(commands, Iterable) and not isinstance(commands, str)
- self._commands.extend(commands)
- return self
-
-@@ -139,13 +138,16 @@ class Rule(object):
- '''
- if not self._targets:
- return
-- fh.write('%s:' % ' '.join(self._targets))
-+ wstring = '%s:' % ' '.join(self._targets)
- if self._dependencies:
-- fh.write(' %s' % ' '.join(self.dependencies()))
-- fh.write('\n')
-+ wstring += ' %s' % ' '.join(self.dependencies())
-+ wstring += '\n'
- for cmd in self._commands:
-- fh.write('\t%s\n' % cmd)
--
-+ wstring += '\t%s\n' % cmd
-+ try:
-+ fh.write(wstring.encode('utf-8'))
-+ except TypeError:
-+ fh.write(wstring)
-
- # colon followed by anything except a slash (Windows path detection)
- _depfilesplitter = re.compile(r':(?![\\/])')
-diff --git a/python/mozbuild/mozbuild/mozinfo.py b/python/mozbuild/mozbuild/mozinfo.py
-index 7e7ad1b2a..f03f20ba3 100755
---- a/python/mozbuild/mozbuild/mozinfo.py
-+++ b/python/mozbuild/mozbuild/mozinfo.py
-@@ -5,7 +5,7 @@
- # This module produces a JSON file that provides basic build info and
- # configuration metadata.
-
--from __future__ import absolute_import
-+
-
- import os
- import re
-@@ -33,7 +33,7 @@ def build_dict(config, env=os.environ):
- d['mozconfig'] = config.mozconfig
-
- # os
-- o = substs["OS_TARGET"]
-+ o = str(substs["OS_TARGET"])
- known_os = {"Linux": "linux",
- "WINNT": "win",
- "Darwin": "mac",
-@@ -148,7 +148,7 @@ def write_mozinfo(file, config, env=os.environ):
- and what keys are produced.
- """
- build_conf = build_dict(config, env)
-- if isinstance(file, basestring):
-- file = open(file, 'wb')
-+ if isinstance(file, str):
-+ file = open(file, 'w')
-
- json.dump(build_conf, file, sort_keys=True, indent=4)
-diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py
-index 6780b8b72..19e59884e 100644
---- a/python/mozbuild/mozbuild/preprocessor.py
-+++ b/python/mozbuild/mozbuild/preprocessor.py
-@@ -27,7 +27,8 @@ import os
- import re
- from optparse import OptionParser
- import errno
--from makeutil import Makefile
-+from .makeutil import Makefile
-+from functools import reduce
-
- # hack around win32 mangling our line endings
- # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65443
-@@ -230,7 +231,7 @@ class Expression:
- def __repr__(self):
- return self.value.__repr__()
-
-- class ParseError(StandardError):
-+ class ParseError(Exception):
- """
- Error raised when parsing fails.
- It has two members, offset and content, which give the offset of the
-@@ -278,7 +279,7 @@ class Preprocessor:
- self.context = Context()
- for k,v in {'FILE': '',
- 'LINE': 0,
-- 'DIRECTORY': os.path.abspath('.')}.iteritems():
-+ 'DIRECTORY': os.path.abspath('.')}.items():
- self.context[k] = v
- self.actionLevel = 0
- self.disableLevel = 0
-@@ -292,21 +293,21 @@ class Preprocessor:
- self.cmds = {}
- for cmd, level in {'define': 0,
- 'undef': 0,
-- 'if': sys.maxint,
-- 'ifdef': sys.maxint,
-- 'ifndef': sys.maxint,
-+ 'if': sys.maxsize,
-+ 'ifdef': sys.maxsize,
-+ 'ifndef': sys.maxsize,
- 'else': 1,
- 'elif': 1,
- 'elifdef': 1,
- 'elifndef': 1,
-- 'endif': sys.maxint,
-+ 'endif': sys.maxsize,
- 'expand': 0,
- 'literal': 0,
- 'filter': 0,
- 'unfilter': 0,
- 'include': 0,
- 'includesubst': 0,
-- 'error': 0}.iteritems():
-+ 'error': 0}.items():
- self.cmds[cmd] = (level, getattr(self, 'do_' + cmd))
- self.out = sys.stdout
- self.setMarker(marker)
-@@ -434,7 +435,7 @@ class Preprocessor:
- filteredLine = self.applyFilters(aLine)
- if filteredLine != aLine:
- self.actionLevel = 2
-- self.out.write(filteredLine)
-+ self.out.write(filteredLine.encode('utf-8'))
-
- def handleCommandLine(self, args, defaultToStdin = False):
- """
-@@ -468,7 +469,7 @@ class Preprocessor:
- raise Preprocessor.Error(self, "--depend doesn't work with stdout",
- None)
- try:
-- from makeutil import Makefile
-+ from .makeutil import Makefile
- except:
- raise Preprocessor.Error(self, "--depend requires the "
- "mozbuild.makeutil module", None)
-@@ -683,7 +684,7 @@ class Preprocessor:
- current = dict(self.filters)
- for f in filters:
- current[f] = getattr(self, 'filter_' + f)
-- filterNames = current.keys()
-+ filterNames = list(current.keys())
- filterNames.sort()
- self.filters = [(fn, current[fn]) for fn in filterNames]
- return
-@@ -693,7 +694,7 @@ class Preprocessor:
- for f in filters:
- if f in current:
- del current[f]
-- filterNames = current.keys()
-+ filterNames = list(current.keys())
- filterNames.sort()
- self.filters = [(fn, current[fn]) for fn in filterNames]
- return
-@@ -738,7 +739,7 @@ class Preprocessor:
- args can either be a file name, or a file-like object.
- Files should be opened, and will be closed after processing.
- """
-- isName = type(args) == str or type(args) == unicode
-+ isName = type(args) == str or type(args) == str
- oldCheckLineNumbers = self.checkLineNumbers
- self.checkLineNumbers = False
- if isName:
-diff --git a/python/mozbuild/mozbuild/shellutil.py b/python/mozbuild/mozbuild/shellutil.py
-index 185a970ee..c0c15f8f2 100644
---- a/python/mozbuild/mozbuild/shellutil.py
-+++ b/python/mozbuild/mozbuild/shellutil.py
-@@ -15,7 +15,7 @@ def _tokens2re(**tokens):
- # which matches the pattern and captures it in a named match group.
- # The group names and patterns are given as arguments.
- all_tokens = '|'.join('(?P<%s>%s)' % (name, value)
-- for name, value in tokens.iteritems())
-+ for name, value in tokens.items())
- nonescaped = r'(?<!\\)(?:%s)' % all_tokens
-
- # The final pattern matches either the above pattern, or an escaped
-@@ -96,7 +96,7 @@ class _ClineSplitter(object):
- self.cline = self.cline[m.end():]
-
- match = {name: value
-- for name, value in m.groupdict().items() if value}
-+ for name, value in list(m.groupdict().items()) if value}
- if 'quote' in match:
- # " or ' start a quoted string
- if match['quote'] == '"':
-@@ -144,7 +144,7 @@ class _ClineSplitter(object):
- self._push(self.cline[:m.start()])
- self.cline = self.cline[m.end():]
- match = {name: value
-- for name, value in m.groupdict().items() if value}
-+ for name, value in list(m.groupdict().items()) if value}
- if 'quote' in match:
- # a double quote ends the quoted string, so go back to
- # unquoted parsing
-diff --git a/python/mozbuild/mozbuild/test/backend/test_recursivemake.py b/python/mozbuild/mozbuild/test/backend/test_recursivemake.py
-index a05059f8a..355a96165 100644
---- a/python/mozbuild/mozbuild/test/backend/test_recursivemake.py
-+++ b/python/mozbuild/mozbuild/test/backend/test_recursivemake.py
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import unicode_literals
-
--import cPickle as pickle
-+
-+import pickle as pickle
- import json
- import os
- import unittest
-@@ -333,7 +333,7 @@ class TestRecursiveMakeBackend(BackendTester):
- ],
- }
-
-- for var, val in expected.items():
-+ for var, val in list(expected.items()):
- # print("test_variable_passthru[%s]" % (var))
- found = [str for str in lines if str.startswith(var)]
- self.assertEqual(found, val)
-@@ -372,7 +372,7 @@ class TestRecursiveMakeBackend(BackendTester):
- ],
- }
-
-- for var, val in expected.items():
-+ for var, val in list(expected.items()):
- found = [str for str in lines if str.startswith(var)]
- self.assertEqual(found, val)
-
-@@ -563,7 +563,7 @@ class TestRecursiveMakeBackend(BackendTester):
-
- # This is not the most robust test in the world, but it gets the job
- # done.
-- entries = [e for e in m._dests.keys() if '**' in e]
-+ entries = [e for e in list(m._dests.keys()) if '**' in e]
- self.assertEqual(len(entries), 1)
- self.assertIn('support/**', entries[0])
-
-@@ -590,11 +590,11 @@ class TestRecursiveMakeBackend(BackendTester):
- set(['child/test_sub.js',
- 'child/data/**',
- 'child/another-file.sjs']))
-- for key in test_installs.keys():
-+ for key in list(test_installs.keys()):
- self.assertIn(key, test_installs)
-
- synthesized_manifest = InstallManifest()
-- for item, installs in test_installs.items():
-+ for item, installs in list(test_installs.items()):
- for install_info in installs:
- if len(install_info) == 3:
- synthesized_manifest.add_pattern_link(*install_info)
-@@ -602,7 +602,7 @@ class TestRecursiveMakeBackend(BackendTester):
- synthesized_manifest.add_link(*install_info)
-
- self.assertEqual(len(synthesized_manifest), 3)
-- for item, info in synthesized_manifest._dests.items():
-+ for item, info in list(synthesized_manifest._dests.items()):
- self.assertIn(item, m)
- self.assertEqual(info, m._dests[item])
-
-@@ -864,7 +864,7 @@ class TestRecursiveMakeBackend(BackendTester):
- expected[mozpath.join(env.topobjdir, 'final-target')] = [
- 'FINAL_TARGET = $(DEPTH)/random-final-target'
- ]
-- for key, expected_rules in expected.iteritems():
-+ for key, expected_rules in expected.items():
- backend_path = mozpath.join(key, 'backend.mk')
- lines = [l.strip() for l in open(backend_path, 'rt').readlines()[2:]]
- found = [str for str in lines if
-diff --git a/python/mozbuild/mozbuild/test/configure/common.py b/python/mozbuild/mozbuild/test/configure/common.py
-index 150c6e393..5e2c2afaa 100644
---- a/python/mozbuild/mozbuild/test/configure/common.py
-+++ b/python/mozbuild/mozbuild/test/configure/common.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import copy
- import errno
-@@ -16,7 +16,7 @@ from mozbuild.configure import ConfigureSandbox
- from mozbuild.util import ReadOnlyNamespace
- from mozpack import path as mozpath
-
--from StringIO import StringIO
-+from io import StringIO
- from which import WhichError
-
- from buildconfig import (
-@@ -77,10 +77,10 @@ class ConfigureTestSandbox(ConfigureSandbox):
- self._search_path = environ.get('PATH', '').split(os.pathsep)
-
- self._subprocess_paths = {
-- mozpath.abspath(k): v for k, v in paths.iteritems() if v
-+ mozpath.abspath(k): v for k, v in paths.items() if v
- }
-
-- paths = paths.keys()
-+ paths = list(paths.keys())
-
- environ = dict(environ)
- if 'CONFIG_SHELL' not in environ:
-diff --git a/python/mozbuild/mozbuild/test/configure/lint.py b/python/mozbuild/mozbuild/test/configure/lint.py
-index 98f5f4fe7..a549b4bcf 100644
---- a/python/mozbuild/mozbuild/test/configure/lint.py
-+++ b/python/mozbuild/mozbuild/test/configure/lint.py
-@@ -2,11 +2,11 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import unittest
--from StringIO import StringIO
-+from io import StringIO
- from mozunit import main
- from buildconfig import (
- topobjdir,
-@@ -40,9 +40,7 @@ class LintMeta(type):
- return type.__new__(mcs, name, bases, attrs)
-
-
--class Lint(unittest.TestCase):
-- __metaclass__ = LintMeta
--
-+class Lint(unittest.TestCase, metaclass=LintMeta):
- def setUp(self):
- self._curdir = os.getcwd()
- os.chdir(topobjdir)
-diff --git a/python/mozbuild/mozbuild/test/configure/test_checks_configure.py b/python/mozbuild/mozbuild/test/configure/test_checks_configure.py
-index c60000bb2..07091c077 100644
---- a/python/mozbuild/mozbuild/test/configure/test_checks_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_checks_configure.py
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-
--from StringIO import StringIO
-+
-+from io import StringIO
- import os
- import sys
- import textwrap
-@@ -447,7 +447,7 @@ class TestChecksConfigure(unittest.TestCase):
- checking for a... %s
- ''' % self.OTHER_A))
-
-- dirs = map(mozpath.dirname, (self.OTHER_A, self.KNOWN_A))
-+ dirs = list(map(mozpath.dirname, (self.OTHER_A, self.KNOWN_A)))
- config, out, status = self.get_result(textwrap.dedent('''\
- check_prog("A", ("known-a",), paths=["%s"])
- ''' % os.pathsep.join(dirs)))
-@@ -457,7 +457,7 @@ class TestChecksConfigure(unittest.TestCase):
- checking for a... %s
- ''' % self.OTHER_A))
-
-- dirs = map(mozpath.dirname, (self.KNOWN_A, self.KNOWN_B))
-+ dirs = list(map(mozpath.dirname, (self.KNOWN_A, self.KNOWN_B)))
- config, out, status = self.get_result(textwrap.dedent('''\
- check_prog("A", ("known-a",), paths=["%s", "%s"])
- ''' % (os.pathsep.join(dirs), self.OTHER_A)))
-diff --git a/python/mozbuild/mozbuild/test/configure/test_compile_checks.py b/python/mozbuild/mozbuild/test/configure/test_compile_checks.py
-index b5be3bf2e..282000bb2 100644
---- a/python/mozbuild/mozbuild/test/configure/test_compile_checks.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_compile_checks.py
-@@ -2,14 +2,14 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
- import textwrap
- import unittest
- import mozpack.path as mozpath
-
--from StringIO import StringIO
-+from io import StringIO
-
- from buildconfig import topsrcdir
- from common import ConfigureTestSandbox
-diff --git a/python/mozbuild/mozbuild/test/configure/test_configure.py b/python/mozbuild/mozbuild/test/configure/test_configure.py
-index f37e2701f..eb0ca84fb 100644
---- a/python/mozbuild/mozbuild/test/configure/test_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_configure.py
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-
--from StringIO import StringIO
-+
-+from io import StringIO
- import os
- import sys
- import textwrap
-@@ -43,7 +43,7 @@ class TestConfigure(unittest.TestCase):
-
- if '--help' in options:
- return out.getvalue(), config
-- self.assertEquals('', out.getvalue())
-+ self.assertEqual('', out.getvalue())
- return config
-
- def moz_configure(self, source):
-@@ -55,7 +55,7 @@ class TestConfigure(unittest.TestCase):
- def test_defaults(self):
- config = self.get_config()
- self.maxDiff = None
-- self.assertEquals({
-+ self.assertEqual({
- 'CHOICES': NegativeOptionValue(),
- 'DEFAULTED': PositiveOptionValue(('not-simple',)),
- 'IS_GCC': NegativeOptionValue(),
-@@ -71,9 +71,9 @@ class TestConfigure(unittest.TestCase):
- def test_help(self):
- help, config = self.get_config(['--help'], prog='configure')
-
-- self.assertEquals({}, config)
-+ self.assertEqual({}, config)
- self.maxDiff = None
-- self.assertEquals(
-+ self.assertEqual(
- 'Usage: configure [options]\n'
- '\n'
- 'Options: [defaults in brackets after descriptions]\n'
-@@ -109,7 +109,7 @@ class TestConfigure(unittest.TestCase):
- ):
- self.assertNotIn('ENABLED_SIMPLE', config)
- self.assertIn('SIMPLE', config)
-- self.assertEquals(NegativeOptionValue(), config['SIMPLE'])
-+ self.assertEqual(NegativeOptionValue(), config['SIMPLE'])
-
- for config in (
- self.get_config(['--enable-simple']),
-@@ -117,7 +117,7 @@ class TestConfigure(unittest.TestCase):
- ):
- self.assertIn('ENABLED_SIMPLE', config)
- self.assertIn('SIMPLE', config)
-- self.assertEquals(PositiveOptionValue(), config['SIMPLE'])
-+ self.assertEqual(PositiveOptionValue(), config['SIMPLE'])
- self.assertIs(config['SIMPLE'], config['ENABLED_SIMPLE'])
-
- # --enable-simple doesn't take values.
-@@ -135,7 +135,7 @@ class TestConfigure(unittest.TestCase):
- env={'MOZ_WITH_ENV': '1'}),
- ):
- self.assertIn('WITH_ENV', config)
-- self.assertEquals(NegativeOptionValue(), config['WITH_ENV'])
-+ self.assertEqual(NegativeOptionValue(), config['WITH_ENV'])
-
- for config in (
- self.get_config(['--enable-with-env']),
-@@ -145,7 +145,7 @@ class TestConfigure(unittest.TestCase):
- env={'MOZ_WITH_ENV': ''}),
- ):
- self.assertIn('WITH_ENV', config)
-- self.assertEquals(PositiveOptionValue(), config['WITH_ENV'])
-+ self.assertEqual(PositiveOptionValue(), config['WITH_ENV'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--enable-with-env=value'])
-@@ -160,23 +160,23 @@ class TestConfigure(unittest.TestCase):
- self.get_config(['--enable-values', '--disable-values']),
- ):
- self.assertIn(name, config)
-- self.assertEquals(NegativeOptionValue(), config[name])
-+ self.assertEqual(NegativeOptionValue(), config[name])
-
- for config in (
- self.get_config(['--enable-values']),
- self.get_config(['--disable-values', '--enable-values']),
- ):
- self.assertIn(name, config)
-- self.assertEquals(PositiveOptionValue(), config[name])
-+ self.assertEqual(PositiveOptionValue(), config[name])
-
- config = self.get_config(['--enable-values=foo'])
- self.assertIn(name, config)
-- self.assertEquals(PositiveOptionValue(('foo',)), config[name])
-+ self.assertEqual(PositiveOptionValue(('foo',)), config[name])
-
- config = self.get_config(['--enable-values=foo,bar'])
- self.assertIn(name, config)
- self.assertTrue(config[name])
-- self.assertEquals(PositiveOptionValue(('foo', 'bar')), config[name])
-+ self.assertEqual(PositiveOptionValue(('foo', 'bar')), config[name])
-
- def test_values2(self):
- self.test_values('VALUES2')
-@@ -187,12 +187,12 @@ class TestConfigure(unittest.TestCase):
- def test_returned_default(self):
- config = self.get_config(['--enable-simple'])
- self.assertIn('DEFAULTED', config)
-- self.assertEquals(
-+ self.assertEqual(
- PositiveOptionValue(('simple',)), config['DEFAULTED'])
-
- config = self.get_config(['--disable-simple'])
- self.assertIn('DEFAULTED', config)
-- self.assertEquals(
-+ self.assertEqual(
- PositiveOptionValue(('not-simple',)), config['DEFAULTED'])
-
- def test_returned_choices(self):
-@@ -200,13 +200,13 @@ class TestConfigure(unittest.TestCase):
- config = self.get_config(
- ['--enable-values=alpha', '--returned-choices=%s' % val])
- self.assertIn('CHOICES', config)
-- self.assertEquals(PositiveOptionValue((val,)), config['CHOICES'])
-+ self.assertEqual(PositiveOptionValue((val,)), config['CHOICES'])
-
- for val in ('0', '1', '2'):
- config = self.get_config(
- ['--enable-values=numeric', '--returned-choices=%s' % val])
- self.assertIn('CHOICES', config)
-- self.assertEquals(PositiveOptionValue((val,)), config['CHOICES'])
-+ self.assertEqual(PositiveOptionValue((val,)), config['CHOICES'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--enable-values=numeric',
-@@ -218,12 +218,12 @@ class TestConfigure(unittest.TestCase):
- def test_included(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('IS_GCC', config)
-- self.assertEquals(config['IS_GCC'], True)
-+ self.assertEqual(config['IS_GCC'], True)
-
- config = self.get_config(
- ['--enable-include=extra.configure', '--extra'])
- self.assertIn('EXTRA', config)
-- self.assertEquals(PositiveOptionValue(), config['EXTRA'])
-+ self.assertEqual(PositiveOptionValue(), config['EXTRA'])
-
- with self.assertRaises(InvalidOptionError):
- self.get_config(['--extra'])
-@@ -231,7 +231,7 @@ class TestConfigure(unittest.TestCase):
- def test_template(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('CFLAGS', config)
-- self.assertEquals(config['CFLAGS'], ['-Werror=foobar'])
-+ self.assertEqual(config['CFLAGS'], ['-Werror=foobar'])
-
- config = self.get_config(env={'CC': 'clang'})
- self.assertNotIn('CFLAGS', config)
-@@ -288,7 +288,7 @@ class TestConfigure(unittest.TestCase):
- sandbox
- )
-
-- import __builtin__
-+ import builtins
- self.assertIs(sandbox['foo'](), __builtin__)
-
- exec_(textwrap.dedent('''
-@@ -300,7 +300,7 @@ class TestConfigure(unittest.TestCase):
- )
-
- f = sandbox['foo']()
-- self.assertEquals(f.name, os.devnull)
-+ self.assertEqual(f.name, os.devnull)
- f.close()
-
- # This unlocks the sandbox
-@@ -336,8 +336,8 @@ class TestConfigure(unittest.TestCase):
- self.assertIs(sandbox['foo'](), sandbox)
-
- # Nothing leaked from the function being executed
-- self.assertEquals(sandbox.keys(), ['__builtins__', 'foo'])
-- self.assertEquals(sandbox['__builtins__'], ConfigureSandbox.BUILTINS)
-+ self.assertEqual(list(sandbox.keys()), ['__builtins__', 'foo'])
-+ self.assertEqual(sandbox['__builtins__'], ConfigureSandbox.BUILTINS)
-
- exec_(textwrap.dedent('''
- @template
-@@ -354,7 +354,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(NameError) as e:
- sandbox._depends[sandbox['bar']].result()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "global name 'sys' is not defined")
-
- def test_apply_imports(self):
-@@ -380,28 +380,28 @@ class TestConfigure(unittest.TestCase):
- sandbox
- )
-
-- self.assertEquals(len(imports), 1)
-+ self.assertEqual(len(imports), 1)
-
- def test_os_path(self):
- config = self.get_config(['--with-imports=%s' % __file__])
- self.assertIn('HAS_ABSPATH', config)
-- self.assertEquals(config['HAS_ABSPATH'], True)
-+ self.assertEqual(config['HAS_ABSPATH'], True)
- self.assertIn('HAS_GETATIME', config)
-- self.assertEquals(config['HAS_GETATIME'], True)
-+ self.assertEqual(config['HAS_GETATIME'], True)
- self.assertIn('HAS_GETATIME2', config)
-- self.assertEquals(config['HAS_GETATIME2'], False)
-+ self.assertEqual(config['HAS_GETATIME2'], False)
-
- def test_template_call(self):
- config = self.get_config(env={'CC': 'gcc'})
- self.assertIn('TEMPLATE_VALUE', config)
-- self.assertEquals(config['TEMPLATE_VALUE'], 42)
-+ self.assertEqual(config['TEMPLATE_VALUE'], 42)
- self.assertIn('TEMPLATE_VALUE_2', config)
-- self.assertEquals(config['TEMPLATE_VALUE_2'], 21)
-+ self.assertEqual(config['TEMPLATE_VALUE_2'], 21)
-
- def test_template_imports(self):
- config = self.get_config(['--enable-imports-in-template'])
- self.assertIn('PLATFORM', config)
-- self.assertEquals(config['PLATFORM'], sys.platform)
-+ self.assertEqual(config['PLATFORM'], sys.platform)
-
- def test_decorators(self):
- config = {}
-@@ -419,27 +419,27 @@ class TestConfigure(unittest.TestCase):
- return self.get_config(*args, configure='set_config.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--set-foo'])
- self.assertIn('FOO', config)
-- self.assertEquals(config['FOO'], True)
-+ self.assertEqual(config['FOO'], True)
-
- config = get_config(['--set-bar'])
- self.assertNotIn('FOO', config)
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], True)
-+ self.assertEqual(config['BAR'], True)
-
- config = get_config(['--set-value=qux'])
- self.assertIn('VALUE', config)
-- self.assertEquals(config['VALUE'], 'qux')
-+ self.assertEqual(config['VALUE'], 'qux')
-
- config = get_config(['--set-name=hoge'])
- self.assertIn('hoge', config)
-- self.assertEquals(config['hoge'], True)
-+ self.assertEqual(config['hoge'], True)
-
- config = get_config([])
-- self.assertEquals(config, {'BAR': False})
-+ self.assertEqual(config, {'BAR': False})
-
- with self.assertRaises(ConfigureError):
- # Both --set-foo and --set-name=FOO are going to try to
-@@ -454,11 +454,11 @@ class TestConfigure(unittest.TestCase):
- set_config('QUX', 'qux', when='--with-qux')
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- })
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -468,27 +468,27 @@ class TestConfigure(unittest.TestCase):
- return self.get_config(*args, configure='set_define.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {'DEFINES': {}})
-+ self.assertEqual(config, {'DEFINES': {}})
-
- config = get_config(['--set-foo'])
- self.assertIn('FOO', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['FOO'], True)
-+ self.assertEqual(config['DEFINES']['FOO'], True)
-
- config = get_config(['--set-bar'])
- self.assertNotIn('FOO', config['DEFINES'])
- self.assertIn('BAR', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['BAR'], True)
-+ self.assertEqual(config['DEFINES']['BAR'], True)
-
- config = get_config(['--set-value=qux'])
- self.assertIn('VALUE', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['VALUE'], 'qux')
-+ self.assertEqual(config['DEFINES']['VALUE'], 'qux')
-
- config = get_config(['--set-name=hoge'])
- self.assertIn('hoge', config['DEFINES'])
-- self.assertEquals(config['DEFINES']['hoge'], True)
-+ self.assertEqual(config['DEFINES']['hoge'], True)
-
- config = get_config([])
-- self.assertEquals(config['DEFINES'], {'BAR': False})
-+ self.assertEqual(config['DEFINES'], {'BAR': False})
-
- with self.assertRaises(ConfigureError):
- # Both --set-foo and --set-name=FOO are going to try to
-@@ -503,11 +503,11 @@ class TestConfigure(unittest.TestCase):
- set_define('QUX', 'qux', when='--with-qux')
- '''):
- config = self.get_config()
-- self.assertEquals(config['DEFINES'], {
-+ self.assertEqual(config['DEFINES'], {
- 'FOO': 'foo',
- })
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config['DEFINES'], {
-+ self.assertEqual(config['DEFINES'], {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -518,19 +518,19 @@ class TestConfigure(unittest.TestCase):
- *args, configure='imply_option/simple.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue())
-+ self.assertEqual(config['BAR'], PositiveOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -541,31 +541,31 @@ class TestConfigure(unittest.TestCase):
- *args, configure='imply_option/negative.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], NegativeOptionValue())
-+ self.assertEqual(config['BAR'], NegativeOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--enable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--disable-bar' implied by '--enable-foo' conflicts with "
- "'--enable-bar' from the command-line")
-
- config = get_config(['--disable-hoge'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], NegativeOptionValue())
-+ self.assertEqual(config['BAR'], NegativeOptionValue())
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--disable-hoge', '--enable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--disable-bar' implied by '--disable-hoge' conflicts with "
- "'--enable-bar' from the command-line")
-@@ -576,23 +576,23 @@ class TestConfigure(unittest.TestCase):
- *args, configure='imply_option/values.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config(['--enable-foo=a'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue(('a',)))
-+ self.assertEqual(config['BAR'], PositiveOptionValue(('a',)))
-
- config = get_config(['--enable-foo=a,b'])
- self.assertIn('BAR', config)
-- self.assertEquals(config['BAR'], PositiveOptionValue(('a','b')))
-+ self.assertEqual(config['BAR'], PositiveOptionValue(('a','b')))
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo=a,b', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar=a,b' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -603,15 +603,15 @@ class TestConfigure(unittest.TestCase):
- *args, configure='imply_option/infer.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- with self.assertRaises(InvalidOptionError) as e:
- get_config(['--enable-foo', '--disable-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "'--enable-bar' implied by '--enable-foo' conflicts with "
- "'--disable-bar' from the command-line")
-@@ -619,7 +619,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(ConfigureError) as e:
- self.get_config([], configure='imply_option/infer_ko.configure')
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- "Cannot infer what implies '--enable-bar'. Please add a `reason` "
- "to the `imply_option` call.")
-@@ -630,25 +630,25 @@ class TestConfigure(unittest.TestCase):
- *args, configure='imply_option/imm.configure')
-
- help, config = get_config(['--help'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = get_config([])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config_path = mozpath.abspath(
- mozpath.join(test_data_path, 'imply_option', 'imm.configure'))
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-foo' implied by 'imply_option at %s:7' conflicts with "
- "'--disable-foo' from the command-line" % config_path):
- get_config(['--disable-foo'])
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-bar=foo,bar' implied by 'imply_option at %s:16' conflicts"
- " with '--enable-bar=a,b,c' from the command-line" % config_path):
- get_config(['--enable-bar=a,b,c'])
-
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--enable-baz=BAZ' implied by 'imply_option at %s:25' conflicts"
- " with '--enable-baz=QUUX' from the command-line" % config_path):
- get_config(['--enable-baz=QUUX'])
-@@ -660,7 +660,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`--with-foo`, emitted from `%s` line 2, is unknown."
- % mozpath.join(test_data_path, 'moz.configure'))
-
-@@ -675,7 +675,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Unexpected type: 'int'")
-
- def test_imply_option_when(self):
-@@ -686,12 +686,12 @@ class TestConfigure(unittest.TestCase):
- set_config('QUX', depends('--with-qux')(lambda x: x))
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'QUX': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'QUX': PositiveOptionValue(),
- })
-
-@@ -700,7 +700,7 @@ class TestConfigure(unittest.TestCase):
- with self.moz_configure('option("--with-foo", help="foo")'):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` is not handled ; reference it with a @depends'
- )
-@@ -712,7 +712,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` already defined'
- )
-@@ -724,7 +724,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -736,7 +736,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -748,7 +748,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `MOZ_FOO` already defined'
- )
-@@ -760,7 +760,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Option `--with-foo` already defined'
- )
-@@ -776,18 +776,18 @@ class TestConfigure(unittest.TestCase):
- set_config('QUX', depends('--with-qux', when='--with-foo')(lambda x: x))
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': PositiveOptionValue(),
- 'QUX': NegativeOptionValue(),
- })
-
- config = self.get_config(['--with-foo', '--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': PositiveOptionValue(),
- 'QUX': PositiveOptionValue(),
- })
-@@ -795,7 +795,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-bar'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-bar is not available in this configuration'
- )
-@@ -803,7 +803,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-qux'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-qux is not available in this configuration'
- )
-@@ -811,18 +811,18 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['QUX=1'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'QUX is not available in this configuration'
- )
-
- config = self.get_config(env={'QUX': '1'})
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': NegativeOptionValue(),
- })
-
- help, config = self.get_config(['--help'])
-- self.assertEquals(help, textwrap.dedent('''\
-+ self.assertEqual(help, textwrap.dedent('''\
- Usage: configure [options]
-
- Options: [defaults in brackets after descriptions]
-@@ -833,7 +833,7 @@ class TestConfigure(unittest.TestCase):
- '''))
-
- help, config = self.get_config(['--help', '--with-foo'])
-- self.assertEquals(help, textwrap.dedent('''\
-+ self.assertEqual(help, textwrap.dedent('''\
- Usage: configure [options]
-
- Options: [defaults in brackets after descriptions]
-@@ -851,7 +851,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -868,7 +868,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -896,7 +896,7 @@ class TestConfigure(unittest.TestCase):
- with self.moz_configure('include("../foo.configure")'):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Cannot include `%s` because it is not in a subdirectory of `%s`'
- % (mozpath.normpath(mozpath.join(test_data_path, '..',
-@@ -911,7 +911,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'Cannot include `%s` because it was included already.'
- % mozpath.normpath(mozpath.join(test_data_path,
-@@ -924,7 +924,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- def test_include_when(self):
- with MockedOpen({
-@@ -967,26 +967,26 @@ class TestConfigure(unittest.TestCase):
- '''),
- }):
- config = self.get_config()
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = self.get_config(['--with-foo'])
-- self.assertEquals(config, {})
-+ self.assertEqual(config, {})
-
- config = self.get_config(['--with-bar'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'BAR': 'bar',
- })
-
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--with-qux'])
-
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- '--with-qux is not available in this configuration'
- )
-
- config = self.get_config(['--with-foo', '--with-foo-really'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'FOO2': True,
- })
-@@ -998,7 +998,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, 'Cannot reassign builtins')
-+ self.assertEqual(e.exception.message, 'Cannot reassign builtins')
-
- with self.assertRaises(KeyError) as e:
- with self.moz_configure('''
-@@ -1006,7 +1006,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot assign `foo` because it is neither a '
- '@depends nor a @template')
-
-@@ -1019,7 +1019,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "@depends needs at least one argument")
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1030,7 +1030,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'--with-foo' is not a known option. Maybe it's "
- "declared too late?")
-
-@@ -1042,7 +1042,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Option must not contain an '='")
-
- with self.assertRaises(TypeError) as e:
-@@ -1053,7 +1053,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Cannot use object of type 'int' as argument "
- "to @depends")
-
-@@ -1065,7 +1065,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Cannot decorate generator functions with @depends")
-
- with self.assertRaises(TypeError) as e:
-@@ -1074,7 +1074,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Unexpected type: 'int'")
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1088,7 +1088,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `foo` function may not be called")
-
- with self.assertRaises(TypeError) as e:
-@@ -1099,7 +1099,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "depends_impl() got an unexpected keyword argument 'foo'")
-
- def test_depends_when(self):
-@@ -1124,12 +1124,12 @@ class TestConfigure(unittest.TestCase):
- set_config('QUX', qux)
- '''):
- config = self.get_config()
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- })
-
- config = self.get_config(['--with-qux'])
-- self.assertEquals(config, {
-+ self.assertEqual(config, {
- 'FOO': 'foo',
- 'QUX': 'qux',
- })
-@@ -1144,7 +1144,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@imports must appear after @template')
-
- with self.assertRaises(ConfigureError) as e:
-@@ -1157,7 +1157,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@imports must appear after @depends')
-
- for import_ in (
-@@ -1174,7 +1174,7 @@ class TestConfigure(unittest.TestCase):
- ''' % import_):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- with self.assertRaises(TypeError) as e:
- with self.moz_configure('''
-@@ -1185,7 +1185,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message, "Unexpected type: 'int'")
-+ self.assertEqual(e.exception.message, "Unexpected type: 'int'")
-
- with self.assertRaises(ValueError) as e:
- with self.moz_configure('''
-@@ -1195,7 +1195,7 @@ class TestConfigure(unittest.TestCase):
- '''):
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Invalid argument to @imports: 'os*'")
-
- def test_only_when(self):
-@@ -1250,7 +1250,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config(['--foo'])
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--foo is not available in this configuration')
-
- # Cannot depend on an option defined in a only_when block, because we
-@@ -1261,7 +1261,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(ConfigureError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '@depends function needs the same `when` as '
- 'options it depends on')
-
-@@ -1278,7 +1278,7 @@ class TestConfigure(unittest.TestCase):
- with self.assertRaises(InvalidOptionError) as e:
- self.get_config()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--foo is not available in this configuration')
-
- # And similarly doesn't fail when the condition is true.
-diff --git a/python/mozbuild/mozbuild/test/configure/test_lint.py b/python/mozbuild/mozbuild/test/configure/test_lint.py
-index 6d8d4c49f..6ad897839 100644
---- a/python/mozbuild/mozbuild/test/configure/test_lint.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_lint.py
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-
--from StringIO import StringIO
-+
-+from io import StringIO
- import os
- import textwrap
- import unittest
-@@ -62,7 +62,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`bar` depends on '--help' and `foo`. "
- "`foo` must depend on '--help'")
-
-@@ -85,7 +85,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "`bar` depends on '--help' and `foo`. "
- "`foo` must depend on '--help'")
-
-@@ -111,7 +111,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Missing @depends for `foo`: '--help'")
-
- with self.assertRaises(ConfigureError) as e:
-@@ -130,7 +130,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Missing @depends for `foo`: '--help'")
-
- with self.assertRaises(ConfigureError) as e:
-@@ -145,7 +145,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Missing @depends for `foo`: '--help'")
-
- # This would have failed with "Missing @depends for `foo`: '--help'"
-@@ -178,7 +178,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "Missing @depends for `foo`: '--help'")
-
- # There is a default restricted `os` module when there is no explicit
-@@ -205,7 +205,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "%s:3: The dependency on `--foo` is unused."
- % mozpath.join(test_data_path, 'moz.configure'))
-
-@@ -222,7 +222,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "%s:5: The dependency on `bar` is unused."
- % mozpath.join(test_data_path, 'moz.configure'))
-
-@@ -236,7 +236,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "%s:2: The dependency on `<lambda>` is unused."
- % mozpath.join(test_data_path, 'moz.configure'))
-
-@@ -257,7 +257,7 @@ class TestLint(unittest.TestCase):
- '''):
- self.lint_test()
-
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "%s:9: The dependency on `qux` is unused."
- % mozpath.join(test_data_path, 'moz.configure'))
-
-diff --git a/python/mozbuild/mozbuild/test/configure/test_moz_configure.py b/python/mozbuild/mozbuild/test/configure/test_moz_configure.py
-index b3342e268..7a26e9e09 100644
---- a/python/mozbuild/mozbuild/test/configure/test_moz_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_moz_configure.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- from mozunit import main
- from mozpack import path as mozpath
-@@ -27,10 +27,10 @@ class TestMozConfigure(BaseConfigureTest):
- shell = mozpath.abspath('/bin/sh')
- return result.replace('CONFIG_SHELL=%s ' % shell, '')
-
-- self.assertEquals('--enable-application=browser',
-+ self.assertEqual('--enable-application=browser',
- get_value_for(['--enable-application=browser']))
-
-- self.assertEquals('--enable-application=browser '
-+ self.assertEqual('--enable-application=browser '
- 'MOZ_VTUNE=1',
- get_value_for(['--enable-application=browser',
- 'MOZ_VTUNE=1']))
-@@ -39,25 +39,25 @@ class TestMozConfigure(BaseConfigureTest):
- environ={'MOZ_VTUNE': '1'},
- mozconfig='ac_add_options --enable-project=js')
-
-- self.assertEquals('--enable-project=js MOZ_VTUNE=1',
-+ self.assertEqual('--enable-project=js MOZ_VTUNE=1',
- value)
-
- # --disable-js-shell is the default, so it's filtered out.
-- self.assertEquals('--enable-application=browser',
-+ self.assertEqual('--enable-application=browser',
- get_value_for(['--enable-application=browser',
- '--disable-js-shell']))
-
- # Normally, --without-foo would be filtered out because that's the
- # default, but since it is a (fake) old-configure option, it always
- # appears.
-- self.assertEquals('--enable-application=browser --without-foo',
-+ self.assertEqual('--enable-application=browser --without-foo',
- get_value_for(['--enable-application=browser',
- '--without-foo']))
-- self.assertEquals('--enable-application=browser --with-foo',
-+ self.assertEqual('--enable-application=browser --with-foo',
- get_value_for(['--enable-application=browser',
- '--with-foo']))
-
-- self.assertEquals("--enable-application=browser '--with-foo=foo bar'",
-+ self.assertEqual("--enable-application=browser '--with-foo=foo bar'",
- get_value_for(['--enable-application=browser',
- '--with-foo=foo bar']))
-
-@@ -69,7 +69,7 @@ class TestMozConfigure(BaseConfigureTest):
- self.version = version
-
- def __call__(self, stdin, args):
-- this.assertEquals(args, ('-version',))
-+ this.assertEqual(args, ('-version',))
- return 0, self.version, ''
-
- def check_nsis_version(version):
-@@ -84,13 +84,13 @@ class TestMozConfigure(BaseConfigureTest):
- with self.assertRaises(SystemExit) as e:
- check_nsis_version('v3.0a2')
-
-- self.assertEquals(check_nsis_version('v3.0b1'), '3.0b1')
-- self.assertEquals(check_nsis_version('v3.0b2'), '3.0b2')
-- self.assertEquals(check_nsis_version('v3.0rc1'), '3.0rc1')
-- self.assertEquals(check_nsis_version('v3.0'), '3.0')
-- self.assertEquals(check_nsis_version('v3.0-2'), '3.0')
-- self.assertEquals(check_nsis_version('v3.0.1'), '3.0')
-- self.assertEquals(check_nsis_version('v3.1'), '3.1')
-+ self.assertEqual(check_nsis_version('v3.0b1'), '3.0b1')
-+ self.assertEqual(check_nsis_version('v3.0b2'), '3.0b2')
-+ self.assertEqual(check_nsis_version('v3.0rc1'), '3.0rc1')
-+ self.assertEqual(check_nsis_version('v3.0'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.0-2'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.0.1'), '3.0')
-+ self.assertEqual(check_nsis_version('v3.1'), '3.1')
-
-
- if __name__ == '__main__':
-diff --git a/python/mozbuild/mozbuild/test/configure/test_options.py b/python/mozbuild/mozbuild/test/configure/test_options.py
-index 9defccb2c..330ce3b1f 100644
---- a/python/mozbuild/mozbuild/test/configure/test_options.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_options.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import unittest
-
-@@ -28,139 +28,139 @@ class Option(Option):
- class TestOption(unittest.TestCase):
- def test_option(self):
- option = Option('--option')
-- self.assertEquals(option.prefix, '')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, '')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--enable-option')
-- self.assertEquals(option.prefix, 'enable')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'enable')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--disable-option')
-- self.assertEquals(option.prefix, 'disable')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'disable')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertTrue(option.default)
-
- option = Option('--with-option')
-- self.assertEquals(option.prefix, 'with')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'with')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertFalse(option.default)
-
- option = Option('--without-option')
-- self.assertEquals(option.prefix, 'without')
-- self.assertEquals(option.name, 'option')
-- self.assertEquals(option.env, None)
-+ self.assertEqual(option.prefix, 'without')
-+ self.assertEqual(option.name, 'option')
-+ self.assertEqual(option.env, None)
- self.assertTrue(option.default)
-
- option = Option('--without-option-foo', env='MOZ_OPTION')
-- self.assertEquals(option.env, 'MOZ_OPTION')
-+ self.assertEqual(option.env, 'MOZ_OPTION')
-
- option = Option(env='MOZ_OPTION')
-- self.assertEquals(option.prefix, '')
-- self.assertEquals(option.name, None)
-- self.assertEquals(option.env, 'MOZ_OPTION')
-+ self.assertEqual(option.prefix, '')
-+ self.assertEqual(option.name, None)
-+ self.assertEqual(option.env, 'MOZ_OPTION')
- self.assertFalse(option.default)
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=0, default=('a',))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=1, default=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=2, default=('a',))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='?', default=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='+', default=())
-- self.assertEquals(
-+ self.assertEqual(
- e.exception.message,
- 'default must be a bool, a string or a tuple of strings')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='+', default=True)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- # --disable options with a nargs value that requires at least one
- # argument need to be given a default.
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=1)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs='+')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- # Test nargs inference from default value
- option = Option('--with-foo', default=True)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option('--with-foo', default=False)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option('--with-foo', default='a')
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option('--with-foo', default=('a',))
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option('--with-foo', default=('a', 'b'))
-- self.assertEquals(option.nargs, '*')
-+ self.assertEqual(option.nargs, '*')
-
- option = Option(env='FOO', default=True)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option(env='FOO', default=False)
-- self.assertEquals(option.nargs, 0)
-+ self.assertEqual(option.nargs, 0)
-
- option = Option(env='FOO', default='a')
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option(env='FOO', default=('a',))
-- self.assertEquals(option.nargs, '?')
-+ self.assertEqual(option.nargs, '?')
-
- option = Option(env='FOO', default=('a', 'b'))
-- self.assertEquals(option.nargs, '*')
-+ self.assertEqual(option.nargs, '*')
-
- def test_option_option(self):
- for option in (
-@@ -170,70 +170,70 @@ class TestOption(unittest.TestCase):
- '--with-option',
- '--without-option',
- ):
-- self.assertEquals(Option(option).option, option)
-- self.assertEquals(Option(option, env='FOO').option, option)
-+ self.assertEqual(Option(option).option, option)
-+ self.assertEqual(Option(option, env='FOO').option, option)
-
- opt = Option(option, default=False)
-- self.assertEquals(opt.option,
-+ self.assertEqual(opt.option,
- option.replace('-disable-', '-enable-')
- .replace('-without-', '-with-'))
-
- opt = Option(option, default=True)
-- self.assertEquals(opt.option,
-+ self.assertEqual(opt.option,
- option.replace('-enable-', '-disable-')
- .replace('-with-', '-without-'))
-
-- self.assertEquals(Option(env='FOO').option, 'FOO')
-+ self.assertEqual(Option(env='FOO').option, 'FOO')
-
- def test_option_choices(self):
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=3, choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Not enough `choices` for `nargs`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', nargs=1, choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'A `default` must be given along with `choices`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', nargs='+', choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'A `default` must be given along with `choices`')
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default='c', choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default=('a', 'c',), choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--without-option', default=('c',), choices=('a', 'b'))
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The `default` value must be one of 'a', 'b'")
-
- option = Option('--with-option', nargs='+', choices=('a', 'b'))
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=c')
-- self.assertEquals(e.exception.message, "'c' is not one of 'a', 'b'")
-+ self.assertEqual(e.exception.message, "'c' is not one of 'a', 'b'")
-
- value = option.get_value('--with-option=b,a')
- self.assertTrue(value)
-- self.assertEquals(PositiveOptionValue(('b', 'a')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'a')), value)
-
- option = Option('--without-option', nargs='*', default='a',
- choices=('a', 'b'))
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=c')
-- self.assertEquals(e.exception.message, "'c' is not one of 'a', 'b'")
-+ self.assertEqual(e.exception.message, "'c' is not one of 'a', 'b'")
-
- value = option.get_value('--with-option=b,a')
- self.assertTrue(value)
-- self.assertEquals(PositiveOptionValue(('b', 'a')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'a')), value)
-
- # Test nargs inference from choices
- option = Option('--with-option', choices=('a', 'b'))
-@@ -244,37 +244,37 @@ class TestOption(unittest.TestCase):
- choices=('a', 'b', 'c', 'd'))
-
- value = option.get_value('--with-option=+d')
-- self.assertEquals(PositiveOptionValue(('b', 'c', 'd')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c', 'd')), value)
-
- value = option.get_value('--with-option=-b')
-- self.assertEquals(PositiveOptionValue(('c',)), value)
-+ self.assertEqual(PositiveOptionValue(('c',)), value)
-
- value = option.get_value('--with-option=-b,+d')
-- self.assertEquals(PositiveOptionValue(('c','d')), value)
-+ self.assertEqual(PositiveOptionValue(('c','d')), value)
-
- # Adding something that is in the default is fine
- value = option.get_value('--with-option=+b')
-- self.assertEquals(PositiveOptionValue(('b', 'c')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c')), value)
-
- # Removing something that is not in the default is fine, as long as it
- # is one of the choices
- value = option.get_value('--with-option=-a')
-- self.assertEquals(PositiveOptionValue(('b', 'c')), value)
-+ self.assertEqual(PositiveOptionValue(('b', 'c')), value)
-
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=-e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- # Other "not a choice" errors.
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=+e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--with-option=e')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "'e' is not one of 'a', 'b', 'c', 'd'")
-
- def test_option_value_compare(self):
-@@ -294,7 +294,7 @@ class TestOption(unittest.TestCase):
-
- # For usability reasons, we raise TypeError when attempting to compare
- # against a non-tuple.
-- with self.assertRaisesRegexp(TypeError, 'cannot compare a'):
-+ with self.assertRaisesRegex(TypeError, 'cannot compare a'):
- val == 'foo'
-
- # But we allow empty option values to compare otherwise we can't
-@@ -313,36 +313,36 @@ class TestOption(unittest.TestCase):
-
- def test_option_value_format(self):
- val = PositiveOptionValue()
-- self.assertEquals('--with-value', val.format('--with-value'))
-- self.assertEquals('--with-value', val.format('--without-value'))
-- self.assertEquals('--enable-value', val.format('--enable-value'))
-- self.assertEquals('--enable-value', val.format('--disable-value'))
-- self.assertEquals('--value', val.format('--value'))
-- self.assertEquals('VALUE=1', val.format('VALUE'))
-+ self.assertEqual('--with-value', val.format('--with-value'))
-+ self.assertEqual('--with-value', val.format('--without-value'))
-+ self.assertEqual('--enable-value', val.format('--enable-value'))
-+ self.assertEqual('--enable-value', val.format('--disable-value'))
-+ self.assertEqual('--value', val.format('--value'))
-+ self.assertEqual('VALUE=1', val.format('VALUE'))
-
- val = PositiveOptionValue(('a',))
-- self.assertEquals('--with-value=a', val.format('--with-value'))
-- self.assertEquals('--with-value=a', val.format('--without-value'))
-- self.assertEquals('--enable-value=a', val.format('--enable-value'))
-- self.assertEquals('--enable-value=a', val.format('--disable-value'))
-- self.assertEquals('--value=a', val.format('--value'))
-- self.assertEquals('VALUE=a', val.format('VALUE'))
-+ self.assertEqual('--with-value=a', val.format('--with-value'))
-+ self.assertEqual('--with-value=a', val.format('--without-value'))
-+ self.assertEqual('--enable-value=a', val.format('--enable-value'))
-+ self.assertEqual('--enable-value=a', val.format('--disable-value'))
-+ self.assertEqual('--value=a', val.format('--value'))
-+ self.assertEqual('VALUE=a', val.format('VALUE'))
-
- val = PositiveOptionValue(('a', 'b'))
-- self.assertEquals('--with-value=a,b', val.format('--with-value'))
-- self.assertEquals('--with-value=a,b', val.format('--without-value'))
-- self.assertEquals('--enable-value=a,b', val.format('--enable-value'))
-- self.assertEquals('--enable-value=a,b', val.format('--disable-value'))
-- self.assertEquals('--value=a,b', val.format('--value'))
-- self.assertEquals('VALUE=a,b', val.format('VALUE'))
-+ self.assertEqual('--with-value=a,b', val.format('--with-value'))
-+ self.assertEqual('--with-value=a,b', val.format('--without-value'))
-+ self.assertEqual('--enable-value=a,b', val.format('--enable-value'))
-+ self.assertEqual('--enable-value=a,b', val.format('--disable-value'))
-+ self.assertEqual('--value=a,b', val.format('--value'))
-+ self.assertEqual('VALUE=a,b', val.format('VALUE'))
-
- val = NegativeOptionValue()
-- self.assertEquals('--without-value', val.format('--with-value'))
-- self.assertEquals('--without-value', val.format('--without-value'))
-- self.assertEquals('--disable-value', val.format('--enable-value'))
-- self.assertEquals('--disable-value', val.format('--disable-value'))
-- self.assertEquals('', val.format('--value'))
-- self.assertEquals('VALUE=', val.format('VALUE'))
-+ self.assertEqual('--without-value', val.format('--with-value'))
-+ self.assertEqual('--without-value', val.format('--without-value'))
-+ self.assertEqual('--disable-value', val.format('--enable-value'))
-+ self.assertEqual('--disable-value', val.format('--disable-value'))
-+ self.assertEqual('', val.format('--value'))
-+ self.assertEqual('VALUE=', val.format('VALUE'))
-
- def test_option_value(self, name='option', nargs=0, default=None):
- disabled = name.startswith(('disable-', 'without-'))
-@@ -359,28 +359,28 @@ class TestOption(unittest.TestCase):
-
- if nargs in (0, '?', '*') or disabled:
- value = option.get_value('--%s' % name, 'option')
-- self.assertEquals(value, posOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, posOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s' % name)
- if nargs == 1:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 value' % name)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 or more values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 2 values' % name)
-
- value = option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value(None)
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- with self.assertRaises(AssertionError):
- value = option.get_value('MOZ_OPTION=', 'environment')
-@@ -393,47 +393,47 @@ class TestOption(unittest.TestCase):
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=foo' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=foo' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- if nargs in (2, '*', '+') and not disabled:
- value = option.get_value('--%s=foo,bar' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=foo,bar' % name, 'option')
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- elif nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 0 or 1 values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d value%s'
- % (name, nargs, 's' if nargs != 1 else ''))
-
-@@ -441,59 +441,59 @@ class TestOption(unittest.TestCase):
- default=default)
- if nargs in (0, '?', '*') or disabled:
- value = option.get_value('--%s' % name, 'option')
-- self.assertEquals(value, posOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, posOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s' % name)
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes 1 or more values' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d value%s'
- % (name, nargs, 's' if nargs != 1 else ''))
-
- value = option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value(None)
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = option.get_value('MOZ_OPTION=', 'environment')
-- self.assertEquals(value, NegativeOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, NegativeOptionValue())
-+ self.assertEqual(value.origin, 'environment')
-
- if nargs in (0, '?', '*'):
- value = option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue())
-+ self.assertEqual(value.origin, 'environment')
- elif nargs in (1, '+'):
- value = option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('1',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('1',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(e.exception.message, 'MOZ_OPTION takes 2 values')
-+ self.assertEqual(e.exception.message, 'MOZ_OPTION takes 2 values')
-
- if nargs in (1, '?', '*', '+') and not disabled:
- value = option.get_value('--%s=' % name, 'option')
-- self.assertEquals(value, PositiveOptionValue(('',)))
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue(('',)))
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s=' % name, 'option')
- if disabled:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'Cannot pass a value to --%s' % name)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s takes %d values' % (name, nargs))
-
- with self.assertRaises(AssertionError):
-@@ -501,26 +501,26 @@ class TestOption(unittest.TestCase):
-
- if nargs in (1, '?', '*', '+'):
- value = option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d values' % nargs)
-
- if nargs in (2, '*', '+'):
- value = option.get_value('MOZ_OPTION=foo,bar', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('MOZ_OPTION=foo,bar', 'environment')
- if nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes 0 or 1 values')
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d value%s'
- % (nargs, 's' if nargs != 1 else ''))
-
-@@ -532,26 +532,26 @@ class TestOption(unittest.TestCase):
- env_option.get_value('--%s' % name)
-
- value = env_option.get_value('')
-- self.assertEquals(value, defaultValue)
-- self.assertEquals(value.origin, 'default')
-+ self.assertEqual(value, defaultValue)
-+ self.assertEqual(value.origin, 'default')
-
- value = env_option.get_value('MOZ_OPTION=', 'environment')
-- self.assertEquals(value, negOptionValue())
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, negOptionValue())
-+ self.assertEqual(value.origin, 'environment')
-
- if nargs in (0, '?', '*'):
- value = env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, posOptionValue())
-+ self.assertEqual(value, posOptionValue())
- self.assertTrue(value)
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value.origin, 'environment')
- elif nargs in (1, '+'):
- value = env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('1',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('1',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=1', 'environment')
-- self.assertEquals(e.exception.message, 'MOZ_OPTION takes 2 values')
-+ self.assertEqual(e.exception.message, 'MOZ_OPTION takes 2 values')
-
- with self.assertRaises(AssertionError) as e:
- env_option.get_value('--%s' % name)
-@@ -561,26 +561,26 @@ class TestOption(unittest.TestCase):
-
- if nargs in (1, '?', '*', '+'):
- value = env_option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo',)))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo',)))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=foo', 'environment')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d values' % nargs)
-
- if nargs in (2, '*', '+'):
- value = env_option.get_value('MOZ_OPTION=foo,bar', 'environment')
-- self.assertEquals(value, PositiveOptionValue(('foo', 'bar')))
-- self.assertEquals(value.origin, 'environment')
-+ self.assertEqual(value, PositiveOptionValue(('foo', 'bar')))
-+ self.assertEqual(value.origin, 'environment')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- env_option.get_value('MOZ_OPTION=foo,bar', 'environment')
- if nargs == '?':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes 0 or 1 values')
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- 'MOZ_OPTION takes %d value%s'
- % (nargs, 's' if nargs != 1 else ''))
-
-@@ -592,28 +592,28 @@ class TestOption(unittest.TestCase):
- default=default)
-
- value = option.get_value('--%s-option' % disable, 'option')
-- self.assertEquals(value, NegativeOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, NegativeOptionValue())
-+ self.assertEqual(value.origin, 'option')
-
- option = self.test_option_value('%s-option' % disable, nargs=nargs,
- default=default)
-
- if nargs in (0, '?', '*'):
- value = option.get_value('--%s-option' % enable, 'option')
-- self.assertEquals(value, PositiveOptionValue())
-- self.assertEquals(value.origin, 'option')
-+ self.assertEqual(value, PositiveOptionValue())
-+ self.assertEqual(value.origin, 'option')
- else:
- with self.assertRaises(InvalidOptionError) as e:
- option.get_value('--%s-option' % enable, 'option')
- if nargs == 1:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 1 value' % enable)
- elif nargs == '+':
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 1 or more values'
- % enable)
- else:
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- '--%s-option takes 2 values' % enable)
-
- def test_option_value_with(self):
-@@ -622,12 +622,12 @@ class TestOption(unittest.TestCase):
- def test_option_value_invalid_nargs(self):
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs='foo')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "nargs must be a positive integer, '?', '*' or '+'")
-
- with self.assertRaises(InvalidOptionError) as e:
- Option('--option', nargs=-2)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "nargs must be a positive integer, '?', '*' or '+'")
-
- def test_option_value_nargs_1(self):
-@@ -638,7 +638,7 @@ class TestOption(unittest.TestCase):
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=1)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- def test_option_value_nargs_2(self):
-@@ -649,7 +649,7 @@ class TestOption(unittest.TestCase):
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs=2)
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
- def test_option_value_nargs_0_or_1(self):
-@@ -676,7 +676,7 @@ class TestOption(unittest.TestCase):
- # A default is required
- with self.assertRaises(InvalidOptionError) as e:
- Option('--disable-option', nargs='+')
-- self.assertEquals(e.exception.message,
-+ self.assertEqual(e.exception.message,
- "The given `default` doesn't satisfy `nargs`")
-
-
-@@ -684,21 +684,21 @@ class TestCommandLineHelper(unittest.TestCase):
- def test_basic(self):
- helper = CommandLineHelper({}, ['cmd', '--foo', '--bar'])
-
-- self.assertEquals(['--foo', '--bar'], list(helper))
-+ self.assertEqual(['--foo', '--bar'], list(helper))
-
- helper.add('--enable-qux')
-
-- self.assertEquals(['--foo', '--bar', '--enable-qux'], list(helper))
-+ self.assertEqual(['--foo', '--bar', '--enable-qux'], list(helper))
-
- value, option = helper.handle(Option('--bar'))
-- self.assertEquals(['--foo', '--enable-qux'], list(helper))
-- self.assertEquals(PositiveOptionValue(), value)
-- self.assertEquals('--bar', option)
-+ self.assertEqual(['--foo', '--enable-qux'], list(helper))
-+ self.assertEqual(PositiveOptionValue(), value)
-+ self.assertEqual('--bar', option)
-
- value, option = helper.handle(Option('--baz'))
-- self.assertEquals(['--foo', '--enable-qux'], list(helper))
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals(None, option)
-+ self.assertEqual(['--foo', '--enable-qux'], list(helper))
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual(None, option)
-
- with self.assertRaises(AssertionError):
- CommandLineHelper({}, ['--foo', '--bar'])
-@@ -707,89 +707,89 @@ class TestCommandLineHelper(unittest.TestCase):
- foo = Option('--with-foo', nargs='*')
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b',
- '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- helper = CommandLineHelper({}, ['cmd', '--without-foo',
- '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- foo = Option('--with-foo', env='FOO', nargs='*')
- helper = CommandLineHelper({'FOO': ''}, ['cmd', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({'FOO': 'a,b'}, ['cmd', '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- helper = CommandLineHelper({'FOO': ''}, ['cmd', '--with-bar=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('environment', value.origin)
-- self.assertEquals('FOO=', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('environment', value.origin)
-+ self.assertEqual('FOO=', option)
-
- helper = CommandLineHelper({'FOO': 'a,b'}, ['cmd', '--without-bar'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('environment', value.origin)
-- self.assertEquals('FOO=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('environment', value.origin)
-+ self.assertEqual('FOO=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', '--with-foo=a,b', 'FOO='])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('FOO=', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('FOO=', option)
-
- helper = CommandLineHelper({}, ['cmd', '--without-foo', 'FOO=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('FOO=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('FOO=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', 'FOO=', '--with-foo=a,b'])
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b')), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--with-foo=a,b', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b')), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--with-foo=a,b', option)
-
- helper = CommandLineHelper({}, ['cmd', 'FOO=a,b', '--without-foo'])
- value, option = helper.handle(foo)
-- self.assertEquals(NegativeOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--without-foo', option)
-+ self.assertEqual(NegativeOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--without-foo', option)
-
- def test_extra_args(self):
- foo = Option('--with-foo', env='FOO', nargs='*')
- helper = CommandLineHelper({}, ['cmd'])
- helper.add('FOO=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('FOO=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('FOO=a,b,c', option)
-
- helper = CommandLineHelper({}, ['cmd'])
- helper.add('FOO=a,b,c', 'other-origin')
- helper.add('--with-foo=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('--with-foo=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('--with-foo=a,b,c', option)
-
- # Adding conflicting options is not allowed.
- helper = CommandLineHelper({}, ['cmd'])
-@@ -809,9 +809,9 @@ class TestCommandLineHelper(unittest.TestCase):
- # But adding the same is allowed.
- helper.add('FOO=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('FOO=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('FOO=a,b,c', option)
-
- # The same rule as above applies when using the option form vs. the
- # variable form. But we can't detect it when .add is called.
-@@ -837,9 +837,9 @@ class TestCommandLineHelper(unittest.TestCase):
- helper.add('FOO=a,b,c', 'other-origin')
- helper.add('--with-foo=a,b,c', 'other-origin')
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(('a', 'b', 'c')), value)
-- self.assertEquals('other-origin', value.origin)
-- self.assertEquals('--with-foo=a,b,c', option)
-+ self.assertEqual(PositiveOptionValue(('a', 'b', 'c')), value)
-+ self.assertEqual('other-origin', value.origin)
-+ self.assertEqual('--with-foo=a,b,c', option)
-
- # Conflicts are also not allowed against what is in the
- # environment/on the command line.
-@@ -869,19 +869,19 @@ class TestCommandLineHelper(unittest.TestCase):
- foo = Option('--foo',
- possible_origins=('command-line',))
- value, option = helper.handle(foo)
-- self.assertEquals(PositiveOptionValue(), value)
-- self.assertEquals('command-line', value.origin)
-- self.assertEquals('--foo', option)
-+ self.assertEqual(PositiveOptionValue(), value)
-+ self.assertEqual('command-line', value.origin)
-+ self.assertEqual('--foo', option)
-
- bar = Option('--bar',
- possible_origins=('mozconfig',))
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "--bar can not be set by command-line. Values are accepted from: mozconfig"):
- helper.handle(bar)
-
- baz = Option(env='BAZ',
- possible_origins=('implied',))
-- with self.assertRaisesRegexp(InvalidOptionError,
-+ with self.assertRaisesRegex(InvalidOptionError,
- "BAZ=1 can not be set by environment. Values are accepted from: implied"):
- helper.handle(baz)
-
-diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-index cb7ff709e..c339a32bf 100755
---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-@@ -2,12 +2,12 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import logging
- import os
-
--from StringIO import StringIO
-+from io import StringIO
-
- from mozunit import main
-
-@@ -366,9 +366,9 @@ class BaseToolchainTest(BaseConfigureTest):
- compiler = sandbox._value_for(sandbox[var])
- # Add var on both ends to make it clear which of the
- # variables is failing the test when that happens.
-- self.assertEquals((var, compiler), (var, result))
-+ self.assertEqual((var, compiler), (var, result))
- except SystemExit:
-- self.assertEquals((var, result),
-+ self.assertEqual((var, result),
- (var, self.out.getvalue().strip()))
- return
-
-@@ -407,7 +407,7 @@ class BaseToolchainTest(BaseConfigureTest):
- 'RUST_LIB_SUFFIX',
- 'OBJ_SUFFIX',
- ):
-- self.assertEquals('%s=%s' % (k, sandbox.get_config(k)),
-+ self.assertEqual('%s=%s' % (k, sandbox.get_config(k)),
- '%s=%s' % (k, library_name_info[k]))
-
-
-@@ -584,7 +584,7 @@ class LinuxToolchainTest(BaseToolchainTest):
- # We'll try gcc and clang, but since there is no gcc (gcc-x.y doesn't
- # count), find clang.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('gcc', 'g++')
- }
- self.do_toolchain_test(paths, {
-@@ -619,7 +619,7 @@ class LinuxToolchainTest(BaseToolchainTest):
- # Even if there are gcc-x.y or clang-x.y compilers available, we
- # don't try them. This could be considered something to improve.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('gcc', 'g++', 'clang', 'clang++')
- }
- self.do_toolchain_test(paths, {
-@@ -800,7 +800,7 @@ class OSXToolchainTest(BaseToolchainTest):
- def test_not_gcc(self):
- # We won't pick GCC if it's the only thing available.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('clang', 'clang++')
- }
- self.do_toolchain_test(paths, {
-@@ -976,7 +976,7 @@ class WindowsToolchainTest(BaseToolchainTest):
- def test_clang_cl(self):
- # We'll pick clang-cl if msvc can't be found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) != 'cl'
- }
- self.do_toolchain_test(paths, {
-@@ -987,7 +987,7 @@ class WindowsToolchainTest(BaseToolchainTest):
- def test_gcc(self):
- # We'll pick GCC if msvc and clang-cl can't be found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('cl', 'clang-cl')
- }
- self.do_toolchain_test(paths, {
-@@ -1006,7 +1006,7 @@ class WindowsToolchainTest(BaseToolchainTest):
- def test_clang(self):
- # We'll pick clang if nothing else is found.
- paths = {
-- k: v for k, v in self.PATHS.iteritems()
-+ k: v for k, v in self.PATHS.items()
- if os.path.basename(k) not in ('cl', 'clang-cl', 'gcc')
- }
- self.do_toolchain_test(paths, {
-diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py
-index 8ec33a8b7..ba046ed12 100644
---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import copy
- import re
-@@ -10,7 +10,7 @@ import types
- import unittest
-
- from fnmatch import fnmatch
--from StringIO import StringIO
-+from io import StringIO
- from textwrap import dedent
-
- from mozunit import (
-@@ -43,7 +43,7 @@ class CompilerPreprocessor(Preprocessor):
- # Hack around it enough that the configure tests work properly.
- context = self.context
- def normalize_numbers(value):
-- if isinstance(value, types.StringTypes):
-+ if isinstance(value, (str,)):
- if value[-1:] == 'L' and value[:-1].isdigit():
- value = int(value[:-1])
- return value
-@@ -53,7 +53,7 @@ class CompilerPreprocessor(Preprocessor):
- return self.HAS_FEATURE.sub(r'\1\2', expr)
- self.context = self.Context(
- (normalize_has_feature(k), normalize_numbers(v))
-- for k, v in context.iteritems()
-+ for k, v in context.items()
- )
- try:
- return Preprocessor.do_if(self, normalize_has_feature(expression),
-@@ -95,7 +95,7 @@ class TestCompilerPreprocessor(unittest.TestCase):
- input.name = 'foo'
- pp.do_include(input)
-
-- self.assertEquals(pp.out.getvalue(), '1 . 2 . c "D"')
-+ self.assertEqual(pp.out.getvalue(), '1 . 2 . c "D"')
-
- def test_condition(self):
- pp = CompilerPreprocessor({
-@@ -125,7 +125,7 @@ class TestCompilerPreprocessor(unittest.TestCase):
- input.name = 'foo'
- pp.do_include(input)
-
-- self.assertEquals('IFDEF_A\nIF_A\nIF_B\nIF_NOT_C\n', pp.out.getvalue())
-+ self.assertEqual('IFDEF_A\nIF_A\nIF_B\nIF_NOT_C\n', pp.out.getvalue())
-
-
- class FakeCompiler(dict):
-@@ -164,9 +164,9 @@ class FakeCompiler(dict):
- '''
- def __init__(self, *definitions):
- for definition in definitions:
-- if all(not isinstance(d, dict) for d in definition.itervalues()):
-+ if all(not isinstance(d, dict) for d in definition.values()):
- definition = {None: definition}
-- for key, value in definition.iteritems():
-+ for key, value in definition.items():
- self.setdefault(key, {}).update(value)
-
- def __call__(self, stdin, args):
-@@ -178,14 +178,14 @@ class FakeCompiler(dict):
- pp = CompilerPreprocessor(self[None])
-
- def apply_defn(defn):
-- for k, v in defn.iteritems():
-+ for k, v in defn.items():
- if v is False:
- if k in pp.context:
- del pp.context[k]
- else:
- pp.context[k] = v
-
-- for glob, defn in self.iteritems():
-+ for glob, defn in self.items():
- if glob and not glob.startswith('-') and fnmatch(file, glob):
- apply_defn(defn)
-
-@@ -216,7 +216,7 @@ class TestFakeCompiler(unittest.TestCase):
- 'A': '1',
- 'B': '2',
- })
-- self.assertEquals(compiler(None, ['-E', 'file']),
-+ self.assertEqual(compiler(None, ['-E', 'file']),
- (0, '1 2 C', ''))
-
- compiler = FakeCompiler({
-@@ -238,25 +238,25 @@ class TestFakeCompiler(unittest.TestCase):
- 'B': '42',
- },
- })
-- self.assertEquals(compiler(None, ['-E', 'file']),
-+ self.assertEqual(compiler(None, ['-E', 'file']),
- (0, '1 2 C', ''))
-- self.assertEquals(compiler(None, ['-E', '-foo', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-foo', 'file']),
- (0, '1 2 foo', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-qux', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-qux', 'file']),
- (0, '1 B C', ''))
-- self.assertEquals(compiler(None, ['-E', '-foo', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-foo', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', '-foo', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', '-foo', 'file']),
- (0, '1 bar foo', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', '-qux', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', '-qux', 'file']),
- (0, '1 B bar', ''))
-- self.assertEquals(compiler(None, ['-E', '-qux', '-bar', 'file']),
-+ self.assertEqual(compiler(None, ['-E', '-qux', '-bar', 'file']),
- (0, '1 bar bar', ''))
-- self.assertEquals(compiler(None, ['-E', 'file.c']),
-+ self.assertEqual(compiler(None, ['-E', 'file.c']),
- (0, '1 42 C', ''))
-- self.assertEquals(compiler(None, ['-E', '-bar', 'file.c']),
-+ self.assertEqual(compiler(None, ['-E', '-bar', 'file.c']),
- (0, '1 bar bar', ''))
-
- def test_multiple_definitions(self):
-@@ -267,7 +267,7 @@ class TestFakeCompiler(unittest.TestCase):
- 'C': 3,
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 2,
-@@ -282,7 +282,7 @@ class TestFakeCompiler(unittest.TestCase):
- 'C': 3,
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 4,
-@@ -302,7 +302,7 @@ class TestFakeCompiler(unittest.TestCase):
- },
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 4,
-@@ -330,7 +330,7 @@ class TestFakeCompiler(unittest.TestCase):
- },
- })
-
-- self.assertEquals(compiler, {
-+ self.assertEqual(compiler, {
- None: {
- 'A': 1,
- 'B': 2,
-@@ -370,7 +370,7 @@ class CompilerResult(ReadOnlyNamespace):
- def __add__(self, other):
- assert isinstance(other, dict)
- result = copy.deepcopy(self.__dict__)
-- for k, v in other.iteritems():
-+ for k, v in other.items():
- if k == 'flags':
- result.setdefault(k, []).extend(v)
- else:
-@@ -381,7 +381,7 @@ class CompilerResult(ReadOnlyNamespace):
- class TestCompilerResult(unittest.TestCase):
- def test_compiler_result(self):
- result = CompilerResult()
-- self.assertEquals(result.__dict__, {
-+ self.assertEqual(result.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath(''),
- 'version': '',
-@@ -397,7 +397,7 @@ class TestCompilerResult(unittest.TestCase):
- language='C',
- flags=['-std=gnu99'],
- )
-- self.assertEquals(result.__dict__, {
-+ self.assertEqual(result.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc'),
- 'version': '4.2.1',
-@@ -407,7 +407,7 @@ class TestCompilerResult(unittest.TestCase):
- })
-
- result2 = result + {'flags': ['-m32']}
-- self.assertEquals(result2.__dict__, {
-+ self.assertEqual(result2.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc'),
- 'version': '4.2.1',
-@@ -416,14 +416,14 @@ class TestCompilerResult(unittest.TestCase):
- 'flags': ['-std=gnu99', '-m32'],
- })
- # Original flags are untouched.
-- self.assertEquals(result.flags, ['-std=gnu99'])
-+ self.assertEqual(result.flags, ['-std=gnu99'])
-
- result3 = result + {
- 'compiler': '/usr/bin/gcc-4.7',
- 'version': '4.7.3',
- 'flags': ['-m32'],
- }
-- self.assertEquals(result3.__dict__, {
-+ self.assertEqual(result3.__dict__, {
- 'wrapper': [],
- 'compiler': mozpath.abspath('/usr/bin/gcc-4.7'),
- 'version': '4.7.3',
-diff --git a/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py
-index ac35d745f..cdd8ece1b 100644
---- a/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_toolkit_moz_configure.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import os
-
-diff --git a/python/mozbuild/mozbuild/test/configure/test_util.py b/python/mozbuild/mozbuild/test/configure/test_util.py
-index 9f9575fd0..c2db1a628 100644
---- a/python/mozbuild/mozbuild/test/configure/test_util.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_util.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function, unicode_literals
-+
-
- import logging
- import os
-@@ -11,7 +11,7 @@ import textwrap
- import unittest
- import sys
-
--from StringIO import StringIO
-+from io import StringIO
-
- from mozunit import main
- from mozpack import path as mozpath
-@@ -434,11 +434,11 @@ class TestLogSubprocessOutput(unittest.TestCase):
- except SystemExit as e:
- status = e.code
-
-- self.assertEquals(status, 0)
-+ self.assertEqual(status, 0)
- quote_char = "'"
- if getpreferredencoding().lower() == 'utf-8':
- quote_char = '\u00B4'.encode('utf-8')
-- self.assertEquals(out.getvalue().strip(), quote_char)
-+ self.assertEqual(out.getvalue().strip(), quote_char)
-
-
- class TestVersion(unittest.TestCase):
-diff --git a/python/mozbuild/mozbuild/testing.py b/python/mozbuild/mozbuild/testing.py
-index 3229c3f77..82d250fab 100644
---- a/python/mozbuild/mozbuild/testing.py
-+++ b/python/mozbuild/mozbuild/testing.py
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
-
--import cPickle as pickle
-+
-+import pickle as pickle
- import os
- import sys
-
-@@ -70,7 +70,7 @@ REFTEST_FLAVORS = ('crashtest', 'reftest')
- WEB_PLATFORM_TESTS_FLAVORS = ('web-platform-tests',)
-
- def all_test_flavors():
-- return ([v[0] for v in TEST_MANIFESTS.values()] +
-+ return ([v[0] for v in list(TEST_MANIFESTS.values())] +
- list(REFTEST_FLAVORS) +
- list(WEB_PLATFORM_TESTS_FLAVORS))
-
-@@ -210,7 +210,7 @@ def install_test_files(topsrcdir, topobjdir, tests_root, test_objs):
- only a few tests need to be run.
- """
- flavor_info = {flavor: (root, prefix, install)
-- for (flavor, root, prefix, install) in TEST_MANIFESTS.values()}
-+ for (flavor, root, prefix, install) in list(TEST_MANIFESTS.values())}
- objdir_dest = mozpath.join(topobjdir, tests_root)
-
- converter = SupportFilesConverter()
-@@ -292,7 +292,7 @@ def read_wpt_manifest(context, paths):
- paths_file = os.path.join(context.config.topsrcdir, "testing",
- "web-platform", "tests", "tools", "localpaths.py")
- _globals = {"__file__": paths_file}
-- execfile(paths_file, _globals)
-+ exec(compile(open(paths_file, "rb").read(), paths_file, 'exec'), _globals)
- import manifest as wptmanifest
- finally:
- sys.path = old_path
-diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py
-index 4ea227dc0..79cb15713 100644
---- a/python/mozbuild/mozbuild/util.py
-+++ b/python/mozbuild/mozbuild/util.py
-@@ -5,7 +5,7 @@
- # This file contains miscellaneous utility functions that don't belong anywhere
- # in particular.
-
--from __future__ import absolute_import, unicode_literals, print_function
-+
-
- import argparse
- import collections
-@@ -21,6 +21,9 @@ import stat
- import sys
- import time
- import types
-+import pprint
-+import six
-+import subprocess
-
- from collections import (
- defaultdict,
-@@ -36,7 +39,7 @@ from io import (
- if sys.version_info[0] == 3:
- str_type = str
- else:
-- str_type = basestring
-+ str_type = str
-
- if sys.platform == 'win32':
- _kernel32 = ctypes.windll.kernel32
-@@ -78,7 +81,7 @@ def hash_file(path, hasher=None):
- return h.hexdigest()
-
-
--class EmptyValue(unicode):
-+class EmptyValue(str):
- """A dummy type that behaves like an empty string and sequence.
-
- This type exists in order to support
-@@ -92,7 +95,7 @@ class EmptyValue(unicode):
- class ReadOnlyNamespace(object):
- """A class for objects with immutable attributes set at initialization."""
- def __init__(self, **kwargs):
-- for k, v in kwargs.iteritems():
-+ for k, v in kwargs.items():
- super(ReadOnlyNamespace, self).__setattr__(k, v)
-
- def __delattr__(self, key):
-@@ -224,7 +227,7 @@ class FileAvoidWrite(BytesIO):
- self.mode = mode
-
- def write(self, buf):
-- if isinstance(buf, unicode):
-+ if isinstance(buf, str):
- buf = buf.encode('utf-8')
- BytesIO.write(self, buf)
-
-@@ -267,6 +270,10 @@ class FileAvoidWrite(BytesIO):
- if 'b' in self.mode:
- writemode += 'b'
- with open(self.name, writemode) as file:
-+ if 'b' in self.mode and isinstance(buf, str):
-+ buf = buf.encode('utf-8')
-+ elif 'b' not in self.mode and isinstance(buf, bytes):
-+ buf = buf.decode('utf-8')
- file.write(buf)
-
- if self._capture_diff:
-@@ -381,7 +388,7 @@ class ListMixin(object):
- def __add__(self, other):
- # Allow None and EmptyValue is a special case because it makes undefined
- # variable references in moz.build behave better.
-- other = [] if isinstance(other, (types.NoneType, EmptyValue)) else other
-+ other = [] if isinstance(other, (type(None), EmptyValue)) else other
- if not isinstance(other, list):
- raise ValueError('Only lists can be appended to lists.')
-
-@@ -390,7 +397,7 @@ class ListMixin(object):
- return new_list
-
- def __iadd__(self, other):
-- other = [] if isinstance(other, (types.NoneType, EmptyValue)) else other
-+ other = [] if isinstance(other, (type(None), EmptyValue)) else other
- if not isinstance(other, list):
- raise ValueError('Only lists can be appended to lists.')
-
-@@ -561,14 +568,14 @@ def FlagsFactory(flags):
- functions below.
- """
- assert isinstance(flags, dict)
-- assert all(isinstance(v, type) for v in flags.values())
-+ assert all(isinstance(v, type) for v in list(flags.values()))
-
- class Flags(object):
-- __slots__ = flags.keys()
-+ __slots__ = list(flags.keys())
- _flags = flags
-
- def update(self, **kwargs):
-- for k, v in kwargs.iteritems():
-+ for k, v in kwargs.items():
- setattr(self, k, v)
-
- def __getattr__(self, name):
-@@ -1006,8 +1013,6 @@ def TypedNamedTuple(name, fields):
- 'got %s, expected %s' % (fname,
- type(value), ftype))
-
-- super(TypedTuple, self).__init__(*args, **kwargs)
--
- TypedTuple._fields = fields
-
- return TypedTuple
-@@ -1099,14 +1104,14 @@ def group_unified_files(files, unified_prefix, unified_suffix,
- # issue. So we do a little dance to filter it out ourselves.
- dummy_fill_value = ("dummy",)
- def filter_out_dummy(iterable):
-- return itertools.ifilter(lambda x: x != dummy_fill_value,
-+ return filter(lambda x: x != dummy_fill_value,
- iterable)
-
- # From the itertools documentation, slightly modified:
- def grouper(n, iterable):
- "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
- args = [iter(iterable)] * n
-- return itertools.izip_longest(fillvalue=dummy_fill_value, *args)
-+ return itertools.zip_longest(fillvalue=dummy_fill_value, *args)
-
- for i, unified_group in enumerate(grouper(files_per_unified_file,
- files)):
-@@ -1123,7 +1128,7 @@ def pair(iterable):
- [(1,2), (3,4), (5,6)]
- '''
- i = iter(iterable)
-- return itertools.izip_longest(i, i)
-+ return itertools.zip_longest(i, i)
-
-
- VARIABLES_RE = re.compile('\$\((\w+)\)')
-@@ -1141,7 +1146,7 @@ def expand_variables(s, variables):
- value = variables.get(name)
- if not value:
- continue
-- if not isinstance(value, types.StringTypes):
-+ if not isinstance(value, (str,)):
- value = ' '.join(value)
- result += value
- return result
-@@ -1168,7 +1173,7 @@ class EnumStringComparisonError(Exception):
- pass
-
-
--class EnumString(unicode):
-+class EnumString(str):
- '''A string type that only can have a limited set of values, similarly to
- an Enum, and can only be compared against that set of values.
-
-@@ -1185,8 +1190,8 @@ class EnumString(unicode):
- def __eq__(self, other):
- if other not in self.POSSIBLE_VALUES:
- raise EnumStringComparisonError(
-- 'Can only compare with %s'
-- % ', '.join("'%s'" % v for v in self.POSSIBLE_VALUES))
-+ '%s is not in %s'
-+ % (other, ', '.join("'%s'" % v for v in self.POSSIBLE_VALUES)))
- return super(EnumString, self).__eq__(other)
-
- def __ne__(self, other):
-@@ -1204,14 +1209,14 @@ def _escape_char(c):
- # quoting could be done with either ' or ".
- if c == "'":
- return "\\'"
-- return unicode(c.encode('unicode_escape'))
-+ return str(c.encode('unicode_escape'))
-
- # Mapping table between raw characters below \x80 and their escaped
- # counterpart, when they differ
- _INDENTED_REPR_TABLE = {
- c: e
- for c, e in map(lambda x: (x, _escape_char(x)),
-- map(unichr, range(128)))
-+ map(chr, range(128)))
- if c != e
- }
- # Regexp matching all characters to escape.
-@@ -1219,7 +1224,33 @@ _INDENTED_REPR_RE = re.compile(
- '([' + ''.join(_INDENTED_REPR_TABLE.values()) + ']+)')
-
-
-+# Stolen from gecko master [1]
-+# [1] https://github.com/mozilla/gecko-dev/blob/4165a2e843c494bfb3e35d8a1fbf9c61209e3675/python/mozbuild/mozbuild/util.py#L1286
-+
-+# The default PrettyPrinter has some issues with UTF-8, so we need to override
-+# some stuff here.
-+class _PrettyPrinter(pprint.PrettyPrinter):
-+ def format(self, object, context, maxlevels, level):
-+ if not (isinstance(object, six.text_type) or
-+ isinstance(object, six.binary_type)):
-+ return super(_PrettyPrinter, self).format(
-+ object, context, maxlevels, level)
-+ # This is super hacky and weird, but the output of 'repr' actually
-+ # varies based on the default I/O encoding of the process, which isn't
-+ # necessarily utf-8. Instead we open a new shell and ask what the repr
-+ # WOULD be assuming the default encoding is utf-8. If you can come up
-+ # with a better way of doing this without simply re-implementing the
-+ # logic of "repr", please replace this.
-+ env = dict(os.environ)
-+ env['PYTHONIOENCODING'] = 'utf-8'
-+ ret = six.ensure_text(subprocess.check_output(
-+ [sys.executable], input='print(repr(%s))' % repr(object),
-+ universal_newlines=True, env=env, encoding='utf-8')).strip()
-+ return (ret, True, False)
-+
- def indented_repr(o, indent=4):
-+ return _PrettyPrinter(indent=indent).pformat(o)
-+
- '''Similar to repr(), but returns an indented representation of the object
-
- One notable difference with repr is that the returned representation
-@@ -1242,7 +1273,7 @@ def indented_repr(o, indent=4):
- elif isinstance(o, bytes):
- yield 'b'
- yield repr(o)
-- elif isinstance(o, unicode):
-+ elif isinstance(o, str):
- yield "'"
- # We want a readable string (non escaped unicode), but some
- # special characters need escaping (e.g. \n, \t, etc.)
-@@ -1272,11 +1303,11 @@ def encode(obj, encoding='utf-8'):
- if isinstance(obj, dict):
- return {
- encode(k, encoding): encode(v, encoding)
-- for k, v in obj.iteritems()
-+ for k, v in obj.items()
- }
- if isinstance(obj, bytes):
- return obj
-- if isinstance(obj, unicode):
-+ if isinstance(obj, str):
- return obj.encode(encoding)
- if isinstance(obj, Iterable):
- return [encode(i, encoding) for i in obj]
-diff --git a/python/mozbuild/mozbuild/virtualenv.py b/python/mozbuild/mozbuild/virtualenv.py
-index 38d06d71d..c67c046f3 100644
---- a/python/mozbuild/mozbuild/virtualenv.py
-+++ b/python/mozbuild/mozbuild/virtualenv.py
-@@ -531,9 +531,9 @@ def verify_python_version(log_handle):
-
- our = LooseVersion('%d.%d.%d' % (major, minor, micro))
-
-- if major != MINIMUM_PYTHON_MAJOR or our < MINIMUM_PYTHON_VERSION:
-- log_handle.write('Python %s or greater (but not Python 3) is '
-- 'required to build. ' % MINIMUM_PYTHON_VERSION)
-+ if our < MINIMUM_PYTHON_VERSION:
-+ log_handle.write('Python %s or greater is required to build. '
-+ % MINIMUM_PYTHON_VERSION)
- log_handle.write('You are running Python %s.\n' % our)
-
- if os.name in ('nt', 'ce'):
-diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
-index c91b99cf1..02eac0dbb 100644
---- a/python/mozbuild/mozpack/chrome/manifest.py
-+++ b/python/mozbuild/mozpack/chrome/manifest.py
-@@ -2,11 +2,11 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import re
- import os
--from urlparse import urlparse
-+from urllib.parse import urlparse
- import mozpack.path as mozpath
- from mozpack.chrome.flags import Flags
- from mozpack.errors import errors
-@@ -316,7 +316,7 @@ class ManifestContract(ManifestEntry):
- return self.serialize(self.contractID, self.cid)
-
- # All manifest classes by their type name.
--MANIFESTS_TYPES = dict([(c.type, c) for c in globals().values()
-+MANIFESTS_TYPES = dict([(c.type, c) for c in list(globals().values())
- if type(c) == type and issubclass(c, ManifestEntry)
- and hasattr(c, 'type') and c.type])
-
-diff --git a/python/mozbuild/mozpack/copier.py b/python/mozbuild/mozpack/copier.py
-index 1e521e52b..43ed9be4a 100644
---- a/python/mozbuild/mozpack/copier.py
-+++ b/python/mozbuild/mozpack/copier.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import stat
-@@ -113,7 +113,7 @@ class FileRegistry(object):
- '''
- Return all paths stored in the container, in the order they were added.
- '''
-- return self._files.keys()
-+ return list(self._files.keys())
-
- def __len__(self):
- '''
-@@ -146,7 +146,7 @@ class FileRegistry(object):
- for path, file in registry:
- (...)
- '''
-- return self._files.iteritems()
-+ return iter(self._files.items())
-
- def required_directories(self):
- '''
-@@ -155,7 +155,7 @@ class FileRegistry(object):
- unspecified (virtual) root directory (and do not include said root
- directory).
- '''
-- return set(k for k, v in self._required_directories.items() if v > 0)
-+ return set(k for k, v in list(self._required_directories.items()) if v > 0)
-
- def output_to_inputs_tree(self):
- '''
-@@ -295,7 +295,7 @@ class FileCopier(FileRegistry):
-
- Returns a FileCopyResult that details what changed.
- '''
-- assert isinstance(destination, basestring)
-+ assert isinstance(destination, str)
- assert not os.path.exists(destination) or os.path.isdir(destination)
-
- result = FileCopyResult()
-@@ -563,7 +563,7 @@ class Jarrer(FileRegistry, BaseFile):
- def exists(self):
- return self.deflater is not None
-
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- assert isinstance(dest, Dest)
-
-diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py
-index 8ce353375..bf35e39b8 100644
---- a/python/mozbuild/mozpack/files.py
-+++ b/python/mozbuild/mozpack/files.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import errno
- import os
-@@ -57,7 +57,7 @@ else:
-
- def _copyfile(src, dest):
- # False indicates `dest` should be overwritten if it exists already.
-- if isinstance(src, unicode) and isinstance(dest, unicode):
-+ if isinstance(src, str) and isinstance(dest, str):
- _CopyFileW(src, dest, False)
- elif isinstance(src, str) and isinstance(dest, str):
- _CopyFileA(src, dest, False)
-@@ -164,7 +164,7 @@ class BaseFile(object):
- disabled when skip_if_older is False.
- Returns whether a copy was actually performed (True) or not (False).
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -278,11 +278,11 @@ class ExecutableFile(File):
- '''
- def copy(self, dest, skip_if_older=True):
- real_dest = dest
-- if not isinstance(dest, basestring):
-+ if not isinstance(dest, str):
- fd, dest = mkstemp()
- os.close(fd)
- os.remove(dest)
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
- # If File.copy didn't actually copy because dest is newer, check the
- # file sizes. If dest is smaller, it means it is already stripped and
- # elfhacked, so we can skip.
-@@ -319,7 +319,7 @@ class AbsoluteSymlinkFile(File):
- File.__init__(self, path)
-
- def copy(self, dest, skip_if_older=True):
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
-
- # The logic in this function is complicated by the fact that symlinks
- # aren't universally supported. So, where symlinks aren't supported, we
-@@ -410,7 +410,7 @@ class HardlinkFile(File):
- '''
-
- def copy(self, dest, skip_if_older=True):
-- assert isinstance(dest, basestring)
-+ assert isinstance(dest, str)
-
- if not hasattr(os, 'link'):
- return super(HardlinkFile, self).copy(
-@@ -471,7 +471,7 @@ class ExistingFile(BaseFile):
- self.required = required
-
- def copy(self, dest, skip_if_older=True):
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -517,7 +517,7 @@ class PreprocessedFile(BaseFile):
- '''
- Invokes the preprocessor to create the destination file.
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- else:
- assert isinstance(dest, Dest)
-@@ -657,7 +657,7 @@ class XPTFile(GeneratedFile):
- the individual XPTs to link.
- skip_if_older is ignored.
- '''
-- if isinstance(dest, basestring):
-+ if isinstance(dest, str):
- dest = Dest(dest)
- assert isinstance(dest, Dest)
-
-@@ -1108,7 +1108,7 @@ class ComposedFinder(BaseFinder):
- from mozpack.copier import FileRegistry
- self.files = FileRegistry()
-
-- for base, finder in sorted(finders.iteritems()):
-+ for base, finder in sorted(finders.items()):
- if self.files.contains(base):
- self.files.remove(base)
- for p, f in finder.find(''):
-diff --git a/python/mozbuild/mozpack/manifests.py b/python/mozbuild/mozpack/manifests.py
-index 27c66634b..f79b40086 100644
---- a/python/mozbuild/mozpack/manifests.py
-+++ b/python/mozbuild/mozpack/manifests.py
-@@ -2,8 +2,6 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, unicode_literals
--
- from contextlib import contextmanager
- import json
-
-@@ -116,7 +114,7 @@ class InstallManifest(object):
- self._source_files = set()
-
- if path or fileobj:
-- with _auto_fileobj(path, fileobj, 'rb') as fh:
-+ with _auto_fileobj(path, fileobj, 'r') as fh:
- self._source_files.add(fh.name)
- self._load_from_fileobj(fh)
-
-@@ -175,7 +173,7 @@ class InstallManifest(object):
- dest, content = fields[1:]
-
- self.add_content(
-- self._decode_field_entry(content).encode('utf-8'), dest)
-+ self._decode_field_entry(content), dest)
- continue
-
- # Don't fail for non-actionable items, allowing
-@@ -228,7 +226,7 @@ class InstallManifest(object):
-
- It is an error if both are specified.
- """
-- with _auto_fileobj(path, fileobj, 'wb') as fh:
-+ with _auto_fileobj(path, fileobj, 'w') as fh:
- fh.write('%d\n' % self.CURRENT_VERSION)
-
- for dest in sorted(self._dests):
-@@ -242,13 +240,11 @@ class InstallManifest(object):
- for path in paths:
- source = mozpath.join(base, path)
- parts = ['%d' % type, mozpath.join(dest, path), source]
-- fh.write('%s\n' % self.FIELD_SEPARATOR.join(
-- p.encode('utf-8') for p in parts))
-+ fh.write('%s\n' % self.FIELD_SEPARATOR.join(parts))
- else:
- parts = ['%d' % entry[0], dest]
- parts.extend(entry[1:])
-- fh.write('%s\n' % self.FIELD_SEPARATOR.join(
-- p.encode('utf-8') for p in parts))
-+ fh.write('%s\n' % self.FIELD_SEPARATOR.join(parts))
-
- def add_link(self, source, dest):
- """Add a link to this manifest.
-@@ -439,7 +435,7 @@ class InstallManifest(object):
- if install_type == self.CONTENT:
- # GeneratedFile expect the buffer interface, which the unicode
- # type doesn't have, so encode to a str.
-- content = self._decode_field_entry(entry[1]).encode('utf-8')
-+ content = self._decode_field_entry(entry[1])
- registry.add(dest, GeneratedFile(content))
- continue
-
-diff --git a/python/mozbuild/mozpack/mozjar.py b/python/mozbuild/mozpack/mozjar.py
-index a723fd2c0..0b04d233c 100644
---- a/python/mozbuild/mozpack/mozjar.py
-+++ b/python/mozbuild/mozpack/mozjar.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- from io import BytesIO
- import struct
-@@ -14,9 +14,10 @@ from zipfile import (
- ZIP_DEFLATED,
- )
- from collections import OrderedDict
--from urlparse import urlparse, ParseResult
-+from urllib.parse import urlparse, ParseResult
- import mozpack.path as mozpath
- from mozbuild.util import memoize
-+from functools import reduce
-
-
- JAR_STORED = ZIP_STORED
-@@ -72,7 +73,7 @@ class JarStruct(object):
- an instance with empty fields.
- '''
- assert self.MAGIC and isinstance(self.STRUCT, OrderedDict)
-- self.size_fields = set(t for t in self.STRUCT.itervalues()
-+ self.size_fields = set(t for t in self.STRUCT.values()
- if not t in JarStruct.TYPE_MAPPING)
- self._values = {}
- if data:
-@@ -94,7 +95,7 @@ class JarStruct(object):
- # For all fields used as other fields sizes, keep track of their value
- # separately.
- sizes = dict((t, 0) for t in self.size_fields)
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if t in JarStruct.TYPE_MAPPING:
- value, size = JarStruct.get_data(t, data[offset:])
- else:
-@@ -113,7 +114,7 @@ class JarStruct(object):
- Initialize an instance with empty fields.
- '''
- self.signature = self.MAGIC
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if name in self.size_fields:
- continue
- self._values[name] = 0 if t in JarStruct.TYPE_MAPPING else ''
-@@ -138,9 +139,9 @@ class JarStruct(object):
- from self.STRUCT.
- '''
- serialized = struct.pack('<I', self.signature)
-- sizes = dict((t, name) for name, t in self.STRUCT.iteritems()
-+ sizes = dict((t, name) for name, t in self.STRUCT.items()
- if not t in JarStruct.TYPE_MAPPING)
-- for name, t in self.STRUCT.iteritems():
-+ for name, t in self.STRUCT.items():
- if t in JarStruct.TYPE_MAPPING:
- format, size = JarStruct.TYPE_MAPPING[t]
- if name in sizes:
-@@ -159,7 +160,7 @@ class JarStruct(object):
- variable length fields.
- '''
- size = JarStruct.TYPE_MAPPING['uint32'][1]
-- for name, type in self.STRUCT.iteritems():
-+ for name, type in self.STRUCT.items():
- if type in JarStruct.TYPE_MAPPING:
- size += JarStruct.TYPE_MAPPING[type][1]
- else:
-@@ -180,7 +181,7 @@ class JarStruct(object):
- return key in self._values
-
- def __iter__(self):
-- return self._values.iteritems()
-+ return iter(self._values.items())
-
- def __repr__(self):
- return "<%s %s>" % (self.__class__.__name__,
-@@ -374,7 +375,7 @@ class JarReader(object):
- entries = self.entries
- if not entries:
- return JAR_STORED
-- return max(f['compression'] for f in entries.itervalues())
-+ return max(f['compression'] for f in entries.values())
-
- @property
- def entries(self):
-@@ -390,7 +391,7 @@ class JarReader(object):
- preload = JarStruct.get_data('uint32', self._data)[0]
- entries = OrderedDict()
- offset = self._cdir_end['cdir_offset']
-- for e in xrange(self._cdir_end['cdir_entries']):
-+ for e in range(self._cdir_end['cdir_entries']):
- entry = JarCdirEntry(self._data[offset:])
- offset += entry.size
- # Creator host system. 0 is MSDOS, 3 is Unix
-@@ -452,7 +453,7 @@ class JarReader(object):
- for file in jarReader:
- ...
- '''
-- for entry in self.entries.itervalues():
-+ for entry in self.entries.values():
- yield self._getreader(entry)
-
- def __getitem__(self, name):
-@@ -547,7 +548,7 @@ class JarWriter(object):
- headers = {}
- preload_size = 0
- # Prepare central directory entries
-- for entry, content in self._contents.itervalues():
-+ for entry, content in self._contents.values():
- header = JarLocalFileHeader()
- for name in entry.STRUCT:
- if name in header:
-@@ -562,7 +563,7 @@ class JarWriter(object):
- end['disk_entries'] = len(self._contents)
- end['cdir_entries'] = end['disk_entries']
- end['cdir_size'] = reduce(lambda x, y: x + y[0].size,
-- self._contents.values(), 0)
-+ list(self._contents.values()), 0)
- # On optimized archives, store the preloaded size and the central
- # directory entries, followed by the first end of central directory.
- if self._optimize:
-@@ -571,18 +572,18 @@ class JarWriter(object):
- if preload_size:
- preload_size += offset
- self._data.write(struct.pack('<I', preload_size))
-- for entry, _ in self._contents.itervalues():
-+ for entry, _ in self._contents.values():
- entry['offset'] += offset
- self._data.write(entry.serialize())
- self._data.write(end.serialize())
- # Store local file entries followed by compressed data
-- for entry, content in self._contents.itervalues():
-+ for entry, content in self._contents.values():
- self._data.write(headers[entry].serialize())
- self._data.write(content)
- # On non optimized archives, store the central directory entries.
- if not self._optimize:
- end['cdir_offset'] = offset
-- for entry, _ in self._contents.itervalues():
-+ for entry, _ in self._contents.values():
- self._data.write(entry.serialize())
- # Store the end of central directory.
- self._data.write(end.serialize())
-@@ -622,7 +623,7 @@ class JarWriter(object):
- deflater = data
- else:
- deflater = Deflater(compress, compress_level=self._compress_level)
-- if isinstance(data, basestring):
-+ if isinstance(data, str):
- deflater.write(data)
- elif hasattr(data, 'read'):
- if hasattr(data, 'seek'):
-diff --git a/testing/mozbase/manifestparser/manifestparser/ini.py b/testing/mozbase/manifestparser/manifestparser/ini.py
-index e5ba249c1..c141a18b7 100644
---- a/testing/mozbase/manifestparser/manifestparser/ini.py
-+++ b/testing/mozbase/manifestparser/manifestparser/ini.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this file,
- # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import
-+
-
- import os
- import sys
-@@ -12,7 +12,7 @@ __all__ = ['read_ini', 'combine_fields']
-
- class IniParseError(Exception):
- def __init__(self, fp, linenum, msg):
-- if isinstance(fp, basestring):
-+ if isinstance(fp, str):
- path = fp
- elif hasattr(fp, 'name'):
- path = fp.name
-@@ -43,12 +43,15 @@ def read_ini(fp, variables=None, default='DEFAULT', defaults_only=False,
- sections = []
- key = value = None
- section_names = set()
-- if isinstance(fp, basestring):
-+ if isinstance(fp, str):
- fp = file(fp)
-
- # read the lines
- for (linenum, line) in enumerate(fp.read().splitlines(), start=1):
-
-+ if isinstance(line, bytes):
-+ line = line.decode('utf-8')
-+
- stripped = line.strip()
-
- # ignore blank lines
-@@ -66,7 +69,7 @@ def read_ini(fp, variables=None, default='DEFAULT', defaults_only=False,
- inline_prefixes = {p: -1 for p in comments}
- while comment_start == sys.maxsize and inline_prefixes:
- next_prefixes = {}
-- for prefix, index in inline_prefixes.items():
-+ for prefix, index in list(inline_prefixes.items()):
- index = line.find(prefix, index+1)
- if index == -1:
- continue
-@@ -163,7 +166,7 @@ def combine_fields(global_vars, local_vars):
- 'support-files': '%s %s',
- }
- final_mapping = global_vars.copy()
-- for field_name, value in local_vars.items():
-+ for field_name, value in list(local_vars.items()):
- if field_name not in field_patterns or field_name not in global_vars:
- final_mapping[field_name] = value
- continue
-diff --git a/testing/mozbase/manifestparser/manifestparser/manifestparser.py b/testing/mozbase/manifestparser/manifestparser/manifestparser.py
-index 921369fd2..5b2f4c453 100755
---- a/testing/mozbase/manifestparser/manifestparser/manifestparser.py
-+++ b/testing/mozbase/manifestparser/manifestparser/manifestparser.py
-@@ -2,9 +2,9 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this file,
- # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function
-
--from StringIO import StringIO
-+
-+from io import StringIO
- import json
- import fnmatch
- import os
-@@ -23,7 +23,7 @@ from .filters import (
- __all__ = ['ManifestParser', 'TestManifest', 'convert']
-
- relpath = os.path.relpath
--string = (basestring,)
-+string = (str,)
-
-
- # path normalization
-@@ -195,7 +195,7 @@ class ManifestParser(object):
-
- # otherwise an item
- # apply ancestor defaults, while maintaining current file priority
-- data = dict(self._ancestor_defaults.items() + data.items())
-+ data = dict(list(self._ancestor_defaults.items()) + list(data.items()))
-
- test = data
- test['name'] = section
-@@ -323,19 +323,19 @@ class ManifestParser(object):
- # make some check functions
- if inverse:
- def has_tags(test):
-- return not tags.intersection(test.keys())
-+ return not tags.intersection(list(test.keys()))
-
- def dict_query(test):
-- for key, value in kwargs.items():
-+ for key, value in list(kwargs.items()):
- if test.get(key) == value:
- return False
- return True
- else:
- def has_tags(test):
-- return tags.issubset(test.keys())
-+ return tags.issubset(list(test.keys()))
-
- def dict_query(test):
-- for key, value in kwargs.items():
-+ for key, value in list(kwargs.items()):
- if test.get(key) != value:
- return False
- return True
-@@ -359,7 +359,7 @@ class ManifestParser(object):
- if tests is None:
- manifests = []
- # Make sure to return all the manifests, even ones without tests.
-- for manifest in self.manifest_defaults.keys():
-+ for manifest in list(self.manifest_defaults.keys()):
- if isinstance(manifest, tuple):
- parentmanifest, manifest = manifest
- if manifest not in manifests:
-@@ -409,7 +409,7 @@ class ManifestParser(object):
- """
-
- files = set([])
-- if isinstance(directories, basestring):
-+ if isinstance(directories, str):
- directories = [directories]
-
- # get files in directories
-@@ -476,7 +476,7 @@ class ManifestParser(object):
- print('[DEFAULT]', file=fp)
- for tag in global_tags:
- print('%s =' % tag, file=fp)
-- for key, value in global_kwargs.items():
-+ for key, value in list(global_kwargs.items()):
- print('%s = %s' % (key, value), file=fp)
- print(file=fp)
-
-@@ -602,7 +602,7 @@ class ManifestParser(object):
- internal function to import directories
- """
-
-- if isinstance(pattern, basestring):
-+ if isinstance(pattern, str):
- patterns = [pattern]
- else:
- patterns = pattern
-diff --git a/testing/mozbase/mozinfo/mozinfo/mozinfo.py b/testing/mozbase/mozinfo/mozinfo/mozinfo.py
-index 90c187568..6c5a1f322 100755
---- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py
-+++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py
-@@ -8,7 +8,7 @@
- # linux) to the information; I certainly wouldn't want anyone parsing this
- # information and having behaviour depend on it
-
--from __future__ import absolute_import, print_function
-+
-
- import os
- import platform
-@@ -24,7 +24,7 @@ _os = os
- class unknown(object):
- """marker class for unknown information"""
-
-- def __nonzero__(self):
-+ def __bool__(self):
- return False
-
- def __str__(self):
-@@ -96,20 +96,17 @@ elif system.startswith(('MINGW', 'MSYS_NT')):
- info['os'] = 'win'
- os_version = version = unknown
- elif system == "Linux":
-- if hasattr(platform, "linux_distribution"):
-- (distro, os_version, codename) = platform.linux_distribution()
-- else:
-- (distro, os_version, codename) = platform.dist()
- if not processor:
- processor = machine
-- version = "%s %s" % (distro, os_version)
-+
-+ distro = 'OE/Yocto'
-+ os_version = version = unknown
-
- # Bug in Python 2's `platform` library:
- # It will return a triple of empty strings if the distribution is not supported.
- # It works on Python 3. If we don't have an OS version,
- # the unit tests fail to run.
- if not distro and not os_version and not codename:
-- distro = 'lfs'
- version = release
- os_version = release
-
-@@ -131,7 +128,7 @@ else:
- os_version = version = unknown
-
- info['version'] = version
--info['os_version'] = StringVersion(os_version)
-+info['os_version'] = version
-
- # processor type and bits
- if processor in ["i386", "i686"]:
-@@ -188,12 +185,7 @@ def update(new_info):
- to a json file containing the new info.
- """
-
-- PY3 = sys.version_info[0] == 3
-- if PY3:
-- string_types = str,
-- else:
-- string_types = basestring,
-- if isinstance(new_info, string_types):
-+ if isinstance(new_info, str):
- # lazy import
- import mozfile
- import json
-@@ -295,7 +287,7 @@ def main(args=None):
-
- # print out choices if requested
- flag = False
-- for key, value in options.__dict__.items():
-+ for key, value in list(options.__dict__.items()):
- if value is True:
- print('%s choices: %s' % (key, ' '.join([str(choice)
- for choice in choices[key]])))
-@@ -304,7 +296,7 @@ def main(args=None):
- return
-
- # otherwise, print out all info
-- for key, value in info.items():
-+ for key, value in list(info.items()):
- print('%s: %s' % (key, value))
-
-
-diff --git a/testing/mozbase/mozprocess/mozprocess/processhandler.py b/testing/mozbase/mozprocess/mozprocess/processhandler.py
-index 3efb650b7..2575a4702 100644
---- a/testing/mozbase/mozprocess/mozprocess/processhandler.py
-+++ b/testing/mozbase/mozprocess/mozprocess/processhandler.py
-@@ -2,7 +2,7 @@
- # License, v. 2.0. If a copy of the MPL was not distributed with this file,
- # You can obtain one at http://mozilla.org/MPL/2.0/.
-
--from __future__ import absolute_import, print_function
-+
-
- import errno
- import os
-@@ -13,7 +13,7 @@ import threading
- import time
- import traceback
-
--from Queue import Queue, Empty
-+from queue import Queue, Empty
- from datetime import datetime
-
-
-@@ -124,14 +124,14 @@ class ProcessHandlerMixin(object):
- thread = threading.current_thread().name
- print("DBG::MOZPROC PID:{} ({}) | {}".format(self.pid, thread, msg))
-
-- def __del__(self, _maxint=sys.maxint):
-+ def __del__(self, _maxint=sys.maxsize):
- if isWin:
- handle = getattr(self, '_handle', None)
- if handle:
- if hasattr(self, '_internal_poll'):
- self._internal_poll(_deadstate=_maxint)
- else:
-- self.poll(_deadstate=sys.maxint)
-+ self.poll(_deadstate=sys.maxsize)
- if handle or self._job or self._io_port:
- self._cleanup()
- else:
-@@ -243,7 +243,7 @@ class ProcessHandlerMixin(object):
- p2cread, p2cwrite,
- c2pread, c2pwrite,
- errread, errwrite) = args_tuple
-- if not isinstance(args, basestring):
-+ if not isinstance(args, str):
- args = subprocess.list2cmdline(args)
-
- # Always or in the create new process group
-diff --git a/third_party/python/which/which.py b/third_party/python/which/which.py
-index 9c7d10835..f02b2616e 100644
---- a/third_party/python/which/which.py
-+++ b/third_party/python/which/which.py
-@@ -90,13 +90,13 @@ def _getRegisteredExecutable(exeName):
- if sys.platform.startswith('win'):
- if os.path.splitext(exeName)[1].lower() != '.exe':
- exeName += '.exe'
-- import _winreg
-+ import winreg
- try:
- key = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\" +\
- exeName
-- value = _winreg.QueryValue(_winreg.HKEY_LOCAL_MACHINE, key)
-+ value = winreg.QueryValue(winreg.HKEY_LOCAL_MACHINE, key)
- registered = (value, "from HKLM\\"+key)
-- except _winreg.error:
-+ except winreg.error:
- pass
- if registered and not os.path.exists(registered[0]):
- registered = None
-@@ -244,7 +244,7 @@ def which(command, path=None, verbose=0, exts=None):
- If no match is found for the command, a WhichError is raised.
- """
- try:
-- match = whichgen(command, path, verbose, exts).next()
-+ match = next(whichgen(command, path, verbose, exts))
- except StopIteration:
- raise WhichError("Could not find '%s' on the path." % command)
- return match
-@@ -281,17 +281,17 @@ def main(argv):
- try:
- optlist, args = getopt.getopt(argv[1:], 'haVvqp:e:',
- ['help', 'all', 'version', 'verbose', 'quiet', 'path=', 'exts='])
-- except getopt.GetoptError, msg:
-+ except getopt.GetoptError as msg:
- sys.stderr.write("which: error: %s. Your invocation was: %s\n"\
- % (msg, argv))
- sys.stderr.write("Try 'which --help'.\n")
- return 1
- for opt, optarg in optlist:
- if opt in ('-h', '--help'):
-- print _cmdlnUsage
-+ print(_cmdlnUsage)
- return 0
- elif opt in ('-V', '--version'):
-- print "which %s" % __version__
-+ print("which %s" % __version__)
- return 0
- elif opt in ('-a', '--all'):
- all = 1
-@@ -319,9 +319,9 @@ def main(argv):
- nmatches = 0
- for match in whichgen(arg, path=altpath, verbose=verbose, exts=exts):
- if verbose:
-- print "%s (%s)" % match
-+ print("%s (%s)" % match)
- else:
-- print match
-+ print(match)
- nmatches += 1
- if not all:
- break
---
-2.21.0
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
deleted file mode 100644
index e3f1883a99..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0a61b0b98c152f10404ccbdeeac583a486638a7a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Thu, 6 Jun 2013 18:36:01 +0200
-Subject: [PATCH] js.pc.in: do not include RequiredDefines.h for depending
- packages
-
-in our cross environment the would fail with:
-
-| cc1: fatal error: /usr/include/js-17.0/js/RequiredDefines.h: No such file or directory
-
-and currently it only defines __STDC_LIMIT_MACROS
-Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
-
-Rebase to 52.8.1
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- js/src/build/js.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/src/build/js.pc.in b/js/src/build/js.pc.in
-index 2eae393..c2dea62 100644
---- a/js/src/build/js.pc.in
-+++ b/js/src/build/js.pc.in
-@@ -8,4 +8,4 @@ Description: The Mozilla library for JavaScript
- Version: @MOZILLA_VERSION@
- @PKGCONF_REQUIRES_PRIVATE@
- Libs: -L${libdir} -l@JS_LIBRARY_NAME@
--Cflags: -include ${includedir}/@JS_LIBRARY_NAME@/js/RequiredDefines.h -I${includedir}/@JS_LIBRARY_NAME@
-+Cflags: -I${includedir}/@JS_LIBRARY_NAME@
---
-2.7.4
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-fix-cross-compilation-on-i586-targets.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-fix-cross-compilation-on-i586-targets.patch
deleted file mode 100644
index e0929a8a8f..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-fix-cross-compilation-on-i586-targets.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From a452138a1dd274bfad381a701729783360dc86fb Mon Sep 17 00:00:00 2001
-From: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
-Date: Tue, 5 Jan 2016 22:04:17 +0100
-Subject: [PATCH] fix cross compilation on i586 targets
-
-Remove offending -Wl,-rpath-link that may cause host libraries to be picked
-during linking. The patch applies a fix to configure.in. So as not to
-regenerate configure, similar fix is applied there.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
-
-Rebase to 52.8.1
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Rebase to 60.9.0 (firefox-esr sources)
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- js/src/old-configure.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/src/old-configure.in b/js/src/old-configure.in
-index 3d53ee1..11c3d5a 100644
---- a/js/src/old-configure.in
-+++ b/js/src/old-configure.in
-@@ -405,7 +405,7 @@ AS='$(CC)'
- AS_DASH_C_FLAG='-c'
- MOZ_USER_DIR=".mozilla"
-
--MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin -Wl,-rpath-link,${prefix}/lib"
-+MOZ_FIX_LINK_PATHS="-Wl,-rpath-link,${DIST}/bin"
-
- dnl Configure platform-specific CPU architecture compiler options.
- dnl ==============================================================
---
-2.21.0
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-do-not-create-python-environment.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-do-not-create-python-environment.patch
deleted file mode 100644
index 985fc36c18..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-do-not-create-python-environment.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 5028d1cd669c179ed49061316d04c8e8862a5bd8 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 12 Jul 2018 15:04:47 +0800
-Subject: [PATCH 1/5] do not create python environment
-
-Use oe's python environment rather than create one of host
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Rebase to 60.9.0 (firefox-esr sources)
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- build/moz.configure/init.configure | 18 ------------------
- configure.py | 10 +++++++++-
- 3 files changed, 11 insertions(+), 21 deletions(-)
-
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -250,24 +250,6 @@ def virtualenv_python(env_python, build_
- else:
- python = sys.executable
-
-- if not manager.up_to_date(python):
-- log.info('Creating Python environment')
-- manager.build(python)
--
-- python = normsep(manager.python_path)
--
-- if python != normsep(sys.executable):
-- log.info('Reexecuting in the virtualenv')
-- if env_python:
-- del os.environ['PYTHON']
-- # One would prefer to use os.execl, but that's completely borked on
-- # Windows.
-- sys.exit(subprocess.call([python] + sys.argv))
--
-- # We are now in the virtualenv
-- if not distutils.sysconfig.get_python_lib():
-- die('Could not determine python site packages directory')
--
- return python
-
-
---- a/configure.py
-+++ b/configure.py
-@@ -12,7 +12,15 @@ import textwrap
-
-
- base_dir = os.path.abspath(os.path.dirname(__file__))
--sys.path.insert(0, os.path.join(base_dir, 'python', 'mozbuild'))
-+sys.path.insert(0, os.path.join(base_dir, 'config'))
-+def get_immediate_subdirectories(a_dir):
-+ return [name for name in os.listdir(a_dir)
-+ if os.path.isdir(os.path.join(a_dir, name))]
-+for s in ["python", "testing/mozbase"]:
-+ sub_dir = os.path.join(base_dir, s)
-+ for module_dir in get_immediate_subdirectories(sub_dir):
-+ sys.path.insert(0, os.path.join(sub_dir, module_dir))
-+
- from mozbuild.configure import ConfigureSandbox
- from mozbuild.makeutil import Makefile
- from mozbuild.pythonutil import iter_modules_in_path
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0005-fix-cannot-find-link.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0005-fix-cannot-find-link.patch
deleted file mode 100644
index 4f7ebc68d7..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0005-fix-cannot-find-link.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From e6dcee5f8a0f80ce99946b81fa1233611a149fe6 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 12 Jul 2018 18:00:52 +0800
-Subject: [PATCH 2/5] fix cannot find link
-
-..
-|DEBUG: link: Trying 'mips64-wrs-linux-ld --sysroot=tmp-glibc/work/
-mips64-wrs-linux/mozjs/52.8.1-r0/recipe-sysroot '
-|ERROR: Cannot find link
-...
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- build/moz.configure/checks.configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/moz.configure/checks.configure b/build/moz.configure/checks.configure
-index 8c2dbc0..83bffc3 100644
---- a/build/moz.configure/checks.configure
-+++ b/build/moz.configure/checks.configure
-@@ -128,7 +128,7 @@ def check_prog(var, progs, what=None, input=None, allow_missing=False,
-
- for prog in value or progs:
- log.debug('%s: Trying %s', var.lower(), quote(prog))
-- result = find_program(prog, paths)
-+ result = find_program(prog.split()[0], paths)
- if result:
- return result
-
---
-2.7.4
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0006-workaround-autoconf-2.13-detection-failed.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0006-workaround-autoconf-2.13-detection-failed.patch
deleted file mode 100644
index a754ff16cf..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0006-workaround-autoconf-2.13-detection-failed.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 646a78262b18e19721cd41ee515215221dd241b6 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 12 Jul 2018 18:12:42 +0800
-Subject: [PATCH 3/5] workaround autoconf 2.13 detection failed
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- build/moz.configure/old.configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
-index b32c3f7..ece47f4 100644
---- a/build/moz.configure/old.configure
-+++ b/build/moz.configure/old.configure
-@@ -31,7 +31,7 @@ def autoconf(mozconfig, autoconf):
- autoconf = autoconf[0] if autoconf else None
-
- for ac in (mozconfig_autoconf, autoconf, 'autoconf-2.13', 'autoconf2.13',
-- 'autoconf213'):
-+ 'autoconf213', 'autoconf'):
- if ac:
- autoconf = find_program(ac)
- if autoconf:
---
-2.7.4
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0007-fix-do_compile-failed-on-mips.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0007-fix-do_compile-failed-on-mips.patch
deleted file mode 100644
index d1da109720..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0007-fix-do_compile-failed-on-mips.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 55d833dc3c194f1eb7841f308ad3b9ec3800d3b3 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 13 Jul 2018 15:48:32 +0800
-Subject: [PATCH 5/5] fix do_compile failed on mips
-
-Link with var-OS_LDFLAGS to fix the issue.
-Such as on mips:
-...
-|mips-wrsmllib32-linux-g++ -meb -mabi=32 -mhard-float ... -o libmozjs-52.so
-|/usr/include/c++/8.1.0/bits/atomic_base.h:514: error: undefined
-reference to '__atomic_fetch_add_8'
-...
-
-In recipe, set OS_LDFLAGS="-Wl,-latomic" could fix the issue.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- config/config.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/config/config.mk
-+++ b/config/config.mk
-@@ -423,7 +423,7 @@ EXPAND_MKSHLIB_ARGS = --uselist
- ifdef SYMBOL_ORDER
- EXPAND_MKSHLIB_ARGS += --symbol-order $(SYMBOL_ORDER)
- endif
--EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB)
-+EXPAND_MKSHLIB = $(EXPAND_LIBS_EXEC) $(EXPAND_MKSHLIB_ARGS) -- $(MKSHLIB) $(OS_LDFLAGS)
-
- # autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
- # this file
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0008-add-riscv-support.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0008-add-riscv-support.patch
deleted file mode 100644
index 0a41485610..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0008-add-riscv-support.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Add RISC-V support
-
-Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1318905]
-
-Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
-
---- a/build/autoconf/config.guess
-+++ b/build/autoconf/config.guess
-@@ -1029,6 +1029,9 @@ EOF
- ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-${LIBC}
- exit ;;
-+ riscv32:Linux:*:* | riscv64:Linux:*:*)
-+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-+ exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
- exit ;;
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -658,6 +658,9 @@ def split_triplet(triplet, allow_unknown
- elif cpu == 'sh4':
- canonical_cpu = 'sh4'
- endianness = 'little'
-+ elif cpu in ('riscv32', 'riscv64'):
-+ canonical_cpu = cpu
-+ endianness = 'little'
- elif allow_unknown:
- canonical_cpu = cpu
- endianness = 'unknown'
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -50,6 +50,8 @@ CPU_bitness = {
- 'mips64': 64,
- 'ppc': 32,
- 'ppc64': 64,
-+ 'riscv32': 32,
-+ 'riscv64': 64,
- 's390': 32,
- 's390x': 64,
- 'sh4': 32,
-@@ -82,6 +84,8 @@ CPU_preprocessor_checks = OrderedDict((
- ('s390', '__s390__'),
- ('ppc64', '__powerpc64__'),
- ('ppc', '__powerpc__'),
-+ ('riscv32', '__riscv && __SIZEOF_POINTER__ == 4'),
-+ ('riscv64', '__riscv && __SIZEOF_POINTER__ == 8'),
- ('Alpha', '__alpha__'),
- ('hppa', '__hppa__'),
- ('sparc64', '__sparc__ && __arch64__'),
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0009-mozjs-fix-coredump-caused-by-getenv.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0009-mozjs-fix-coredump-caused-by-getenv.patch
deleted file mode 100644
index 477f73a2f7..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0009-mozjs-fix-coredump-caused-by-getenv.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 20b639b7364f9953fdacb058f9ba800bcbf029b4 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 2 Aug 2018 09:40:48 +0800
-Subject: [PATCH] mozjs: fix coredump caused by getenv
-
-Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1480315]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- mozglue/misc/TimeStamp.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/mozglue/misc/TimeStamp.cpp b/mozglue/misc/TimeStamp.cpp
-index 932b75c..7a4d71b 100644
---- a/mozglue/misc/TimeStamp.cpp
-+++ b/mozglue/misc/TimeStamp.cpp
-@@ -11,6 +11,7 @@
- #include "mozilla/TimeStamp.h"
- #include <stdio.h>
- #include <string.h>
-+#include <stdlib.h>
-
- namespace mozilla {
-
---
-2.7.4
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0010-format-overflow.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0010-format-overflow.patch
deleted file mode 100644
index e257fc6f62..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0010-format-overflow.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Drop enable format string warnings to help gcc9
-
-Fixes
-| /mnt/a/yoe/build/tmp/work/core2-64-yoe-linux-musl/mozjs/52.9.1-r0/mozjs-52.9.1/js/src/jit/x64/BaseAssembler-x64.h:596:13: error: '%s' directive argument is null [-Werror=format-overflow=]
-| 596 | spew("movq " MEM_obs ", %s", ADDR_obs(offset, base, index, scale), GPReg64Name(dst));
-| | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Inappropriate [Workaround for gcc9]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/js/src/moz.build
-+++ b/js/src/moz.build
-@@ -785,7 +785,7 @@ if CONFIG['JS_HAS_CTYPES']:
- if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
- # Also disable strict-aliasing for GCC compiler, that is enabled by default
- # starting with version 7.1, see Bug 1363009
-- CXXFLAGS += ['-Wno-shadow', '-Werror=format', '-fno-strict-aliasing']
-+ CXXFLAGS += ['-Wno-shadow', '-fno-strict-aliasing']
-
- # Suppress warnings in third-party code.
- if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0011-To-fix-build-error-on-arm32BE.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0011-To-fix-build-error-on-arm32BE.patch
deleted file mode 100644
index 056f74a529..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0011-To-fix-build-error-on-arm32BE.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 9afb0e4d3b9209ea198052cea0401bef7ee25ad8 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Thu, 9 May 2019 12:23:40 +0900
-Subject: [PATCH] To fix build error on arm32BE.
-
-error: #error Target architecture was not detected as supported by Double-Conversion.
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- mfbt/double-conversion/double-conversion/utils.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mfbt/double-conversion/double-conversion/utils.h b/mfbt/double-conversion/double-conversion/utils.h
-index 4f37218..93575cb 100644
---- a/mfbt/double-conversion/double-conversion/utils.h
-+++ b/mfbt/double-conversion/double-conversion/utils.h
-@@ -53,7 +53,7 @@
- // disabled.)
- // On Linux,x86 89255e-22 != Div_double(89255.0/1e22)
- #if defined(_M_X64) || defined(__x86_64__) || \
-- defined(__ARMEL__) || defined(__avr32__) || \
-+ defined(__arm__) || defined(__avr32__) || \
- defined(__hppa__) || defined(__ia64__) || \
- defined(__mips__) || \
- defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
---
-2.7.4
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0012-JS_PUBLIC_API.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0012-JS_PUBLIC_API.patch
deleted file mode 100644
index 56b18ba8c6..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0012-JS_PUBLIC_API.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
-
-Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1426865]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/js/public/TypeDecls.h
-+++ b/js/public/TypeDecls.h
-@@ -21,31 +21,32 @@
- #include <stdint.h>
-
- #include "js-config.h"
-+#include "jstypes.h"
-
- typedef uint8_t jsbytecode;
-
--class JSAtom;
--struct JSCompartment;
--struct JSContext;
--class JSFunction;
--class JSObject;
--struct JSRuntime;
--class JSScript;
--class JSString;
--class JSAddonId;
--struct JSFreeOp;
-+class JS_PUBLIC_API JSAtom;
-+struct JS_PUBLIC_API JSCompartment;
-+struct JS_PUBLIC_API JSContext;
-+class JS_PUBLIC_API JSFunction;
-+class JS_PUBLIC_API JSObject;
-+struct JS_PUBLIC_API JSRuntime;
-+class JS_PUBLIC_API JSScript;
-+class JS_PUBLIC_API JSString;
-+class JS_PUBLIC_API JSAddonId;
-+struct JS_PUBLIC_API JSFreeOp;
-
--struct jsid;
-+struct JS_PUBLIC_API jsid;
-
- namespace JS {
-
- typedef unsigned char Latin1Char;
-
--class Symbol;
--class Value;
--class Realm;
--struct Runtime;
--struct Zone;
-+class JS_PUBLIC_API Symbol;
-+class JS_PUBLIC_API Value;
-+class JS_PUBLIC_API Realm;
-+struct JS_PUBLIC_API Runtime;
-+struct JS_PUBLIC_API Zone;
-
- template <typename T>
- class Handle;
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0013-riscv-Disable-atomic-operations.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0013-riscv-Disable-atomic-operations.patch
deleted file mode 100644
index 2e810c87f9..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0013-riscv-Disable-atomic-operations.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 64ad80e6d95871f17be4cd01da15581f41ac0b2b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 27 May 2019 21:10:34 -0700
-Subject: [PATCH] riscv: Disable atomic operations
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- js/src/jit/AtomicOperations.h | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/js/src/jit/AtomicOperations.h
-+++ b/js/src/jit/AtomicOperations.h
-@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfree
- #include "jit/none/AtomicOperations-feeling-lucky.h"
- #elif defined(__s390__) || defined(__s390x__)
- #include "jit/none/AtomicOperations-feeling-lucky.h"
-+#elif defined(__riscv)
-+#include "jit/none/AtomicOperations-feeling-lucky.h"
- #else
- #error "No AtomicOperations support provided for this platform"
- #endif
---- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
-+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
-@@ -80,6 +80,14 @@
- #define GNUC_COMPATIBLE
- #endif
-
-+#ifdef __riscv
-+#define GNUC_COMPATIBLE
-+#ifdef __riscv_xlen == 64
-+#define HAS_64BIT_ATOMICS
-+#define HAS_64BIT_LOCKFREE
-+#endif
-+#endif
-+
- // The default implementation tactic for gcc/clang is to use the newer
- // __atomic intrinsics added for use in C++11 <atomic>. Where that
- // isn't available, we use GCC's older __sync functions instead.
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-remove-JS_VOLATIME_ARM.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-remove-JS_VOLATIME_ARM.patch
deleted file mode 100644
index a20873cb0b..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0014-remove-JS_VOLATIME_ARM.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-# HG changeset patch
-# User Lars T Hansen <lhansen@mozilla.com>
-# Date 1538489772 -7200
-# Node ID bb430eaf5521aa8ab233a45b585ff9e5dfecf4c9
-# Parent e87d7028568e721e8d297ce62f9622e74d29bb37
-Bug 1495731 - remove JS_VOLATILE_ARM, it is no longer relevant. r=waldo
-
-JS_VOLATILE_ARM was a workaround for a gcc 4.7 bug on B2G where it
-would generate unaligned word accesses that should have been
-individual byte accesses. We now require at least gcc 6.1 (and ARM
-systems support unaligned accesses).
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Backport [https://hg.mozilla.org/integration/mozilla-inbound/rev/bb430eaf5521]
-
---- a/js/src/vm/TypedArrayObject-inl.h
-+++ b/js/src/vm/TypedArrayObject-inl.h
-@@ -259,68 +259,61 @@ class ElementSpecific {
- return true;
- }
-
-- // Inhibit unaligned accesses on ARM (bug 1097253, a compiler bug).
--#if defined(__arm__) && defined(__GNUC__) && !defined(__clang__)
--#define JS_VOLATILE_ARM volatile
--#else
--#define JS_VOLATILE_ARM
--#endif
--
- SharedMem<void*> data = Ops::extract(source);
- switch (source->type()) {
- case Scalar::Int8: {
-- SharedMem<JS_VOLATILE_ARM int8_t*> src =
-- data.cast<JS_VOLATILE_ARM int8_t*>();
-+ SharedMem<int8_t*> src =
-+ data.cast<int8_t*>();
- for (uint32_t i = 0; i < count; ++i)
- Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
- break;
- }
- case Scalar::Uint8:
- case Scalar::Uint8Clamped: {
-- SharedMem<JS_VOLATILE_ARM uint8_t*> src =
-- data.cast<JS_VOLATILE_ARM uint8_t*>();
-+ SharedMem<uint8_t*> src =
-+ data.cast<uint8_t*>();
- for (uint32_t i = 0; i < count; ++i)
- Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
- break;
- }
- case Scalar::Int16: {
-- SharedMem<JS_VOLATILE_ARM int16_t*> src =
-- data.cast<JS_VOLATILE_ARM int16_t*>();
-+ SharedMem<int16_t*> src =
-+ data.cast<int16_t*>();
- for (uint32_t i = 0; i < count; ++i)
- Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
- break;
- }
- case Scalar::Uint16: {
-- SharedMem<JS_VOLATILE_ARM uint16_t*> src =
-- data.cast<JS_VOLATILE_ARM uint16_t*>();
-+ SharedMem<uint16_t*> src =
-+ data.cast<uint16_t*>();
- for (uint32_t i = 0; i < count; ++i)
- Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
- break;
- }
- case Scalar::Int32: {
-- SharedMem<JS_VOLATILE_ARM int32_t*> src =
-- data.cast<JS_VOLATILE_ARM int32_t*>();
-+ SharedMem<int32_t*> src =
-+ data.cast<int32_t*>();
- for (uint32_t i = 0; i < count; ++i)
- Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
- break;
- }
- case Scalar::Uint32: {
-- SharedMem<JS_VOLATILE_ARM uint32_t*> src =
-- data.cast<JS_VOLATILE_ARM uint32_t*>();
-+ SharedMem<uint32_t*> src =
-+ data.cast<uint32_t*>();
- for (uint32_t i = 0; i < count; ++i)
- Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
- break;
- }
- case Scalar::Float32: {
-- SharedMem<JS_VOLATILE_ARM float*> src =
-- data.cast<JS_VOLATILE_ARM float*>();
-+ SharedMem<float*> src =
-+ data.cast<float*>();
- for (uint32_t i = 0; i < count; ++i)
- Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
- break;
- }
- case Scalar::Float64: {
-- SharedMem<JS_VOLATILE_ARM double*> src =
-- data.cast<JS_VOLATILE_ARM double*>();
-+ SharedMem<double*> src =
-+ data.cast<double*>();
- for (uint32_t i = 0; i < count; ++i)
- Ops::store(dest++, ConvertNumber<T>(Ops::load(src++)));
- break;
-@@ -329,8 +322,6 @@ class ElementSpecific {
- MOZ_CRASH("setFromTypedArray with a typed array with bogus type");
- }
-
--#undef JS_VOLATILE_ARM
--
- return true;
- }
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch
deleted file mode 100644
index b882d76ec2..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From f2f8be496c8e34b4d909b688a95c6f8565201081 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 19 Jun 2019 14:30:44 +0800
-Subject: [PATCH] fix compiling failure on mips64-n32 bsp
-
-- Tweak mips64-n32 with mips32
-
-- The toolchain of mips64-n32 supports both of macro
- `__mips64' and `__mips__', but 32bit is required here.
-
-- N32 uses 64-bit registers but restricts addresses to 32 bits.
- https://www.linux-mips.org/pub/linux/mips/doc/ABI/MIPS-N32-ABI-Handbook.pdf
- Table 2-1 specifies the use of registers in n32 and native 64-bit mode.
- From the table, N32 and N64 have the same registers
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
----
- build/moz.configure/init.configure | 5 ++++-
- js/src/jit/mips-shared/Architecture-mips-shared.h | 4 +++-
- python/mozbuild/mozbuild/configure/constants.py | 2 +-
- 3 files changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index 648ac2d..d0bcaf8 100644
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -650,7 +650,10 @@ def split_triplet(triplet, allow_unknown=False):
- canonical_cpu = 'mips32'
- endianness = 'little' if 'el' in cpu else 'big'
- elif cpu in ('mips64', 'mips64el'):
-- canonical_cpu = 'mips64'
-+ if 'n32' in triplet:
-+ canonical_cpu = 'mips32'
-+ else:
-+ canonical_cpu = 'mips64'
- endianness = 'little' if 'el' in cpu else 'big'
- elif cpu.startswith('aarch64'):
- canonical_cpu = 'aarch64'
-diff --git a/js/src/jit/mips-shared/Architecture-mips-shared.h b/js/src/jit/mips-shared/Architecture-mips-shared.h
-index e95ffd4..caf83f7 100644
---- a/js/src/jit/mips-shared/Architecture-mips-shared.h
-+++ b/js/src/jit/mips-shared/Architecture-mips-shared.h
-@@ -28,6 +28,8 @@
- #elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABI64)) || \
- defined(JS_SIMULATOR_MIPS64)
- #define USES_N64_ABI
-+#elif (defined(_MIPS_SIM) && (_MIPS_SIM == _ABIN32))
-+#define USES_N32_ABI
- #else
- #error "Unsupported ABI"
- #endif
-@@ -94,7 +96,7 @@ class Registers {
- ta1 = t5,
- ta2 = t6,
- ta3 = t7,
--#elif defined(USES_N64_ABI)
-+#elif defined(USES_N64_ABI) || defined(USES_N32_ABI)
- a4 = r8,
- a5 = r9,
- a6 = r10,
-diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
-index 1067b6a..e0f0405 100644
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -90,8 +90,8 @@ CPU_preprocessor_checks = OrderedDict((
- ('hppa', '__hppa__'),
- ('sparc64', '__sparc__ && __arch64__'),
- ('sparc', '__sparc__'),
-- ('mips64', '__mips64'),
- ('mips32', '__mips__'),
-+ ('mips64', '__mips64'),
- ('sh4', '__sh__'),
- ))
-
---
-2.7.4
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0001-support-musl.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0001-support-musl.patch
deleted file mode 100644
index 770d5e0aaa..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0001-support-musl.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 04e8a611e958f0da1ccac61acae3a6f1a5168b20 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 13 Jul 2018 18:08:14 +0800
-Subject: [PATCH] support musl
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- mozglue/misc/TimeStamp_darwin.cpp | 1 -
- mozglue/misc/TimeStamp_posix.cpp | 1 -
- nsprpub/pr/src/misc/prsystem.c | 1 -
- python/psutil/psutil/_psutil_bsd.c | 1 -
- python/psutil/psutil/_psutil_osx.c | 1 -
- python/psutil/psutil/arch/bsd/process_info.c | 1 -
- python/psutil/psutil/arch/osx/process_info.c | 1 -
- 9 files changed, 3 insertions(+), 12 deletions(-)
-
---- a/mozglue/misc/TimeStamp_darwin.cpp
-+++ b/mozglue/misc/TimeStamp_darwin.cpp
-@@ -19,7 +19,6 @@
-
- #include <mach/mach_time.h>
- #include <sys/time.h>
--#include <sys/sysctl.h>
- #include <time.h>
- #include <unistd.h>
-
---- a/mozglue/misc/TimeStamp_posix.cpp
-+++ b/mozglue/misc/TimeStamp_posix.cpp
-@@ -21,7 +21,6 @@
- #if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
- defined(__OpenBSD__)
- #include <sys/param.h>
--#include <sys/sysctl.h>
- #endif
-
- #if defined(__DragonFly__) || defined(__FreeBSD__)
---- a/nsprpub/pr/src/misc/prsystem.c
-+++ b/nsprpub/pr/src/misc/prsystem.c
-@@ -27,7 +27,6 @@
- || defined(OPENBSD) || defined(DRAGONFLY) || defined(DARWIN)
- #define _PR_HAVE_SYSCTL
- #include <sys/param.h>
--#include <sys/sysctl.h>
- #endif
-
- #if defined(DARWIN)
---- a/third_party/python/psutil/psutil/_psutil_bsd.c
-+++ b/third_party/python/psutil/psutil/_psutil_bsd.c
-@@ -29,7 +29,6 @@
- #include <paths.h>
- #include <sys/types.h>
- #include <sys/param.h>
--#include <sys/sysctl.h>
- #include <sys/user.h>
- #include <sys/proc.h>
- #include <sys/file.h>
---- a/third_party/python/psutil/psutil/_psutil_osx.c
-+++ b/third_party/python/psutil/psutil/_psutil_osx.c
-@@ -13,7 +13,6 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <utmpx.h>
--#include <sys/sysctl.h>
- #include <sys/vmmeter.h>
- #include <libproc.h>
- #include <sys/proc_info.h>
---- a/third_party/python/psutil/psutil/arch/osx/process_info.c
-+++ b/third_party/python/psutil/psutil/arch/osx/process_info.c
-@@ -16,7 +16,6 @@
- #include <stdlib.h>
- #include <stdio.h>
- #include <signal.h>
--#include <sys/sysctl.h>
- #include <libproc.h>
-
- #include "process_info.h"
---- a/memory/build/Mutex.h
-+++ b/memory/build/Mutex.h
-@@ -42,7 +42,7 @@ struct Mutex {
- if (pthread_mutexattr_init(&attr) != 0) {
- return false;
- }
-- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ADAPTIVE_NP);
-+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_STALLED);
- if (pthread_mutex_init(&mMutex, &attr) != 0) {
- pthread_mutexattr_destroy(&attr);
- return false;
-@@ -102,7 +102,7 @@ typedef Mutex StaticMutex;
-
- #if defined(XP_DARWIN)
- #define STATIC_MUTEX_INIT OS_SPINLOCK_INIT
--#elif defined(XP_LINUX) && !defined(ANDROID)
-+#elif defined(XP_LINUX) && !defined(ANDROID) && defined(__GLIBC__)
- #define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
- #else
- #define STATIC_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0002-js-Fix-build-with-musl.patch b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0002-js-Fix-build-with-musl.patch
deleted file mode 100644
index f4c6e2768d..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/musl/0002-js-Fix-build-with-musl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0c9e8f586ba52a9aef5ed298e8315b2598b8fb72 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 25 May 2019 16:54:45 -0700
-Subject: [PATCH] js: Fix build with musl
-
-The MIPS specific header <sgidefs.h> is not provided by musl
-linux kernel headers provide <asm/sgidefs.h> which has same definitions
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- js/src/jsmath.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/js/src/jsmath.cpp b/js/src/jsmath.cpp
-index a28968be..8facaa81 100644
---- a/js/src/jsmath.cpp
-+++ b/js/src/jsmath.cpp
-@@ -71,7 +71,7 @@
- #elif defined(__s390__)
- #define GETRANDOM_NR 349
- #elif defined(__mips__)
--#include <sgidefs.h>
-+#include <asm/sgidefs.h>
- #if _MIPS_SIM == _MIPS_SIM_ABI32
- #define GETRANDOM_NR 4353
- #elif _MIPS_SIM == _MIPS_SIM_ABI64
---
-2.21.0
-
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb b/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
deleted file mode 100644
index 7367c30a5e..0000000000
--- a/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_60.9.0.bb
+++ /dev/null
@@ -1,147 +0,0 @@
-SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
-HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf"
-
-SRC_URI = " \
- https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \
- file://0001-Port-build-to-python3.patch \
- file://0002-js.pc.in-do-not-include-RequiredDefines.h-for-depend.patch \
- file://0003-fix-cross-compilation-on-i586-targets.patch \
- file://0004-do-not-create-python-environment.patch \
- file://0005-fix-cannot-find-link.patch \
- file://0006-workaround-autoconf-2.13-detection-failed.patch \
- file://0007-fix-do_compile-failed-on-mips.patch \
- file://0008-add-riscv-support.patch \
- file://0009-mozjs-fix-coredump-caused-by-getenv.patch \
- file://0010-format-overflow.patch \
- file://0011-To-fix-build-error-on-arm32BE.patch \
- file://0012-JS_PUBLIC_API.patch \
- file://0013-riscv-Disable-atomic-operations.patch \
- file://0014-remove-JS_VOLATIME_ARM.patch \
-"
-SRC_URI_append_libc-musl = " \
- file://musl/0001-support-musl.patch \
- file://musl/0002-js-Fix-build-with-musl.patch \
-"
-SRC_URI_append_mipsarchn32 = " \
- file://mipsarchn32/0001-fix-compiling-failure-on-mips64-n32-bsp.patch \
-"
-SRC_URI[md5sum] = "69a0be9ce695e5dc4941ed0c78ef00c2"
-SRC_URI[sha256sum] = "9f453c8cc5669e46e38f977764d49a36295bf0d023619d9aac782e6bb3e8c53f"
-
-S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}"
-
-inherit autotools pkgconfig perlnative python3native
-
-inherit features_check
-CONFLICT_DISTRO_FEATURES_mipsarchn32 = "ld-is-gold"
-
-DEPENDS += " \
- nspr zlib autoconf-2.13-native \
- python3-six-native python3-pytoml-native \
- python3-jsmin-native python3-six \
-"
-
-# Disable null pointer optimization in gcc >= 6
-# https://bugzilla.redhat.com/show_bug.cgi?id=1328045
-CFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
-CXXFLAGS += "-fno-tree-vrp -fno-strict-aliasing -fno-delete-null-pointer-checks"
-
-# nspr's package-config is ignored so set libs manually
-EXTRA_OECONF = " \
- --target=${TARGET_SYS} \
- --host=${BUILD_SYS} \
- --prefix=${prefix} \
- --libdir=${libdir} \
- --disable-tests --disable-strip --disable-optimize \
- --disable-jemalloc \
- --with-nspr-cflags='-I${STAGING_INCDIR}/nspr -I${STAGING_INCDIR}/nss3' \
- --with-nspr-libs='-lplds4 -lplc4 -lnspr4' \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \
-"
-
-# Without this, JS_Init() will fail for mips64.
-EXTRA_OECONF_append_mipsarch = " --with-intl-api=build"
-EXTRA_OECONF_append_powerpc = " --with-intl-api=build"
-
-EXTRA_OECONF_append_mipsarch = " --disable-ion"
-EXTRA_OECONF_append_riscv64 = " --disable-ion"
-EXTRA_OECONF_append_riscv32 = " --disable-ion"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = "--x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--x-includes=no --x-libraries=no,virtual/libx11"
-
-EXTRA_OEMAKE_task-compile += "BUILD_OPT=1 OS_LDFLAGS='-Wl,-latomic ${LDFLAGS}'"
-EXTRA_OEMAKE_task-install += "STATIC_LIBRARY_NAME=js_static"
-
-export HOST_CC = "${BUILD_CC}"
-export HOST_CXX = "${BUILD_CXX}"
-export HOST_CFLAGS = "${BUILD_CFLAGS}"
-export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}"
-export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
-
-do_configure() {
- export SHELL="/bin/sh"
- cd ${S}
- # Add mozjs python-modules necessary
- PYTHONPATH="${S}/third_party/python/which:${S}/config:${S}/build"
- for sub_dir in python testing/mozbase; do
- for module_dir in `ls $sub_dir -1`;do
- [ $module_dir = "virtualenv" ] && continue
- if [ -d "${S}/$sub_dir/$module_dir" ];then
- PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir"
- fi
- done
- done
- echo "$PYTHONPATH" > ${B}/PYTHONPATH
- export PYTHONPATH=`cat ${B}/PYTHONPATH`
-
- cd ${S}/js/src
- autoconf213 --macrodir=${STAGING_DATADIR_NATIVE}/autoconf213 old-configure.in > old-configure
-
- cd ${B}
- # use of /tmp can causes problems on heavily loaded hosts
- mkdir -p "${B}/lcl_tmp"
- TMPDIR="${B}/lcl_tmp" ${S}/js/src/configure ${EXTRA_OECONF}
-
- # Make standard Makefile checks pass
- touch ${S}/js/src/configure
- touch ${B}/config.status
-}
-
-do_compile_prepend() {
- export SHELL="/bin/sh"
- export PYTHONPATH=`cat ${B}/PYTHONPATH`
-}
-
-do_install_prepend() {
- export SHELL="/bin/sh"
- export PYTHONPATH=`cat ${B}/PYTHONPATH`
-}
-
-inherit multilib_script multilib_header
-
-MULTILIB_SCRIPTS += " ${PN}-dev:${bindir}/js60-config"
-
-do_install_append() {
- oe_multilib_header mozjs-60/js-config.h
- sed -e 's@${STAGING_DIR_HOST}@@g' \
- -i ${D}${bindir}/js60-config
-}
-
-PACKAGES =+ "lib${BPN}"
-FILES_lib${BPN} += "${libdir}/lib*.so"
-FILES_${PN}-dev += "${bindir}/js60-config"
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:2172: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r2,r1,LSR#20'
-#| {standard input}:2173: Error: unshifted register required -- `bic r2,r2,#(1<<11)'
-#| {standard input}:2174: Error: unshifted register required -- `orr r1,r1,#(1<<20)'
-#| {standard input}:2176: Error: instruction not supported in Thumb16 mode -- `subs r2,r2,#0x300'
-#| {standard input}:2178: Error: instruction not supported in Thumb16 mode -- `subs r5,r2,#52'
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv4 = "arm"
-
-DISABLE_STATIC = ""
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb b/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb
new file mode 100644
index 0000000000..cdba1a24d1
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-multimedia/kmsxx/kmsxx_git.bb
@@ -0,0 +1,35 @@
+# SPDX-License-Identifier: MIT
+#
+# Copyright Leica Geosystems AG
+#
+
+SUMMARY = "C++ library for kernel mode setting"
+HOMEPAGE = "https://github.com/tomba/kmsxx"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
+
+BRANCH = "master"
+SRC_URI = "git://github.com/tomba/kmsxx.git;protocol=https;branch=${BRANCH}"
+SRCREV = "412935a47b762c33e54a464243f2d789b065bbb6"
+PACKAGES =+ "${PN}-python"
+
+PACKAGECONFIG ?= "utils python "
+PACKAGECONFIG[omap] += "-Domap=enabled, -Domap=disabled"
+PACKAGECONFIG[python] += "-Dpykms=enabled, -Dpykms=disabled, python3 python3-pybind11"
+PACKAGECONFIG[utils] += "-Dutils=true, -Dutils=false"
+
+DEPENDS += "libdrm libevdev fmt"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+do_install:append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'utils', 'true', 'false', d)}; then
+ # kmstest already provided by libdrm-tests
+ mv ${D}${bindir}/kmstest ${D}${bindir}/kmsxxtest
+ fi
+}
+
+FILES:${PN} ="${bindir} ${libdir}"
+FILES:${PN}-python += "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-support/nvmetcli/nvmetcli_0.7.bb b/meta-oe/dynamic-layers/meta-python/recipes-support/nvmetcli/nvmetcli_0.7.bb
new file mode 100644
index 0000000000..ec483321b6
--- /dev/null
+++ b/meta-oe/dynamic-layers/meta-python/recipes-support/nvmetcli/nvmetcli_0.7.bb
@@ -0,0 +1,39 @@
+SUMMARY = "NVM-Express target user space configuration utility."
+DESCRIPTION = "This package contains the command line interface to the NVMe \
+over Fabrics nvmet in the Linux kernel. It allows configuring the nvmet \
+interactively as well as saving / restoring the configuration to / from a json \
+file."
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2"
+
+inherit systemd setuptools3
+
+# nvmet service will start and stop the NVMe Target configuration on boot and
+# shutdown from a saved NVMe Target configuration in the /etc/nvmet/config.json
+# file. This file is not installed by default since the configuration will vary
+# on real systems. Example configuration files are provided by including the
+# nvmetcli-examples package.
+SYSTEMD_SERVICE:${PN} = "nvmet.service"
+
+SYSTEMD_AUTO_ENABLE ?= "disable"
+
+RDEPENDS:${PN} += "python3 python3-six python3-pyparsing python3-configshell-fb"
+
+SRCREV = "0a6b088db2dc2e5de11e6f23f1e890e4b54fee64"
+SRC_URI = "git://git.infradead.org/users/hch/nvmetcli.git;branch=master"
+
+S = "${WORKDIR}/git"
+
+do_install:append() {
+ # Install example configuration scripts.
+ install -d ${D}${datadir}/nvmet
+ cp -fr ${S}/examples ${D}${datadir}/nvmet/
+
+ # Install systemd service file.
+ install -d ${D}${systemd_unitdir}/system
+ cp -fr ${S}/nvmet.service ${D}${systemd_unitdir}/system
+}
+
+# Examples package contains example json files used to configure nvmet.
+PACKAGES += "${PN}-examples"
+FILES:${PN}-examples = "${datadir}/nvmet/examples/*"
diff --git a/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb b/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb
index 90db9c3f3e..9f85532064 100644
--- a/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb
+++ b/meta-oe/dynamic-layers/meta-python/recipes-support/smem/smem_1.5.bb
@@ -6,7 +6,7 @@ libraries and applications in a virtual memory system."
HOMEPAGE = "http://www.selenic.com/smem/"
SECTION = "Applications/System"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
HG_CHANGESET = "98273ce331bb"
@@ -33,11 +33,11 @@ do_install() {
install -m 0644 ${S}/smem.8 ${D}/${mandir}/man8/
}
-RDEPENDS_${PN} = "python3-core python3-compression"
-RRECOMMENDS_${PN} = "python3-matplotlib python3-numpy"
+RDEPENDS:${PN} = "python3-core python3-compression"
+RRECOMMENDS:${PN} = "python3-matplotlib python3-numpy"
PACKAGE_BEFORE_PN = "smemcap"
-FILES_smemcap = "${bindir}/smemcap"
+FILES:smemcap = "${bindir}/smemcap"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
index b39a4d68ff..b71b7e4f8a 100644
--- a/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
+++ b/meta-oe/dynamic-layers/networking-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -1,3 +1,2 @@
-RDEPENDS_packagegroup-meta-oe-devtools += "\
- valijson \
-"
+RDEPENDS:packagegroup-meta-oe-support:append:x86 = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', ' open-vm-tools', '', d)}"
+RDEPENDS:packagegroup-meta-oe-support:append:x86-64 = "${@bb.utils.contains('BBFILE_COLLECTIONS', 'filesystems-layer', ' open-vm-tools', '', d)}"
diff --git a/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb b/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb
deleted file mode 100644
index 049cdeffc0..0000000000
--- a/meta-oe/dynamic-layers/networking-layer/recipes-devtools/valijson/valijson_0.3.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Header-only C++ library for JSON Schema validation"
-HOMEPAGE = "https://github.com/tristanpenman/valijson"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2"
-
-SRC_URI = "git://github.com/tristanpenman/valijson.git"
-SRCREV = "7a52fc88cdffd6678c009ca2fad700151f7363c6"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DINSTALL_HEADERS=1 -DBUILD_TESTS=0"
-
-DEPENDS = "curlpp"
-
-# valijson is a header only C++ library, so the main package will be empty.
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_install() {
- install -d ${D}${includedir}/compat
- install -d ${D}${includedir}/valijson
- install -d ${D}${includedir}/valijson/adapters
- install -d ${D}${includedir}/valijson/constraints
- install -d ${D}${includedir}/valijson/internal
- install -d ${D}${includedir}/valijson/utils
-
- install -m 0644 ${S}/include/compat/* ${D}${includedir}/compat
- install -D -m 0644 ${S}/include/valijson/*.hpp -t ${D}${includedir}/valijson
- install -D -m 0644 ${S}/include/valijson/adapters/*.hpp -t ${D}${includedir}/valijson/adapters
- install -D -m 0644 ${S}/include/valijson/constraints/*.hpp -t ${D}${includedir}/valijson/constraints
- install -D -m 0644 ${S}/include/valijson/internal/*.hpp -t ${D}${includedir}/valijson/internal
- install -D -m 0644 ${S}/include/valijson/utils/*.hpp -t ${D}${includedir}/valijson/utils
-}
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend b/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
index 2aee5975d7..5c48fd5c03 100644
--- a/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
+++ b/meta-oe/dynamic-layers/perl-layer/recipes-core/packagegroups/packagegroup-meta-oe.bbappend
@@ -1 +1 @@
-RDEPENDS_packagegroup-meta-oe-support += "debsums rasdaemon"
+RDEPENDS:packagegroup-meta-oe-support += "rasdaemon"
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb b/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb
deleted file mode 100644
index 07ab5e62b1..0000000000
--- a/meta-oe/dynamic-layers/perl-layer/recipes-support/debsums/debsums_2.2.2.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "Miscellaneous utilities specific to Debian"
-SUMMARY_${PN}-cron = "Cron scripts to control automatic debsum checking"
-DESCRIPTION = "A tool for verification of installed package files against \
-MD5 checksums debsums can verify the integrity of installed package files \
-against MD5 checksums installed by the package, or generated from a .deb \
-archive."
-DESCRIPTION_${PN}-cron = "Cron scripts to control automatic system integrity \
-checking via debsums."
-SECTION = "base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=770d751553e6559e9eaefd2e11ccf7e9"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20170530T212108Z/pool/main/d/debsums/debsums_2.2.2.tar.xz"
-SRC_URI[md5sum] = "82b0710855a7e5212d4358163a269e79"
-SRC_URI[sha256sum] = "aa61896f93a6bbfe0161c21dcd67529ae8e1ec8c3ccf244523c52c4ad8253d97"
-
-# the package is taken from snapshots.debian.org; that source is static and goes stale
-# so we check the latest upstream from a directory that does get updated
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/"
-
-inherit perlnative gettext
-
-DEPENDS += "po4a-native"
-
-do_install() {
- install -d ${D}/${sysconfdir}/cron.daily ${D}/${sysconfdir}/cron.weekly
- install -d ${D}/${sysconfdir}/cron.monthly ${D}${sbindir} ${D}${bindir}
- install -d ${D}${mandir}/man1 ${D}${mandir}/man8
- install -m 0755 debsums ${D}${bindir}/
- install -m 0755 rdebsums ${D}${bindir}/
- install -m 0755 debsums_init ${D}${sbindir}
- install -m 0644 man/debsums.1 ${D}${mandir}/man1/
- install -m 0644 man/rdebsums.1 ${D}${mandir}/man1/
- install -m 0644 man/debsums_init.8 ${D}${mandir}/man8/
- install -m 0644 debian/cron.daily \
- ${D}/${sysconfdir}/cron.daily/debsums
- install -m 0644 debian/cron.weekly \
- ${D}/${sysconfdir}/cron.weekly/debsums
- install -m 0644 debian/cron.monthly \
- ${D}/${sysconfdir}/cron.monthly/debsums
- # Must exist, defaults to empty.
- touch ${D}/${sysconfdir}/debsums-ignore
-}
-
-PACKAGES =+ "${PN}-cron"
-
-RDEPENDS_${PN} = "dpkg dpkg-perl libfile-fnmatch-perl perl \
- perl-module-constant perl-module-digest-md5 \
- perl-module-errno perl-module-fcntl \
- perl-module-file-basename perl-module-file-copy \
- perl-module-file-find perl-module-file-glob \
- perl-module-file-path perl-module-file-spec \
- perl-module-file-temp perl-module-getopt-long \
- perl-module-posix"
-
-FILES_${PN}-cron = "${sysconfdir}/cron.*"
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch
deleted file mode 100644
index 0164321312..0000000000
--- a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/files/0001-Fix-system-header-includes.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 18786db1ad03716267927d983c83275469a1478a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 8 May 2020 12:27:19 -0700
-Subject: [PATCH] Fix system header includes
-
-Use poll.h instead of sys/poll.h
-Fixes
-warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
-
-Include limits.h for PATH_MAX
-
-Fixes
-ras-events.c:359:16: error: 'PATH_MAX' undeclared (first use in this function)
- 359 | char pipe_raw[PATH_MAX];
- | ^~~~~~~~
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- ras-events.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/ras-events.c b/ras-events.c
-index 511c93d..400e740 100644
---- a/ras-events.c
-+++ b/ras-events.c
-@@ -18,13 +18,14 @@
- #include <dirent.h>
- #include <errno.h>
- #include <fcntl.h>
-+#include <limits.h>
-+#include <poll.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <unistd.h>
- #include <sys/stat.h>
- #include <sys/types.h>
--#include <sys/poll.h>
- #include <signal.h>
- #include <sys/signalfd.h>
- #include "libtrace/kbuffer.h"
---
-2.26.2
-
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.6.bb b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.6.bb
deleted file mode 100644
index 93e00e6e01..0000000000
--- a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.6.6.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-DESCRIPTION = "Tools to provide a way to get Platform Reliability, Availability and Serviceability (RAS) reports made via the Kernel tracing events"
-HOMEPAGE = "http://git.infradead.org/users/mchehab/rasdaemon.git"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d3070efe0afa3dc41608bd82c00bb0dc"
-
-SRC_URI = "git://github.com/mchehab/rasdaemon.git;branch=master \
- file://0001-Fix-system-header-includes.patch \
- file://rasdaemon.service \
- file://init"
-
-SRCREV = "32b978fcf73215c90ce7383580224e4295930ae7"
-
-S = "${WORKDIR}/git"
-
-RDEPENDS_${BPN} = "perl perl-module-file-basename perl-module-file-find perl-module-file-spec perl-module-getopt-long \
- perl-module-posix perl-module-file-glob libdbi-perl libdbd-sqlite-perl"
-
-inherit autotools pkgconfig update-rc.d systemd
-
-PACKAGECONFIG ??= "sqlite3 mce aer extlog devlink diskerror"
-PACKAGECONFIG[sqlite3] = "--enable-sqlite3,--disable-sqlite3,sqlite3"
-PACKAGECONFIG[mce] = "--enable-mce,--disable-mce"
-PACKAGECONFIG[aer] = "--enable-aer,--disable-aer"
-PACKAGECONFIG[extlog] = "--enable-extlog,--disable-extlog"
-PACKAGECONFIG[devlink] = "--enable-devlink,--disable-devlink"
-PACKAGECONFIG[diskerror] = "--enable-diskerror,--disable-diskerror"
-PACKAGECONFIG[arm] = "--enable-arm,--disable-arm"
-PACKAGECONFIG[hisi-ns-decode] = "--enable-hisi-ns-decode,--disable-hisi-ns-decode"
-PACKAGECONFIG[non-standard] = "--enable-non-standard,--disable-non-standard"
-PACKAGECONFIG[abrt-report] = "--enable-abrt-report,--disable-abrt-report"
-
-DEPENDS_append_libc-musl = " argp-standalone"
-LDFLAGS_append_libc-musl = " -largp"
-
-do_configure_prepend () {
- ( cd ${S}; autoreconf -vfi )
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rasdaemon
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/rasdaemon.service ${D}${systemd_unitdir}/system
-}
-
-FILES_${PN} += "${sbindir}/rasdaemon \
- ${sysconfdir}/init.d \
- ${systemd_unitdir}/system/rasdaemon.service"
-
-SYSTEMD_SERVICE_${PN} = "rasdaemon.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "rasdaemon"
-INITSCRIPT_PARAMS_${PN} = "defaults 89"
diff --git a/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.8.0.bb b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.8.0.bb
new file mode 100644
index 0000000000..c083a3a37a
--- /dev/null
+++ b/meta-oe/dynamic-layers/perl-layer/recipes-support/rasdaemon/rasdaemon_0.8.0.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "Tools to provide a way to get Platform Reliability, Availability and Serviceability (RAS) reports made via the Kernel tracing events"
+HOMEPAGE = "http://git.infradead.org/users/mchehab/rasdaemon.git"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d3070efe0afa3dc41608bd82c00bb0dc"
+
+SRC_URI = "git://github.com/mchehab/rasdaemon.git;branch=master;protocol=https \
+ file://rasdaemon.service \
+ file://init"
+
+SRCREV = "4e83b848e7961af25028f3a2cecf37a63279a2bf"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libtraceevent"
+RDEPENDS:${BPN} = "perl perl-module-file-basename perl-module-file-find perl-module-file-spec perl-module-getopt-long \
+ perl-module-posix perl-module-file-glob libdbi-perl libdbd-sqlite-perl"
+
+inherit autotools pkgconfig update-rc.d systemd
+
+PACKAGECONFIG ??= "sqlite3 mce aer extlog devlink diskerror"
+PACKAGECONFIG[sqlite3] = "--enable-sqlite3,--disable-sqlite3,sqlite3"
+PACKAGECONFIG[mce] = "--enable-mce,--disable-mce"
+PACKAGECONFIG[aer] = "--enable-aer,--disable-aer"
+PACKAGECONFIG[extlog] = "--enable-extlog,--disable-extlog"
+PACKAGECONFIG[devlink] = "--enable-devlink,--disable-devlink"
+PACKAGECONFIG[diskerror] = "--enable-diskerror,--disable-diskerror"
+PACKAGECONFIG[arm] = "--enable-arm,--disable-arm"
+PACKAGECONFIG[hisi-ns-decode] = "--enable-hisi-ns-decode,--disable-hisi-ns-decode"
+PACKAGECONFIG[non-standard] = "--enable-non-standard,--disable-non-standard"
+PACKAGECONFIG[abrt-report] = "--enable-abrt-report,--disable-abrt-report"
+
+DEPENDS:append:libc-musl = " argp-standalone"
+LDFLAGS:append:libc-musl = " -largp"
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rasdaemon
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/rasdaemon.service ${D}${systemd_unitdir}/system
+}
+
+FILES:${PN} += "${sbindir}/rasdaemon \
+ ${sysconfdir}/init.d \
+ ${systemd_unitdir}/system/rasdaemon.service"
+
+SYSTEMD_SERVICE:${PN} = "rasdaemon.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME:${PN} = "rasdaemon"
+INITSCRIPT_PARAMS:${PN} = "defaults 89"
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf
new file mode 100644
index 0000000000..ddf155a907
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/10-adbd-configfs.conf
@@ -0,0 +1,4 @@
+[Service]
+ExecStartPre=/usr/bin/android-gadget-setup
+ExecStartPost=/usr/bin/android-gadget-start
+ExecStopPost=/usr/bin/android-gadget-cleanup
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-cleanup b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-cleanup
new file mode 100644
index 0000000000..517227d4a6
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-cleanup
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+[ -d /sys/kernel/config/usb_gadget ] || exit 0
+
+cd /sys/kernel/config/usb_gadget
+
+cd adb
+
+echo "" > UDC || true
+
+killall adbd || true
+
+umount /dev/usb-ffs/adb
+
+rm configs/c.1/ffs.usb0
+
+rmdir configs/c.1/strings/0x409
+rmdir configs/c.1
+
+rmdir functions/ffs.usb0
+rmdir strings/0x409
+
+cd ..
+rmdir adb
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-setup b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-setup
new file mode 100644
index 0000000000..e44d1bacbe
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-setup
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+set -e
+
+manufacturer=RPB
+model="Android device"
+serial=0123456789ABCDEF
+
+if [ -r /etc/android-gadget-setup.machine ] ; then
+ . /etc/android-gadget-setup.machine
+fi
+
+[ -d /sys/kernel/config/usb_gadget ] || modprobe libcomposite
+
+cd /sys/kernel/config/usb_gadget
+
+[ -d adb ] && /usr/bin/android-gadget-cleanup || true
+
+mkdir adb
+cd adb
+
+mkdir configs/c.1
+mkdir functions/ffs.usb0
+mkdir strings/0x409
+mkdir configs/c.1/strings/0x409
+echo 0x18d1 > idVendor
+echo 0xd002 > idProduct
+echo "$serial" > strings/0x409/serialnumber
+echo "$manufacturer" > strings/0x409/manufacturer
+echo "$model" > strings/0x409/product
+echo "Conf 1" > configs/c.1/strings/0x409/configuration
+ln -s functions/ffs.usb0 configs/c.1
+
+mkdir -p /dev/usb-ffs/adb
+mount -t functionfs usb0 /dev/usb-ffs/adb
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-start b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-start
new file mode 100644
index 0000000000..ca6c3df275
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs/android-gadget-start
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+sleep 3
+
+ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/adb/UDC
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs_1.0.bb b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs_1.0.bb
new file mode 100644
index 0000000000..1c26c7207b
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf-configfs_1.0.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Various utilities from Android - corresponding configuration files for using ConfigFS"
+SECTION = "console/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = " \
+ file://android-gadget-setup \
+ file://android-gadget-start \
+ file://android-gadget-cleanup \
+ file://10-adbd-configfs.conf \
+"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/android-gadget-setup ${D}${bindir}
+ install -m 0755 ${WORKDIR}/android-gadget-start ${D}${bindir}
+ install -m 0755 ${WORKDIR}/android-gadget-cleanup ${D}${bindir}
+
+ if [ -r ${WORKDIR}/android-gadget-setup.machine ] ; then
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/android-gadget-setup.machine ${D}${sysconfdir}
+ fi
+
+ install -d ${D}${systemd_unitdir}/system/android-tools-adbd.service.d
+ install -m 0644 ${WORKDIR}/10-adbd-configfs.conf ${D}${systemd_unitdir}/system/android-tools-adbd.service.d
+}
+
+FILES:${PN} += " \
+ ${systemd_unitdir}/system/ \
+"
+
+PROVIDES += "android-tools-conf"
+RPROVIDES:${PN} = "android-tools-conf"
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf/android-gadget-setup b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf/android-gadget-setup
new file mode 100644
index 0000000000..26cf30eddd
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf/android-gadget-setup
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+[ ! -e /dev/pts ] && mkdir -p /dev/pts
+[ ! -e /dev/pts/0 ] && mount devpts /dev/pts -t devpts
+
+# TODO enable the lines below once we have support for getprop
+# retrieve the product info from Android
+# manufacturer=$(getprop ro.product.manufacturer Android)
+# model=$(getprop ro.product.model Android)
+# serial=$(getprop ro.serialno 0123456789ABCDEF)
+
+#below are now needed in order to use FunctionFS for ADB, tested to work with 3.4+ kernels
+if grep -q functionfs /proc/filesystems; then
+ mkdir -p /dev/usb-ffs/adb
+ mount -t functionfs adb /dev/usb-ffs/adb
+ #android-gadget-setup doesn't provide below 2 and without them it won't work, so we provide them here.
+ echo adb > /sys/class/android_usb/android0/f_ffs/aliases
+ echo ffs > /sys/class/android_usb/android0/functions
+fi
+
+manufacturer="$(cat /system/build.prop | grep -o 'ro.product.manufacturer=.*' | cut -d'=' -f 2)"
+model="$(cat /system/build.prop | grep -o 'ro.product.model=.*' | cut -d'=' -f 2)"
+# get the device serial number from /proc/cmdline directly(since we have no getprop on
+# GNU/Linux)
+serial="$(cat /proc/cmdline | sed 's/.*androidboot.serialno=//' | sed 's/ .*//')"
+
+echo $serial > /sys/class/android_usb/android0/iSerial
+echo $manufacturer > /sys/class/android_usb/android0/iManufacturer
+echo $model > /sys/class/android_usb/android0/iProduct
+
+echo "0" > /sys/class/android_usb/android0/enable
+echo "18d1" > /sys/class/android_usb/android0/idVendor
+echo "D002" > /sys/class/android_usb/android0/idProduct
+echo "adb" > /sys/class/android_usb/android0/functions
+echo "1" > /sys/class/android_usb/android0/enable
+
+sleep 4
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf_1.0.bb b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf_1.0.bb
new file mode 100644
index 0000000000..b63ccbb080
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools-conf_1.0.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Different utilities from Android - corresponding configuration files"
+SECTION = "console/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "file://android-gadget-setup"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/android-gadget-setup ${D}${bindir}
+}
+
+python () {
+ pn = d.getVar('PN')
+ profprov = d.getVar("PREFERRED_PROVIDER_" + pn)
+ if profprov and pn != profprov:
+ raise bb.parse.SkipRecipe("PREFERRED_PROVIDER_%s set to %s, not %s" % (pn, profprov, pn))
+}
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0001-Fixes-for-yocto-build.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0001-Fixes-for-yocto-build.patch
new file mode 100644
index 0000000000..1d18d47ec3
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0001-Fixes-for-yocto-build.patch
@@ -0,0 +1,164 @@
+From 5de85f8273c7284aa93e35c40f025d4d43d42df9 Mon Sep 17 00:00:00 2001
+From: Etienne Cordonnier <ecordonnier@snap.com>
+Date: Thu, 16 Mar 2023 18:59:35 +0100
+Subject: [PATCH] Fixes for yocto build
+
+Signed-off-by: JJ Robertson <jrobertson@snapchat.com>
+[rebased on version 29]
+Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
+
+---
+Upstream-Status: Pending
+
+ system/core/adb/daemon/file_sync_service.cpp | 4 ++--
+ system/core/adb/daemon/framebuffer_service.h | 2 --
+ system/core/adb/daemon/main.cpp | 5 +++--
+ system/core/adb/daemon/restart_service.h | 2 --
+ system/core/adb/daemon/services.cpp | 6 ++----
+ system/core/adb/daemon/shell_service.cpp | 5 ++++-
+ system/core/adb/types.h | 1 +
+ 7 files changed, 12 insertions(+), 13 deletions(-)
+
+diff --git a/system/core/adb/daemon/file_sync_service.cpp b/system/core/adb/daemon/file_sync_service.cpp
+index d6af7087..92e7087a 100644
+--- a/system/core/adb/daemon/file_sync_service.cpp
++++ b/system/core/adb/daemon/file_sync_service.cpp
+@@ -111,7 +111,7 @@ static bool secure_mkdirs(const std::string& path) {
+ partial_path += path_component;
+
+ if (should_use_fs_config(partial_path)) {
+- fs_config(partial_path.c_str(), 1, nullptr, &uid, &gid, &mode, &capabilities);
++ // fs_config(partial_path.c_str(), 1, nullptr, &uid, &gid, &mode, &capabilities);
+ }
+ if (adb_mkdir(partial_path.c_str(), mode) == -1) {
+ if (errno != EEXIST) {
+@@ -469,7 +469,7 @@ static bool do_send(int s, const std::string& spec, std::vector<char>& buffer) {
+ uint64_t capabilities = 0;
+ if (should_use_fs_config(path)) {
+ unsigned int broken_api_hack = mode;
+- fs_config(path.c_str(), 0, nullptr, &uid, &gid, &broken_api_hack, &capabilities);
++ // fs_config(path.c_str(), 0, nullptr, &uid, &gid, &broken_api_hack, &capabilities);
+ mode = broken_api_hack;
+ }
+
+diff --git a/system/core/adb/daemon/framebuffer_service.h b/system/core/adb/daemon/framebuffer_service.h
+index bab44be3..264da597 100644
+--- a/system/core/adb/daemon/framebuffer_service.h
++++ b/system/core/adb/daemon/framebuffer_service.h
+@@ -18,6 +18,4 @@
+
+ #include "adb_unique_fd.h"
+
+-#if defined(__ANDROID__)
+ void framebuffer_service(unique_fd fd);
+-#endif
+diff --git a/system/core/adb/daemon/main.cpp b/system/core/adb/daemon/main.cpp
+index 3322574c..e807d13d 100644
+--- a/system/core/adb/daemon/main.cpp
++++ b/system/core/adb/daemon/main.cpp
+@@ -208,6 +208,9 @@ int adbd_main(int server_port) {
+ umask(0);
+
+ signal(SIGPIPE, SIG_IGN);
++ signal(SIGINT, SIG_DFL);
++ signal(SIGQUIT, SIG_DFL);
++
+
+ #if defined(__BIONIC__)
+ auto fdsan_level = android_fdsan_get_error_level();
+@@ -254,13 +257,11 @@ int adbd_main(int server_port) {
+
+ bool is_usb = false;
+
+-#if defined(__ANDROID__)
+ if (access(USB_FFS_ADB_EP0, F_OK) == 0) {
+ // Listen on USB.
+ usb_init();
+ is_usb = true;
+ }
+-#endif
+
+ // If one of these properties is set, also listen on that port.
+ // If one of the properties isn't set and we couldn't listen on usb, listen
+diff --git a/system/core/adb/daemon/restart_service.h b/system/core/adb/daemon/restart_service.h
+index 19840bd5..7a97614b 100644
+--- a/system/core/adb/daemon/restart_service.h
++++ b/system/core/adb/daemon/restart_service.h
+@@ -18,9 +18,7 @@
+
+ #include "adb_unique_fd.h"
+
+-#if defined(__ANDROID__)
+ void restart_root_service(unique_fd fd);
+ void restart_unroot_service(unique_fd fd);
+ void restart_tcp_service(unique_fd fd, int port);
+ void restart_usb_service(unique_fd fd);
+-#endif
+diff --git a/system/core/adb/daemon/services.cpp b/system/core/adb/daemon/services.cpp
+index 4ec90d27..d8541c23 100644
+--- a/system/core/adb/daemon/services.cpp
++++ b/system/core/adb/daemon/services.cpp
+@@ -156,7 +156,7 @@ static void spin_service(unique_fd fd) {
+ }
+ #endif
+ // Fall through
+- std::string cmd = "/system/bin/reboot ";
++ std::string cmd = "/sbin/reboot ";
+ cmd += name;
+ return StartSubprocess(cmd, nullptr, SubprocessType::kRaw, SubprocessProtocol::kNone);
+ }
+@@ -265,11 +265,10 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) {
+ }
+ #endif
+
+-#if defined(__ANDROID__)
+ if (name.starts_with("framebuffer:")) {
+ return create_service_thread("fb", framebuffer_service);
+ } else if (android::base::ConsumePrefix(&name, "remount:")) {
+- std::string cmd = "/system/bin/remount ";
++ std::string cmd = "/sbin/remount ";
+ cmd += name;
+ return StartSubprocess(cmd, nullptr, SubprocessType::kRaw, SubprocessProtocol::kNone);
+ } else if (android::base::ConsumePrefix(&name, "reboot:")) {
+@@ -303,7 +302,6 @@ unique_fd daemon_service_to_fd(std::string_view name, atransport* transport) {
+ } else if (name.starts_with("usb:")) {
+ return create_service_thread("usb", restart_usb_service);
+ }
+-#endif
+
+ if (android::base::ConsumePrefix(&name, "dev:")) {
+ return unique_fd{unix_open(name, O_RDWR | O_CLOEXEC)};
+diff --git a/system/core/adb/daemon/shell_service.cpp b/system/core/adb/daemon/shell_service.cpp
+index f62032d0..ebcfe18d 100644
+--- a/system/core/adb/daemon/shell_service.cpp
++++ b/system/core/adb/daemon/shell_service.cpp
+@@ -273,13 +273,16 @@ bool Subprocess::ForkAndExec(std::string* error) {
+ env["HOSTNAME"] = GetHostName();
+ env["LOGNAME"] = pw->pw_name;
+ env["SHELL"] = pw->pw_shell;
+- env["TMPDIR"] = "/data/local/tmp";
+ env["USER"] = pw->pw_name;
+ }
+
+ if (!terminal_type_.empty()) {
+ env["TERM"] = terminal_type_;
+ }
++ if (env.find("PS1") == env.end()) {
++ env["PS1"] = "\\h:\\w\\$ ";
++ }
++
+
+ std::vector<std::string> joined_env;
+ for (const auto& it : env) {
+diff --git a/system/core/adb/types.h b/system/core/adb/types.h
+index c619fffc..f8e0f521 100644
+--- a/system/core/adb/types.h
++++ b/system/core/adb/types.h
+@@ -22,6 +22,7 @@
+ #include <memory>
+ #include <utility>
+ #include <vector>
++#include <string.h>
+
+ #include <android-base/logging.h>
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0002-android-tools-modifications-to-make-it-build-in-yoct.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0002-android-tools-modifications-to-make-it-build-in-yoct.patch
new file mode 100644
index 0000000000..b719acec4c
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0002-android-tools-modifications-to-make-it-build-in-yoct.patch
@@ -0,0 +1,375 @@
+From fe211cbc305a9316c1d4da2f086d6a50f1c92188 Mon Sep 17 00:00:00 2001
+From: Etienne Cordonnier <ecordonnier@snap.com>
+Date: Fri, 17 Mar 2023 10:33:11 +0100
+Subject: [PATCH] android-tools: modifications to make it build in yocto
+
+- Fix relocation errors on aarch64, e.g.:
+"relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `_ZTV19SparseFileBufSource' which may bind externally can not be used when making a shared object; recompile with -fPIC"
+
+- use ln -f to avoid error "File exists" on incremental builds
+
+- fix missing headers
+
+Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
+
+---
+Upstream-Status: Pending
+
+ debian/external/boringssl/libcrypto.mk | 1 +
+ debian/system/core/append2simg.mk | 2 +-
+ debian/system/core/fastboot.mk | 2 +-
+ debian/system/core/img2simg.mk | 2 +-
+ debian/system/core/libbacktrace.mk | 8 ++++----
+ debian/system/core/libbase.mk | 5 +++--
+ debian/system/core/libcutils.mk | 5 +++--
+ debian/system/core/liblog.mk | 3 ++-
+ debian/system/core/libsparse.mk | 5 +++--
+ debian/system/core/libutils.mk | 2 +-
+ debian/system/core/libziparchive.mk | 5 +++--
+ debian/system/core/simg2img.mk | 2 +-
+ debian/system/core/simg2simg.mk | 2 +-
+ frameworks/native/libs/adbd_auth/adbd_auth.cpp | 2 ++
+ system/core/adb/adb_listeners.cpp | 12 ++++++------
+ system/core/adb/transport_local.cpp | 2 +-
+ 16 files changed, 34 insertions(+), 26 deletions(-)
+
+diff --git a/debian/external/boringssl/libcrypto.mk b/debian/external/boringssl/libcrypto.mk
+index c0ea54f4..b3a77bfd 100644
+--- a/debian/external/boringssl/libcrypto.mk
++++ b/debian/external/boringssl/libcrypto.mk
+@@ -27,6 +27,7 @@ CPPFLAGS += \
+ -DBORINGSSL_IMPLEMENTATION \
+ -DBORINGSSL_SHARED_LIBRARY \
+ -DOPENSSL_SMALL \
++ -DOPENSSL_NO_ASM \
+ -Iexternal/boringssl/src/crypto \
+ -Iexternal/boringssl/src/include \
+
+diff --git a/debian/system/core/append2simg.mk b/debian/system/core/append2simg.mk
+index 1599bdb8..598c751d 100644
+--- a/debian/system/core/append2simg.mk
++++ b/debian/system/core/append2simg.mk
+@@ -11,7 +11,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN/../lib/android' \
+ -lbase \
+ -llog \
+ -lpthread \
+diff --git a/debian/system/core/fastboot.mk b/debian/system/core/fastboot.mk
+index d5c9a285..a59ba1a4 100644
+--- a/debian/system/core/fastboot.mk
++++ b/debian/system/core/fastboot.mk
+@@ -49,7 +49,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN/../lib/android' \
+ -fuse-ld=gold \
+ -lbase \
+ -lcutils \
+diff --git a/debian/system/core/img2simg.mk b/debian/system/core/img2simg.mk
+index 11adf014..8baf5ba5 100644
+--- a/debian/system/core/img2simg.mk
++++ b/debian/system/core/img2simg.mk
+@@ -11,7 +11,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN/../lib/android' \
+ -lbase \
+ -llog \
+ -lpthread \
+diff --git a/debian/system/core/libbacktrace.mk b/debian/system/core/libbacktrace.mk
+index e3411d76..86e69874 100644
+--- a/debian/system/core/libbacktrace.mk
++++ b/debian/system/core/libbacktrace.mk
+@@ -1,4 +1,4 @@
+-include /usr/share/dpkg/architecture.mk
++include rules_yocto.mk
+
+ NAME = libbacktrace
+
+@@ -83,10 +84,9 @@ CPPFLAGS += \
+ LDFLAGS += \
+ -L/usr/lib/p7zip \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/p7zip \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN' \
+ -Wl,-soname,$(NAME).so.0 \
+- -l:7z.so \
++ -l7z \
+ -lbase \
+ -llog \
+ -lpthread \
+@@ -101,7 +101,7 @@ endif
+ build: $(OBJECTS_CXX) $(OBJECTS_ASSEMBLY) debian/out/external/libunwind/libunwind.a
+ mkdir -p debian/out/system/core
+ $(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
+- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
++ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
+
+ $(OBJECTS_CXX): %.o: %.cpp
+ $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
+diff --git a/debian/system/core/libbase.mk b/debian/system/core/libbase.mk
+index d2b074ba..8a90d6de 100644
+--- a/debian/system/core/libbase.mk
++++ b/debian/system/core/libbase.mk
+@@ -1,3 +1,4 @@
++include rules_yocto.mk
+ NAME = libbase
+
+ SOURCES = \
+@@ -30,7 +31,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN' \
+ -Wl,-soname,$(NAME).so.0 \
+ -llog \
+ -lpthread \
+@@ -44,7 +45,7 @@ endif
+
+ build: $(OBJECTS)
+ $(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
+- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
++ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
+
+ $(OBJECTS): %.o: %.cpp
+ $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
+diff --git a/debian/system/core/libcutils.mk b/debian/system/core/libcutils.mk
+index 9d928b56..c22b0965 100644
+--- a/debian/system/core/libcutils.mk
++++ b/debian/system/core/libcutils.mk
+@@ -1,3 +1,4 @@
++include rules_yocto.mk
+ NAME = libcutils
+
+ libcutils_nonwindows_sources = \
+@@ -47,7 +48,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN' \
+ -Wl,-soname,$(NAME).so.0 \
+ -lbase \
+ -llog \
+@@ -56,7 +57,7 @@ LDFLAGS += \
+
+ build: $(OBJECTS_C) $(OBJECTS_CXX)
+ $(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
+- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
++ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
+
+ $(OBJECTS_C): %.o: %.c
+ $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS)
+diff --git a/debian/system/core/liblog.mk b/debian/system/core/liblog.mk
+index f8c3d7fe..34a07341 100644
+--- a/debian/system/core/liblog.mk
++++ b/debian/system/core/liblog.mk
+@@ -1,3 +1,4 @@
++include rules_yocto.mk
+ NAME = liblog
+
+ liblog_sources = \
+@@ -35,7 +36,7 @@ LDFLAGS += \
+ build: $(OBJECTS)
+ mkdir -p debian/out/system/core
+ $(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
+- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
++ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
+
+ $(OBJECTS): %.o: %.cpp
+ $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
+diff --git a/debian/system/core/libsparse.mk b/debian/system/core/libsparse.mk
+index c2b2694c..2da12b8e 100644
+--- a/debian/system/core/libsparse.mk
++++ b/debian/system/core/libsparse.mk
+@@ -1,3 +1,4 @@
++include rules_yocto.mk
+ NAME = libsparse
+
+ SOURCES = \
+@@ -19,7 +20,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN' \
+ -Wl,-soname,$(NAME).so.0 \
+ -lbase \
+ -lz \
+@@ -27,7 +28,7 @@ LDFLAGS += \
+
+ build: $(OBJECTS)
+ $(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
+- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
++ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
+
+ $(OBJECTS): %.o: %.cpp
+ $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
+diff --git a/debian/system/core/libutils.mk b/debian/system/core/libutils.mk
+index c37b1d2d..332492c1 100644
+--- a/debian/system/core/libutils.mk
++++ b/debian/system/core/libutils.mk
+@@ -1,4 +1,4 @@
+-include /usr/share/dpkg/architecture.mk
++include rules_yocto.mk
+
+ NAME = libutils
+
+@@ -41,7 +41,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN' \
+ -Wl,-soname,$(NAME).so.0 \
+ -lbacktrace \
+ -lcutils \
+diff --git a/debian/system/core/libziparchive.mk b/debian/system/core/libziparchive.mk
+index 1b286b4e..1b7499be 100644
+--- a/debian/system/core/libziparchive.mk
++++ b/debian/system/core/libziparchive.mk
+@@ -1,3 +1,4 @@
++include rules_yocto.mk
+ NAME = libziparchive
+
+ SOURCES = \
+@@ -19,7 +20,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN' \
+ -Wl,-soname,$(NAME).so.0 \
+ -lbase \
+ -llog \
+@@ -29,7 +30,7 @@ LDFLAGS += \
+
+ build: $(OBJECTS)
+ $(CXX) $^ -o debian/out/system/core/$(NAME).so.0 $(LDFLAGS)
+- cd debian/out/system/core && ln -s $(NAME).so.0 $(NAME).so
++ cd debian/out/system/core && ln -sf $(NAME).so.0 $(NAME).so
+
+ $(OBJECTS): %.o: %.cc
+ $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS)
+diff --git a/debian/system/core/simg2img.mk b/debian/system/core/simg2img.mk
+index f6e3f59d..df4f44f3 100644
+--- a/debian/system/core/simg2img.mk
++++ b/debian/system/core/simg2img.mk
+@@ -13,7 +13,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN/../lib/android' \
+ -lbase \
+ -llog \
+ -lpthread \
+diff --git a/debian/system/core/simg2simg.mk b/debian/system/core/simg2simg.mk
+index ed53b04c..646ab030 100644
+--- a/debian/system/core/simg2simg.mk
++++ b/debian/system/core/simg2simg.mk
+@@ -13,7 +13,7 @@ CPPFLAGS += \
+
+ LDFLAGS += \
+ -Ldebian/out/system/core \
+- -Wl,-rpath=/usr/lib/$(DEB_HOST_MULTIARCH)/android \
++ -Wl,-rpath='$$ORIGIN/../lib/android' \
+ -lbase \
+ -llog \
+ -lpthread \
+diff --git a/frameworks/native/libs/adbd_auth/adbd_auth.cpp b/frameworks/native/libs/adbd_auth/adbd_auth.cpp
+index a9c23110..6ca334ba 100644
+--- a/frameworks/native/libs/adbd_auth/adbd_auth.cpp
++++ b/frameworks/native/libs/adbd_auth/adbd_auth.cpp
+@@ -23,8 +23,10 @@
+ #include <sys/eventfd.h>
+ #include <sys/uio.h>
+
++#include <atomic>
+ #include <chrono>
+ #include <deque>
++#include <optional>
+ #include <string>
+ #include <string_view>
+ #include <tuple>
+diff --git a/system/core/adb/adb_listeners.cpp b/system/core/adb/adb_listeners.cpp
+index 29909a55..440cdbd4 100644
+--- a/system/core/adb/adb_listeners.cpp
++++ b/system/core/adb/adb_listeners.cpp
+@@ -109,7 +109,7 @@ static void listener_event_func(int _fd, unsigned ev, void* _l)
+ }
+
+ // Called as a transport disconnect function. |arg| is the raw alistener*.
+-static void listener_disconnect(void* arg, atransport*) EXCLUDES(listener_list_mutex) {
++static void listener_disconnect(void* arg, atransport*) {
+ std::lock_guard<std::mutex> lock(listener_list_mutex);
+ for (auto iter = listener_list.begin(); iter != listener_list.end(); ++iter) {
+ if (iter->get() == arg) {
+@@ -121,7 +121,7 @@ static void listener_disconnect(void* arg, atransport*) EXCLUDES(listener_list_m
+ }
+
+ // Write the list of current listeners (network redirections) into a string.
+-std::string format_listeners() EXCLUDES(listener_list_mutex) {
++std::string format_listeners() {
+ std::lock_guard<std::mutex> lock(listener_list_mutex);
+ std::string result;
+ for (auto& l : listener_list) {
+@@ -140,7 +140,7 @@ std::string format_listeners() EXCLUDES(listener_list_mutex) {
+ }
+
+ InstallStatus remove_listener(const char* local_name, atransport* transport)
+- EXCLUDES(listener_list_mutex) {
++{
+ std::lock_guard<std::mutex> lock(listener_list_mutex);
+ for (auto iter = listener_list.begin(); iter != listener_list.end(); ++iter) {
+ if (local_name == (*iter)->local_name) {
+@@ -151,7 +151,7 @@ InstallStatus remove_listener(const char* local_name, atransport* transport)
+ return INSTALL_STATUS_LISTENER_NOT_FOUND;
+ }
+
+-void remove_all_listeners() EXCLUDES(listener_list_mutex) {
++void remove_all_listeners() {
+ std::lock_guard<std::mutex> lock(listener_list_mutex);
+ auto iter = listener_list.begin();
+ while (iter != listener_list.end()) {
+@@ -164,7 +164,7 @@ void remove_all_listeners() EXCLUDES(listener_list_mutex) {
+ }
+ }
+
+-void close_smartsockets() EXCLUDES(listener_list_mutex) {
++void close_smartsockets() {
+ std::lock_guard<std::mutex> lock(listener_list_mutex);
+ auto pred = [](const std::unique_ptr<alistener>& listener) {
+ return listener->local_name == "*smartsocket*";
+@@ -174,7 +174,7 @@ void close_smartsockets() EXCLUDES(listener_list_mutex) {
+
+ InstallStatus install_listener(const std::string& local_name, const char* connect_to,
+ atransport* transport, int no_rebind, int* resolved_tcp_port,
+- std::string* error) EXCLUDES(listener_list_mutex) {
++ std::string* error) {
+ std::lock_guard<std::mutex> lock(listener_list_mutex);
+ for (auto& l : listener_list) {
+ if (local_name == l->local_name) {
+diff --git a/system/core/adb/transport_local.cpp b/system/core/adb/transport_local.cpp
+index c7261860..5988ec4d 100644
+--- a/system/core/adb/transport_local.cpp
++++ b/system/core/adb/transport_local.cpp
+@@ -333,7 +333,7 @@ struct EmulatorConnection : public FdConnection {
+
+ /* Only call this function if you already hold local_transports_lock. */
+ static atransport* find_emulator_transport_by_adb_port_locked(int adb_port)
+- REQUIRES(local_transports_lock) {
++{
+ auto it = local_transports.find(adb_port);
+ if (it == local_transports.end()) {
+ return nullptr;
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0003-Update-usage-of-usbdevfs_urb-to-match-new-kernel-UAP.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0003-Update-usage-of-usbdevfs_urb-to-match-new-kernel-UAP.patch
new file mode 100644
index 0000000000..ea934f44d8
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0003-Update-usage-of-usbdevfs_urb-to-match-new-kernel-UAP.patch
@@ -0,0 +1,128 @@
+From 02b6b6977d80af4b9b806054fadb5a06cedf011d Mon Sep 17 00:00:00 2001
+From: Etienne Cordonnier <ecordonnier@snap.com>
+Date: Tue, 14 Mar 2023 11:33:50 +0100
+Subject: [PATCH] Update usage of usbdevfs_urb to match new kernel UAPI
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Linux kernel API has been changed by commit 94dfc73e7cf4 ("treewide: uapi: Replace zero-length arrays with flexible-array members")
+where zero-length array iso_frame_desc in struct usbdevfs_urb was replaced with a proper flexible-array member.
+
+Current USB API usage causes a compilation error at Linux 6.0:
+
+In file included from /home/mae/.cache/kiss/proc/121205/build/android-tools/vendor/adb/client/usb_linux.cpp:28:
+/usr/include/linux/usbdevice_fs.h:134:41: error: flexible array member ‘usbdevfs_urb::iso_frame_desc’ not at end of ‘struct usb_handle’
+ 134 | struct usbdevfs_iso_packet_desc iso_frame_desc[];
+ | ^~~~~~~~~~~~~~
+/home/mae/.cache/kiss/proc/121205/build/android-tools/vendor/adb/client/usb_linux.cpp:76:18: note: next member ‘usbdevfs_urb usb_handle::urb_out’ declared here
+ 76 | usbdevfs_urb urb_out;
+ | ^~~~~~~
+/home/mae/.cache/kiss/proc/121205/build/android-tools/vendor/adb/client/usb_linux.cpp:61:8: note: in the definition of ‘struct usb_handle’
+ 61 | struct usb_handle {
+ | ^~~~~~~~~~
+
+Fix it by using pointers to a struct with flexible-array members.
+Current fix works both with the old and the new API.
+
+See https://github.com/nmeum/android-tools/issues/74 for more context.
+
+Tested: built on Linux against kernel 5.19 and 6.0; 'adb shell' over USB
+cable
+Acked-by: Gustavo A. R. Silva gustavoars@kernel.org
+Change-Id: I7f0f7b35d9a3ab980d3520b541b60c7857a6b101
+Signed-off-by: Anatol Pomozov <anatol.pomozov@gmail.com>
+
+[Backported on version 10]
+Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
+
+---
+Upstream-Status: Pending
+
+ system/core/adb/client/usb_linux.cpp | 24 ++++++++++++++----------
+ 1 file changed, 14 insertions(+), 10 deletions(-)
+
+diff --git a/system/core/adb/client/usb_linux.cpp b/system/core/adb/client/usb_linux.cpp
+index 343e7b59..6a4479f3 100644
+--- a/system/core/adb/client/usb_linux.cpp
++++ b/system/core/adb/client/usb_linux.cpp
+@@ -71,8 +71,8 @@ struct usb_handle : public ::usb_handle {
+ unsigned zero_mask;
+ unsigned writeable = 1;
+
+- usbdevfs_urb urb_in;
+- usbdevfs_urb urb_out;
++ usbdevfs_urb *urb_in;
++ usbdevfs_urb *urb_out;
+
+ bool urb_in_busy = false;
+ bool urb_out_busy = false;
+@@ -305,7 +305,7 @@ static int usb_bulk_write(usb_handle* h, const void* data, int len) {
+ std::unique_lock<std::mutex> lock(h->mutex);
+ D("++ usb_bulk_write ++");
+
+- usbdevfs_urb* urb = &h->urb_out;
++ usbdevfs_urb* urb = h->urb_out;
+ memset(urb, 0, sizeof(*urb));
+ urb->type = USBDEVFS_URB_TYPE_BULK;
+ urb->endpoint = h->ep_out;
+@@ -344,7 +344,7 @@ static int usb_bulk_read(usb_handle* h, void* data, int len) {
+ std::unique_lock<std::mutex> lock(h->mutex);
+ D("++ usb_bulk_read ++");
+
+- usbdevfs_urb* urb = &h->urb_in;
++ usbdevfs_urb* urb = h->urb_in;
+ memset(urb, 0, sizeof(*urb));
+ urb->type = USBDEVFS_URB_TYPE_BULK;
+ urb->endpoint = h->ep_in;
+@@ -389,7 +389,7 @@ static int usb_bulk_read(usb_handle* h, void* data, int len) {
+ }
+ D("[ urb @%p status = %d, actual = %d ]", out, out->status, out->actual_length);
+
+- if (out == &h->urb_in) {
++ if (out == h->urb_in) {
+ D("[ reap urb - IN complete ]");
+ h->urb_in_busy = false;
+ if (urb->status != 0) {
+@@ -398,7 +398,7 @@ static int usb_bulk_read(usb_handle* h, void* data, int len) {
+ }
+ return urb->actual_length;
+ }
+- if (out == &h->urb_out) {
++ if (out == h->urb_out) {
+ D("[ reap urb - OUT compelete ]");
+ h->urb_out_busy = false;
+ h->cv.notify_all();
+@@ -502,10 +502,10 @@ void usb_kick(usb_handle* h) {
+ ** but this ensures that a reader blocked on REAPURB
+ ** will get unblocked
+ */
+- ioctl(h->fd, USBDEVFS_DISCARDURB, &h->urb_in);
+- ioctl(h->fd, USBDEVFS_DISCARDURB, &h->urb_out);
+- h->urb_in.status = -ENODEV;
+- h->urb_out.status = -ENODEV;
++ ioctl(h->fd, USBDEVFS_DISCARDURB, h->urb_in);
++ ioctl(h->fd, USBDEVFS_DISCARDURB, h->urb_out);
++ h->urb_in->status = -ENODEV;
++ h->urb_out->status = -ENODEV;
+ h->urb_in_busy = false;
+ h->urb_out_busy = false;
+ h->cv.notify_all();
+@@ -521,6 +521,8 @@ int usb_close(usb_handle* h) {
+
+ D("-- usb close %p (fd = %d) --", h, h->fd);
+
++ delete h->urb_in;
++ delete h->urb_out;
+ delete h;
+
+ return 0;
+@@ -556,6 +558,8 @@ static void register_device(const char* dev_name, const char* dev_path, unsigned
+ usb->ep_out = ep_out;
+ usb->zero_mask = zero_mask;
+ usb->max_packet_size = max_packet_size;
++ usb->urb_in = new usbdevfs_urb;
++ usb->urb_out = new usbdevfs_urb;
+
+ // Initialize mark so we don't get garbage collected after the device scan.
+ usb->mark = true;
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0004-adb-Fix-build-on-big-endian-systems.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0004-adb-Fix-build-on-big-endian-systems.patch
new file mode 100644
index 0000000000..c82423908f
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0004-adb-Fix-build-on-big-endian-systems.patch
@@ -0,0 +1,50 @@
+From e4a29888cb52c1eafd3ab57a6e220b38147ecfbe Mon Sep 17 00:00:00 2001
+From: Etienne Cordonnier <ecordonnier@snap.com>
+Date: Tue, 14 Mar 2023 13:39:23 +0100
+Subject: [PATCH] adb: Fix build on big endian systems
+
+The usb_linux_client.c file defines cpu_to_le16/32 by using the C
+library htole16/32 function calls. However, cpu_to_le16/32 are used
+when initializing structures, i.e in a context where a function call
+is not allowed.
+
+It works fine on little endian systems because htole16/32 are defined
+by the C library as no-ops. But on big-endian systems, they are
+actually doing something, which might involve calling a function,
+causing build failures.
+
+To solve this, we simply open-code cpu_to_le16/32 in a way that allows
+them to be used when initializing structures.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+[Forward-ported to version 29]
+Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
+
+---
+Upstream-Status: Pending
+
+ system/core/adb/daemon/usb_ffs.cpp | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/system/core/adb/daemon/usb_ffs.cpp b/system/core/adb/daemon/usb_ffs.cpp
+index b19fa5d5..ef2291ca 100644
+--- a/system/core/adb/daemon/usb_ffs.cpp
++++ b/system/core/adb/daemon/usb_ffs.cpp
+@@ -39,8 +39,15 @@
+
+ #define USB_EXT_PROP_UNICODE 1
+
+-#define cpu_to_le16(x) htole16(x)
+-#define cpu_to_le32(x) htole32(x)
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++# define cpu_to_le16(x) (x)
++# define cpu_to_le32(x) (x)
++#else
++# define cpu_to_le16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
++# define cpu_to_le32(x) \
++ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | \
++ (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
++#endif
+
+ // clang-format off
+ struct func_desc {
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0005-adb-Allow-adbd-to-be-run-as-root.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0005-adb-Allow-adbd-to-be-run-as-root.patch
new file mode 100644
index 0000000000..dfbdc2af66
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/0005-adb-Allow-adbd-to-be-run-as-root.patch
@@ -0,0 +1,25 @@
+From 4ef35041ba5c02df48c31f2382e7c3c4316ad936 Mon Sep 17 00:00:00 2001
+From: Etienne Cordonnier <ecordonnier@snap.com>
+Date: Tue, 14 Mar 2023 13:53:51 +0100
+Subject: [PATCH] adb: Allow adbd to be run as root
+
+Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
+
+---
+Upstream-Status: Pending
+
+ system/core/adb/daemon/main.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/system/core/adb/daemon/main.cpp b/system/core/adb/daemon/main.cpp
+index e807d13d..309663a2 100644
+--- a/system/core/adb/daemon/main.cpp
++++ b/system/core/adb/daemon/main.cpp
+@@ -75,6 +75,7 @@ static bool should_drop_capabilities_bounding_set() {
+ }
+
+ static bool should_drop_privileges() {
++ return true;
+ // "adb root" not allowed, always drop privileges.
+ if (!ALLOW_ADBD_ROOT && !is_device_unlocked()) return true;
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/adbd.mk b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/adbd.mk
new file mode 100644
index 0000000000..3282216b8e
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/adbd.mk
@@ -0,0 +1,87 @@
+include rules_yocto.mk
+NAME = adbd
+
+SOURCES = \
+ adb/adbconnection/adbconnection_server.cpp \
+ adb/daemon/auth.cpp \
+ adb/daemon/file_sync_service.cpp \
+ adb/daemon/file_sync_service.h \
+ adb/daemon/framebuffer_service.cpp \
+ adb/daemon/framebuffer_service.h \
+ adb/daemon/jdwp_service.cpp \
+ adb/daemon/main.cpp \
+ adb/daemon/restart_service.cpp \
+ adb/daemon/restart_service.h \
+ adb/daemon/services.cpp \
+ adb/daemon/shell_service.cpp \
+ adb/daemon/shell_service.h \
+ adb/daemon/usb_ffs.cpp \
+ adb/daemon/usb_legacy.cpp \
+ adb/daemon/usb.cpp \
+ adb/shell_service_protocol.cpp \
+ adb/adb.cpp \
+ adb/adb_io.cpp \
+ adb/adb_listeners.cpp \
+ adb/adb_trace.cpp \
+ adb/adb_unique_fd.cpp \
+ adb/adb_utils.cpp \
+ adb/fdevent/fdevent.cpp \
+ adb/fdevent/fdevent_epoll.cpp \
+ adb/services.cpp \
+ adb/sockets.cpp \
+ adb/socket_spec.cpp \
+ adb/sysdeps/errno.cpp \
+ adb/sysdeps/posix/network.cpp \
+ adb/sysdeps_unix.cpp \
+ adb/transport.cpp \
+ adb/transport_fd.cpp \
+ adb/transport_local.cpp \
+ adb/transport_usb.cpp \
+ adb/types.cpp \
+ diagnose_usb/diagnose_usb.cpp \
+ libasyncio/AsyncIO.cpp \
+
+SOURCES := $(foreach source, $(SOURCES), system/core/$(source))
+
+SOURCES += \
+ frameworks/native/libs/adbd_auth/adbd_auth.cpp
+
+CXXFLAGS += -std=gnu++20
+CPPFLAGS += -Isystem/coreinclude -Isystem/core/adb -Isystem/core/base/include -Idebian/out/system/core -Isystem/tools/mkbootimg/include/bootimg -Isystem/core/fs_mgr/include \
+ -Isystem/core/fs_mgr/include_fstab \
+ -DADB_VERSION='"$(DEB_VERSION)"' -D_GNU_SOURCE
+LDFLAGS += -Wl,-rpath='$$ORIGIN/../lib/android' -Wl,-rpath-link='$$ORIGIN/../lib/android' \
+ -lpthread -Ldebian/out/system/core -Ldebian/out/external/boringssl -lbase -lcrypto_utils -l:libcrypto.a -lcutils -llog -lresolv
+
+PAGE_SIZE ?= 4096
+
+CXXFLAGS += -UADB_HOST
+CXXFLAGS += -DADB_HOST=0
+CXXFLAGS += -DALLOW_ADBD_DISABLE_VERITY
+CXXFLAGS += -DALLOW_ADBD_NO_AUTH
+CXXFLAGS += -DPLATFORM_TOOLS_VERSION='"28.0.2"'
+CXXFLAGS += -Isystem/core/diagnose_usb/include
+CXXFLAGS += -Isystem/core/adb/daemon/include
+CXXFLAGS += -Isystem/core/adb/adbconnection/include
+CXXFLAGS += -Isystem/core/libasyncio/include
+CXXFLAGS += -Isystem/core/libcutils/include
+CXXFLAGS += -Isystem/core/libcrypto_utils/include
+CXXFLAGS += -Isystem/core/liblog/include/
+CXXFLAGS += -Isystem/core/libutils/include
+CXXFLAGS += -Iframeworks/native/libs/adbd_auth/include
+CXXFLAGS += -Wno-c++11-narrowing
+CXXFLAGS += -DPAGE_SIZE=$(PAGE_SIZE)
+
+
+# -latomic should be the last library specified
+# https://github.com/android/ndk/issues/589
+ifneq ($(filter armel mipsel,$(DEB_HOST_ARCH)),)
+ LDFLAGS += -latomic
+endif
+
+build: $(SOURCES)
+ mkdir --parents debian/out/system/core
+ $(CXX) $^ -o debian/out/system/core/adbd $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS)
+
+clean:
+ $(RM) debian/out/system/core/adbd
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/android-tools-adbd.service b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/android-tools-adbd.service
new file mode 100644
index 0000000000..ddf8d7f74e
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/android-tools-adbd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Android Debug Bridge
+ConditionPathExists=/var/usb-debugging-enabled
+Before=android-system.service
+
+[Service]
+Type=simple
+Restart=on-failure
+ExecStartPre=-/usr/bin/android-gadget-setup adb
+ExecStart=/usr/bin/adbd
+
+[Install]
+WantedBy=basic.target
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Add-riscv64-support.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Add-riscv64-support.patch
new file mode 100644
index 0000000000..9fd0fa792c
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Add-riscv64-support.patch
@@ -0,0 +1,653 @@
+From: Guo Ren <guoren@linux.alibaba.com>
+Date: Wed, 29 Jun 2022 16:46:46 +0800
+Subject: Add riscv64 support
+
+This patch contains the dwarf unwind support for 64bit risc-v.
+
+ * DwarfCfa.cpp (cfa_def_cfa_register): setup register if CFA_REG is
+ not setup for riscv64
+ * Elf.cpp (GetRelPc): convert offset to virtual address for riscv64.
+ * ElfInterface.cpp (GetVirtAddrFromOffset): New for riscv64.
+ * RegsRiscv64.cpp (StepIfSignalHandler): Fix signal frame check.
+ libunwindstack/include/unwindstack/
+ * ElfInterface.h (GetVirtAddrFromOffset): New for riscv64.
+ libunwindstack/tests/
+ * DwarfCfaTest.cpp (cfa_def_cfa_register): ok for riscv64.
+ * RegsStepIfSignalHandlerTest.cpp (riscv64_step_if_signal_handler): Fix
+ testcase for riscv64
+
+Test: Builds.
+Test: All unit tests pass.
+
+Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
+Signed-off-by: Lifang Xia <lifang_xia@linux.alibaba.com>
+Signed-off-by: Mao Han <han_mao@linux.alibaba.com>
+Change-Id: Ib21ddf23cc83f332af202df7bffcaceec16063e0
+---
+Upstream-Status: Pending
+
+ system/core/libunwindstack/Android.bp | 1 +
+ system/core/libunwindstack/Elf.cpp | 2 +
+ system/core/libunwindstack/Regs.cpp | 10 ++
+ system/core/libunwindstack/RegsRiscv64.cpp | 156 +++++++++++++++++++++
+ .../core/libunwindstack/include/unwindstack/Elf.h | 5 +
+ .../include/unwindstack/MachineRiscv64.h | 59 ++++++++
+ .../include/unwindstack/RegsGetLocal.h | 43 ++++++
+ .../include/unwindstack/RegsRiscv64.h | 59 ++++++++
+ .../include/unwindstack/UcontextRiscv64.h | 80 +++++++++++
+ .../include/unwindstack/UserRiscv64.h | 37 +++++
+ system/core/libunwindstack/tools/unwind.cpp | 3 +
+ .../core/libunwindstack/tools/unwind_symbols.cpp | 3 +
+ 12 files changed, 458 insertions(+)
+ create mode 100644 system/core/libunwindstack/RegsRiscv64.cpp
+ create mode 100644 system/core/libunwindstack/include/unwindstack/MachineRiscv64.h
+ create mode 100644 system/core/libunwindstack/include/unwindstack/RegsRiscv64.h
+ create mode 100644 system/core/libunwindstack/include/unwindstack/UcontextRiscv64.h
+ create mode 100644 system/core/libunwindstack/include/unwindstack/UserRiscv64.h
+
+diff --git a/system/core/libunwindstack/Android.bp b/system/core/libunwindstack/Android.bp
+index 3695f72..f1f9c68 100644
+--- a/system/core/libunwindstack/Android.bp
++++ b/system/core/libunwindstack/Android.bp
+@@ -70,6 +70,7 @@ cc_library {
+ "RegsArm64.cpp",
+ "RegsX86.cpp",
+ "RegsX86_64.cpp",
++ "RegsRiscv64.cpp",
+ "RegsMips.cpp",
+ "RegsMips64.cpp",
+ "Unwinder.cpp",
+diff --git a/system/core/libunwindstack/Elf.cpp b/system/core/libunwindstack/Elf.cpp
+index f01b092..3c2088b 100644
+--- a/system/core/libunwindstack/Elf.cpp
++++ b/system/core/libunwindstack/Elf.cpp
+@@ -290,6 +290,8 @@ ElfInterface* Elf::CreateInterfaceFromMemory(Memory* memory) {
+ arch_ = ARCH_X86_64;
+ } else if (e_machine == EM_MIPS) {
+ arch_ = ARCH_MIPS64;
++ } else if (e_machine == EM_RISCV) {
++ arch_ = ARCH_RISCV64;
+ } else {
+ // Unsupported.
+ ALOGI("64 bit elf that is neither aarch64 nor x86_64 nor mips64: e_machine = %d\n",
+diff --git a/system/core/libunwindstack/Regs.cpp b/system/core/libunwindstack/Regs.cpp
+index c7dec52..447a554 100644
+--- a/system/core/libunwindstack/Regs.cpp
++++ b/system/core/libunwindstack/Regs.cpp
+@@ -27,12 +27,14 @@
+ #include <unwindstack/RegsArm64.h>
+ #include <unwindstack/RegsMips.h>
+ #include <unwindstack/RegsMips64.h>
++#include <unwindstack/RegsRiscv64.h>
+ #include <unwindstack/RegsX86.h>
+ #include <unwindstack/RegsX86_64.h>
+ #include <unwindstack/UserArm.h>
+ #include <unwindstack/UserArm64.h>
+ #include <unwindstack/UserMips.h>
+ #include <unwindstack/UserMips64.h>
++#include <unwindstack/UserRiscv64.h>
+ #include <unwindstack/UserX86.h>
+ #include <unwindstack/UserX86_64.h>
+
+@@ -67,6 +69,8 @@ Regs* Regs::RemoteGet(pid_t pid) {
+ return RegsMips::Read(buffer.data());
+ case sizeof(mips64_user_regs):
+ return RegsMips64::Read(buffer.data());
++ case sizeof(riscv64_user_regs):
++ return RegsRiscv64::Read(buffer.data());
+ }
+ return nullptr;
+ }
+@@ -85,6 +89,8 @@ Regs* Regs::CreateFromUcontext(ArchEnum arch, void* ucontext) {
+ return RegsMips::CreateFromUcontext(ucontext);
+ case ARCH_MIPS64:
+ return RegsMips64::CreateFromUcontext(ucontext);
++ case ARCH_RISCV64:
++ return RegsRiscv64::CreateFromUcontext(ucontext);
+ case ARCH_UNKNOWN:
+ default:
+ return nullptr;
+@@ -104,6 +110,8 @@ ArchEnum Regs::CurrentArch() {
+ return ARCH_MIPS;
+ #elif defined(__mips__) && defined(__LP64__)
+ return ARCH_MIPS64;
++#elif defined(__riscv)
++ return ARCH_RISCV64;
+ #else
+ abort();
+ #endif
+@@ -123,6 +131,8 @@ Regs* Regs::CreateFromLocal() {
+ regs = new RegsMips();
+ #elif defined(__mips__) && defined(__LP64__)
+ regs = new RegsMips64();
++#elif defined(__riscv)
++ regs = new RegsRiscv64();
+ #else
+ abort();
+ #endif
+diff --git a/system/core/libunwindstack/RegsRiscv64.cpp b/system/core/libunwindstack/RegsRiscv64.cpp
+new file mode 100644
+index 0000000..887762a
+--- /dev/null
++++ b/system/core/libunwindstack/RegsRiscv64.cpp
+@@ -0,0 +1,156 @@
++/*
++ * Copyright (C) 2022 The Android Open Source Project
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++#include <stdint.h>
++#include <string.h>
++
++#include <functional>
++
++#include <unwindstack/Elf.h>
++#include <unwindstack/MachineRiscv64.h>
++#include <unwindstack/MapInfo.h>
++#include <unwindstack/Memory.h>
++#include <unwindstack/RegsRiscv64.h>
++#include <unwindstack/UcontextRiscv64.h>
++#include <unwindstack/UserRiscv64.h>
++
++namespace unwindstack {
++
++RegsRiscv64::RegsRiscv64()
++ : RegsImpl<uint64_t>(RISCV64_REG_MAX, Location(LOCATION_REGISTER, RISCV64_REG_RA)) {}
++
++ArchEnum RegsRiscv64::Arch() {
++ return ARCH_RISCV64;
++}
++
++uint64_t RegsRiscv64::pc() {
++ return regs_[RISCV64_REG_PC];
++}
++
++uint64_t RegsRiscv64::sp() {
++ return regs_[RISCV64_REG_SP];
++}
++
++void RegsRiscv64::set_pc(uint64_t pc) {
++ regs_[RISCV64_REG_PC] = pc;
++}
++
++void RegsRiscv64::set_sp(uint64_t sp) {
++ regs_[RISCV64_REG_SP] = sp;
++}
++
++uint64_t RegsRiscv64::GetPcAdjustment(uint64_t rel_pc, Elf*) {
++ if (rel_pc < 8) {
++ return 0;
++ }
++ // For now, just assume no compact branches
++ return 8;
++}
++
++bool RegsRiscv64::SetPcFromReturnAddress(Memory*) {
++ uint64_t ra = regs_[RISCV64_REG_RA];
++ if (regs_[RISCV64_REG_PC] == ra) {
++ return false;
++ }
++
++ regs_[RISCV64_REG_PC] = ra;
++ return true;
++}
++
++void RegsRiscv64::IterateRegisters(std::function<void(const char*, uint64_t)> fn) {
++ fn("pc", regs_[RISCV64_REG_PC]);
++ fn("ra", regs_[RISCV64_REG_RA]);
++ fn("sp", regs_[RISCV64_REG_SP]);
++ fn("gp", regs_[RISCV64_REG_GP]);
++ fn("tp", regs_[RISCV64_REG_TP]);
++ fn("t0", regs_[RISCV64_REG_T0]);
++ fn("t1", regs_[RISCV64_REG_T1]);
++ fn("t2", regs_[RISCV64_REG_T2]);
++ fn("t3", regs_[RISCV64_REG_T3]);
++ fn("t4", regs_[RISCV64_REG_T4]);
++ fn("t5", regs_[RISCV64_REG_T5]);
++ fn("t6", regs_[RISCV64_REG_T6]);
++ fn("s0", regs_[RISCV64_REG_S0]);
++ fn("s1", regs_[RISCV64_REG_S1]);
++ fn("s2", regs_[RISCV64_REG_S2]);
++ fn("s3", regs_[RISCV64_REG_S3]);
++ fn("s4", regs_[RISCV64_REG_S4]);
++ fn("s5", regs_[RISCV64_REG_S5]);
++ fn("s6", regs_[RISCV64_REG_S6]);
++ fn("s7", regs_[RISCV64_REG_S7]);
++ fn("s8", regs_[RISCV64_REG_S8]);
++ fn("s9", regs_[RISCV64_REG_S9]);
++ fn("s10", regs_[RISCV64_REG_S10]);
++ fn("s11", regs_[RISCV64_REG_S11]);
++ fn("a0", regs_[RISCV64_REG_A0]);
++ fn("a1", regs_[RISCV64_REG_A1]);
++ fn("a2", regs_[RISCV64_REG_A2]);
++ fn("a3", regs_[RISCV64_REG_A3]);
++ fn("a4", regs_[RISCV64_REG_A4]);
++ fn("a5", regs_[RISCV64_REG_A5]);
++ fn("a6", regs_[RISCV64_REG_A6]);
++ fn("a7", regs_[RISCV64_REG_A7]);
++}
++
++Regs* RegsRiscv64::Read(void* remote_data) {
++ riscv64_user_regs* user = reinterpret_cast<riscv64_user_regs*>(remote_data);
++
++ RegsRiscv64* regs = new RegsRiscv64();
++ memcpy(regs->RawData(), &user->regs[0], RISCV64_REG_MAX * sizeof(uint64_t));
++ // uint64_t* reg_data = reinterpret_cast<uint64_t*>(regs->RawData());
++ return regs;
++}
++
++Regs* RegsRiscv64::CreateFromUcontext(void* ucontext) {
++ riscv64_ucontext_t* riscv64_ucontext = reinterpret_cast<riscv64_ucontext_t*>(ucontext);
++
++ RegsRiscv64* regs = new RegsRiscv64();
++ memcpy(regs->RawData(), &riscv64_ucontext->uc_mcontext.__gregs[0],
++ RISCV64_REG_MAX * sizeof(uint64_t));
++ return regs;
++}
++
++bool RegsRiscv64::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) {
++ uint64_t data;
++ Memory* elf_memory = elf->memory();
++ // Read from elf memory since it is usually more expensive to read from
++ // process memory.
++ if (!elf_memory->ReadFully(elf_offset, &data, sizeof(data))) {
++ return false;
++ }
++ // Look for the kernel sigreturn function.
++ // __kernel_rt_sigreturn:
++ // li a7, __NR_rt_sigreturn
++ // scall
++
++ const uint8_t li_scall[] = {0x93, 0x08, 0xb0, 0x08, 0x73, 0x00, 0x00, 0x00};
++ if (memcmp(&data, &li_scall, 8) != 0) {
++ return false;
++ }
++
++ // SP + sizeof(siginfo_t) + uc_mcontext offset + PC offset.
++ if (!process_memory->ReadFully(regs_[RISCV64_REG_SP] + 0x80 + 0xb0 + 0x00, regs_.data(),
++ sizeof(uint64_t) * (RISCV64_REG_MAX))) {
++ return false;
++ }
++ return true;
++}
++
++Regs* RegsRiscv64::Clone() {
++ return new RegsRiscv64(*this);
++}
++
++} // namespace unwindstack
+diff --git a/system/core/libunwindstack/include/unwindstack/Elf.h b/system/core/libunwindstack/include/unwindstack/Elf.h
+index 472ed92..88fa0ff 100644
+--- a/system/core/libunwindstack/include/unwindstack/Elf.h
++++ b/system/core/libunwindstack/include/unwindstack/Elf.h
+@@ -32,6 +32,10 @@
+ #define EM_AARCH64 183
+ #endif
+
++#if !defined(EM_RISCV)
++#define EM_RISCV 243
++#endif
++
+ namespace unwindstack {
+
+ // Forward declaration.
+@@ -46,6 +50,7 @@ enum ArchEnum : uint8_t {
+ ARCH_X86_64,
+ ARCH_MIPS,
+ ARCH_MIPS64,
++ ARCH_RISCV64,
+ };
+
+ class Elf {
+diff --git a/system/core/libunwindstack/include/unwindstack/MachineRiscv64.h b/system/core/libunwindstack/include/unwindstack/MachineRiscv64.h
+new file mode 100644
+index 0000000..397e680
+--- /dev/null
++++ b/system/core/libunwindstack/include/unwindstack/MachineRiscv64.h
+@@ -0,0 +1,59 @@
++/*
++ * Copyright (C) 2022 The Android Open Source Project
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++#pragma once
++
++#include <stdint.h>
++
++namespace unwindstack {
++
++enum Riscv64Reg : uint16_t {
++ RISCV64_REG_PC,
++ RISCV64_REG_RA,
++ RISCV64_REG_SP,
++ RISCV64_REG_GP,
++ RISCV64_REG_TP,
++ RISCV64_REG_T0,
++ RISCV64_REG_T1,
++ RISCV64_REG_T2,
++ RISCV64_REG_S0,
++ RISCV64_REG_S1,
++ RISCV64_REG_A0,
++ RISCV64_REG_A1,
++ RISCV64_REG_A2,
++ RISCV64_REG_A3,
++ RISCV64_REG_A4,
++ RISCV64_REG_A5,
++ RISCV64_REG_A6,
++ RISCV64_REG_A7,
++ RISCV64_REG_S2,
++ RISCV64_REG_S3,
++ RISCV64_REG_S4,
++ RISCV64_REG_S5,
++ RISCV64_REG_S6,
++ RISCV64_REG_S7,
++ RISCV64_REG_S8,
++ RISCV64_REG_S9,
++ RISCV64_REG_S10,
++ RISCV64_REG_S11,
++ RISCV64_REG_T3,
++ RISCV64_REG_T4,
++ RISCV64_REG_T5,
++ RISCV64_REG_T6,
++ RISCV64_REG_MAX,
++};
++
++} // namespace unwindstack
+diff --git a/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h b/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
+index f0b5e3a..698eba2 100644
+--- a/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
++++ b/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
+@@ -81,6 +81,49 @@ inline __attribute__((__always_inline__)) void AsmGetRegs(void* reg_data) {
+ : "x12", "x13", "memory");
+ }
+
++#elif defined(__riscv)
++
++inline __attribute__((__always_inline__)) void AsmGetRegs(void* reg_data) {
++ asm volatile(
++ "1:\n"
++ "sd ra, 8(%[base])\n"
++ "sd sp, 16(%[base])\n"
++ "sd gp, 24(%[base])\n"
++ "sd tp, 32(%[base])\n"
++ "sd t0, 40(%[base])\n"
++ "sd t1, 48(%[base])\n"
++ "sd t2, 56(%[base])\n"
++ "sd s0, 64(%[base])\n"
++ "sd s1, 72(%[base])\n"
++ "sd a0, 80(%[base])\n"
++ "sd a1, 88(%[base])\n"
++ "sd a2, 96(%[base])\n"
++ "sd a3, 104(%[base])\n"
++ "sd a4, 112(%[base])\n"
++ "sd a5, 120(%[base])\n"
++ "sd a6, 128(%[base])\n"
++ "sd a7, 136(%[base])\n"
++ "sd s2, 144(%[base])\n"
++ "sd s3, 152(%[base])\n"
++ "sd s4, 160(%[base])\n"
++ "sd s5, 168(%[base])\n"
++ "sd s6, 176(%[base])\n"
++ "sd s7, 184(%[base])\n"
++ "sd s8, 192(%[base])\n"
++ "sd s9, 200(%[base])\n"
++ "sd s10, 208(%[base])\n"
++ "sd s11, 216(%[base])\n"
++ "sd t3, 224(%[base])\n"
++ "sd t4, 232(%[base])\n"
++ "sd t5, 240(%[base])\n"
++ "sd t6, 248(%[base])\n"
++ "la t1, 1b\n"
++ "sd t1, 0(%[base])\n"
++ : [base] "+r"(reg_data)
++ :
++ : "t1", "memory");
++}
++
+ #elif defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+
+ extern "C" void AsmGetRegs(void* regs);
+diff --git a/system/core/libunwindstack/include/unwindstack/RegsRiscv64.h b/system/core/libunwindstack/include/unwindstack/RegsRiscv64.h
+new file mode 100644
+index 0000000..eb09397
+--- /dev/null
++++ b/system/core/libunwindstack/include/unwindstack/RegsRiscv64.h
+@@ -0,0 +1,59 @@
++/*
++ * Copyright (C) 2022 The Android Open Source Project
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++#pragma once
++
++#include <stdint.h>
++
++#include <functional>
++
++#include <unwindstack/Elf.h>
++#include <unwindstack/Regs.h>
++
++namespace unwindstack {
++
++// Forward declarations.
++class Memory;
++
++class RegsRiscv64 : public RegsImpl<uint64_t> {
++ public:
++ RegsRiscv64();
++ virtual ~RegsRiscv64() = default;
++
++ ArchEnum Arch() override final;
++
++ uint64_t GetPcAdjustment(uint64_t rel_pc, Elf* elf) override;
++
++ bool SetPcFromReturnAddress(Memory* process_memory) override;
++
++ bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
++
++ void IterateRegisters(std::function<void(const char*, uint64_t)>) override final;
++
++ uint64_t pc() override;
++ uint64_t sp() override;
++
++ void set_pc(uint64_t pc) override;
++ void set_sp(uint64_t sp) override;
++
++ Regs* Clone() override final;
++
++ static Regs* Read(void* data);
++
++ static Regs* CreateFromUcontext(void* ucontext);
++};
++
++} // namespace unwindstack
+diff --git a/system/core/libunwindstack/include/unwindstack/UcontextRiscv64.h b/system/core/libunwindstack/include/unwindstack/UcontextRiscv64.h
+new file mode 100644
+index 0000000..c6c82b1
+--- /dev/null
++++ b/system/core/libunwindstack/include/unwindstack/UcontextRiscv64.h
+@@ -0,0 +1,80 @@
++/*
++ * Copyright (C) 2014 The Android Open Source Project
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * * Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * * Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
++ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++#pragma once
++
++#include <sys/cdefs.h>
++
++typedef uint64_t __riscv_mc_gp_state[32]; // unsigned long
++
++struct __riscv_mc_f_ext_state {
++ uint32_t __f[32];
++ uint32_t __fcsr;
++};
++
++struct __riscv_mc_d_ext_state {
++ uint64_t __f[32];
++ uint32_t __fcsr;
++};
++
++struct __riscv_mc_q_ext_state {
++ uint64_t __f[64] __attribute__((__aligned__(16)));
++ uint32_t __fcsr;
++ uint32_t __reserved[3];
++};
++
++union __riscv_mc_fp_state {
++ struct __riscv_mc_f_ext_state __f;
++ struct __riscv_mc_d_ext_state __d;
++ struct __riscv_mc_q_ext_state __q;
++};
++
++struct __riscv_stack_t {
++ uint64_t ss_sp;
++ int32_t ss_flags;
++ uint64_t ss_size;
++};
++
++struct riscv64_sigset_t {
++ uint64_t sig; // unsigned long
++};
++
++struct riscv64_mcontext_t {
++ __riscv_mc_gp_state __gregs;
++ union __riscv_mc_fp_state __fpregs;
++};
++
++struct riscv64_ucontext_t {
++ uint64_t uc_flags; // unsigned long
++ struct riscv64_ucontext_t* uc_link;
++ __riscv_stack_t uc_stack;
++ riscv64_sigset_t uc_sigmask;
++ /* The kernel adds extra padding here to allow sigset_t to grow. */
++ int8_t __padding[128 - sizeof(riscv64_sigset_t)]; // char
++ riscv64_mcontext_t uc_mcontext;
++};
+diff --git a/system/core/libunwindstack/include/unwindstack/UserRiscv64.h b/system/core/libunwindstack/include/unwindstack/UserRiscv64.h
+new file mode 100644
+index 0000000..1e91228
+--- /dev/null
++++ b/system/core/libunwindstack/include/unwindstack/UserRiscv64.h
+@@ -0,0 +1,37 @@
++/*
++ * Copyright (C) 2016 The Android Open Source Project
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * * Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * * Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
++ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++#pragma once
++
++namespace unwindstack {
++
++struct riscv64_user_regs {
++ uint64_t regs[32];
++};
++
++} // namespace unwindstack
+diff --git a/system/core/libunwindstack/tools/unwind.cpp b/system/core/libunwindstack/tools/unwind.cpp
+index 1812e50..ae20891 100644
+--- a/system/core/libunwindstack/tools/unwind.cpp
++++ b/system/core/libunwindstack/tools/unwind.cpp
+@@ -83,6 +83,9 @@ void DoUnwind(pid_t pid) {
+ case unwindstack::ARCH_MIPS64:
+ printf("mips64");
+ break;
++ case unwindstack::ARCH_RISCV64:
++ printf("riscv64");
++ break;
+ default:
+ printf("unknown\n");
+ return;
+diff --git a/system/core/libunwindstack/tools/unwind_symbols.cpp b/system/core/libunwindstack/tools/unwind_symbols.cpp
+index 8df2284..976db56 100644
+--- a/system/core/libunwindstack/tools/unwind_symbols.cpp
++++ b/system/core/libunwindstack/tools/unwind_symbols.cpp
+@@ -77,6 +77,9 @@ int main(int argc, char** argv) {
+ case EM_AARCH64:
+ printf("ABI: arm64\n");
+ break;
++ case EM_RISCV:
++ printf("ABI: riscv64\n");
++ break;
+ case EM_386:
+ printf("ABI: x86\n");
+ break;
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Added-missing-headers.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Added-missing-headers.patch
new file mode 100644
index 0000000000..d827d7d3c2
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Added-missing-headers.patch
@@ -0,0 +1,46 @@
+Upstream-Status: Pending
+
+Description: Added missing headers causing compile errors
+Author: Umang Parmar <umangjparmar@gmail.com>
+Forwarded: not-needed
+
+--- a/system/core/adb/sysdeps/posix/network.cpp
++++ b/system/core/adb/sysdeps/posix/network.cpp
+@@ -22,6 +22,7 @@
+ #include <sys/socket.h>
+
+ #include <string>
++#include <cstring>
+
+ #include <android-base/logging.h>
+ #include <android-base/stringprintf.h>
+--- a/system/core/base/file.cpp
++++ b/system/core/base/file.cpp
+@@ -26,6 +26,7 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <cstring>
+
+ #include <memory>
+ #include <mutex>
+--- a/system/core/libbacktrace/BacktraceMap.cpp
++++ b/system/core/libbacktrace/BacktraceMap.cpp
+@@ -21,6 +21,7 @@
+ #include <stdint.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <algorithm>
+
+ #include <log/log.h>
+
+--- a/system/core/libbacktrace/UnwindStackMap.cpp
++++ b/system/core/libbacktrace/UnwindStackMap.cpp
+@@ -20,6 +20,7 @@
+
+ #include <string>
+ #include <vector>
++#include <algorithm>
+
+ #include <backtrace/BacktraceMap.h>
+ #include <unwindstack/Elf.h>
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Nonnull.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Nonnull.patch
new file mode 100644
index 0000000000..54bd52c61a
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Nonnull.patch
@@ -0,0 +1,22 @@
+Upstream-Status: Pending
+
+Description: Bring Clang's _Nonnull keyword to GCC
+Author: Kai-Chung Yan
+Forwarded: not-needed
+--- a/system/core/adb/sysdeps.h
++++ b/system/core/adb/sysdeps.h
+@@ -40,11 +40,12 @@
+ #include "sysdeps/network.h"
+ #include "sysdeps/stat.h"
+
++#define _Nonnull
++#define _Nullable
++
+ #ifdef _WIN32
+
+ // Clang-only nullability specifiers
+-#define _Nonnull
+-#define _Nullable
+
+ #include <ctype.h>
+ #include <direct.h>
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Vector-cast.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Vector-cast.patch
new file mode 100644
index 0000000000..b2881e0213
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/Vector-cast.patch
@@ -0,0 +1,16 @@
+Upstream-Status: Pending
+
+Description: Fix the weird error by GCC7 that fails to match the correct parent method.
+Author: Kai-Chung Yan
+Forwarded: not-needed
+--- a/system/core/libutils/include/utils/Vector.h
++++ b/system/core/libutils/include/utils/Vector.h
+@@ -256,7 +256,7 @@
+
+ template<class TYPE> inline
+ const Vector<TYPE>& Vector<TYPE>::operator = (const Vector<TYPE>& rhs) const {
+- VectorImpl::operator = (static_cast<const VectorImpl&>(rhs));
++ VectorImpl::operator = (rhs);
+ return *this;
+ }
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/add-missing-headers.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/add-missing-headers.patch
new file mode 100644
index 0000000000..681d2c6553
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/add-missing-headers.patch
@@ -0,0 +1,43 @@
+Upstream-Status: Pending
+
+Forwarded: not-needed
+--- a/system/core/fs_mgr/liblp/reader.cpp
++++ b/system/core/fs_mgr/liblp/reader.cpp
+@@ -22,6 +22,7 @@
+ #include <unistd.h>
+
+ #include <functional>
++#include <cstring>
+
+ #include <android-base/file.h>
+ #include <android-base/unique_fd.h>
+--- a/system/core/fs_mgr/liblp/writer.cpp
++++ b/system/core/fs_mgr/liblp/writer.cpp
+@@ -21,6 +21,7 @@
+ #include <unistd.h>
+
+ #include <string>
++#include <cstring>
+
+ #include <android-base/file.h>
+ #include <android-base/unique_fd.h>
+--- a/system/core/liblog/logger_write.cpp
++++ b/system/core/liblog/logger_write.cpp
+@@ -27,6 +27,7 @@
+ #include <android/set_abort_message.h>
+ #endif
+
++#include <mutex>
+ #include <shared_mutex>
+
+ #include <android-base/errno_restorer.h>
+--- a/system/core/libziparchive/zip_archive_stream_entry.cc
++++ b/system/core/libziparchive/zip_archive_stream_entry.cc
+@@ -23,6 +23,7 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
++#include <limits>
+ #include <memory>
+ #include <vector>
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/20150704-CVE-2015-3239_dwarf_i.h.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/20150704-CVE-2015-3239_dwarf_i.h.patch
new file mode 100644
index 0000000000..e8e216161e
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/20150704-CVE-2015-3239_dwarf_i.h.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Pending
+
+Description: Off-by-one error in the dwarf_to_unw_regnum function in include/dwarf_i.h in
+libunwind 1.1 allows local users to have unspecified impact via invalid dwarf opcodes.
+--- a/external/libunwind/include/dwarf_i.h
++++ b/external/libunwind/include/dwarf_i.h
+@@ -20,7 +20,7 @@
+ extern const uint8_t dwarf_to_unw_regnum_map[DWARF_REGNUM_MAP_LENGTH];
+ /* REG is evaluated multiple times; it better be side-effects free! */
+ # define dwarf_to_unw_regnum(reg) \
+- (((reg) <= DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0)
++ (((reg) < DWARF_REGNUM_MAP_LENGTH) ? dwarf_to_unw_regnum_map[reg] : 0)
+ #endif
+
+ #ifdef UNW_LOCAL_ONLY
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/legacy_built-in_sync_functions.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/legacy_built-in_sync_functions.patch
new file mode 100644
index 0000000000..a04a887c68
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/legacy_built-in_sync_functions.patch
@@ -0,0 +1,28 @@
+Upstream-Status: Pending
+
+Description: Replace the legacy __sync built-in functions with __atomic ones
+ libunwind uses the built-in __sync_* functions which are deprecated by GCC and
+ should be replaced by __atomic_* ones. See the official manuals [1].
+ .
+ The legacy __sync functions do not require to specify the memory order but
+ __atomic ones do, so we choose the strongest one: __ATOMIC_SEQ_CST.
+ .
+ We do this because __sync_fetch_and_add() is not supported on armel.
+ .
+ [1]: https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html
+Author: Kai-Chung Yan ()
+Last-Update: 2016-10-04
+Forwarded: not-needed
+--- a/external/libunwind/include/libunwind_i.h
++++ b/external/libunwind/include/libunwind_i.h
+@@ -155,8 +155,8 @@ cmpxchg_ptr (void *addr, void *old, void
+ u.vp = addr;
+ return __sync_bool_compare_and_swap(u.vlp, (long) old, (long) new);
+ }
+-# define fetch_and_add1(_ptr) __sync_fetch_and_add(_ptr, 1)
+-# define fetch_and_add(_ptr, value) __sync_fetch_and_add(_ptr, value)
++# define fetch_and_add1(_ptr) __atomic_fetch_add(_ptr, 1, __ATOMIC_SEQ_CST)
++# define fetch_and_add(_ptr, value) __atomic_fetch_add(_ptr, value, __ATOMIC_SEQ_CST)
+ # define HAVE_CMPXCHG
+ # define HAVE_FETCH_AND_ADD
+ #endif
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/user_pt_regs.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/user_pt_regs.patch
new file mode 100644
index 0000000000..35df944d1c
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/external/libunwind/user_pt_regs.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+Author: Kai-Chung Yan <seamlikok@gmail.com>
+Last-Update: 2016-08-24
+Description: Manual definition of struct user_pt_regs
+ On ARM64, libunwind uses struct user_pt_regs which is not defined in
+ anywhere, which causes FTBFS.
+Forwarded: not-needed
+--- a/external/libunwind/src/ptrace/_UPT_access_reg.c
++++ b/external/libunwind/src/ptrace/_UPT_access_reg.c
+@@ -26,6 +26,15 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE
+
+ #include "_UPT_internal.h"
+
++#if defined(__aarch64__)
++ struct user_pt_regs {
++ __u64 regs[31];
++ __u64 sp;
++ __u64 pc;
++ __u64 pstate;
++ };
++#endif
++
+ #if UNW_TARGET_IA64
+ # include <elf.h>
+ # ifdef HAVE_ASM_PTRACE_OFFSETS_H
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-attribute-issue-with-gcc.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-attribute-issue-with-gcc.patch
new file mode 100644
index 0000000000..441031f536
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-attribute-issue-with-gcc.patch
@@ -0,0 +1,19 @@
+Upstream-Status: Pending
+
+Description: remove clang-ism
+Forwarded: not-needed
+
+--- a/system/core/base/include/android-base/logging.h
++++ b/system/core/base/include/android-base/logging.h
+@@ -451,10 +451,7 @@
+ // -Wno-user-defined-warnings to CPPFLAGS.
+ #pragma clang diagnostic push
+ #pragma clang diagnostic ignored "-Wgcc-compat"
+-#define OSTREAM_STRING_POINTER_USAGE_WARNING \
+- __attribute__((diagnose_if(true, "Unexpected logging of string pointer", "warning")))
+-inline OSTREAM_STRING_POINTER_USAGE_WARNING
+-std::ostream& operator<<(std::ostream& stream, const std::string* string_pointer) {
++inline std::ostream& operator<<(std::ostream& stream, const std::string* string_pointer) {
+ return stream << static_cast<const void*>(string_pointer);
+ }
+ #pragma clang diagnostic pop
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-build-on-non-x86.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-build-on-non-x86.patch
new file mode 100644
index 0000000000..b1caa60c4a
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-build-on-non-x86.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+Description: non-x86 arches do not have PAGE_SIZE
+Forwarded: not-needed
+--- a/system/core/base/cmsg.cpp
++++ b/system/core/base/cmsg.cpp
+@@ -33,7 +33,8 @@
+ const std::vector<int>& fds) {
+ size_t cmsg_space = CMSG_SPACE(sizeof(int) * fds.size());
+ size_t cmsg_len = CMSG_LEN(sizeof(int) * fds.size());
+- if (cmsg_space >= PAGE_SIZE) {
++ size_t pagesize = static_cast<size_t>(sysconf(_SC_PAGE_SIZE));
++ if (cmsg_space >= pagesize) {
+ errno = ENOMEM;
+ return -1;
+ }
+@@ -75,7 +76,8 @@
+ fds->clear();
+
+ size_t cmsg_space = CMSG_SPACE(sizeof(int) * max_fds);
+- if (cmsg_space >= PAGE_SIZE) {
++ size_t pagesize = static_cast<size_t>(sysconf(_SC_PAGE_SIZE));
++ if (cmsg_space >= pagesize) {
+ errno = ENOMEM;
+ return -1;
+ }
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-gettid-exception-declaration.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-gettid-exception-declaration.patch
new file mode 100644
index 0000000000..5f24d0b4a0
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-gettid-exception-declaration.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+Description: get libcutils building
+Forwarded: not-needed
+--- a/system/core/libcutils/include/cutils/threads.h
++++ b/system/core/libcutils/include/cutils/threads.h
+@@ -33,7 +33,7 @@
+ // Deprecated: use android::base::GetThreadId instead, which doesn't truncate on Mac/Windows.
+ //
+
+-extern pid_t gettid();
++extern pid_t gettid(void) __THROW;
+
+ //
+ // Deprecated: use `_Thread_local` in C or `thread_local` in C++.
+--- a/system/core/libcutils/threads.cpp
++++ b/system/core/libcutils/threads.cpp
+@@ -33,7 +33,7 @@
+
+ // No definition needed for Android because we'll just pick up bionic's copy.
+ #ifndef __ANDROID__
+-pid_t gettid() {
++pid_t gettid(void) __THROW {
+ #if defined(__APPLE__)
+ uint64_t tid;
+ pthread_threadid_np(NULL, &tid);
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-standard-namespace-errors.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-standard-namespace-errors.patch
new file mode 100644
index 0000000000..4380308f13
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/fix-standard-namespace-errors.patch
@@ -0,0 +1,24 @@
+Upstream-Status: Pending
+
+Description: Add missing 'std::' scope identifiers.
+Forwarded: not-needed
+--- a/system/core/libunwindstack/include/unwindstack/DwarfMemory.h
++++ b/system/core/libunwindstack/include/unwindstack/DwarfMemory.h
+@@ -29,7 +29,7 @@
+ DwarfMemory(Memory* memory) : memory_(memory) {}
+ virtual ~DwarfMemory() = default;
+
+- bool ReadBytes(void* dst, size_t num_bytes);
++ bool ReadBytes(void* dst, std::size_t num_bytes);
+
+ template <typename SignedType>
+ bool ReadSigned(uint64_t* value);
+@@ -39,7 +39,7 @@
+ bool ReadSLEB128(int64_t* value);
+
+ template <typename AddressType>
+- size_t GetEncodedSize(uint8_t encoding);
++ std::size_t GetEncodedSize(uint8_t encoding);
+
+ bool AdjustEncodedValue(uint8_t encoding, uint64_t* value);
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/hard-code-build-number.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/hard-code-build-number.patch
new file mode 100644
index 0000000000..4d7323bd2f
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/hard-code-build-number.patch
@@ -0,0 +1,46 @@
+Upstream-Status: Pending
+
+Description: just hard code rather than deal with circular deps
+Forwarded: not-needed
+--- a/system/core/adb/adb.cpp
++++ b/system/core/adb/adb.cpp
+@@ -44,8 +44,6 @@
+ #include <android-base/parsenetaddress.h>
+ #include <android-base/stringprintf.h>
+ #include <android-base/strings.h>
+-#include <build/version.h>
+-#include <platform_tools_version.h>
+
+ #include "adb_auth.h"
+ #include "adb_io.h"
+@@ -69,7 +67,7 @@
+ "Version %s-%s\n"
+ "Installed as %s\n",
+ ADB_VERSION_MAJOR, ADB_VERSION_MINOR, ADB_SERVER_VERSION,
+- PLATFORM_TOOLS_VERSION, android::build::GetBuildNumber().c_str(),
++ PLATFORM_TOOLS_VERSION, "debian",
+ android::base::GetExecutablePath().c_str());
+ }
+
+--- a/system/core/fastboot/fastboot.cpp
++++ b/system/core/fastboot/fastboot.cpp
+@@ -59,10 +59,8 @@
+ #include <android-base/stringprintf.h>
+ #include <android-base/strings.h>
+ #include <android-base/unique_fd.h>
+-#include <build/version.h>
+ #include <libavb/libavb.h>
+ #include <liblp/liblp.h>
+-#include <platform_tools_version.h>
+ #include <sparse/sparse.h>
+ #include <ziparchive/zip_archive.h>
+
+@@ -1680,7 +1678,7 @@
+ setvbuf(stdout, nullptr, _IONBF, 0);
+ setvbuf(stderr, nullptr, _IONBF, 0);
+ } else if (name == "version") {
+- fprintf(stdout, "fastboot version %s-%s\n", PLATFORM_TOOLS_VERSION, android::build::GetBuildNumber().c_str());
++ fprintf(stdout, "fastboot version %s-%s\n", PLATFORM_TOOLS_VERSION, "debian");
+ fprintf(stdout, "Installed as %s\n", android::base::GetExecutablePath().c_str());
+ return 0;
+ #if !defined(_WIN32)
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/libusb-header-path.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/libusb-header-path.patch
new file mode 100644
index 0000000000..122bd70e7d
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/libusb-header-path.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Pending
+
+Description: libusb.h comes from different location
+Author: Umang Parmar <umangjparmar@gmail.com>
+Forwarded: not-needed
+Last-Update: 2018-05-26
+
+--- a/system/core/adb/client/usb_libusb.cpp
++++ b/system/core/adb/client/usb_libusb.cpp
+@@ -30,7 +30,7 @@
+ #include <thread>
+ #include <unordered_map>
+
+-#include <libusb/libusb.h>
++#include <libusb-1.0/libusb.h>
+
+ #include <android-base/file.h>
+ #include <android-base/logging.h>
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/move-log-file-to-proper-dir.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/move-log-file-to-proper-dir.patch
new file mode 100644
index 0000000000..e8494ab433
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/move-log-file-to-proper-dir.patch
@@ -0,0 +1,20 @@
+Upstream-Status: Pending
+
+Description: Update log file directory.
+Author: Umang Parmar <umangjparmar@gmail.com>
+Last Updated: 2018-05-17
+
+--- a/system/core/adb/adb_utils.cpp
++++ b/system/core/adb/adb_utils.cpp
+@@ -339,6 +339,11 @@
+
+ return temp_path_utf8 + log_name;
+ #else
++ std::string log_dir = android::base::StringPrintf("/run/user/%u/adb.log", getuid());
++ struct stat st = {0};
++ if (stat(log_dir.c_str(), &st) == 0) {
++ return log_dir;
++ }
+ const char* tmp_dir = getenv("TMPDIR");
+ if (tmp_dir == nullptr) tmp_dir = "/tmp";
+ return android::base::StringPrintf("%s/adb.%u.log", tmp_dir, getuid());
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/simg_dump-python3.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/simg_dump-python3.patch
new file mode 100644
index 0000000000..6664dc2aa5
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/simg_dump-python3.patch
@@ -0,0 +1,64 @@
+Description: Port simg_dump to Python 3.
+Author: Antonio Russo <antonio.e.russo@gmail.com>
+Forwarded: not-needed
+Last-Update: 2019-01-05
+Origin: https://bugs.debian.org/945646
+
+---
+Upstream-Status: Pending
+
+Index: android-platform-tools/system/core/libsparse/simg_dump.py
+===================================================================
+--- android-platform-tools.orig/system/core/libsparse/simg_dump.py
++++ android-platform-tools/system/core/libsparse/simg_dump.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#! /usr/bin/env python3
+
+ # Copyright (C) 2012 The Android Open Source Project
+ #
+@@ -14,7 +14,7 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
+-from __future__ import print_function
++
+ import csv
+ import getopt
+ import hashlib
+@@ -47,7 +47,7 @@ def main():
+ opts, args = getopt.getopt(sys.argv[1:],
+ "vsc:",
+ ["verbose", "showhash", "csvfile"])
+- except getopt.GetoptError, e:
++ except getopt.GetoptError as e:
+ print(e)
+ usage(me)
+ for o, a in opts:
+@@ -66,7 +66,7 @@ def main():
+ usage(me)
+
+ if csvfilename:
+- csvfile = open(csvfilename, "wb")
++ csvfile = open(csvfilename, "w", newline='')
+ csvwriter = csv.writer(csvfile)
+
+ output = verbose or csvfilename or showhash
+@@ -121,7 +121,7 @@ def main():
+ "output offset", "output blocks", "type", "hash"])
+
+ offset = 0
+- for i in xrange(1, total_chunks + 1):
++ for i in range(1, total_chunks + 1):
+ header_bin = FH.read(12)
+ header = struct.unpack("<2H2I", header_bin)
+ chunk_type = header[0]
+@@ -160,7 +160,7 @@ def main():
+ if showhash:
+ h = hashlib.sha1()
+ data = fill_bin * (blk_sz / 4);
+- for block in xrange(chunk_sz):
++ for block in range(chunk_sz):
+ h.update(data)
+ curhash = h.hexdigest()
+ elif chunk_type == 0xCAC3:
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/stdatomic.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/stdatomic.patch
new file mode 100644
index 0000000000..e11f3cc783
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/stdatomic.patch
@@ -0,0 +1,66 @@
+Upstream-Status: Pending
+
+Description: Fix incompatibility between <stdatomic.h> and <atomic>
+ This 2 headers combined will cause errors for both GCC and Clang. This patch
+ makes sure only one of them is present at any time.
+Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932
+Bug: https://reviews.llvm.org/D45470
+--- a/system/core/libcutils/include/cutils/trace.h
++++ b/system/core/libcutils/include/cutils/trace.h
+@@ -18,7 +18,14 @@
+ #define _LIBS_CUTILS_TRACE_H
+
+ #include <inttypes.h>
++#ifdef __cplusplus
++#include <atomic>
++using std::atomic_bool;
++using std::atomic_load_explicit;
++using std::memory_order_acquire;
++#else
+ #include <stdatomic.h>
++#endif
+ #include <stdbool.h>
+ #include <stdint.h>
+ #include <stdio.h>
+--- a/system/core/libcutils/include/cutils/atomic.h
++++ b/system/core/libcutils/include/cutils/atomic.h
+@@ -19,7 +19,23 @@
+
+ #include <stdint.h>
+ #include <sys/types.h>
++#ifdef __cplusplus
++#include <atomic>
++using std::atomic_compare_exchange_strong_explicit;
++using std::atomic_fetch_add_explicit;
++using std::atomic_fetch_or_explicit;
++using std::atomic_fetch_sub_explicit;
++using std::atomic_int_least32_t;
++using std::atomic_load_explicit;
++using std::atomic_store_explicit;
++using std::atomic_thread_fence;
++using std::memory_order::memory_order_acquire;
++using std::memory_order::memory_order_relaxed;
++using std::memory_order::memory_order_release;
++using std::memory_order::memory_order_seq_cst;
++#else
+ #include <stdatomic.h>
++#endif
+
+ #ifndef ANDROID_ATOMIC_INLINE
+ #define ANDROID_ATOMIC_INLINE static inline
+--- a/system/core/liblog/logger.h
++++ b/system/core/liblog/logger.h
+@@ -16,7 +16,13 @@
+
+ #pragma once
+
++#ifdef __cplusplus
++#include <atomic>
++using std::atomic_int;
++using std::atomic_uintptr_t;
++#else
+ #include <stdatomic.h>
++#endif
+ #include <sys/cdefs.h>
+
+ #include <log/log.h>
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/stub-out-fastdeploy.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/stub-out-fastdeploy.patch
new file mode 100644
index 0000000000..d86ef230f7
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/stub-out-fastdeploy.patch
@@ -0,0 +1,95 @@
+Upstream-Status: Pending
+
+Description: Defer packaging fastdeploy with adb for 29.x.x tags.
+Forwarded: not-needed
+--- a/system/core/adb/client/commandline.cpp
++++ b/system/core/adb/client/commandline.cpp
+@@ -59,7 +59,6 @@
+ #include "bugreport.h"
+ #include "client/file_sync_client.h"
+ #include "commandline.h"
+-#include "fastdeploy.h"
+ #include "services.h"
+ #include "shell_protocol.h"
+ #include "sysdeps/chrono.h"
+--- a/system/core/adb/client/adb_install.cpp
++++ b/system/core/adb/client/adb_install.cpp
+@@ -35,7 +35,6 @@
+ #include "adb_utils.h"
+ #include "client/file_sync_client.h"
+ #include "commandline.h"
+-#include "fastdeploy.h"
+
+ static constexpr int kFastDeployMinApi = 24;
+
+@@ -167,14 +166,6 @@
+ }
+
+ if (use_fastdeploy) {
+- auto metadata = extract_metadata(file);
+- if (metadata.has_value()) {
+- // pass all but 1st (command) and last (apk path) parameters through to pm for
+- // session creation
+- std::vector<const char*> pm_args{argv + 1, argv + argc - 1};
+- auto patchFd = install_patch(pm_args.size(), pm_args.data());
+- return stream_patch(file, std::move(metadata.value()), std::move(patchFd));
+- }
+ }
+
+ struct stat sb;
+@@ -267,16 +258,6 @@
+ argv[last_apk] = apk_dest.c_str(); /* destination name, not source location */
+
+ if (use_fastdeploy) {
+- auto metadata = extract_metadata(apk_file[0]);
+- if (metadata.has_value()) {
+- auto patchFd = apply_patch_on_device(apk_dest.c_str());
+- int status = stream_patch(apk_file[0], std::move(metadata.value()), std::move(patchFd));
+-
+- result = pm_command(argc, argv);
+- delete_device_file(apk_dest);
+-
+- return status;
+- }
+ }
+
+ if (do_sync_push(apk_file, apk_dest.c_str(), false)) {
+@@ -292,7 +273,6 @@
+ InstallMode installMode = INSTALL_DEFAULT;
+ bool use_fastdeploy = false;
+ bool is_reinstall = false;
+- FastDeploy_AgentUpdateStrategy agent_update_strategy = FastDeploy_AgentUpdateDifferentVersion;
+
+ for (int i = 1; i < argc; i++) {
+ if (!strcmp(argv[i], "--streaming")) {
+@@ -313,13 +293,10 @@
+ use_fastdeploy = false;
+ } else if (!strcmp(argv[i], "--force-agent")) {
+ processedArgIndicies.push_back(i);
+- agent_update_strategy = FastDeploy_AgentUpdateAlways;
+ } else if (!strcmp(argv[i], "--date-check-agent")) {
+ processedArgIndicies.push_back(i);
+- agent_update_strategy = FastDeploy_AgentUpdateNewerTimeStamp;
+ } else if (!strcmp(argv[i], "--version-check-agent")) {
+ processedArgIndicies.push_back(i);
+- agent_update_strategy = FastDeploy_AgentUpdateDifferentVersion;
+ }
+ }
+
+@@ -331,13 +308,11 @@
+ error_exit("Attempting to use streaming install on unsupported device");
+ }
+
+- if (use_fastdeploy && get_device_api_level() < kFastDeployMinApi) {
+- printf("Fast Deploy is only compatible with devices of API version %d or higher, "
+- "ignoring.\n",
+- kFastDeployMinApi);
++ if (use_fastdeploy) {
++ printf("Fast Deploy is unavailable in this build of adb, "
++ "ignoring.\n");
+ use_fastdeploy = false;
+ }
+- fastdeploy_set_agent_update_strategy(agent_update_strategy);
+
+ std::vector<const char*> passthrough_argv;
+ for (int i = 0; i < argc; i++) {
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Add-riscv64-support.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Add-riscv64-support.patch
new file mode 100644
index 0000000000..9fd0fa792c
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Add-riscv64-support.patch
@@ -0,0 +1,653 @@
+From: Guo Ren <guoren@linux.alibaba.com>
+Date: Wed, 29 Jun 2022 16:46:46 +0800
+Subject: Add riscv64 support
+
+This patch contains the dwarf unwind support for 64bit risc-v.
+
+ * DwarfCfa.cpp (cfa_def_cfa_register): setup register if CFA_REG is
+ not setup for riscv64
+ * Elf.cpp (GetRelPc): convert offset to virtual address for riscv64.
+ * ElfInterface.cpp (GetVirtAddrFromOffset): New for riscv64.
+ * RegsRiscv64.cpp (StepIfSignalHandler): Fix signal frame check.
+ libunwindstack/include/unwindstack/
+ * ElfInterface.h (GetVirtAddrFromOffset): New for riscv64.
+ libunwindstack/tests/
+ * DwarfCfaTest.cpp (cfa_def_cfa_register): ok for riscv64.
+ * RegsStepIfSignalHandlerTest.cpp (riscv64_step_if_signal_handler): Fix
+ testcase for riscv64
+
+Test: Builds.
+Test: All unit tests pass.
+
+Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
+Signed-off-by: Lifang Xia <lifang_xia@linux.alibaba.com>
+Signed-off-by: Mao Han <han_mao@linux.alibaba.com>
+Change-Id: Ib21ddf23cc83f332af202df7bffcaceec16063e0
+---
+Upstream-Status: Pending
+
+ system/core/libunwindstack/Android.bp | 1 +
+ system/core/libunwindstack/Elf.cpp | 2 +
+ system/core/libunwindstack/Regs.cpp | 10 ++
+ system/core/libunwindstack/RegsRiscv64.cpp | 156 +++++++++++++++++++++
+ .../core/libunwindstack/include/unwindstack/Elf.h | 5 +
+ .../include/unwindstack/MachineRiscv64.h | 59 ++++++++
+ .../include/unwindstack/RegsGetLocal.h | 43 ++++++
+ .../include/unwindstack/RegsRiscv64.h | 59 ++++++++
+ .../include/unwindstack/UcontextRiscv64.h | 80 +++++++++++
+ .../include/unwindstack/UserRiscv64.h | 37 +++++
+ system/core/libunwindstack/tools/unwind.cpp | 3 +
+ .../core/libunwindstack/tools/unwind_symbols.cpp | 3 +
+ 12 files changed, 458 insertions(+)
+ create mode 100644 system/core/libunwindstack/RegsRiscv64.cpp
+ create mode 100644 system/core/libunwindstack/include/unwindstack/MachineRiscv64.h
+ create mode 100644 system/core/libunwindstack/include/unwindstack/RegsRiscv64.h
+ create mode 100644 system/core/libunwindstack/include/unwindstack/UcontextRiscv64.h
+ create mode 100644 system/core/libunwindstack/include/unwindstack/UserRiscv64.h
+
+diff --git a/system/core/libunwindstack/Android.bp b/system/core/libunwindstack/Android.bp
+index 3695f72..f1f9c68 100644
+--- a/system/core/libunwindstack/Android.bp
++++ b/system/core/libunwindstack/Android.bp
+@@ -70,6 +70,7 @@ cc_library {
+ "RegsArm64.cpp",
+ "RegsX86.cpp",
+ "RegsX86_64.cpp",
++ "RegsRiscv64.cpp",
+ "RegsMips.cpp",
+ "RegsMips64.cpp",
+ "Unwinder.cpp",
+diff --git a/system/core/libunwindstack/Elf.cpp b/system/core/libunwindstack/Elf.cpp
+index f01b092..3c2088b 100644
+--- a/system/core/libunwindstack/Elf.cpp
++++ b/system/core/libunwindstack/Elf.cpp
+@@ -290,6 +290,8 @@ ElfInterface* Elf::CreateInterfaceFromMemory(Memory* memory) {
+ arch_ = ARCH_X86_64;
+ } else if (e_machine == EM_MIPS) {
+ arch_ = ARCH_MIPS64;
++ } else if (e_machine == EM_RISCV) {
++ arch_ = ARCH_RISCV64;
+ } else {
+ // Unsupported.
+ ALOGI("64 bit elf that is neither aarch64 nor x86_64 nor mips64: e_machine = %d\n",
+diff --git a/system/core/libunwindstack/Regs.cpp b/system/core/libunwindstack/Regs.cpp
+index c7dec52..447a554 100644
+--- a/system/core/libunwindstack/Regs.cpp
++++ b/system/core/libunwindstack/Regs.cpp
+@@ -27,12 +27,14 @@
+ #include <unwindstack/RegsArm64.h>
+ #include <unwindstack/RegsMips.h>
+ #include <unwindstack/RegsMips64.h>
++#include <unwindstack/RegsRiscv64.h>
+ #include <unwindstack/RegsX86.h>
+ #include <unwindstack/RegsX86_64.h>
+ #include <unwindstack/UserArm.h>
+ #include <unwindstack/UserArm64.h>
+ #include <unwindstack/UserMips.h>
+ #include <unwindstack/UserMips64.h>
++#include <unwindstack/UserRiscv64.h>
+ #include <unwindstack/UserX86.h>
+ #include <unwindstack/UserX86_64.h>
+
+@@ -67,6 +69,8 @@ Regs* Regs::RemoteGet(pid_t pid) {
+ return RegsMips::Read(buffer.data());
+ case sizeof(mips64_user_regs):
+ return RegsMips64::Read(buffer.data());
++ case sizeof(riscv64_user_regs):
++ return RegsRiscv64::Read(buffer.data());
+ }
+ return nullptr;
+ }
+@@ -85,6 +89,8 @@ Regs* Regs::CreateFromUcontext(ArchEnum arch, void* ucontext) {
+ return RegsMips::CreateFromUcontext(ucontext);
+ case ARCH_MIPS64:
+ return RegsMips64::CreateFromUcontext(ucontext);
++ case ARCH_RISCV64:
++ return RegsRiscv64::CreateFromUcontext(ucontext);
+ case ARCH_UNKNOWN:
+ default:
+ return nullptr;
+@@ -104,6 +110,8 @@ ArchEnum Regs::CurrentArch() {
+ return ARCH_MIPS;
+ #elif defined(__mips__) && defined(__LP64__)
+ return ARCH_MIPS64;
++#elif defined(__riscv)
++ return ARCH_RISCV64;
+ #else
+ abort();
+ #endif
+@@ -123,6 +131,8 @@ Regs* Regs::CreateFromLocal() {
+ regs = new RegsMips();
+ #elif defined(__mips__) && defined(__LP64__)
+ regs = new RegsMips64();
++#elif defined(__riscv)
++ regs = new RegsRiscv64();
+ #else
+ abort();
+ #endif
+diff --git a/system/core/libunwindstack/RegsRiscv64.cpp b/system/core/libunwindstack/RegsRiscv64.cpp
+new file mode 100644
+index 0000000..887762a
+--- /dev/null
++++ b/system/core/libunwindstack/RegsRiscv64.cpp
+@@ -0,0 +1,156 @@
++/*
++ * Copyright (C) 2022 The Android Open Source Project
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++#include <stdint.h>
++#include <string.h>
++
++#include <functional>
++
++#include <unwindstack/Elf.h>
++#include <unwindstack/MachineRiscv64.h>
++#include <unwindstack/MapInfo.h>
++#include <unwindstack/Memory.h>
++#include <unwindstack/RegsRiscv64.h>
++#include <unwindstack/UcontextRiscv64.h>
++#include <unwindstack/UserRiscv64.h>
++
++namespace unwindstack {
++
++RegsRiscv64::RegsRiscv64()
++ : RegsImpl<uint64_t>(RISCV64_REG_MAX, Location(LOCATION_REGISTER, RISCV64_REG_RA)) {}
++
++ArchEnum RegsRiscv64::Arch() {
++ return ARCH_RISCV64;
++}
++
++uint64_t RegsRiscv64::pc() {
++ return regs_[RISCV64_REG_PC];
++}
++
++uint64_t RegsRiscv64::sp() {
++ return regs_[RISCV64_REG_SP];
++}
++
++void RegsRiscv64::set_pc(uint64_t pc) {
++ regs_[RISCV64_REG_PC] = pc;
++}
++
++void RegsRiscv64::set_sp(uint64_t sp) {
++ regs_[RISCV64_REG_SP] = sp;
++}
++
++uint64_t RegsRiscv64::GetPcAdjustment(uint64_t rel_pc, Elf*) {
++ if (rel_pc < 8) {
++ return 0;
++ }
++ // For now, just assume no compact branches
++ return 8;
++}
++
++bool RegsRiscv64::SetPcFromReturnAddress(Memory*) {
++ uint64_t ra = regs_[RISCV64_REG_RA];
++ if (regs_[RISCV64_REG_PC] == ra) {
++ return false;
++ }
++
++ regs_[RISCV64_REG_PC] = ra;
++ return true;
++}
++
++void RegsRiscv64::IterateRegisters(std::function<void(const char*, uint64_t)> fn) {
++ fn("pc", regs_[RISCV64_REG_PC]);
++ fn("ra", regs_[RISCV64_REG_RA]);
++ fn("sp", regs_[RISCV64_REG_SP]);
++ fn("gp", regs_[RISCV64_REG_GP]);
++ fn("tp", regs_[RISCV64_REG_TP]);
++ fn("t0", regs_[RISCV64_REG_T0]);
++ fn("t1", regs_[RISCV64_REG_T1]);
++ fn("t2", regs_[RISCV64_REG_T2]);
++ fn("t3", regs_[RISCV64_REG_T3]);
++ fn("t4", regs_[RISCV64_REG_T4]);
++ fn("t5", regs_[RISCV64_REG_T5]);
++ fn("t6", regs_[RISCV64_REG_T6]);
++ fn("s0", regs_[RISCV64_REG_S0]);
++ fn("s1", regs_[RISCV64_REG_S1]);
++ fn("s2", regs_[RISCV64_REG_S2]);
++ fn("s3", regs_[RISCV64_REG_S3]);
++ fn("s4", regs_[RISCV64_REG_S4]);
++ fn("s5", regs_[RISCV64_REG_S5]);
++ fn("s6", regs_[RISCV64_REG_S6]);
++ fn("s7", regs_[RISCV64_REG_S7]);
++ fn("s8", regs_[RISCV64_REG_S8]);
++ fn("s9", regs_[RISCV64_REG_S9]);
++ fn("s10", regs_[RISCV64_REG_S10]);
++ fn("s11", regs_[RISCV64_REG_S11]);
++ fn("a0", regs_[RISCV64_REG_A0]);
++ fn("a1", regs_[RISCV64_REG_A1]);
++ fn("a2", regs_[RISCV64_REG_A2]);
++ fn("a3", regs_[RISCV64_REG_A3]);
++ fn("a4", regs_[RISCV64_REG_A4]);
++ fn("a5", regs_[RISCV64_REG_A5]);
++ fn("a6", regs_[RISCV64_REG_A6]);
++ fn("a7", regs_[RISCV64_REG_A7]);
++}
++
++Regs* RegsRiscv64::Read(void* remote_data) {
++ riscv64_user_regs* user = reinterpret_cast<riscv64_user_regs*>(remote_data);
++
++ RegsRiscv64* regs = new RegsRiscv64();
++ memcpy(regs->RawData(), &user->regs[0], RISCV64_REG_MAX * sizeof(uint64_t));
++ // uint64_t* reg_data = reinterpret_cast<uint64_t*>(regs->RawData());
++ return regs;
++}
++
++Regs* RegsRiscv64::CreateFromUcontext(void* ucontext) {
++ riscv64_ucontext_t* riscv64_ucontext = reinterpret_cast<riscv64_ucontext_t*>(ucontext);
++
++ RegsRiscv64* regs = new RegsRiscv64();
++ memcpy(regs->RawData(), &riscv64_ucontext->uc_mcontext.__gregs[0],
++ RISCV64_REG_MAX * sizeof(uint64_t));
++ return regs;
++}
++
++bool RegsRiscv64::StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) {
++ uint64_t data;
++ Memory* elf_memory = elf->memory();
++ // Read from elf memory since it is usually more expensive to read from
++ // process memory.
++ if (!elf_memory->ReadFully(elf_offset, &data, sizeof(data))) {
++ return false;
++ }
++ // Look for the kernel sigreturn function.
++ // __kernel_rt_sigreturn:
++ // li a7, __NR_rt_sigreturn
++ // scall
++
++ const uint8_t li_scall[] = {0x93, 0x08, 0xb0, 0x08, 0x73, 0x00, 0x00, 0x00};
++ if (memcmp(&data, &li_scall, 8) != 0) {
++ return false;
++ }
++
++ // SP + sizeof(siginfo_t) + uc_mcontext offset + PC offset.
++ if (!process_memory->ReadFully(regs_[RISCV64_REG_SP] + 0x80 + 0xb0 + 0x00, regs_.data(),
++ sizeof(uint64_t) * (RISCV64_REG_MAX))) {
++ return false;
++ }
++ return true;
++}
++
++Regs* RegsRiscv64::Clone() {
++ return new RegsRiscv64(*this);
++}
++
++} // namespace unwindstack
+diff --git a/system/core/libunwindstack/include/unwindstack/Elf.h b/system/core/libunwindstack/include/unwindstack/Elf.h
+index 472ed92..88fa0ff 100644
+--- a/system/core/libunwindstack/include/unwindstack/Elf.h
++++ b/system/core/libunwindstack/include/unwindstack/Elf.h
+@@ -32,6 +32,10 @@
+ #define EM_AARCH64 183
+ #endif
+
++#if !defined(EM_RISCV)
++#define EM_RISCV 243
++#endif
++
+ namespace unwindstack {
+
+ // Forward declaration.
+@@ -46,6 +50,7 @@ enum ArchEnum : uint8_t {
+ ARCH_X86_64,
+ ARCH_MIPS,
+ ARCH_MIPS64,
++ ARCH_RISCV64,
+ };
+
+ class Elf {
+diff --git a/system/core/libunwindstack/include/unwindstack/MachineRiscv64.h b/system/core/libunwindstack/include/unwindstack/MachineRiscv64.h
+new file mode 100644
+index 0000000..397e680
+--- /dev/null
++++ b/system/core/libunwindstack/include/unwindstack/MachineRiscv64.h
+@@ -0,0 +1,59 @@
++/*
++ * Copyright (C) 2022 The Android Open Source Project
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++#pragma once
++
++#include <stdint.h>
++
++namespace unwindstack {
++
++enum Riscv64Reg : uint16_t {
++ RISCV64_REG_PC,
++ RISCV64_REG_RA,
++ RISCV64_REG_SP,
++ RISCV64_REG_GP,
++ RISCV64_REG_TP,
++ RISCV64_REG_T0,
++ RISCV64_REG_T1,
++ RISCV64_REG_T2,
++ RISCV64_REG_S0,
++ RISCV64_REG_S1,
++ RISCV64_REG_A0,
++ RISCV64_REG_A1,
++ RISCV64_REG_A2,
++ RISCV64_REG_A3,
++ RISCV64_REG_A4,
++ RISCV64_REG_A5,
++ RISCV64_REG_A6,
++ RISCV64_REG_A7,
++ RISCV64_REG_S2,
++ RISCV64_REG_S3,
++ RISCV64_REG_S4,
++ RISCV64_REG_S5,
++ RISCV64_REG_S6,
++ RISCV64_REG_S7,
++ RISCV64_REG_S8,
++ RISCV64_REG_S9,
++ RISCV64_REG_S10,
++ RISCV64_REG_S11,
++ RISCV64_REG_T3,
++ RISCV64_REG_T4,
++ RISCV64_REG_T5,
++ RISCV64_REG_T6,
++ RISCV64_REG_MAX,
++};
++
++} // namespace unwindstack
+diff --git a/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h b/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
+index f0b5e3a..698eba2 100644
+--- a/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
++++ b/system/core/libunwindstack/include/unwindstack/RegsGetLocal.h
+@@ -81,6 +81,49 @@ inline __attribute__((__always_inline__)) void AsmGetRegs(void* reg_data) {
+ : "x12", "x13", "memory");
+ }
+
++#elif defined(__riscv)
++
++inline __attribute__((__always_inline__)) void AsmGetRegs(void* reg_data) {
++ asm volatile(
++ "1:\n"
++ "sd ra, 8(%[base])\n"
++ "sd sp, 16(%[base])\n"
++ "sd gp, 24(%[base])\n"
++ "sd tp, 32(%[base])\n"
++ "sd t0, 40(%[base])\n"
++ "sd t1, 48(%[base])\n"
++ "sd t2, 56(%[base])\n"
++ "sd s0, 64(%[base])\n"
++ "sd s1, 72(%[base])\n"
++ "sd a0, 80(%[base])\n"
++ "sd a1, 88(%[base])\n"
++ "sd a2, 96(%[base])\n"
++ "sd a3, 104(%[base])\n"
++ "sd a4, 112(%[base])\n"
++ "sd a5, 120(%[base])\n"
++ "sd a6, 128(%[base])\n"
++ "sd a7, 136(%[base])\n"
++ "sd s2, 144(%[base])\n"
++ "sd s3, 152(%[base])\n"
++ "sd s4, 160(%[base])\n"
++ "sd s5, 168(%[base])\n"
++ "sd s6, 176(%[base])\n"
++ "sd s7, 184(%[base])\n"
++ "sd s8, 192(%[base])\n"
++ "sd s9, 200(%[base])\n"
++ "sd s10, 208(%[base])\n"
++ "sd s11, 216(%[base])\n"
++ "sd t3, 224(%[base])\n"
++ "sd t4, 232(%[base])\n"
++ "sd t5, 240(%[base])\n"
++ "sd t6, 248(%[base])\n"
++ "la t1, 1b\n"
++ "sd t1, 0(%[base])\n"
++ : [base] "+r"(reg_data)
++ :
++ : "t1", "memory");
++}
++
+ #elif defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+
+ extern "C" void AsmGetRegs(void* regs);
+diff --git a/system/core/libunwindstack/include/unwindstack/RegsRiscv64.h b/system/core/libunwindstack/include/unwindstack/RegsRiscv64.h
+new file mode 100644
+index 0000000..eb09397
+--- /dev/null
++++ b/system/core/libunwindstack/include/unwindstack/RegsRiscv64.h
+@@ -0,0 +1,59 @@
++/*
++ * Copyright (C) 2022 The Android Open Source Project
++ *
++ * Licensed under the Apache License, Version 2.0 (the "License");
++ * you may not use this file except in compliance with the License.
++ * You may obtain a copy of the License at
++ *
++ * http://www.apache.org/licenses/LICENSE-2.0
++ *
++ * Unless required by applicable law or agreed to in writing, software
++ * distributed under the License is distributed on an "AS IS" BASIS,
++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ * See the License for the specific language governing permissions and
++ * limitations under the License.
++ */
++
++#pragma once
++
++#include <stdint.h>
++
++#include <functional>
++
++#include <unwindstack/Elf.h>
++#include <unwindstack/Regs.h>
++
++namespace unwindstack {
++
++// Forward declarations.
++class Memory;
++
++class RegsRiscv64 : public RegsImpl<uint64_t> {
++ public:
++ RegsRiscv64();
++ virtual ~RegsRiscv64() = default;
++
++ ArchEnum Arch() override final;
++
++ uint64_t GetPcAdjustment(uint64_t rel_pc, Elf* elf) override;
++
++ bool SetPcFromReturnAddress(Memory* process_memory) override;
++
++ bool StepIfSignalHandler(uint64_t elf_offset, Elf* elf, Memory* process_memory) override;
++
++ void IterateRegisters(std::function<void(const char*, uint64_t)>) override final;
++
++ uint64_t pc() override;
++ uint64_t sp() override;
++
++ void set_pc(uint64_t pc) override;
++ void set_sp(uint64_t sp) override;
++
++ Regs* Clone() override final;
++
++ static Regs* Read(void* data);
++
++ static Regs* CreateFromUcontext(void* ucontext);
++};
++
++} // namespace unwindstack
+diff --git a/system/core/libunwindstack/include/unwindstack/UcontextRiscv64.h b/system/core/libunwindstack/include/unwindstack/UcontextRiscv64.h
+new file mode 100644
+index 0000000..c6c82b1
+--- /dev/null
++++ b/system/core/libunwindstack/include/unwindstack/UcontextRiscv64.h
+@@ -0,0 +1,80 @@
++/*
++ * Copyright (C) 2014 The Android Open Source Project
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * * Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * * Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
++ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++#pragma once
++
++#include <sys/cdefs.h>
++
++typedef uint64_t __riscv_mc_gp_state[32]; // unsigned long
++
++struct __riscv_mc_f_ext_state {
++ uint32_t __f[32];
++ uint32_t __fcsr;
++};
++
++struct __riscv_mc_d_ext_state {
++ uint64_t __f[32];
++ uint32_t __fcsr;
++};
++
++struct __riscv_mc_q_ext_state {
++ uint64_t __f[64] __attribute__((__aligned__(16)));
++ uint32_t __fcsr;
++ uint32_t __reserved[3];
++};
++
++union __riscv_mc_fp_state {
++ struct __riscv_mc_f_ext_state __f;
++ struct __riscv_mc_d_ext_state __d;
++ struct __riscv_mc_q_ext_state __q;
++};
++
++struct __riscv_stack_t {
++ uint64_t ss_sp;
++ int32_t ss_flags;
++ uint64_t ss_size;
++};
++
++struct riscv64_sigset_t {
++ uint64_t sig; // unsigned long
++};
++
++struct riscv64_mcontext_t {
++ __riscv_mc_gp_state __gregs;
++ union __riscv_mc_fp_state __fpregs;
++};
++
++struct riscv64_ucontext_t {
++ uint64_t uc_flags; // unsigned long
++ struct riscv64_ucontext_t* uc_link;
++ __riscv_stack_t uc_stack;
++ riscv64_sigset_t uc_sigmask;
++ /* The kernel adds extra padding here to allow sigset_t to grow. */
++ int8_t __padding[128 - sizeof(riscv64_sigset_t)]; // char
++ riscv64_mcontext_t uc_mcontext;
++};
+diff --git a/system/core/libunwindstack/include/unwindstack/UserRiscv64.h b/system/core/libunwindstack/include/unwindstack/UserRiscv64.h
+new file mode 100644
+index 0000000..1e91228
+--- /dev/null
++++ b/system/core/libunwindstack/include/unwindstack/UserRiscv64.h
+@@ -0,0 +1,37 @@
++/*
++ * Copyright (C) 2016 The Android Open Source Project
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * * Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * * Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in
++ * the documentation and/or other materials provided with the
++ * distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
++ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
++ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
++ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
++ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
++ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ */
++
++#pragma once
++
++namespace unwindstack {
++
++struct riscv64_user_regs {
++ uint64_t regs[32];
++};
++
++} // namespace unwindstack
+diff --git a/system/core/libunwindstack/tools/unwind.cpp b/system/core/libunwindstack/tools/unwind.cpp
+index 1812e50..ae20891 100644
+--- a/system/core/libunwindstack/tools/unwind.cpp
++++ b/system/core/libunwindstack/tools/unwind.cpp
+@@ -83,6 +83,9 @@ void DoUnwind(pid_t pid) {
+ case unwindstack::ARCH_MIPS64:
+ printf("mips64");
+ break;
++ case unwindstack::ARCH_RISCV64:
++ printf("riscv64");
++ break;
+ default:
+ printf("unknown\n");
+ return;
+diff --git a/system/core/libunwindstack/tools/unwind_symbols.cpp b/system/core/libunwindstack/tools/unwind_symbols.cpp
+index 8df2284..976db56 100644
+--- a/system/core/libunwindstack/tools/unwind_symbols.cpp
++++ b/system/core/libunwindstack/tools/unwind_symbols.cpp
+@@ -77,6 +77,9 @@ int main(int argc, char** argv) {
+ case EM_AARCH64:
+ printf("ABI: arm64\n");
+ break;
++ case EM_RISCV:
++ printf("ABI: riscv64\n");
++ break;
+ case EM_386:
+ printf("ABI: x86\n");
+ break;
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Added-missing-headers.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Added-missing-headers.patch
new file mode 100644
index 0000000000..d827d7d3c2
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Added-missing-headers.patch
@@ -0,0 +1,46 @@
+Upstream-Status: Pending
+
+Description: Added missing headers causing compile errors
+Author: Umang Parmar <umangjparmar@gmail.com>
+Forwarded: not-needed
+
+--- a/system/core/adb/sysdeps/posix/network.cpp
++++ b/system/core/adb/sysdeps/posix/network.cpp
+@@ -22,6 +22,7 @@
+ #include <sys/socket.h>
+
+ #include <string>
++#include <cstring>
+
+ #include <android-base/logging.h>
+ #include <android-base/stringprintf.h>
+--- a/system/core/base/file.cpp
++++ b/system/core/base/file.cpp
+@@ -26,6 +26,7 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <cstring>
+
+ #include <memory>
+ #include <mutex>
+--- a/system/core/libbacktrace/BacktraceMap.cpp
++++ b/system/core/libbacktrace/BacktraceMap.cpp
+@@ -21,6 +21,7 @@
+ #include <stdint.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <algorithm>
+
+ #include <log/log.h>
+
+--- a/system/core/libbacktrace/UnwindStackMap.cpp
++++ b/system/core/libbacktrace/UnwindStackMap.cpp
+@@ -20,6 +20,7 @@
+
+ #include <string>
+ #include <vector>
++#include <algorithm>
+
+ #include <backtrace/BacktraceMap.h>
+ #include <unwindstack/Elf.h>
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Nonnull.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Nonnull.patch
new file mode 100644
index 0000000000..54bd52c61a
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Nonnull.patch
@@ -0,0 +1,22 @@
+Upstream-Status: Pending
+
+Description: Bring Clang's _Nonnull keyword to GCC
+Author: Kai-Chung Yan
+Forwarded: not-needed
+--- a/system/core/adb/sysdeps.h
++++ b/system/core/adb/sysdeps.h
+@@ -40,11 +40,12 @@
+ #include "sysdeps/network.h"
+ #include "sysdeps/stat.h"
+
++#define _Nonnull
++#define _Nullable
++
+ #ifdef _WIN32
+
+ // Clang-only nullability specifiers
+-#define _Nonnull
+-#define _Nullable
+
+ #include <ctype.h>
+ #include <direct.h>
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Vector-cast.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Vector-cast.patch
new file mode 100644
index 0000000000..b2881e0213
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/Vector-cast.patch
@@ -0,0 +1,16 @@
+Upstream-Status: Pending
+
+Description: Fix the weird error by GCC7 that fails to match the correct parent method.
+Author: Kai-Chung Yan
+Forwarded: not-needed
+--- a/system/core/libutils/include/utils/Vector.h
++++ b/system/core/libutils/include/utils/Vector.h
+@@ -256,7 +256,7 @@
+
+ template<class TYPE> inline
+ const Vector<TYPE>& Vector<TYPE>::operator = (const Vector<TYPE>& rhs) const {
+- VectorImpl::operator = (static_cast<const VectorImpl&>(rhs));
++ VectorImpl::operator = (rhs);
+ return *this;
+ }
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/add-missing-headers.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/add-missing-headers.patch
new file mode 100644
index 0000000000..681d2c6553
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/add-missing-headers.patch
@@ -0,0 +1,43 @@
+Upstream-Status: Pending
+
+Forwarded: not-needed
+--- a/system/core/fs_mgr/liblp/reader.cpp
++++ b/system/core/fs_mgr/liblp/reader.cpp
+@@ -22,6 +22,7 @@
+ #include <unistd.h>
+
+ #include <functional>
++#include <cstring>
+
+ #include <android-base/file.h>
+ #include <android-base/unique_fd.h>
+--- a/system/core/fs_mgr/liblp/writer.cpp
++++ b/system/core/fs_mgr/liblp/writer.cpp
+@@ -21,6 +21,7 @@
+ #include <unistd.h>
+
+ #include <string>
++#include <cstring>
+
+ #include <android-base/file.h>
+ #include <android-base/unique_fd.h>
+--- a/system/core/liblog/logger_write.cpp
++++ b/system/core/liblog/logger_write.cpp
+@@ -27,6 +27,7 @@
+ #include <android/set_abort_message.h>
+ #endif
+
++#include <mutex>
+ #include <shared_mutex>
+
+ #include <android-base/errno_restorer.h>
+--- a/system/core/libziparchive/zip_archive_stream_entry.cc
++++ b/system/core/libziparchive/zip_archive_stream_entry.cc
+@@ -23,6 +23,7 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
++#include <limits>
+ #include <memory>
+ #include <vector>
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-attribute-issue-with-gcc.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-attribute-issue-with-gcc.patch
new file mode 100644
index 0000000000..441031f536
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-attribute-issue-with-gcc.patch
@@ -0,0 +1,19 @@
+Upstream-Status: Pending
+
+Description: remove clang-ism
+Forwarded: not-needed
+
+--- a/system/core/base/include/android-base/logging.h
++++ b/system/core/base/include/android-base/logging.h
+@@ -451,10 +451,7 @@
+ // -Wno-user-defined-warnings to CPPFLAGS.
+ #pragma clang diagnostic push
+ #pragma clang diagnostic ignored "-Wgcc-compat"
+-#define OSTREAM_STRING_POINTER_USAGE_WARNING \
+- __attribute__((diagnose_if(true, "Unexpected logging of string pointer", "warning")))
+-inline OSTREAM_STRING_POINTER_USAGE_WARNING
+-std::ostream& operator<<(std::ostream& stream, const std::string* string_pointer) {
++inline std::ostream& operator<<(std::ostream& stream, const std::string* string_pointer) {
+ return stream << static_cast<const void*>(string_pointer);
+ }
+ #pragma clang diagnostic pop
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-build-on-non-x86.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-build-on-non-x86.patch
new file mode 100644
index 0000000000..b1caa60c4a
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-build-on-non-x86.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+Description: non-x86 arches do not have PAGE_SIZE
+Forwarded: not-needed
+--- a/system/core/base/cmsg.cpp
++++ b/system/core/base/cmsg.cpp
+@@ -33,7 +33,8 @@
+ const std::vector<int>& fds) {
+ size_t cmsg_space = CMSG_SPACE(sizeof(int) * fds.size());
+ size_t cmsg_len = CMSG_LEN(sizeof(int) * fds.size());
+- if (cmsg_space >= PAGE_SIZE) {
++ size_t pagesize = static_cast<size_t>(sysconf(_SC_PAGE_SIZE));
++ if (cmsg_space >= pagesize) {
+ errno = ENOMEM;
+ return -1;
+ }
+@@ -75,7 +76,8 @@
+ fds->clear();
+
+ size_t cmsg_space = CMSG_SPACE(sizeof(int) * max_fds);
+- if (cmsg_space >= PAGE_SIZE) {
++ size_t pagesize = static_cast<size_t>(sysconf(_SC_PAGE_SIZE));
++ if (cmsg_space >= pagesize) {
+ errno = ENOMEM;
+ return -1;
+ }
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-gettid-exception-declaration.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-gettid-exception-declaration.patch
new file mode 100644
index 0000000000..5f24d0b4a0
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-gettid-exception-declaration.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+Description: get libcutils building
+Forwarded: not-needed
+--- a/system/core/libcutils/include/cutils/threads.h
++++ b/system/core/libcutils/include/cutils/threads.h
+@@ -33,7 +33,7 @@
+ // Deprecated: use android::base::GetThreadId instead, which doesn't truncate on Mac/Windows.
+ //
+
+-extern pid_t gettid();
++extern pid_t gettid(void) __THROW;
+
+ //
+ // Deprecated: use `_Thread_local` in C or `thread_local` in C++.
+--- a/system/core/libcutils/threads.cpp
++++ b/system/core/libcutils/threads.cpp
+@@ -33,7 +33,7 @@
+
+ // No definition needed for Android because we'll just pick up bionic's copy.
+ #ifndef __ANDROID__
+-pid_t gettid() {
++pid_t gettid(void) __THROW {
+ #if defined(__APPLE__)
+ uint64_t tid;
+ pthread_threadid_np(NULL, &tid);
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-standard-namespace-errors.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-standard-namespace-errors.patch
new file mode 100644
index 0000000000..4380308f13
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/fix-standard-namespace-errors.patch
@@ -0,0 +1,24 @@
+Upstream-Status: Pending
+
+Description: Add missing 'std::' scope identifiers.
+Forwarded: not-needed
+--- a/system/core/libunwindstack/include/unwindstack/DwarfMemory.h
++++ b/system/core/libunwindstack/include/unwindstack/DwarfMemory.h
+@@ -29,7 +29,7 @@
+ DwarfMemory(Memory* memory) : memory_(memory) {}
+ virtual ~DwarfMemory() = default;
+
+- bool ReadBytes(void* dst, size_t num_bytes);
++ bool ReadBytes(void* dst, std::size_t num_bytes);
+
+ template <typename SignedType>
+ bool ReadSigned(uint64_t* value);
+@@ -39,7 +39,7 @@
+ bool ReadSLEB128(int64_t* value);
+
+ template <typename AddressType>
+- size_t GetEncodedSize(uint8_t encoding);
++ std::size_t GetEncodedSize(uint8_t encoding);
+
+ bool AdjustEncodedValue(uint8_t encoding, uint64_t* value);
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/hard-code-build-number.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/hard-code-build-number.patch
new file mode 100644
index 0000000000..4d7323bd2f
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/hard-code-build-number.patch
@@ -0,0 +1,46 @@
+Upstream-Status: Pending
+
+Description: just hard code rather than deal with circular deps
+Forwarded: not-needed
+--- a/system/core/adb/adb.cpp
++++ b/system/core/adb/adb.cpp
+@@ -44,8 +44,6 @@
+ #include <android-base/parsenetaddress.h>
+ #include <android-base/stringprintf.h>
+ #include <android-base/strings.h>
+-#include <build/version.h>
+-#include <platform_tools_version.h>
+
+ #include "adb_auth.h"
+ #include "adb_io.h"
+@@ -69,7 +67,7 @@
+ "Version %s-%s\n"
+ "Installed as %s\n",
+ ADB_VERSION_MAJOR, ADB_VERSION_MINOR, ADB_SERVER_VERSION,
+- PLATFORM_TOOLS_VERSION, android::build::GetBuildNumber().c_str(),
++ PLATFORM_TOOLS_VERSION, "debian",
+ android::base::GetExecutablePath().c_str());
+ }
+
+--- a/system/core/fastboot/fastboot.cpp
++++ b/system/core/fastboot/fastboot.cpp
+@@ -59,10 +59,8 @@
+ #include <android-base/stringprintf.h>
+ #include <android-base/strings.h>
+ #include <android-base/unique_fd.h>
+-#include <build/version.h>
+ #include <libavb/libavb.h>
+ #include <liblp/liblp.h>
+-#include <platform_tools_version.h>
+ #include <sparse/sparse.h>
+ #include <ziparchive/zip_archive.h>
+
+@@ -1680,7 +1678,7 @@
+ setvbuf(stdout, nullptr, _IONBF, 0);
+ setvbuf(stderr, nullptr, _IONBF, 0);
+ } else if (name == "version") {
+- fprintf(stdout, "fastboot version %s-%s\n", PLATFORM_TOOLS_VERSION, android::build::GetBuildNumber().c_str());
++ fprintf(stdout, "fastboot version %s-%s\n", PLATFORM_TOOLS_VERSION, "debian");
+ fprintf(stdout, "Installed as %s\n", android::base::GetExecutablePath().c_str());
+ return 0;
+ #if !defined(_WIN32)
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/libusb-header-path.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/libusb-header-path.patch
new file mode 100644
index 0000000000..122bd70e7d
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/libusb-header-path.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Pending
+
+Description: libusb.h comes from different location
+Author: Umang Parmar <umangjparmar@gmail.com>
+Forwarded: not-needed
+Last-Update: 2018-05-26
+
+--- a/system/core/adb/client/usb_libusb.cpp
++++ b/system/core/adb/client/usb_libusb.cpp
+@@ -30,7 +30,7 @@
+ #include <thread>
+ #include <unordered_map>
+
+-#include <libusb/libusb.h>
++#include <libusb-1.0/libusb.h>
+
+ #include <android-base/file.h>
+ #include <android-base/logging.h>
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/move-log-file-to-proper-dir.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/move-log-file-to-proper-dir.patch
new file mode 100644
index 0000000000..e8494ab433
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/move-log-file-to-proper-dir.patch
@@ -0,0 +1,20 @@
+Upstream-Status: Pending
+
+Description: Update log file directory.
+Author: Umang Parmar <umangjparmar@gmail.com>
+Last Updated: 2018-05-17
+
+--- a/system/core/adb/adb_utils.cpp
++++ b/system/core/adb/adb_utils.cpp
+@@ -339,6 +339,11 @@
+
+ return temp_path_utf8 + log_name;
+ #else
++ std::string log_dir = android::base::StringPrintf("/run/user/%u/adb.log", getuid());
++ struct stat st = {0};
++ if (stat(log_dir.c_str(), &st) == 0) {
++ return log_dir;
++ }
+ const char* tmp_dir = getenv("TMPDIR");
+ if (tmp_dir == nullptr) tmp_dir = "/tmp";
+ return android::base::StringPrintf("%s/adb.%u.log", tmp_dir, getuid());
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/simg_dump-python3.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/simg_dump-python3.patch
new file mode 100644
index 0000000000..6664dc2aa5
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/simg_dump-python3.patch
@@ -0,0 +1,64 @@
+Description: Port simg_dump to Python 3.
+Author: Antonio Russo <antonio.e.russo@gmail.com>
+Forwarded: not-needed
+Last-Update: 2019-01-05
+Origin: https://bugs.debian.org/945646
+
+---
+Upstream-Status: Pending
+
+Index: android-platform-tools/system/core/libsparse/simg_dump.py
+===================================================================
+--- android-platform-tools.orig/system/core/libsparse/simg_dump.py
++++ android-platform-tools/system/core/libsparse/simg_dump.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#! /usr/bin/env python3
+
+ # Copyright (C) 2012 The Android Open Source Project
+ #
+@@ -14,7 +14,7 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
+-from __future__ import print_function
++
+ import csv
+ import getopt
+ import hashlib
+@@ -47,7 +47,7 @@ def main():
+ opts, args = getopt.getopt(sys.argv[1:],
+ "vsc:",
+ ["verbose", "showhash", "csvfile"])
+- except getopt.GetoptError, e:
++ except getopt.GetoptError as e:
+ print(e)
+ usage(me)
+ for o, a in opts:
+@@ -66,7 +66,7 @@ def main():
+ usage(me)
+
+ if csvfilename:
+- csvfile = open(csvfilename, "wb")
++ csvfile = open(csvfilename, "w", newline='')
+ csvwriter = csv.writer(csvfile)
+
+ output = verbose or csvfilename or showhash
+@@ -121,7 +121,7 @@ def main():
+ "output offset", "output blocks", "type", "hash"])
+
+ offset = 0
+- for i in xrange(1, total_chunks + 1):
++ for i in range(1, total_chunks + 1):
+ header_bin = FH.read(12)
+ header = struct.unpack("<2H2I", header_bin)
+ chunk_type = header[0]
+@@ -160,7 +160,7 @@ def main():
+ if showhash:
+ h = hashlib.sha1()
+ data = fill_bin * (blk_sz / 4);
+- for block in xrange(chunk_sz):
++ for block in range(chunk_sz):
+ h.update(data)
+ curhash = h.hexdigest()
+ elif chunk_type == 0xCAC3:
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/stdatomic.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/stdatomic.patch
new file mode 100644
index 0000000000..e11f3cc783
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/stdatomic.patch
@@ -0,0 +1,66 @@
+Upstream-Status: Pending
+
+Description: Fix incompatibility between <stdatomic.h> and <atomic>
+ This 2 headers combined will cause errors for both GCC and Clang. This patch
+ makes sure only one of them is present at any time.
+Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932
+Bug: https://reviews.llvm.org/D45470
+--- a/system/core/libcutils/include/cutils/trace.h
++++ b/system/core/libcutils/include/cutils/trace.h
+@@ -18,7 +18,14 @@
+ #define _LIBS_CUTILS_TRACE_H
+
+ #include <inttypes.h>
++#ifdef __cplusplus
++#include <atomic>
++using std::atomic_bool;
++using std::atomic_load_explicit;
++using std::memory_order_acquire;
++#else
+ #include <stdatomic.h>
++#endif
+ #include <stdbool.h>
+ #include <stdint.h>
+ #include <stdio.h>
+--- a/system/core/libcutils/include/cutils/atomic.h
++++ b/system/core/libcutils/include/cutils/atomic.h
+@@ -19,7 +19,23 @@
+
+ #include <stdint.h>
+ #include <sys/types.h>
++#ifdef __cplusplus
++#include <atomic>
++using std::atomic_compare_exchange_strong_explicit;
++using std::atomic_fetch_add_explicit;
++using std::atomic_fetch_or_explicit;
++using std::atomic_fetch_sub_explicit;
++using std::atomic_int_least32_t;
++using std::atomic_load_explicit;
++using std::atomic_store_explicit;
++using std::atomic_thread_fence;
++using std::memory_order::memory_order_acquire;
++using std::memory_order::memory_order_relaxed;
++using std::memory_order::memory_order_release;
++using std::memory_order::memory_order_seq_cst;
++#else
+ #include <stdatomic.h>
++#endif
+
+ #ifndef ANDROID_ATOMIC_INLINE
+ #define ANDROID_ATOMIC_INLINE static inline
+--- a/system/core/liblog/logger.h
++++ b/system/core/liblog/logger.h
+@@ -16,7 +16,13 @@
+
+ #pragma once
+
++#ifdef __cplusplus
++#include <atomic>
++using std::atomic_int;
++using std::atomic_uintptr_t;
++#else
+ #include <stdatomic.h>
++#endif
+ #include <sys/cdefs.h>
+
+ #include <log/log.h>
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/stub-out-fastdeploy.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/stub-out-fastdeploy.patch
new file mode 100644
index 0000000000..d86ef230f7
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/stub-out-fastdeploy.patch
@@ -0,0 +1,95 @@
+Upstream-Status: Pending
+
+Description: Defer packaging fastdeploy with adb for 29.x.x tags.
+Forwarded: not-needed
+--- a/system/core/adb/client/commandline.cpp
++++ b/system/core/adb/client/commandline.cpp
+@@ -59,7 +59,6 @@
+ #include "bugreport.h"
+ #include "client/file_sync_client.h"
+ #include "commandline.h"
+-#include "fastdeploy.h"
+ #include "services.h"
+ #include "shell_protocol.h"
+ #include "sysdeps/chrono.h"
+--- a/system/core/adb/client/adb_install.cpp
++++ b/system/core/adb/client/adb_install.cpp
+@@ -35,7 +35,6 @@
+ #include "adb_utils.h"
+ #include "client/file_sync_client.h"
+ #include "commandline.h"
+-#include "fastdeploy.h"
+
+ static constexpr int kFastDeployMinApi = 24;
+
+@@ -167,14 +166,6 @@
+ }
+
+ if (use_fastdeploy) {
+- auto metadata = extract_metadata(file);
+- if (metadata.has_value()) {
+- // pass all but 1st (command) and last (apk path) parameters through to pm for
+- // session creation
+- std::vector<const char*> pm_args{argv + 1, argv + argc - 1};
+- auto patchFd = install_patch(pm_args.size(), pm_args.data());
+- return stream_patch(file, std::move(metadata.value()), std::move(patchFd));
+- }
+ }
+
+ struct stat sb;
+@@ -267,16 +258,6 @@
+ argv[last_apk] = apk_dest.c_str(); /* destination name, not source location */
+
+ if (use_fastdeploy) {
+- auto metadata = extract_metadata(apk_file[0]);
+- if (metadata.has_value()) {
+- auto patchFd = apply_patch_on_device(apk_dest.c_str());
+- int status = stream_patch(apk_file[0], std::move(metadata.value()), std::move(patchFd));
+-
+- result = pm_command(argc, argv);
+- delete_device_file(apk_dest);
+-
+- return status;
+- }
+ }
+
+ if (do_sync_push(apk_file, apk_dest.c_str(), false)) {
+@@ -292,7 +273,6 @@
+ InstallMode installMode = INSTALL_DEFAULT;
+ bool use_fastdeploy = false;
+ bool is_reinstall = false;
+- FastDeploy_AgentUpdateStrategy agent_update_strategy = FastDeploy_AgentUpdateDifferentVersion;
+
+ for (int i = 1; i < argc; i++) {
+ if (!strcmp(argv[i], "--streaming")) {
+@@ -313,13 +293,10 @@
+ use_fastdeploy = false;
+ } else if (!strcmp(argv[i], "--force-agent")) {
+ processedArgIndicies.push_back(i);
+- agent_update_strategy = FastDeploy_AgentUpdateAlways;
+ } else if (!strcmp(argv[i], "--date-check-agent")) {
+ processedArgIndicies.push_back(i);
+- agent_update_strategy = FastDeploy_AgentUpdateNewerTimeStamp;
+ } else if (!strcmp(argv[i], "--version-check-agent")) {
+ processedArgIndicies.push_back(i);
+- agent_update_strategy = FastDeploy_AgentUpdateDifferentVersion;
+ }
+ }
+
+@@ -331,13 +308,11 @@
+ error_exit("Attempting to use streaming install on unsupported device");
+ }
+
+- if (use_fastdeploy && get_device_api_level() < kFastDeployMinApi) {
+- printf("Fast Deploy is only compatible with devices of API version %d or higher, "
+- "ignoring.\n",
+- kFastDeployMinApi);
++ if (use_fastdeploy) {
++ printf("Fast Deploy is unavailable in this build of adb, "
++ "ignoring.\n");
+ use_fastdeploy = false;
+ }
+- fastdeploy_set_agent_update_strategy(agent_update_strategy);
+
+ std::vector<const char*> passthrough_argv;
+ for (int i = 0; i < argc; i++) {
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/throw-exception-on-unknown-os.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/throw-exception-on-unknown-os.patch
new file mode 100644
index 0000000000..70e732131f
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/system/core/throw-exception-on-unknown-os.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Pending
+
+Description: Turn #error into exceptions
+ So the library can be built on non-Linux platforms too, although can't
+ guarauntee its functionality regarding that piece of code.
+Forwarded: not-needed
+--- a/system/core/base/file.cpp
++++ b/system/core/base/file.cpp
+@@ -422,7 +422,8 @@
+ path[PATH_MAX - 1] = 0;
+ return path;
+ #else
+-#error unknown OS
++#include <stdexcept>
++ throw std::runtime_error(std::string("Unknown OS!"));
+ #endif
+ }
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/throw-exception-on-unknown-os.patch b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/throw-exception-on-unknown-os.patch
new file mode 100644
index 0000000000..70e732131f
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/debian/throw-exception-on-unknown-os.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Pending
+
+Description: Turn #error into exceptions
+ So the library can be built on non-Linux platforms too, although can't
+ guarauntee its functionality regarding that piece of code.
+Forwarded: not-needed
+--- a/system/core/base/file.cpp
++++ b/system/core/base/file.cpp
+@@ -422,7 +422,8 @@
+ path[PATH_MAX - 1] = 0;
+ return path;
+ #else
+-#error unknown OS
++#include <stdexcept>
++ throw std::runtime_error(std::string("Unknown OS!"));
+ #endif
+ }
+
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/remount b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/remount
new file mode 100644
index 0000000000..751c3501ef
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/remount
@@ -0,0 +1,2 @@
+#!/bin/sh
+mount -o remount,rw /
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/rules_yocto.mk b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/rules_yocto.mk
new file mode 100644
index 0000000000..2c808d3c1e
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools/rules_yocto.mk
@@ -0,0 +1 @@
+CPPFLAGS += -fPIC
diff --git a/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb
new file mode 100644
index 0000000000..fbad5e1368
--- /dev/null
+++ b/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb
@@ -0,0 +1,194 @@
+DESCRIPTION = "Various utilities from Android"
+SECTION = "console/utils"
+LICENSE = "Apache-2.0 & GPL-2.0-only & BSD-2-Clause & BSD-3-Clause"
+LIC_FILES_CHKSUM = " \
+ file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \
+ file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6 \
+ file://${COMMON_LICENSE_DIR}/BSD-2-Clause;md5=cb641bc04cda31daea161b1bc15da69f \
+ file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
+"
+DEPENDS = "libbsd libpcre zlib libcap libusb squashfs-tools p7zip libselinux googletest"
+
+SRCREV_core = "abfd66fafcbb691d7860df059f1df1c9b1ef29da"
+
+SRC_URI = " \
+ git://salsa.debian.org/android-tools-team/android-platform-tools;name=core;protocol=https;branch=master \
+"
+
+# Patches copied from android-platform-tools/debian/patches
+# and applied in the order defined by the file debian/patches/series
+SRC_URI += " \
+ file://debian/external/libunwind/user_pt_regs.patch \
+ file://debian/external/libunwind/legacy_built-in_sync_functions.patch \
+ file://debian/external/libunwind/20150704-CVE-2015-3239_dwarf_i.h.patch \
+ \
+ file://debian/system/core/move-log-file-to-proper-dir.patch \
+ file://debian/system/core/Added-missing-headers.patch \
+ file://debian/system/core/libusb-header-path.patch \
+ file://debian/system/core/stdatomic.patch \
+ file://debian/system/core/Nonnull.patch \
+ file://debian/system/core/Vector-cast.patch \
+ file://debian/system/core/throw-exception-on-unknown-os.patch \
+ file://debian/system/core/simg_dump-python3.patch \
+ file://debian/system/core/fix-attribute-issue-with-gcc.patch \
+ file://debian/system/core/fix-gettid-exception-declaration.patch \
+ file://debian/system/core/fix-build-on-non-x86.patch \
+ file://debian/system/core/add-missing-headers.patch \
+ file://debian/system/core/hard-code-build-number.patch \
+ file://debian/system/core/stub-out-fastdeploy.patch \
+ file://debian/system/core/fix-standard-namespace-errors.patch \
+ file://debian/system/core/Add-riscv64-support.patch \
+ \
+"
+
+# patches which don't come from debian
+SRC_URI += " \
+ file://rules_yocto.mk;subdir=git \
+ file://android-tools-adbd.service \
+ file://adbd.mk;subdir=git/debian/system/core \
+ file://remount \
+ file://0001-Fixes-for-yocto-build.patch \
+ file://0002-android-tools-modifications-to-make-it-build-in-yoct.patch \
+ file://0003-Update-usage-of-usbdevfs_urb-to-match-new-kernel-UAP.patch \
+ file://0004-adb-Fix-build-on-big-endian-systems.patch \
+ file://0005-adb-Allow-adbd-to-be-run-as-root.patch \
+"
+
+S = "${WORKDIR}/git"
+B = "${WORKDIR}/${BPN}"
+
+# http://errors.yoctoproject.org/Errors/Details/1debian881/
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+
+COMPATIBLE_HOST:powerpc = "(null)"
+COMPATIBLE_HOST:powerpc64 = "(null)"
+COMPATIBLE_HOST:powerpc64le = "(null)"
+
+inherit systemd
+
+SYSTEMD_SERVICE:${PN}-adbd = "android-tools-adbd.service"
+
+# Find libbsd headers during native builds
+CC:append:class-native = " -I${STAGING_INCDIR}"
+CC:append:class-nativesdk = " -I${STAGING_INCDIR}"
+
+PREREQUISITE_core = "liblog libbase libsparse liblog libcutils"
+TOOLS_TO_BUILD = "libcrypto_utils libadb libziparchive fastboot adb img2simg simg2img libbacktrace"
+TOOLS_TO_BUILD:append:class-target = " adbd"
+
+do_compile() {
+
+ case "${HOST_ARCH}" in
+ arm)
+ export android_arch=linux-arm
+ cpu=arm
+ deb_host_arch=arm
+ ;;
+ aarch64)
+ export android_arch=linux-arm64
+ cpu=arm64
+ deb_host_arch=arm64
+ ;;
+ riscv64)
+ export android_arch=linux-riscv64
+ ;;
+ mips|mipsel)
+ export android_arch=linux-mips
+ cpu=mips
+ deb_host_arch=mips
+ ;;
+ mips64|mips64el)
+ export android_arch=linux-mips64
+ cpu=mips64
+ deb_host_arch=mips64
+ ;;
+ powerpc|powerpc64)
+ export android_arch=linux-ppc
+ ;;
+ i586|i686|x86_64)
+ export android_arch=linux-x86
+ cpu=x86_64
+ deb_host_arch=amd64
+ ;;
+ esac
+
+ export SRCDIR=${S}
+
+ oe_runmake -f ${S}/debian/external/boringssl/libcrypto.mk -C ${S}
+ oe_runmake -f ${S}/debian/external/libunwind/libunwind.mk -C ${S} CPU=${cpu}
+
+ for tool in ${PREREQUISITE_core}; do
+ oe_runmake -f ${S}/debian/system/core/${tool}.mk -C ${S}
+ done
+
+ for i in `find ${S}/debian/system/extras/ -name "*.mk"`; do
+ oe_runmake -f $i -C ${S}
+ done
+
+ for tool in ${TOOLS_TO_BUILD}; do
+ if [ "$tool" = "libbacktrace" ]; then
+ oe_runmake -f ${S}/debian/system/core/${tool}.mk -C ${S} DEB_HOST_ARCH=${deb_host_arch}
+ else
+ oe_runmake -f ${S}/debian/system/core/${tool}.mk -C ${S}
+ fi
+ done
+
+}
+
+do_install() {
+ install -d ${D}${base_sbindir}
+ install -m 0755 ${S}/../remount -D ${D}${base_sbindir}/remount
+
+ for tool in img2simg simg2img fastboot adbd; do
+ if echo ${TOOLS_TO_BUILD} | grep -q "$tool" ; then
+ install -D -p -m0755 ${S}/debian/out/system/core/$tool ${D}${bindir}/$tool
+ fi
+ done
+
+ # grep adb also matches adbd, so handle adb separately from other tools
+ if echo ${TOOLS_TO_BUILD} | grep -q "adb " ; then
+ install -d ${D}${bindir}
+ install -m0755 ${S}/debian/out/system/core/adb ${D}${bindir}
+ fi
+
+ # Outside the if statement to avoid errors during do_package
+ install -D -p -m0644 ${WORKDIR}/android-tools-adbd.service \
+ ${D}${systemd_unitdir}/system/android-tools-adbd.service
+
+ install -d ${D}${libdir}/android/
+ install -m0755 ${S}/debian/out/system/core/*.so.* ${D}${libdir}/android/
+ if echo ${TOOLS_TO_BUILD} | grep -q "mkbootimg" ; then
+ install -d ${D}${bindir}
+ install -m0755 ${B}/mkbootimg/mkbootimg ${D}${bindir}
+ fi
+}
+
+PACKAGES =+ "${PN}-fstools ${PN}-adbd"
+
+RDEPENDS:${BPN} = "${BPN}-conf p7zip"
+
+FILES:${PN}-adbd = "\
+ ${bindir}/adbd \
+ ${systemd_unitdir}/system/android-tools-adbd.service \
+"
+
+FILES:${PN}-fstools = "\
+ ${bindir}/ext2simg \
+ ${bindir}/ext4fixup \
+ ${bindir}/img2simg \
+ ${bindir}/make_ext4fs \
+ ${bindir}/simg2img \
+ ${bindir}/simg2simg \
+ ${bindir}/simg_dump \
+ ${bindir}/mkuserimg \
+"
+FILES:${PN} += "${libdir}/android ${libdir}/android/*"
+
+BBCLASSEXTEND = "native"
+
+android_tools_enable_devmode() {
+ touch ${IMAGE_ROOTFS}/var/usb-debugging-enabled
+}
+
+ROOTFS_POSTPROCESS_COMMAND_${PN}-adbd += "${@bb.utils.contains("USB_DEBUGGING_ENABLED", "1", "android_tools_enable_devmode;", "", d)}"
diff --git a/meta-oe/files/static-group-meta-oe b/meta-oe/files/static-group-meta-oe
new file mode 100644
index 0000000000..543c893c00
--- /dev/null
+++ b/meta-oe/files/static-group-meta-oe
@@ -0,0 +1,9 @@
+redis:x:600:
+xrdp:x:601:
+sanlock:x:602:
+mysql:x:603:
+postgres:x:28:
+zabbix:x:605:
+mail:x:606:
+influxdb:x:622:
+nogroup:x:65534:
diff --git a/meta-oe/files/static-passwd-meta-oe b/meta-oe/files/static-passwd-meta-oe
new file mode 100644
index 0000000000..daf686b930
--- /dev/null
+++ b/meta-oe/files/static-passwd-meta-oe
@@ -0,0 +1,11 @@
+redis:x:600:600::/:/bin/nologin
+xrdp:x:601:601::/:/bin/nologin
+sanlock:x:602:602::/:/bin/nologin
+mysql:x:603:603::/:/bin/nologin
+postgres:x:28:28::/:/bin/nologin
+zabbix:x:605:605::/:/bin/nologin
+cyrus:x:606:nogroup::/:/bin/nologin
+pcp:x:620:nogroup::/:/bin/nologin
+pcpqa:x:621:nogroup::/:/bin/nologin
+influxdb:x:622:influxdb::/var/lib/influxdb:/bin/nologin
+mongodb:x:623:nogroup::/:/bin/nologin
diff --git a/meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py b/meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py
index b17c7950c7..c5a9a27946 100644
--- a/meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py
+++ b/meta-oe/lib/oeqa/selftest/cases/meta_oe_sources.py
@@ -6,6 +6,7 @@ import tempfile
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
+
class MetaOESourceMirroring(OESelftestTestCase):
# Can we download everything from the OpenEmbedded Sources Mirror over http only
def test_oe_source_mirror(self):
diff --git a/meta-oe/lib/oeqa/selftest/cases/syzkaller.py b/meta-oe/lib/oeqa/selftest/cases/syzkaller.py
new file mode 100644
index 0000000000..64fc864bf8
--- /dev/null
+++ b/meta-oe/lib/oeqa/selftest/cases/syzkaller.py
@@ -0,0 +1,124 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
+from oeqa.utils.network import get_free_port
+
+class TestSyzkaller(OESelftestTestCase):
+ def setUpSyzkallerConfig(self, os_arch, qemu_postfix):
+ syz_target_sysroot = get_bb_var('PKGD', 'syzkaller')
+ syz_target = os.path.join(syz_target_sysroot, 'usr')
+
+ qemu_native_bin = os.path.join(self.syz_native_sysroot, 'usr/bin/qemu-system-' + qemu_postfix)
+ kernel_cmdline = "ip=dhcp rootfs=/dev/sda dummy_hcd.num=%s" % (self.dummy_hcd_num)
+ kernel_objdir = self.deploy_dir_image
+ port = get_free_port()
+
+ if not os.path.exists(self.syz_workdir):
+ os.mkdir(self.syz_workdir)
+
+ with open(self.syz_cfg, 'w') as f:
+ f.write(
+"""
+{
+ "target": "%s",
+ "http": "127.0.0.1:%s",
+ "workdir": "%s",
+ "kernel_obj": "%s",
+ "kernel_src": "%s",
+ "image": "%s",
+ "syzkaller": "%s",
+ "type": "qemu",
+ "reproduce" : false,
+ "sandbox": "none",
+ "vm": {
+ "count": %s,
+ "kernel": "%s",
+ "cmdline": "%s",
+ "cpu": %s,
+ "mem": %s,
+ "qemu": "%s",
+ "qemu_args": "-device virtio-scsi-pci,id=scsi -device scsi-hd,drive=rootfs -enable-kvm -cpu host,migratable=off",
+ "image_device": "drive index=0,id=rootfs,if=none,media=disk,file="
+ }
+}
+"""
+% (os_arch, port, self.syz_workdir, kernel_objdir, self.kernel_src,
+ self.rootfs, syz_target, self.syz_qemu_vms, self.kernel, kernel_cmdline,
+ self.syz_qemu_cpus, self.syz_qemu_mem, qemu_native_bin))
+
+ def test_syzkallerFuzzingQemux86_64(self):
+ self.image = 'core-image-minimal'
+ self.machine = 'qemux86-64'
+ self.fstype = "ext4"
+
+ self.write_config(
+"""
+MACHINE = "%s"
+IMAGE_FSTYPES = "%s"
+KERNEL_IMAGETYPES += "vmlinux"
+EXTRA_IMAGE_FEATURES += " ssh-server-openssh"
+IMAGE_ROOTFS_EXTRA_SPACE = "512000"
+KERNEL_EXTRA_FEATURES += " \
+ cfg/debug/syzkaller/debug-syzkaller.scc \
+"
+IMAGE_INSTALL:append = " syzkaller"
+"""
+% (self.machine, self.fstype))
+
+ build_vars = ['TOPDIR', 'DEPLOY_DIR_IMAGE', 'STAGING_KERNEL_DIR']
+ syz_fuzz_vars = ['SYZ_WORKDIR', 'SYZ_FUZZTIME', 'SYZ_QEMU_MEM', 'SYZ_QEMU_CPUS', 'SYZ_QEMU_VM_COUNT']
+ syz_aux_vars = ['SYZ_DUMMY_HCD_NUM']
+
+ needed_vars = build_vars + syz_fuzz_vars + syz_aux_vars
+ bb_vars = get_bb_vars(needed_vars)
+
+ for var in syz_fuzz_vars:
+ if not bb_vars[var]:
+ self.skipTest(
+"""
+%s variable not set.
+Please configure %s fuzzing parameters to run this test.
+
+Example local.conf config:
+SYZ_WORKDIR="<path>" # syzkaller workdir location (must be persistent across os-selftest runs)
+SYZ_FUZZTIME="30" # fuzzing time in minutes
+SYZ_QEMU_VM_COUNT="1" # number of qemu VMs to be used for fuzzing
+SYZ_QEMU_MEM="2048"' # memory used by each qemu VM
+SYZ_QEMU_CPUS="2"' # number of cpus used by each qemu VM
+"""
+% (var, ', '.join(syz_fuzz_vars)))
+
+ self.topdir = bb_vars['TOPDIR']
+ self.deploy_dir_image = bb_vars['DEPLOY_DIR_IMAGE']
+ self.kernel_src = bb_vars['STAGING_KERNEL_DIR']
+
+ """
+ SYZ_WORKDIR must be set to an absolute path where syzkaller will store
+ the corpus database, config, runtime and crash data generated during
+ fuzzing. It must be persistent between oe-selftest runs, so the fuzzer
+ does not start over again on each run.
+ """
+ self.syz_workdir = bb_vars['SYZ_WORKDIR']
+ self.syz_fuzztime = int(bb_vars['SYZ_FUZZTIME']) * 60
+ self.syz_qemu_mem = int(bb_vars['SYZ_QEMU_MEM'])
+ self.syz_qemu_cpus = int(bb_vars['SYZ_QEMU_CPUS'])
+ self.syz_qemu_vms = int(bb_vars['SYZ_QEMU_VM_COUNT'])
+ self.dummy_hcd_num = int(bb_vars['SYZ_DUMMY_HCD_NUM'] or 8)
+
+ self.syz_cfg = os.path.join(self.syz_workdir, 'syzkaller.cfg')
+ self.kernel = os.path.join(self.deploy_dir_image, 'bzImage')
+ self.rootfs = os.path.join(self.deploy_dir_image, '%s-%s.%s' % (self.image, self.machine, self.fstype))
+
+ self.syz_native_sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'syzkaller-native')
+
+ self.setUpSyzkallerConfig("linux/amd64", "x86_64")
+
+ bitbake(self.image)
+ bitbake('syzkaller')
+ bitbake('syzkaller-native -c addto_recipe_sysroot')
+
+ cmd = "syz-manager -config %s" % self.syz_cfg
+ runCmd(cmd, native_sysroot = self.syz_native_sysroot, timeout=self.syz_fuzztime, output_log=self.logger, ignore_status=True, shell=True)
diff --git a/meta-oe/licenses/Arphic-Public-License b/meta-oe/licenses/Arphic-Public-License
index 7e38aa59b5..c1aba41d3f 100644
--- a/meta-oe/licenses/Arphic-Public-License
+++ b/meta-oe/licenses/Arphic-Public-License
@@ -1,58 +1,58 @@
-ARPHIC PUBLIC LICENSE
-
-Copyright (C) 1999 Arphic Technology Co., Ltd.
-11Fl. No.168, Yung Chi Rd., Taipei, 110 Taiwan
-All rights reserved except as specified below.
-
-Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is forbidden.
-
-Preamble
-
- The licenses for most software are designed to take away your freedom to share and change it. By contrast, the ARPHIC PUBLIC LICENSE specifically permits and encourages you to use this software, provided that you give the recipients all the rights that we gave you and make sure they can get the modifications of this software.
-
-Legal Terms
-
-0. Definitions:
- Throughout this License, "Font" means the TrueType fonts "AR PL Mingti2L Big5", "AR PL KaitiM Big5" (BIG-5 character set) and "AR PL SungtiL GB", "AR PL KaitiM GB" (GB character set) which are originally distributed by Arphic, and the derivatives of those fonts created through any modification including modifying glyph, reordering glyph, converting format, changing font name, or adding/deleting some characters in/from glyph table.
-
- "PL" means "Public License".
-
- "Copyright Holder" means whoever is named in the copyright or copyrights for the Font.
-
- "You" means the licensee, or person copying, redistributing or modifying the Font.
-
- "Freely Available" means that you have the freedom to copy or modify the Font as well as redistribute copies of the Font under the same conditions you received, not price. If you wish, you can charge for this service.
-
-1. Copying & Distribution
- You may copy and distribute verbatim copies of this Font in any medium, without restriction, provided that you retain this license file (ARPHICPL.TXT) unaltered in all copies.
-
-2. Modification
- You may otherwise modify your copy of this Font in any way, including modifying glyph, reordering glyph, converting format, changing font name, or adding/deleting some characters in/from glyph table, and copy and distribute such modifications under the terms of Section 1 above, provided that the following conditions are met:
-
- a) You must insert a prominent notice in each modified file stating how and when you changed that file.
-
- b) You must make such modifications Freely Available as a whole to all third parties under the terms of this License, such as by offering access to copy the modifications from a designated place, or distributing the modifications on a medium customarily used for software interchange.
-
- c) If the modified fonts normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the Font under these conditions, and telling the user how to view a copy of this License.
-
- These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Font, and can be reasonably considered independent and separate works in themselves, then this License and its terms, do not apply to those sections when you distribute them as separate works. Therefore, mere aggregation of another work not based on the Font with the Font on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
-
-3. Condition Subsequent
- You may not copy, modify, sublicense, or distribute the Font except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Font will automatically retroactively void your rights under this License. However, parties who have received copies or rights from you under this License will keep their licenses valid so long as such parties remain in full compliance.
-
-4. Acceptance
- You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to copy, modify, sublicense or distribute the Font. These actions are prohibited by law if you do not accept this License. Therefore, by copying, modifying, sublicensing or distributing the Font, you indicate your acceptance of this License and all its terms and conditions.
-
-5. Automatic Receipt
- Each time you redistribute the Font, the recipient automatically receives a license from the original licensor to copy, distribute or modify the Font subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
-
-6. Contradiction
- If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Font at all. For example, if a patent license would not permit royalty-free redistribution of the Font by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Font.
-
- If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
-
-7. NO WARRANTY
- BECAUSE THE FONT IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE FONT, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS OR OTHER PARTIES PROVIDE THE FONT "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE FONT IS WITH YOU. SHOULD THE FONT PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-8. DAMAGES WAIVER
- UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, IN NO EVENT WILL ANY COPYRIGHTT HOLDERS, OR OTHER PARTIES WHO MAY COPY, MODIFY OR REDISTRIBUTE THE FONT AS PERMITTED ABOVE, BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR EXEMPLARY DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE FONT (INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS INTERRUPTION), EVEN IF SUCH HOLDERS OR OTHER PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ARPHIC PUBLIC LICENSE
+
+Copyright (C) 1999 Arphic Technology Co., Ltd.
+11Fl. No.168, Yung Chi Rd., Taipei, 110 Taiwan
+All rights reserved except as specified below.
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is forbidden.
+
+Preamble
+
+ The licenses for most software are designed to take away your freedom to share and change it. By contrast, the ARPHIC PUBLIC LICENSE specifically permits and encourages you to use this software, provided that you give the recipients all the rights that we gave you and make sure they can get the modifications of this software.
+
+Legal Terms
+
+0. Definitions:
+ Throughout this License, "Font" means the TrueType fonts "AR PL Mingti2L Big5", "AR PL KaitiM Big5" (BIG-5 character set) and "AR PL SungtiL GB", "AR PL KaitiM GB" (GB character set) which are originally distributed by Arphic, and the derivatives of those fonts created through any modification including modifying glyph, reordering glyph, converting format, changing font name, or adding/deleting some characters in/from glyph table.
+
+ "PL" means "Public License".
+
+ "Copyright Holder" means whoever is named in the copyright or copyrights for the Font.
+
+ "You" means the licensee, or person copying, redistributing or modifying the Font.
+
+ "Freely Available" means that you have the freedom to copy or modify the Font as well as redistribute copies of the Font under the same conditions you received, not price. If you wish, you can charge for this service.
+
+1. Copying & Distribution
+ You may copy and distribute verbatim copies of this Font in any medium, without restriction, provided that you retain this license file (ARPHICPL.TXT) unaltered in all copies.
+
+2. Modification
+ You may otherwise modify your copy of this Font in any way, including modifying glyph, reordering glyph, converting format, changing font name, or adding/deleting some characters in/from glyph table, and copy and distribute such modifications under the terms of Section 1 above, provided that the following conditions are met:
+
+ a) You must insert a prominent notice in each modified file stating how and when you changed that file.
+
+ b) You must make such modifications Freely Available as a whole to all third parties under the terms of this License, such as by offering access to copy the modifications from a designated place, or distributing the modifications on a medium customarily used for software interchange.
+
+ c) If the modified fonts normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the Font under these conditions, and telling the user how to view a copy of this License.
+
+ These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Font, and can be reasonably considered independent and separate works in themselves, then this License and its terms, do not apply to those sections when you distribute them as separate works. Therefore, mere aggregation of another work not based on the Font with the Font on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. Condition Subsequent
+ You may not copy, modify, sublicense, or distribute the Font except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Font will automatically retroactively void your rights under this License. However, parties who have received copies or rights from you under this License will keep their licenses valid so long as such parties remain in full compliance.
+
+4. Acceptance
+ You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to copy, modify, sublicense or distribute the Font. These actions are prohibited by law if you do not accept this License. Therefore, by copying, modifying, sublicensing or distributing the Font, you indicate your acceptance of this License and all its terms and conditions.
+
+5. Automatic Receipt
+ Each time you redistribute the Font, the recipient automatically receives a license from the original licensor to copy, distribute or modify the Font subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+6. Contradiction
+ If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Font at all. For example, if a patent license would not permit royalty-free redistribution of the Font by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Font.
+
+ If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+7. NO WARRANTY
+ BECAUSE THE FONT IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE FONT, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS OR OTHER PARTIES PROVIDE THE FONT "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE FONT IS WITH YOU. SHOULD THE FONT PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+8. DAMAGES WAIVER
+ UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, IN NO EVENT WILL ANY COPYRIGHTT HOLDERS, OR OTHER PARTIES WHO MAY COPY, MODIFY OR REDISTRIBUTE THE FONT AS PERMITTED ABOVE, BE LIABLE TO YOU FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL OR EXEMPLARY DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE FONT (INCLUDING BUT NOT LIMITED TO PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA OR PROFITS; OR BUSINESS INTERRUPTION), EVEN IF SUCH HOLDERS OR OTHER PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
diff --git a/meta-oe/licenses/Bellcore b/meta-oe/licenses/Bellcore
new file mode 100644
index 0000000000..6bbbf94e6f
--- /dev/null
+++ b/meta-oe/licenses/Bellcore
@@ -0,0 +1,13 @@
+Copyright: (c) 1991 Bell Communications Research, Inc. (Bellcore)
+License: Bellcore
+ Permission to use, copy, modify, and distribute this material
+ for any purpose and without fee is hereby granted, provided
+ that the above copyright notice and this permission notice
+ appear in all copies, and that the name of Bellcore not be
+ used in advertising or publicity pertaining to this
+ material without the specific, prior written permission
+ of an authorized representative of Bellcore. BELLCORE
+ MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY
+ OF THIS MATERIAL FOR ANY PURPOSE. IT IS PROVIDED "AS IS",
+ WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
+
diff --git a/meta-oe/licenses/MINPACK b/meta-oe/licenses/MINPACK
new file mode 100644
index 0000000000..132cc3f33f
--- /dev/null
+++ b/meta-oe/licenses/MINPACK
@@ -0,0 +1,51 @@
+Minpack Copyright Notice (1999) University of Chicago. All rights reserved
+
+Redistribution and use in source and binary forms, with or
+without modification, are permitted provided that the
+following conditions are met:
+
+1. Redistributions of source code must retain the above
+copyright notice, this list of conditions and the following
+disclaimer.
+
+2. Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials
+provided with the distribution.
+
+3. The end-user documentation included with the
+redistribution, if any, must include the following
+acknowledgment:
+
+ "This product includes software developed by the
+ University of Chicago, as Operator of Argonne National
+ Laboratory.
+
+Alternately, this acknowledgment may appear in the software
+itself, if and wherever such third-party acknowledgments
+normally appear.
+
+4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
+WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
+UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
+THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
+OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
+OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
+USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
+THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
+DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
+UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
+BE CORRECTED.
+
+5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
+HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
+ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
+INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
+ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
+PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
+SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
+(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
+EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
+POSSIBILITY OF SUCH LOSS OR DAMAGES.
diff --git a/meta-oe/licenses/rateconv b/meta-oe/licenses/rateconv
new file mode 100644
index 0000000000..a0f5683a05
--- /dev/null
+++ b/meta-oe/licenses/rateconv
@@ -0,0 +1,27 @@
+Authors: Markus Mummert
+
+Copyright (c) 1992, 1995 by Markus Mummert
+
+License:
+ Redistribution and use of this software, modifcation and inclusion
+ into other forms of software are permitted provided that the following
+ conditions are met:
+
+ 1. Redistributions of this software must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. If this software is redistributed in a modified condition
+ it must reveal clearly that it has been modified.
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
diff --git a/meta-oe/licenses/wxWidgets b/meta-oe/licenses/wxWidgets
deleted file mode 100644
index 0f6b9d6a8b..0000000000
--- a/meta-oe/licenses/wxWidgets
+++ /dev/null
@@ -1,54 +0,0 @@
- wxWindows Library Licence, Version 3.1
- ======================================
-
- Copyright (c) 1998-2005 Julian Smart, Robert Roebling et al
-
- Everyone is permitted to copy and distribute verbatim copies
- of this licence document, but changing it is not allowed.
-
- WXWINDOWS LIBRARY LICENCE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- This library is free software; you can redistribute it and/or modify it
- under the terms of the GNU Library General Public Licence as published by
- the Free Software Foundation; either version 2 of the Licence, or (at
- your option) any later version.
-
- This library is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
- General Public Licence for more details.
-
- You should have received a copy of the GNU Library General Public Licence
- along with this software, usually in a file named COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301 USA.
-
- EXCEPTION NOTICE
-
- 1. As a special exception, the copyright holders of this library give
- permission for additional uses of the text contained in this release of
- the library as licenced under the wxWindows Library Licence, applying
- either version 3.1 of the Licence, or (at your option) any later version of
- the Licence as published by the copyright holders of version
- 3.1 of the Licence document.
-
- 2. The exception is that you may use, copy, link, modify and distribute
- under your own terms, binary object code versions of works based
- on the Library.
-
- 3. If you copy code from files distributed under the terms of the GNU
- General Public Licence or the GNU Library General Public Licence into a
- copy of this library, as this licence permits, the exception does not
- apply to the code that you add in this way. To avoid misleading anyone as
- to the status of such modified files, you must delete this exception
- notice from such code and/or adjust the licensing conditions notice
- accordingly.
-
- 4. If you write modifications of your own for this library, it is your
- choice whether to permit this exception to apply to your modifications.
- If you do not wish that, you must delete the exception notice from such
- code and/or adjust the licensing conditions notice accordingly.
-
-
-
diff --git a/meta-oe/recipes-benchmark/bonnie/bonnie++/fix-configure-lfs.patch b/meta-oe/recipes-benchmark/bonnie/bonnie++/fix-configure-lfs.patch
new file mode 100644
index 0000000000..af20acdcd0
--- /dev/null
+++ b/meta-oe/recipes-benchmark/bonnie/bonnie++/fix-configure-lfs.patch
@@ -0,0 +1,39 @@
+Upstream-Status: Submitted [https://salsa.debian.org/etbe/bonnie/-/merge_requests/3/diffs?commit_id=4ffece51791ba75ddca2e664cdce726cc40c92d3]
+
+diff --git i/configure.in w/configure.in
+index 080e40c..f2a2bbe 100644
+--- i/configure.in
++++ w/configure.in
+@@ -82,8 +82,15 @@ void * thread_func(void * param) { return NULL; }
+ , thread_ldflags="-lpthread"
+ , thread_ldflags="-pthread")
+
+-AC_SUBST(large_file)
+-AC_TRY_RUN([#ifndef _LARGEFILE64_SOURCE
++AC_ARG_ENABLE(lfs,
++ [ --disable-lfs disable large file support],
++ LFS_CHOICE=$enableval, LFS_CHOICE=check)
++
++if test "$LFS_CHOICE" = yes; then
++ bonniepp_cv_large_file=yes
++elif test "$LFS_CHOICE" = check; then
++ AC_CACHE_CHECK([whether to enable -D_LARGEFILE64_SOURCE], bonniepp_cv_large_file,
++ AC_TRY_RUN([#ifndef _LARGEFILE64_SOURCE
+ #define _LARGEFILE64_SOURCE
+ #endif
+ #include <stdio.h>
+@@ -118,8 +125,12 @@ int main () {
+ }
+ close(fd);
+ return 0;
+-}], large_file="yes")
+-if [[ -n "$large_file" ]]; then
++}], bonniepp_cv_large_file="yes"))
++fi
++
++AC_SUBST(large_file)
++
++if [[ -n "$bonniepp_cv_large_file" ]]; then
+ large_file="#define _LARGEFILE64_SOURCE"
+ fi
+
diff --git a/meta-oe/recipes-benchmark/bonnie/bonnie++/fix-csv2html-data.patch b/meta-oe/recipes-benchmark/bonnie/bonnie++/fix-csv2html-data.patch
new file mode 100644
index 0000000000..4b37b8d654
--- /dev/null
+++ b/meta-oe/recipes-benchmark/bonnie/bonnie++/fix-csv2html-data.patch
@@ -0,0 +1,183 @@
+commit 7e9433a56f22426b11cbc9bd80e0debca67c893b
+Author: Jörg Sommer <joerg.sommer@navimatix.de>
+Date: Mon Jun 26 12:38:30 2023 +0200
+
+ csv2html: Explicitly reference data in top level
+
+ With g++ 11 *data* became ambiguous with [std::data][1]. Therefore it's
+ needed to explicitly address the variable from the top level scope.
+
+ [1] https://en.cppreference.com/w/cpp/iterator/data
+
+Upstream-Status: Submitted [https://salsa.debian.org/etbe/bonnie/-/merge_requests/3/diffs?commit_id=fb13a71d56dab8aaa39233fcaaedfb0ba4ad647d]
+
+diff --git a/bon_csv2html.cpp b/bon_csv2html.cpp
+index e9d9c50..652e330 100644
+--- a/bon_csv2html.cpp
++++ b/bon_csv2html.cpp
+@@ -87,8 +87,8 @@ int main(int argc, char **argv)
+ read_in(buf);
+ }
+
+- props = new PPCCHAR[data.size()];
+- for(i = 0; i < data.size(); i++)
++ props = new PPCCHAR[::data.size()];
++ for(i = 0; i < ::data.size(); i++)
+ {
+ props[i] = new PCCHAR[MAX_ITEMS];
+ props[i][0] = NULL;
+@@ -109,7 +109,7 @@ int main(int argc, char **argv)
+ }
+ calc_vals();
+ int mid_width = header();
+- for(i = 0; i < data.size(); i++)
++ for(i = 0; i < ::data.size(); i++)
+ {
+ // First print the average speed line
+ printf("<tr>");
+@@ -171,23 +171,23 @@ int compar(const void *a, const void *b)
+
+ void calc_vals()
+ {
+- ITEM *arr = new ITEM[data.size()];
++ ITEM *arr = new ITEM[::data.size()];
+ for(unsigned int column_ind = 0; column_ind < MAX_ITEMS; column_ind++)
+ {
+ switch(vals[column_ind])
+ {
+ case eNoCols:
+ {
+- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++)
++ for(unsigned int row_ind = 0; row_ind < ::data.size(); row_ind++)
+ {
+ if(column_ind == COL_CONCURRENCY)
+ {
+- if(data[row_ind][column_ind] && strcmp("1", data[row_ind][column_ind]))
++ if(::data[row_ind][column_ind] && strcmp("1", ::data[row_ind][column_ind]))
+ col_used[column_ind] = true;
+ }
+ else
+ {
+- if(data[row_ind][column_ind] && strlen(data[row_ind][column_ind]))
++ if(::data[row_ind][column_ind] && strlen(::data[row_ind][column_ind]))
+ col_used[column_ind] = true;
+ }
+ }
+@@ -195,22 +195,22 @@ void calc_vals()
+ break;
+ case eCPU:
+ {
+- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++)
++ for(unsigned int row_ind = 0; row_ind < ::data.size(); row_ind++)
+ {
+ double work, cpu;
+ arr[row_ind].val = 0.0;
+- if(data[row_ind].size() > column_ind
+- && sscanf(data[row_ind][column_ind - 1], "%lf", &work) == 1
+- && sscanf(data[row_ind][column_ind], "%lf", &cpu) == 1)
++ if(::data[row_ind].size() > column_ind
++ && sscanf(::data[row_ind][column_ind - 1], "%lf", &work) == 1
++ && sscanf(::data[row_ind][column_ind], "%lf", &cpu) == 1)
+ {
+ arr[row_ind].val = cpu / work;
+ }
+ arr[row_ind].pos = row_ind;
+ }
+- qsort(arr, data.size(), sizeof(ITEM), compar);
++ qsort(arr, ::data.size(), sizeof(ITEM), compar);
+ int col_count = -1;
+ double min_col = -1.0, max_col = -1.0;
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < ::data.size(); sort_ind++)
+ {
+ // if item is different from previous or if the first row
+ // (sort_ind == 0) then increment col count
+@@ -239,7 +239,7 @@ void calc_vals()
+ min_col /= mult;
+ }
+ double range_col = max_col - min_col;
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < ::data.size(); sort_ind++)
+ {
+ if(arr[sort_ind].col_ind > -1)
+ {
+@@ -250,7 +250,7 @@ void calc_vals()
+ }
+ else
+ {
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < ::data.size(); sort_ind++)
+ {
+ if(vals[column_ind] == eLatency)
+ {
+@@ -263,25 +263,25 @@ void calc_vals()
+ case eSpeed:
+ case eLatency:
+ {
+- for(unsigned int row_ind = 0; row_ind < data.size(); row_ind++)
++ for(unsigned int row_ind = 0; row_ind < ::data.size(); row_ind++)
+ {
+ arr[row_ind].val = 0.0;
+- if(data[row_ind].size() <= column_ind
+- || sscanf(data[row_ind][column_ind], "%lf", &arr[row_ind].val) == 0)
++ if(::data[row_ind].size() <= column_ind
++ || sscanf(::data[row_ind][column_ind], "%lf", &arr[row_ind].val) == 0)
+ arr[row_ind].val = 0.0;
+ if(vals[column_ind] == eLatency && arr[row_ind].val != 0.0)
+ {
+- if(strstr(data[row_ind][column_ind], "ms"))
++ if(strstr(::data[row_ind][column_ind], "ms"))
+ arr[row_ind].val *= 1000.0;
+- else if(!strstr(data[row_ind][column_ind], "us"))
++ else if(!strstr(::data[row_ind][column_ind], "us"))
+ arr[row_ind].val *= 1000000.0; // is !us && !ms then secs!
+ }
+ arr[row_ind].pos = row_ind;
+ }
+- qsort(arr, data.size(), sizeof(ITEM), compar);
++ qsort(arr, ::data.size(), sizeof(ITEM), compar);
+ int col_count = -1;
+ double min_col = -1.0, max_col = -1.0;
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < ::data.size(); sort_ind++)
+ {
+ // if item is different from previous or if the first row
+ // (sort_ind == 0) then increment col count
+@@ -310,7 +310,7 @@ void calc_vals()
+ min_col /= mult;
+ }
+ double range_col = max_col - min_col;
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < ::data.size(); sort_ind++)
+ {
+ if(arr[sort_ind].col_ind > -1)
+ {
+@@ -332,7 +332,7 @@ void calc_vals()
+ }
+ else
+ {
+- for(unsigned int sort_ind = 0; sort_ind < data.size(); sort_ind++)
++ for(unsigned int sort_ind = 0; sort_ind < ::data.size(); sort_ind++)
+ {
+ if(vals[column_ind] == eLatency)
+ {
+@@ -481,16 +481,16 @@ void read_in(CPCCHAR buf)
+ free((void *)arr[0]);
+ return;
+ }
+- data.push_back(arr);
++ ::data.push_back(arr);
+ }
+
+ void print_item(int num, int item, CPCCHAR extra)
+ {
+ PCCHAR line_data;
+ char buf[1024];
+- if(int(data[num].size()) > item)
++ if(int(::data[num].size()) > item)
+ {
+- line_data = data[num][item];
++ line_data = ::data[num][item];
+ switch(item)
+ {
+ case COL_PUT_BLOCK:
diff --git a/meta-oe/recipes-benchmark/bonnie/bonnie++/makefile-use-link-for-helper.patch b/meta-oe/recipes-benchmark/bonnie/bonnie++/makefile-use-link-for-helper.patch
new file mode 100644
index 0000000000..21565977a2
--- /dev/null
+++ b/meta-oe/recipes-benchmark/bonnie/bonnie++/makefile-use-link-for-helper.patch
@@ -0,0 +1,24 @@
+Upstream-Status: Submitted [https://salsa.debian.org/etbe/bonnie/-/merge_requests/3/diffs?commit_id=f6ce71d9f97316697c55d0fb3c756becdee04c5c]
+
+diff --git i/Makefile.in w/Makefile.in
+index 6dfdb75..87a5fb1 100644
+--- i/Makefile.in
++++ w/Makefile.in
+@@ -10,7 +10,7 @@ eprefix=@exec_prefix@
+ WFLAGS=-Wall -W -Wshadow -Wpointer-arith -Wwrite-strings -pedantic -ffor-scope -Wcast-align -Wsign-compare -Wpointer-arith -Wwrite-strings -Wformat-security -Wswitch-enum -Winit-self $(MORE_WARNINGS)
+ CFLAGS=-O2 @debug@ -DNDEBUG $(WFLAGS) $(MORECFLAGS)
+ CXX=@CXX@ $(CFLAGS)
+-LINK=@CXX@
++LINK=$(LINK.cc)
+ THREAD_LFLAGS=@thread_ldflags@
+
+ INSTALL=@INSTALL@
+@@ -43,7 +43,7 @@ getc_putc: $(GETCOBJS) getc_putc_helper
+ $(LINK) -o getc_putc $(GETCOBJS) $(THREAD_LFLAGS)
+
+ getc_putc_helper: $(GETCHOBJS)
+- $(CXX) -o getc_putc_helper $(GETCHOBJS)
++ $(LINK) -o getc_putc_helper $(GETCHOBJS)
+
+ bon_csv2html: bon_csv2html.o
+ $(LINK) bon_csv2html.o -o bon_csv2html
diff --git a/meta-oe/recipes-benchmark/bonnie/bonnie++_1.04.bb b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.04.bb
index d7583f0764..c305aadd02 100644
--- a/meta-oe/recipes-benchmark/bonnie/bonnie++_1.04.bb
+++ b/meta-oe/recipes-benchmark/bonnie/bonnie++_1.04.bb
@@ -1,7 +1,7 @@
SUMMARY = "Tests large file IO and creation/deletion of small files"
HOMEPAGE = "http://www.coker.com.au/bonnie++/"
SECTION = "benchmark/tests"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://copyright.txt;md5=cd4dde95a6b9d122f0a9150ae9cc3ee0"
SRC_URI = "http://www.coker.com.au/bonnie++/${BPN}_${PV}.tgz \
@@ -25,7 +25,7 @@ do_install () {
PACKAGES =+ "bonnie-scripts"
-FILES_${PN} = "${sbindir}"
-FILES_bonnie-scripts = "${bindir}"
+FILES:${PN} = "${sbindir}"
+FILES:bonnie-scripts = "${bindir}"
-RDEPENDS_bonnie-scripts += "perl"
+RDEPENDS:bonnie-scripts += "perl"
diff --git a/meta-oe/recipes-benchmark/bonnie/bonnie++_2.00a.bb b/meta-oe/recipes-benchmark/bonnie/bonnie++_2.00a.bb
new file mode 100644
index 0000000000..29590bfe84
--- /dev/null
+++ b/meta-oe/recipes-benchmark/bonnie/bonnie++_2.00a.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Tests large file IO and creation/deletion of small files"
+HOMEPAGE = "https://doc.coker.com.au/projects/bonnie/"
+SECTION = "benchmark/tests"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://copyright.txt;md5=cd4dde95a6b9d122f0a9150ae9cc3ee0"
+
+SRC_URI = "\
+ http://www.coker.com.au/bonnie++/${BPN}-${PV}.tgz \
+ file://fix-configure-lfs.patch \
+ file://fix-csv2html-data.patch \
+ file://makefile-use-link-for-helper.patch \
+"
+SRC_URI[sha256sum] = "a8d33bbd81bc7eb559ce5bf6e584b9b53faea39ccfb4ae92e58f27257e468f0e"
+
+# force lfs to skip configure's check, because we are cross-building
+PACKAGECONFIG ?= "lfs"
+PACKAGECONFIG[lfs] = "--enable-lfs,--disable-lfs"
+
+inherit autotools
+
+EXTRA_OECONF += "--disable-stripping"
+EXTRA_OEMAKE += "-I ${S} VPATH=${S}"
+CXXFLAGS += "-I ${S}"
+
+do_install() {
+ oe_runmake eprefix='${D}${exec_prefix}' install-bin
+}
+
+PACKAGE_BEFORE_PN += "${PN}-scripts"
+
+FILES:${PN}-scripts = "${bindir}/bon_csv2*"
+
+RDEPENDS:${PN}-scripts += "perl"
diff --git a/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
index b21212a430..c58524aa64 100644
--- a/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
+++ b/meta-oe/recipes-benchmark/cpuburn/cpuburn-arm_git.bb
@@ -2,14 +2,14 @@ SUMMARY = "A collection of cpuburn programs tuned for different ARM hardware"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://cpuburn-a53.S;beginline=1;endline=22;md5=3b7ccd70144c16d3fe14ac491c2d4a87"
-RPROVIDES_${PN} = "cpuburn-neon"
+RPROVIDES:${PN} = "cpuburn-neon"
PROVIDES += "cpuburn-neon"
SRCREV = "ad7e646700d14b81413297bda02fb7fe96613c3f"
-PV = "1.0+git${SRCPV}"
+PV = "1.0+git"
-SRC_URI = "git://github.com/ssvb/cpuburn-arm.git \
+SRC_URI = "git://github.com/ssvb/cpuburn-arm.git;branch=master;protocol=https \
file://0001-cpuburn-a8.S-Remove-.func-.endfunc.patch \
file://0002-burn.S-Add.patch \
file://0003-burn.S-Remove-.func-.endfunc.patch \
@@ -47,6 +47,6 @@ do_install() {
}
COMPATIBLE_MACHINE ?= "(^$)"
-COMPATIBLE_MACHINE_armv7a = "(.*)"
-COMPATIBLE_MACHINE_armv7ve = "(.*)"
-COMPATIBLE_MACHINE_aarch64 = "(.*)"
+COMPATIBLE_MACHINE:armv7a = "(.*)"
+COMPATIBLE_MACHINE:armv7ve = "(.*)"
+COMPATIBLE_MACHINE:aarch64 = "(.*)"
diff --git a/meta-oe/recipes-benchmark/dbench/dbench_4.0.bb b/meta-oe/recipes-benchmark/dbench/dbench_4.0.bb
index fb6a96e64b..32f51fee49 100644
--- a/meta-oe/recipes-benchmark/dbench/dbench_4.0.bb
+++ b/meta-oe/recipes-benchmark/dbench/dbench_4.0.bb
@@ -1,8 +1,8 @@
SUMMARY = "The dbench (disk) and tbench (TCP) benchmarks"
-SUMMARY_dbench = "Filesystem load benchmark"
-SUMMARY_tbench = "TCP load benchmark"
+SUMMARY:dbench = "Filesystem load benchmark"
+SUMMARY:tbench = "TCP load benchmark"
HOMEPAGE = "http://samba.org/ftp/tridge/dbench/"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "popt"
@@ -16,11 +16,11 @@ inherit autotools
PACKAGES =+ "tbench"
-RPROVIDES_${PN}-dbg += "tbench-dbg"
+RPROVIDES:${PN}-dbg += "tbench-dbg"
TARGET_CC_ARCH += "${LDFLAGS}"
-FILES_tbench = "${bindir}/tbench* ${prefix}/share/client.txt"
+FILES:tbench = "${bindir}/tbench* ${prefix}/share/client.txt"
SRC_URI[md5sum] = "1fe56ff71b9a416f8889d7150ac54da4"
SRC_URI[sha256sum] = "6001893f34e68a3cfeb5d424e1f2bfef005df96a22d86f35dc770c5bccf3aa8a"
diff --git a/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch b/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch
index 6a5350c37c..63e743f64b 100644
--- a/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch
+++ b/meta-oe/recipes-benchmark/dhrystone/dhrystone-2.1/dhrystone.patch
@@ -13,7 +13,7 @@ dhrystone sources:
Additionally, this patch adds a simple Makefile.
-Upstream-status: Pending
+Upstream-Status: Pending
Sign-off-by: Kimmo Surakka <kimmo.surakka@ge.com>
Signed-off-by: Jose Alarcon <jose.alarcon@ge.com>
diff --git a/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb b/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
index 17e8c700ca..d809a564e9 100644
--- a/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
+++ b/meta-oe/recipes-benchmark/dhrystone/dhrystone_2.1.bb
@@ -22,5 +22,6 @@ do_install() {
# Prevent procedure merging as required by dhrystone.c:
CFLAGS += "-fno-lto"
+CFLAGS:append:toolchain-clang = " -Wno-error=implicit-function-declaration -Wno-error=deprecated-non-prototype -Wno-error=implicit-int"
LDFLAGS += "-fno-lto"
diff --git a/meta-oe/recipes-benchmark/fio/fio_3.25.bb b/meta-oe/recipes-benchmark/fio/fio_3.25.bb
deleted file mode 100644
index 6ab7ab79dd..0000000000
--- a/meta-oe/recipes-benchmark/fio/fio_3.25.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Filesystem and hardware benchmark and stress tool"
-DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
-stress/hardware verification. It has support for a number of I/O engines, \
-I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
-and much more. It can work on block devices as well as files. fio accepts \
-job descriptions in a simple-to-understand text format. Several example job \
-files are included. fio displays all sorts of I/O performance information."
-HOMEPAGE = "http://freecode.com/projects/fio"
-SECTION = "console/tests"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "libaio zlib coreutils-native"
-DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}"
-RDEPENDS_${PN} = "python3-core bash"
-
-PACKAGECONFIG_NUMA = "numa"
-# ARM does not currently support NUMA
-PACKAGECONFIG_NUMA_arm = ""
-PACKAGECONFIG_NUMA_armeb = ""
-
-PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
-PACKAGECONFIG[numa] = ",--disable-numa,numactl"
-
-SRCREV = "fd80924b22fef6ce0d5580724d91490347445f90"
-SRC_URI = "git://git.kernel.dk/fio.git \
-"
-
-S = "${WORKDIR}/git"
-
-# avoids build breaks when using no-static-libs.inc
-DISABLE_STATIC = ""
-
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
-EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}"
-
-do_configure() {
- ./configure ${EXTRA_OECONF}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
- install -d ${D}/${docdir}/${PN}
- cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
-}
diff --git a/meta-oe/recipes-benchmark/fio/fio_3.36.bb b/meta-oe/recipes-benchmark/fio/fio_3.36.bb
new file mode 100644
index 0000000000..a871ed8fe5
--- /dev/null
+++ b/meta-oe/recipes-benchmark/fio/fio_3.36.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Filesystem and hardware benchmark and stress tool"
+DESCRIPTION = "fio is an I/O tool meant to be used both for benchmark and \
+stress/hardware verification. It has support for a number of I/O engines, \
+I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, \
+and much more. It can work on block devices as well as files. fio accepts \
+job descriptions in a simple-to-understand text format. Several example job \
+files are included. fio displays all sorts of I/O performance information."
+HOMEPAGE = "http://freecode.com/projects/fio"
+SECTION = "console/tests"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libaio zlib coreutils-native"
+DEPENDS += "${@bb.utils.contains('MACHINE_FEATURES', 'pmem', 'pmdk', '', d)}"
+RDEPENDS:${PN} = "python3-core bash"
+
+PACKAGECONFIG_NUMA = "numa"
+# ARM does not currently support NUMA
+PACKAGECONFIG_NUMA:arm = ""
+PACKAGECONFIG_NUMA:armeb = ""
+
+PACKAGECONFIG ??= "${PACKAGECONFIG_NUMA}"
+PACKAGECONFIG[numa] = ",--disable-numa,numactl"
+
+PV .= "+git"
+SRCREV = "b2403d413ee734e8835539319d8bc3429a0777ac"
+SRC_URI = "git://git.kernel.dk/fio.git;branch=master"
+
+S = "${WORKDIR}/git"
+
+# avoids build breaks when using no-static-libs.inc
+DISABLE_STATIC = ""
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}'"
+EXTRA_OECONF = "${@bb.utils.contains('MACHINE_FEATURES', 'x86', '--disable-optimizations', '', d)}"
+
+do_configure() {
+ ./configure ${EXTRA_OECONF}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} prefix=${prefix} mandir=${mandir}
+ install -d ${D}/${docdir}/${PN}
+ cp -R --no-dereference --preserve=mode,links -v ${S}/examples ${D}/${docdir}/${PN}/
+}
diff --git a/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch b/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch
index e9b880c260..9d652e10ad 100644
--- a/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch
+++ b/meta-oe/recipes-benchmark/glmark2/files/0001-fix-dispmanx-build.patch
@@ -16,7 +16,7 @@ See:
My contribution is to tweak the wscript to link all the required libraries.
-Upstream-status: submitted [https://github.com/glmark2/glmark2/pull/135]
+Upstream-Status: Submitted [https://github.com/glmark2/glmark2/pull/135]
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
src/native-state-dispmanx.cpp | 22 +++++++++++++++++-----
diff --git a/meta-oe/recipes-benchmark/glmark2/files/0002-run-dispmanx-fullscreen.patch b/meta-oe/recipes-benchmark/glmark2/files/0002-run-dispmanx-fullscreen.patch
index 27bd62edb9..05a074cf55 100644
--- a/meta-oe/recipes-benchmark/glmark2/files/0002-run-dispmanx-fullscreen.patch
+++ b/meta-oe/recipes-benchmark/glmark2/files/0002-run-dispmanx-fullscreen.patch
@@ -6,17 +6,17 @@ Subject: [PATCH] run dispmanx fullscreen
The dispmanx flavour can only run fullscreen, therefore set the size to
fullscreen when glmark2-es2-dispmanx is run.
-Upstream-status: submitted [https://github.com/glmark2/glmark2/pull/135]
+Upstream-Status: Submitted [https://github.com/glmark2/glmark2/pull/135]
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
---
src/main.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/main.cpp b/src/main.cpp
-index 677962e..273a217 100644
+index d1077fe..d717cd4 100644
--- a/src/main.cpp
+++ b/src/main.cpp
-@@ -164,6 +164,11 @@ main(int argc, char *argv[])
+@@ -202,6 +202,11 @@ main(int argc, char *argv[])
Options::size = std::pair<int,int>(800, 600);
}
@@ -26,5 +26,7 @@ index 677962e..273a217 100644
+#endif
+
// Create the canvas
- #if GLMARK2_USE_X11
- NativeStateX11 native_state;
+ #if GLMARK2_USE_EGL
+ GLStateEGL gl_state;
+--
+2.25.1
diff --git a/meta-oe/recipes-benchmark/glmark2/files/0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch b/meta-oe/recipes-benchmark/glmark2/files/0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch
new file mode 100644
index 0000000000..dc47af83e7
--- /dev/null
+++ b/meta-oe/recipes-benchmark/glmark2/files/0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch
@@ -0,0 +1,103 @@
+From b59ec731c8c7e084b289e4ea92938faaebcc389d Mon Sep 17 00:00:00 2001
+From: Alexandros Frantzis <alexandros.frantzis@collabora.com>
+Date: Wed, 1 Nov 2023 13:43:00 +0200
+Subject: [PATCH] GLVisualConfig: By default don't care about the stencil
+ config component
+
+Our benchmarks don't use a stencil buffer, but its presence doesn't hurt
+either, so don't mark configs that have one as unacceptable. Our scoring
+still favors configs without one, unless the user explicitly specifies
+otherwise with --visual-config.
+
+Upstream-Status: Backport [https://github.com/glmark2/glmark2/commit/5f23d540342ba69e12afeb6a1ac4f6fd36747975]
+---
+ doc/glmark2.1.in | 2 +-
+ src/gl-visual-config.cpp | 9 ++++++---
+ src/gl-visual-config.h | 2 +-
+ src/options.cpp | 6 +++---
+ 4 files changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/doc/glmark2.1.in b/doc/glmark2.1.in
+index 015ba20..1f4a047 100644
+--- a/doc/glmark2.1.in
++++ b/doc/glmark2.1.in
+@@ -38,7 +38,7 @@ Render to an off-screen surface
+ The visual configuration to use for the rendering target:
+ \'id=ID:red=R:green=G:blue=B:alpha=A:buffer=BUF:stencil=STENCIL:samples=SAMPLES'.
+ The parameters may be defined in any order, and any omitted parameters assume a
+-default value of '0' (id, stencil, samples) or '1' (red, green, blue, alpha, buffer).
++default value of '0' (id, samples), -1 (stencil) or '1' (red, green, blue, alpha, buffer).
+ If 'id' is set to a non-zero value, all other parameters are ignored
+ .TP
+ \fB\-\-reuse\-context\fR
+diff --git a/src/gl-visual-config.cpp b/src/gl-visual-config.cpp
+index de92f93..665f53a 100644
+--- a/src/gl-visual-config.cpp
++++ b/src/gl-visual-config.cpp
+@@ -26,7 +26,7 @@
+ #include <vector>
+
+ GLVisualConfig::GLVisualConfig(const std::string &s) :
+- id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(0), buffer(1), samples(0)
++ GLVisualConfig()
+ {
+ std::vector<std::string> elems;
+
+@@ -85,7 +85,7 @@ GLVisualConfig::match_score(const GLVisualConfig &target) const
+ score += score_component(blue, target.blue, 4);
+ score += score_component(alpha, target.alpha, 4);
+ score += score_component(depth, target.depth, 1);
+- score += score_component(stencil, target.stencil, 0);
++ score += score_component(stencil, target.stencil, 1);
+ score += score_component(buffer, target.buffer, 1);
+ score += score_component(samples, target.samples, -1);
+
+@@ -135,11 +135,14 @@ GLVisualConfig::score_component(int component, int target, int scale) const
+ * score for all components ranges from [0,MAXIMUM_COMPONENT_SCORE).
+ * If scale > 0, we reward the largest positive difference from target,
+ * otherwise the smallest positive difference from target.
++ * We also reward the smallest positive difference from the target,
++ * if the target < 0, i.e., we don't care about this value.
+ */
+ int diff = std::abs(scale) * (component - target);
+ if (diff > 0)
+ {
+- score = scale < 0 ? MAXIMUM_COMPONENT_SCORE - diff : diff;
++ score = (scale < 0 || target < 0) ?
++ MAXIMUM_COMPONENT_SCORE - diff : diff;
+ score = std::min(MAXIMUM_COMPONENT_SCORE, score);
+ score = std::max(0, score);
+ }
+diff --git a/src/gl-visual-config.h b/src/gl-visual-config.h
+index b28473f..013ce14 100644
+--- a/src/gl-visual-config.h
++++ b/src/gl-visual-config.h
+@@ -31,7 +31,7 @@ class GLVisualConfig
+ {
+ public:
+ GLVisualConfig():
+- id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(0), buffer(1), samples(0) {}
++ id(0), red(1), green(1), blue(1), alpha(1), depth(1), stencil(-1), buffer(1), samples(0) {}
+ GLVisualConfig(const std::string &s);
+
+ /**
+diff --git a/src/options.cpp b/src/options.cpp
+index 8d1ec16..3a31d3d 100644
+--- a/src/options.cpp
++++ b/src/options.cpp
+@@ -213,9 +213,9 @@ Options::print_help()
+ " target: 'id=ID:red=R:green=G:blue=B:alpha=A:buffer=BUF:\n"
+ " stencil=STENCIL:samples=SAMPLES'. The parameters may be\n"
+ " defined in any order, and any omitted parameters assume a\n"
+- " default value of '0' (id, stencil, samples) or '1' (red,\n"
+- " green, blue, alpha, buffer). If 'id' is set to a non-zero\n"
+- " value, all other parameters are ignored\n"
++ " default value of '0' (id, samples), '-1' (stencil) or\n"
++ " '1' (red, green, blue, alpha, buffer). If 'id' is set to\n"
++ " a non-zero value, all other parameters are ignored\n"
+ " --reuse-context Use a single context for all scenes\n"
+ " (by default, each scene gets its own context)\n"
+ " -s, --size WxH Size of the output window (default: 800x600)\n"
+--
+2.44.0
+
diff --git a/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch b/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch
deleted file mode 100644
index af88f6cd23..0000000000
--- a/meta-oe/recipes-benchmark/glmark2/files/0003-fix-precision-handling-bugs.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 90e837ffd1ff5c9add1074d69de23e58a3a4810e Mon Sep 17 00:00:00 2001
-From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-Date: Wed, 11 Nov 2020 09:26:03 -0500
-Subject: [PATCH 1/3] terrain: Fix precision bug in light rendering
-
-Resulting in overly bright rendering when mediump is implemented as
-fp16.
-
-Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
----
- data/shaders/terrain.frag | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/data/shaders/terrain.frag b/data/shaders/terrain.frag
-index 84d085c..58f17ea 100644
---- a/data/shaders/terrain.frag
-+++ b/data/shaders/terrain.frag
-@@ -67,7 +67,12 @@ void main() {
- vec3 pointSpecular = vec3( 0.0 );
- for ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {
- vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+ // should be highp for correct behaviour if mediump is implemented as fp16
-+ highp vec3 lVector = lPosition.xyz + vViewPosition.xyz;
-+#else
- vec3 lVector = lPosition.xyz + vViewPosition.xyz;
-+#endif
- float lDistance = 1.0;
- if ( pointLightDistance[ i ] > 0.0 )
- lDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );
-
-From 1edd76fda77edabd49d713912aee49b8360c86c3 Mon Sep 17 00:00:00 2001
-From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-Date: Wed, 11 Nov 2020 09:49:52 -0500
-Subject: [PATCH 2/3] terrain: Fix precision handling in noise shader
-
-Another overflow resulting in infinity in mediump. Note this bug is
-masked if the driver clamps infinity to MAX_FLOAT, but it's still our
-bug.
-
-Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
----
- data/shaders/terrain-noise.frag | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/data/shaders/terrain-noise.frag b/data/shaders/terrain-noise.frag
-index 7fea5c0..9535e58 100644
---- a/data/shaders/terrain-noise.frag
-+++ b/data/shaders/terrain-noise.frag
-@@ -17,7 +17,13 @@ uniform float time;
- uniform MEDIUMP vec2 uvScale;
- varying vec2 vUv;
-
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+// x should be passed as highp since the intermediate multiplications can
-+// overflow with mediump
-+vec4 permute(highp vec4 x)
-+#else
- vec4 permute(vec4 x)
-+#endif
- {
- return mod(((x * 34.0) + 1.0) * x, 289.0);
- }
-
-From e866cc633ffc450e5358b2742f32ca360e4f3f12 Mon Sep 17 00:00:00 2001
-From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
-Date: Wed, 11 Nov 2020 09:35:21 -0500
-Subject: [PATCH 3/3] loop,function,conditionals: Fix mediump overflow
-
-The multiplication can produce infinity.
-
-Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
----
- data/shaders/conditionals.frag | 9 ++++++++-
- data/shaders/function.frag | 9 ++++++++-
- data/shaders/loop.frag | 9 ++++++++-
- 3 files changed, 24 insertions(+), 3 deletions(-)
-
-diff --git a/data/shaders/conditionals.frag b/data/shaders/conditionals.frag
-index 3bd2507..e902263 100644
---- a/data/shaders/conditionals.frag
-+++ b/data/shaders/conditionals.frag
-@@ -2,7 +2,14 @@ varying vec4 dummy;
-
- void main(void)
- {
-- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001);
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+ // should be declared highp since the multiplication can overflow in
-+ // mediump, particularly if mediump is implemented as fp16
-+ highp vec2 FragCoord = gl_FragCoord.xy;
-+#else
-+ vec2 FragCoord = gl_FragCoord.xy;
-+#endif
-+ float d = fract(FragCoord.x * FragCoord.y * 0.0001);
-
- $MAIN$
-
-diff --git a/data/shaders/function.frag b/data/shaders/function.frag
-index 3e3c74f..9d0230e 100644
---- a/data/shaders/function.frag
-+++ b/data/shaders/function.frag
-@@ -8,7 +8,14 @@ $PROCESS$
-
- void main(void)
- {
-- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001);
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+ // should be declared highp since the multiplication can overflow in
-+ // mediump, particularly if mediump is implemented as fp16
-+ highp vec2 FragCoord = gl_FragCoord.xy;
-+#else
-+ vec2 FragCoord = gl_FragCoord.xy;
-+#endif
-+ float d = fract(FragCoord.x * FragCoord.y * 0.0001);
-
- $MAIN$
-
-diff --git a/data/shaders/loop.frag b/data/shaders/loop.frag
-index 31ae23e..9a6afd2 100644
---- a/data/shaders/loop.frag
-+++ b/data/shaders/loop.frag
-@@ -3,7 +3,14 @@ uniform int FragmentLoops;
-
- void main(void)
- {
-- float d = fract(gl_FragCoord.x * gl_FragCoord.y * 0.0001);
-+#ifdef GL_FRAGMENT_PRECISION_HIGH
-+ // should be declared highp since the multiplication can overflow in
-+ // mediump, particularly if mediump is implemented as fp16
-+ highp vec2 FragCoord = gl_FragCoord.xy;
-+#else
-+ vec2 FragCoord = gl_FragCoord.xy;
-+#endif
-+ float d = fract(FragCoord.x * FragCoord.y * 0.0001);
-
- $MAIN$
-
diff --git a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
index a5872f4354..0b61d6ed62 100644
--- a/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
+++ b/meta-oe/recipes-benchmark/glmark2/glmark2_git.bb
@@ -4,26 +4,26 @@ It uses only the subset of the OpenGL 2.0 API that is compatible with OpenGL ES
HOMEPAGE = "https://github.com/glmark2/glmark2"
BUGTRACKER = "https://github.com/glmark2/glmark2/issues"
-LICENSE = "GPLv3+ & SGIv1"
+LICENSE = "GPL-3.0-or-later & SGI-1"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
file://COPYING.SGI;beginline=5;md5=269cdab4af6748677acce51d9aa13552"
DEPENDS = "libpng jpeg udev"
-DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-native', '', d)}"
+DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-native wayland-protocols', '', d)}"
-PV = "20201114+${SRCPV}"
+PV = "2023.01"
SRC_URI = " \
- git://github.com/glmark2/glmark2.git;protocol=https \
+ git://github.com/glmark2/glmark2.git;protocol=https;branch=master \
file://0001-fix-dispmanx-build.patch \
file://0002-run-dispmanx-fullscreen.patch \
- file://0003-fix-precision-handling-bugs.patch \
- "
-SRCREV = "784aca755a469b144acf3cae180b6e613b7b057a"
+ file://0003-GLVisualConfig-By-default-don-t-care-about-the-stenc.patch \
+"
+SRCREV = "42e3d8fe3aa88743ef90348138f643f7b04a9237"
S = "${WORKDIR}/git"
-inherit waf pkgconfig features_check
+inherit meson pkgconfig features_check
ANY_OF_DISTRO_FEATURES = "opengl dispmanx"
@@ -59,6 +59,6 @@ python __anonymous() {
if "dispmanx" in packageconfig:
flavors = ["dispmanx-glesv2"]
if flavors:
- d.appendVar("EXTRA_OECONF", " --with-flavors=%s" % ",".join(flavors))
+ d.appendVar("EXTRA_OEMESON", " -Dflavors=%s" % ",".join(flavors))
}
diff --git a/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch b/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch
index d5622ed2cf..48069ff141 100644
--- a/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch
+++ b/meta-oe/recipes-benchmark/iozone3/iozone3/parallelism.patch
@@ -10,20 +10,24 @@ Only fixed linux targets for now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
+---
+ current/makefile | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
-
---- current/makefile.org 2016-12-06 02:19:10.367911020 +0000
-+++ current/makefile 2016-12-06 02:21:38.767911020 +0000
-@@ -167,7 +167,7 @@
+diff --git current/makefile current/makefile
+index 3a54701..7071427 100644
+--- current/makefile
++++ current/makefile
+@@ -171,7 +171,7 @@ hpux_no_ansi: iozone_hpux_no.o libbif.o
#
# GNU 'C' compiler Linux build with threads, largefiles, async I/O
#
-linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o
+linux: iozone_linux.o fileop_linux.o pit_server.o
- $(CC) -O3 $(LDFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \
+ $(CC) -O3 $(CFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \
-lrt -o iozone
- $(CC) -O3 -Dlinux fileop_linux.o -o fileop
-@@ -176,7 +176,7 @@
+ $(CC) -O3 $(CFLAGS) -Dlinux fileop_linux.o -o fileop
+@@ -180,7 +180,7 @@ linux: iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o
#
# GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O
#
@@ -32,7 +36,7 @@ Upstream-Status: Pending
$(CC) -O3 $(LDFLAGS) iozone_linux-powerpc.o libasync.o \
libbif.o -lpthread -lrt -o iozone
$(CC) -O3 -Dlinux fileop_linux-ppc.o -o fileop
-@@ -184,7 +184,7 @@
+@@ -188,7 +188,7 @@ linux-powerpc: iozone_linux-powerpc.o libbif.o libasync.o fileop_linux-ppc.o pi
#
# GNU 'C' compiler Linux build for sparc chip with threads, largefiles, async I/O
#
@@ -41,7 +45,7 @@ Upstream-Status: Pending
$(CC) -O3 $(LDFLAGS) iozone_linux-sparc.o libasync.o libbif.o \
-lpthread -lrt -o iozone
$(CC) -O3 -Dlinux fileop_linux.o -o fileop
-@@ -193,7 +193,7 @@
+@@ -197,7 +197,7 @@ linux-sparc: iozone_linux-sparc.o libbif.o libasync.o fileop_linux.o pit_server
#
# GNU 'C' compiler Linux build with threads, largefiles, async I/O
#
@@ -50,7 +54,7 @@ Upstream-Status: Pending
$(CC) -O3 $(LDFLAGS) iozone_linux-ia64.o libbif.o libasync.o \
-lrt -lpthread -o iozone
$(CC) -O3 -Dlinux fileop_linux-ia64.o -o fileop
-@@ -202,7 +202,7 @@
+@@ -206,7 +206,7 @@ linux-ia64: iozone_linux-ia64.o libbif.o libasync.o fileop_linux-ia64.o pit_ser
#
# GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O
#
@@ -59,7 +63,7 @@ Upstream-Status: Pending
$(CC) -O3 -Dunix -DHAVE_ANSIC_C -DSHARED_MEM -DASYNC_IO \
-D_LARGEFILE64_SOURCE -Dlinux \
iozone_linux-powerpc64.o libasync.o libbif.o -lpthread \
-@@ -213,7 +213,7 @@
+@@ -217,7 +217,7 @@ linux-powerpc64: iozone_linux-powerpc64.o libbif.o libasync.o fileop_linux-ppc6
#
# GNU 'C' compiler Linux build with threads, largefiles, async I/O
#
@@ -68,7 +72,7 @@ Upstream-Status: Pending
$(CC) -O3 $(LDFLAGS) iozone_linux-arm.o libbif.o libasync.o \
-lrt -lpthread -o iozone
$(CC) -O3 -Dlinux fileop_linux-arm.o -o fileop
-@@ -222,7 +222,7 @@
+@@ -249,7 +249,7 @@ endif
#
# GNU 'C' compiler Linux build with threads, largefiles, async I/O
#
@@ -77,7 +81,7 @@ Upstream-Status: Pending
$(CC) -O3 $(LDFLAGS) iozone_linux-AMD64.o libbif.o libasync.o \
-lrt -lpthread -o iozone
$(CC) -O3 -Dlinux fileop_linux-AMD64.o -o fileop
-@@ -231,7 +231,7 @@
+@@ -258,7 +258,7 @@ linux-AMD64: iozone_linux-AMD64.o libbif.o libasync.o fileop_linux-AMD64.o pit_
#
# GNU 'C' compiler Linux build with S/390, threads, largfiles, async I/O
#
@@ -86,7 +90,7 @@ Upstream-Status: Pending
$(CC) -O2 $(LDFLAGS) -lpthread -lrt iozone_linux-s390.o \
libbif.o libasync.o -o iozone
$(CC) -O3 -Dlinux fileop_linux-s390.o -o fileop
-@@ -240,7 +240,7 @@
+@@ -267,7 +267,7 @@ linux-S390: iozone_linux-s390.o libbif.o libasync.o fileop_linux-s390.o pit_serv
#
# GNU 'C' compiler Linux build with S/390, threads, largfiles, async I/O
#
@@ -95,3 +99,6 @@ Upstream-Status: Pending
$(CC) -O2 $(LDFLAGS) -lpthread -lrt iozone_linux-s390x.o \
libbif.o libasync.o -o iozone
$(CC) -O3 -Dlinux fileop_linux-s390x.o -o fileop
+--
+2.25.1
+
diff --git a/meta-oe/recipes-benchmark/iozone3/iozone3_490.bb b/meta-oe/recipes-benchmark/iozone3/iozone3_490.bb
deleted file mode 100644
index 1d2e53a319..0000000000
--- a/meta-oe/recipes-benchmark/iozone3/iozone3_490.bb
+++ /dev/null
@@ -1,121 +0,0 @@
-SUMMARY = "Filesystem and Disk Benchmarking Tool"
-HOMEPAGE = "http://www.iozone.org/"
-AUTHOR = "Don Capps <don.capps2@verizon.net>, William D. Norcott <wnorcott@us.oracle.com>"
-SECTION = "console/tests"
-LICENSE = "iozone3"
-LIC_FILES_CHKSUM = "file://iozone.c;beginline=37;endline=48;md5=7331260091868dcad0f9edea735b5f4b \
- file://iozone.c;beginline=276;endline=282;md5=77f9ee51e45b57a7e7519c4fa0b4f00b \
-"
-SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
- file://parallelism.patch \
- file://0001-let-system-headers-provide-pread64.patch \
- file://copyright.txt \
-"
-SRC_URI[md5sum] = "95cb73dfdd58a0dfa42804f016dbb83c"
-SRC_URI[sha256sum] = "5eadb4235ae2a956911204c50ebf2d8d8d59ddcd4a2841a1baf42f3145ad4fed"
-
-UPSTREAM_CHECK_REGEX = "iozone3_(?P<pver>\d+).tar"
-
-S = "${WORKDIR}/${BPN}_${PV}/src/current"
-
-#
-# All other arches can use the default OEMAKE except those
-# explicitly listed below. Another, the iozone3 Makefile
-# needs to be told about the cross-compiler explicitly here.
-#
-EXTRA_OEMAKE_powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE_powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE_powerpc64le = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE_x86-64 = "linux-AMD64 CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE_arm = "linux-arm CC='${CC}' GCC='${CC}'"
-EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install() {
- install -d ${D}${bindir} \
- ${D}${mandir}/man1 \
- ${D}${datadir}/doc/${BPN}/examples
-
- install -m 0755 ${S}/iozone ${D}${bindir}
- install -m 0755 ${S}/fileop ${D}${bindir}
- install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/
- install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/
-
- install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples
- install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples
- install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples
-
- install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples
- install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples
- install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples
-
- install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/
- install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/
- install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/
-}
-
-FILES_${PN} += "${datadir}/doc/${PN}/copyright.txt"
-
-# LICENSE:
-#
-# Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott
-#
-# License to freely use and distribute this software is hereby granted
-# by the author, subject to the condition that this copyright notice
-# remains intact. The author retains the exclusive right to publish
-# derivative works based on this work, including, but not limited to
-# revised versions of this work.
-#
-
-#
-# Below is author reply to question about distributing iozone3 in
-# OpenEmbedded:
-#
-# ========================================================================
-#
-# Marcin,
-#
-# Re-distribution is permitted as long as the copyright is
-# maintained and the source code is not changed. I do not
-# see a problem with your mods to enable fileop for Linux-arm,
-# as these mods have been returned to the Iozone folks,
-# and they have been accepted for inclusion in the next
-# release :-)
-#
-# Thank you for your contribution,
-# Don Capps
-#
-# ----- Original Message -----
-# From: "Marcin Juszkiewicz" <firma@hrw.one.pl>
-# To: "Don Capps" <don.capps2@verizon.net>; "William D. Norcott"
-# <wnorcott@us.oracle.com>
-# Sent: Sunday, October 29, 2006 4:55 PM
-# Subject: iozone3 263 patch for arm and License question
-#
-#
-# > Morning
-# >
-# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for
-# > other developers. Currently OE is used to build few distributions for
-# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of
-# > machines (PDA, settopbox, devboards, desktops, thin clients, routers).
-# >
-# > According to your distribution of derivations is forbidden. Packaging
-# > iozone3 in OpenEmbedded will not involve any source code changes. But
-# > when I was building it for ARM I discovered that fileop binary was not
-# > built - so I created patch for it (attached). Not yet tested it on target
-# > device.
-# >
-# > Thus, I seek your written permission via e-mail to distribute a package of
-# > the unmodified source code and also a package of the pre-compiled binary.
-# > Your copyright statement will be included in the package.
-# >
-# >
-# > 1. http://www.openembedded.org/
-# >
-# > Regards
-# > --
-# > JID: hrw-jabber.org
-# > OpenEmbedded developer/consultant
-
diff --git a/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb b/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb
new file mode 100644
index 0000000000..5a1306b6fe
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iozone3/iozone3_506.bb
@@ -0,0 +1,119 @@
+SUMMARY = "Filesystem and Disk Benchmarking Tool"
+HOMEPAGE = "http://www.iozone.org/"
+SECTION = "console/tests"
+LICENSE = "iozone3"
+LIC_FILES_CHKSUM = "file://iozone.c;beginline=37;endline=48;md5=7331260091868dcad0f9edea735b5f4b \
+ file://iozone.c;beginline=276;endline=282;md5=77f9ee51e45b57a7e7519c4fa0b4f00b \
+"
+SRC_URI = "http://www.iozone.org/src/current/${BPN}_${PV}.tar \
+ file://parallelism.patch \
+ file://0001-let-system-headers-provide-pread64.patch \
+ file://copyright.txt \
+"
+SRC_URI[sha256sum] = "114ce5c071873b9a2c7ba6e73d05d5ef7e66564392acbfcdc0b3261db10fcbe7"
+
+UPSTREAM_CHECK_REGEX = "iozone3_(?P<pver>\d+).tar"
+
+S = "${WORKDIR}/${BPN}_${PV}/src/current"
+
+#
+# All other arches can use the default OEMAKE except those
+# explicitly listed below. Another, the iozone3 Makefile
+# needs to be told about the cross-compiler explicitly here.
+#
+EXTRA_OEMAKE:powerpc = "linux-powerpc CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE:powerpc64 = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE:powerpc64le = "linux-powerpc64 CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE:x86-64 = "linux-AMD64 CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE:arm = "linux-arm CC='${CC}' GCC='${CC}'"
+EXTRA_OEMAKE = "linux CC='${CC}' GCC='${CC}'"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install() {
+ install -d ${D}${bindir} \
+ ${D}${mandir}/man1 \
+ ${D}${datadir}/doc/${BPN}/examples
+
+ install -m 0755 ${S}/iozone ${D}${bindir}
+ install -m 0755 ${S}/fileop ${D}${bindir}
+ install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/iozone.1 ${D}${mandir}/man1/
+ install -m 0644 ${WORKDIR}/copyright.txt ${D}${datadir}/doc/${BPN}/
+
+ install -m 0644 ${S}/*.dem ${D}${datadir}/doc/${BPN}/examples
+ install -m 0644 ${S}/client_list ${D}${datadir}/doc/${BPN}/examples
+ install -m 0644 ${S}/Gnuplot.txt ${D}${datadir}/doc/${BPN}/examples
+
+ install -m 0755 ${S}/Generate_Graphs ${D}${datadir}/doc/${BPN}/examples
+ install -m 0755 ${S}/gengnuplot.sh ${D}${datadir}/doc/${BPN}/examples
+ install -m 0755 ${S}/report.pl ${D}${datadir}/doc/${BPN}/examples
+
+ install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Iozone_ps.gz ${D}${datadir}/doc/${BPN}/
+ install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/IOzone_msword_98.pdf ${D}${datadir}/doc/${BPN}/
+ install -m 0644 ${WORKDIR}/${BPN}_${PV}/docs/Run_rules.doc ${D}${datadir}/doc/${BPN}/
+}
+
+FILES:${PN} += "${datadir}/doc/${PN}/copyright.txt"
+
+# LICENSE:
+#
+# Copyright 1991, 1992, 1994, 1998, 1999, 2002 William D. Norcott
+#
+# License to freely use and distribute this software is hereby granted
+# by the author, subject to the condition that this copyright notice
+# remains intact. The author retains the exclusive right to publish
+# derivative works based on this work, including, but not limited to
+# revised versions of this work.
+#
+
+#
+# Below is author reply to question about distributing iozone3 in
+# OpenEmbedded:
+#
+# ========================================================================
+#
+# Marcin,
+#
+# Re-distribution is permitted as long as the copyright is
+# maintained and the source code is not changed. I do not
+# see a problem with your mods to enable fileop for Linux-arm,
+# as these mods have been returned to the Iozone folks,
+# and they have been accepted for inclusion in the next
+# release :-)
+#
+# Thank you for your contribution,
+# Don Capps
+#
+# ----- Original Message -----
+# From: "Marcin Juszkiewicz" <firma@hrw.one.pl>
+# To: "Don Capps" <don.capps2@verizon.net>; "William D. Norcott"
+# <wnorcott@us.oracle.com>
+# Sent: Sunday, October 29, 2006 4:55 PM
+# Subject: iozone3 263 patch for arm and License question
+#
+#
+# > Morning
+# >
+# > I want to include iozone3 in OpenEmbedded [1] metadata to give it for
+# > other developers. Currently OE is used to build few distributions for
+# > misc platforms: ARM, SH3, SH4, x86, PowerPC and different types of
+# > machines (PDA, settopbox, devboards, desktops, thin clients, routers).
+# >
+# > According to your distribution of derivations is forbidden. Packaging
+# > iozone3 in OpenEmbedded will not involve any source code changes. But
+# > when I was building it for ARM I discovered that fileop binary was not
+# > built - so I created patch for it (attached). Not yet tested it on target
+# > device.
+# >
+# > Thus, I seek your written permission via e-mail to distribute a package of
+# > the unmodified source code and also a package of the pre-compiled binary.
+# > Your copyright statement will be included in the package.
+# >
+# >
+# > 1. http://www.openembedded.org/
+# >
+# > Regards
+# > --
+# > JID: hrw-jabber.org
+# > OpenEmbedded developer/consultant
+
diff --git a/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch b/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch
index 45c69ca067..dc3b85f8ef 100644
--- a/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch
+++ b/meta-oe/recipes-benchmark/iperf2/iperf2/0001-Detect-bool-definition-considering-stdbool.h-being-p.patch
@@ -13,6 +13,8 @@ template <> struct __libcpp_is_integral<int> : public tr
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
m4/dast.m4 | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb b/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
index 4a520e3be5..86e5fef530 100644
--- a/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
+++ b/meta-oe/recipes-benchmark/iperf2/iperf2_2.0.13.bb
@@ -19,3 +19,5 @@ EXTRA_OECONF = "--exec-prefix=${STAGING_DIR_HOST}${layout_exec_prefix}"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+CVE_PRODUCT = "iperf_project:iperf"
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch
index 739fd20fc5..a67be4d4f6 100644
--- a/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3/0001-configure.ac-check-for-CPP-prog.patch
@@ -1,4 +1,4 @@
-From cc4499cd4cfcb655fc44c3f3571eee20663dafde Mon Sep 17 00:00:00 2001
+From 80d208e47a525c915e3961efa61ccf91120ffafa Mon Sep 17 00:00:00 2001
From: Andrey Zhizhikin <andrey.z@gmail.com>
Date: Wed, 3 Feb 2021 20:44:34 +0000
Subject: [PATCH] configure.ac: check for CPP prog
@@ -15,17 +15,14 @@ Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
1 file changed, 1 insertion(+)
diff --git a/configure.ac b/configure.ac
-index 939cf0a..f75b398 100644
+index 2594b39..559b160 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -47,6 +47,7 @@ AC_CANONICAL_HOST
+@@ -49,6 +49,7 @@ AC_CANONICAL_HOST
# Checks for tools: c compiler, ranlib (used for creating static libraries),
# symlinks and libtool
AC_PROG_CC
+AC_PROG_CPP
- AC_PROG_RANLIB
AC_PROG_LN_S
- AC_PROG_LIBTOOL
---
-2.17.1
-
+
+ # Add -Wall if we are using GCC.
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch b/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
index 959e29389c..ff1ea05bcb 100644
--- a/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3/0002-Remove-pg-from-profile_CFLAGS.patch
@@ -1,4 +1,4 @@
-From 3ae408402635ea21ad90cd722c99ae3334376c91 Mon Sep 17 00:00:00 2001
+From 155ae12f7809e387a379703d8c09f227e430336d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 14 Jul 2017 13:00:16 -0700
Subject: [PATCH] Remove -pg from profile_CFLAGS
@@ -7,12 +7,15 @@ musl fails to link with missing gcrt1.o
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
---
+Upstream-Status: Pending
+
src/Makefile.am | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
-index 5be8562..3881aa6 100644
+index 11d3e17..4058cff 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -58,9 +58,9 @@ if ENABLE_PROFILING
@@ -27,6 +30,3 @@ index 5be8562..3881aa6 100644
endif
# Specify the sources and various flags for the test cases
---
-2.21.0
-
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.16.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_3.16.bb
new file mode 100644
index 0000000000..5cec4c6874
--- /dev/null
+++ b/meta-oe/recipes-benchmark/iperf3/iperf3_3.16.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Network benchmark tool"
+DESCRIPTION = "\
+iperf is a tool for active measurements of the maximum achievable bandwidth \
+on IP networks. It supports tuning of various parameters related to timing, \
+protocols, and buffers. For each test it reports the bandwidth, loss, and \
+other parameters."
+
+HOMEPAGE = "http://software.es.net/iperf/"
+SECTION = "console/network"
+BUGTRACKER = "https://github.com/esnet/iperf/issues"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dc6301c8256ceb8f71c9e3c2ae9096b9"
+
+SRC_URI = "git://github.com/esnet/iperf.git;branch=master;protocol=https \
+ file://0002-Remove-pg-from-profile_CFLAGS.patch \
+ file://0001-configure.ac-check-for-CPP-prog.patch \
+ "
+
+SRCREV = "f9481e1cd35159929458513692e4a8f9fdd1bd6f"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG ?= "openssl"
+
+PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
+PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl"
+
+CFLAGS += "-D_GNU_SOURCE"
diff --git a/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb b/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb
deleted file mode 100644
index be75837beb..0000000000
--- a/meta-oe/recipes-benchmark/iperf3/iperf3_3.9.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Network benchmark tool"
-DESCRIPTION = "\
-iperf is a tool for active measurements of the maximum achievable bandwidth \
-on IP networks. It supports tuning of various parameters related to timing, \
-protocols, and buffers. For each test it reports the bandwidth, loss, and \
-other parameters."
-HOMEPAGE = "http://software.es.net/iperf/"
-SECTION = "console/network"
-BUGTRACKER = "https://github.com/esnet/iperf/issues"
-AUTHOR = "ESNET <info@es.net>, Lawrence Berkeley National Laboratory <websupport@lbl.gov>"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b7fb682e9941a49f1214dcd7441410d7"
-
-SRC_URI = "git://github.com/esnet/iperf.git \
- file://0002-Remove-pg-from-profile_CFLAGS.patch \
- file://0001-configure.ac-check-for-CPP-prog.patch \
- "
-
-SRCREV = "1f8fb13297f3e3e40169ebcd12e171167e394473"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-PACKAGECONFIG ?= "openssl"
-
-PACKAGECONFIG[lksctp] = "ac_cv_header_netinet_sctp_h=yes,ac_cv_header_netinet_sctp_h=no,lksctp-tools"
-PACKAGECONFIG[openssl] = "--with-openssl=${RECIPE_SYSROOT}${prefix},--without-openssl,openssl"
-
-CFLAGS += "-D_GNU_SOURCE"
diff --git a/meta-oe/recipes-benchmark/libc-bench/libc-bench/0001-build-Do-not-override-ldflags-from-environment.patch b/meta-oe/recipes-benchmark/libc-bench/libc-bench/0001-build-Do-not-override-ldflags-from-environment.patch
new file mode 100644
index 0000000000..060b418fcd
--- /dev/null
+++ b/meta-oe/recipes-benchmark/libc-bench/libc-bench/0001-build-Do-not-override-ldflags-from-environment.patch
@@ -0,0 +1,30 @@
+From 419dac71dd524a39ad2333e91334b4650e277a78 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 25 Jun 2021 09:43:00 -0700
+Subject: [PATCH] build: Do not override ldflags from environment
+
+bitbake passed LDFLAGS contain important information e.g. which compiler
+runtime to link etc. Therefore append -static to LDFLAGS instead
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index efda5c0..a867876 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,7 @@ SRCS = $(sort $(wildcard *.c))
+ OBJS = $(SRCS:.c=.o)
+
+ CFLAGS = -Os -D_XOPEN_SOURCE=700
+-LDFLAGS = -static
++LDFLAGS += -static
+ LIBS = -lpthread -lrt -lpthread
+
+
+--
+2.32.0
+
diff --git a/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb b/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb
index e813894316..4ace4515ad 100644
--- a/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb
+++ b/meta-oe/recipes-benchmark/libc-bench/libc-bench_git.bb
@@ -7,9 +7,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9a825c63897c53f487ef900598c31527"
SRCREV = "b6b2ce5f9f87a09b14499cb00c600c601f022634"
-PV = "20110206+git${SRCPV}"
+PV = "20110206+git"
-SRC_URI = "git://git.musl-libc.org/libc-bench \
+SRC_URI = "git://git.musl-libc.org/libc-bench;branch=master \
+ file://0001-build-Do-not-override-ldflags-from-environment.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch
index a84414c024..914b0514f8 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0001-include-stddef.h-for-ptrdiff_t.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] include stddef.h for ptrdiff_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
morecore.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch
index 8cb184a651..7ad6c43eb1 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0002-Mark-glibc-specific-code-so.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] Mark glibc specific code so
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
morecore.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch
index aca7e803d0..858a8e511a 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0003-alloc.c-Avoid-sysconf-_SC_LEVEL2_CACHE_LINESIZE-on-l.patch
@@ -8,6 +8,8 @@ musl does not have it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
alloc.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch
index 58776e8710..c3f7b3e479 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0004-shm.c-Mark-glibc-specific-changes-so.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] shm.c: Mark glibc specific changes so
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
shm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch
index e736cbc791..8bd1633392 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0005-Include-dirent.h-for-ino_t.patch
@@ -11,6 +11,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Update for 2.22.
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
tests/hugetests.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch
index 2ead21fb46..e4f8030961 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/files/0006-include-limits.h-for-PATH_MAX.patch
@@ -10,6 +10,8 @@ error: 'PATH_MAX' undeclared
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
hugeadm.c | 1 +
tests/gethugepagesizes.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
index fa63316b02..80af9873b1 100644
--- a/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
+++ b/meta-oe/recipes-benchmark/libhugetlbfs/libhugetlbfs_git.bb
@@ -1,18 +1,18 @@
SUMMARY = "A library which provides easy access to huge pages of memory"
HOMEPAGE = "https://github.com/libhugetlbfs/libhugetlbfs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "sysfsutils"
-RDEPENDS_${PN} += "bash python3-core"
-RDEPENDS_${PN}-tests += "bash python3-core"
+RDEPENDS:${PN} += "bash python3-core"
+RDEPENDS:${PN}-tests += "bash python3-core"
PV = "2.23"
PE = "1"
SRCREV = "6b126a4d7da9490fa40fe7e1b962edcb939feddc"
SRC_URI = " \
- git://github.com/libhugetlbfs/libhugetlbfs.git;protocol=https \
+ git://github.com/libhugetlbfs/libhugetlbfs.git;protocol=https;branch=master \
file://skip-checking-LIB32-and-LIB64-if-they-point-to-the-s.patch \
file://libhugetlbfs-avoid-search-host-library-path-for-cros.patch \
file://tests-Makefile-install-static-4G-edge-testcases.patch \
@@ -37,9 +37,9 @@ COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64|aarch64|arm).*-linux*"
LIBARGS = "LIB32=${baselib} LIB64=${baselib}"
LIBHUGETLBFS_ARCH = "${TARGET_ARCH}"
-LIBHUGETLBFS_ARCH_powerpc = "ppc"
-LIBHUGETLBFS_ARCH_powerpc64 = "ppc64"
-LIBHUGETLBFS_ARCH_powerpc64le = "ppc64"
+LIBHUGETLBFS_ARCH:powerpc = "ppc"
+LIBHUGETLBFS_ARCH:powerpc64 = "ppc64"
+LIBHUGETLBFS_ARCH:powerpc64le = "ppc64le"
EXTRA_OEMAKE = "'ARCH=${LIBHUGETLBFS_ARCH}' 'OPT=${CFLAGS}' 'CC=${CC}' ${LIBARGS} BUILDTYPE=NATIVEONLY V=2"
PARALLEL_MAKE = ""
CFLAGS += "-fexpensive-optimizations -frename-registers -fomit-frame-pointer -g0"
@@ -65,12 +65,15 @@ do_install() {
PACKAGES =+ "${PN}-tests "
-FILES_${PN} += "${libdir}/*.so"
-FILES_${PN}-dev = "${includedir}"
-FILES_${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug"
-FILES_${PN}-tests += "${libdir}/libhugetlbfs/tests"
+FILES:${PN} += "${libdir}/*.so"
+FILES:${PN}-dev = "${includedir}"
+FILES:${PN}-dbg += "${libdir}/libhugetlbfs/tests/obj32/.debug ${libdir}/libhugetlbfs/tests/obj64/.debug"
+FILES:${PN}-tests += "${libdir}/libhugetlbfs/tests"
-INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP:${PN} = "dev-so"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+# see https://github.com/libhugetlbfs/libhugetlbfs/issues/52
+SKIP_RECIPE[libhugetlbfs] ?= "Needs porting to glibc 2.34+"
diff --git a/meta-oe/recipes-benchmark/linpack/linpack/0001-linpack-Define-DP-only-when-SP-is-not-defined.patch b/meta-oe/recipes-benchmark/linpack/linpack/0001-linpack-Define-DP-only-when-SP-is-not-defined.patch
new file mode 100644
index 0000000000..4eb18e38ca
--- /dev/null
+++ b/meta-oe/recipes-benchmark/linpack/linpack/0001-linpack-Define-DP-only-when-SP-is-not-defined.patch
@@ -0,0 +1,32 @@
+From f092d4be22acd09e791187b8e9bff6d312721ce4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Nov 2021 11:36:31 -0800
+Subject: [PATCH] linpack: Define DP only when SP is not defined
+
+This helps compiling two versions ( SP/FP ) of the benchmark just by
+passing -DSP on compile cmdline
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ linpacknew.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/linpacknew.c b/linpacknew.c
+index 17b2824..c656082 100644
+--- a/linpacknew.c
++++ b/linpacknew.c
+@@ -28,7 +28,9 @@
+ #include <time.h>
+ #include <float.h>
+
++#ifndef SP
+ #define DP
++#endif
+
+ #ifdef SP
+ #define ZERO 0.0
+--
+2.33.1
+
diff --git a/meta-oe/recipes-benchmark/linpack/linpack_1.0.bb b/meta-oe/recipes-benchmark/linpack/linpack_1.0.bb
index aed95cdaa4..603004ddd5 100644
--- a/meta-oe/recipes-benchmark/linpack/linpack_1.0.bb
+++ b/meta-oe/recipes-benchmark/linpack/linpack_1.0.bb
@@ -4,17 +4,21 @@ SUMMARY = "LINPACK is a software library for performing numerical linear algebra
LICENSE = "PD"
LIC_FILES_CHKSUM ="file://${WORKDIR}/linpacknew.c;beginline=1;endline=23;md5=aa025e3bc44190c71e4c5e3b084fed87"
-SRC_URI = "http://www.netlib.org/benchmark/linpackc.new;downloadfilename=linpacknew.c"
+SRC_URI = "http://www.netlib.org/benchmark/linpackc.new;downloadfilename=linpacknew.c \
+ file://0001-linpack-Define-DP-only-when-SP-is-not-defined.patch \
+ "
SRC_URI[md5sum] = "1c5d0b6a31264685d2e651c920e3cdf4"
SRC_URI[sha256sum] = "a63f2ec86512959f1fd926bfafb85905b2d7b7402942ffae3af374d48745e97e"
S = "${WORKDIR}"
do_compile () {
- ${CC} ${CFLAGS} ${LDFLAGS} -o linpack linpacknew.c -lm
+ ${CC} ${CFLAGS} ${LDFLAGS} -DDP -o linpack_dp linpacknew.c -lm
+ ${CC} ${CFLAGS} ${LDFLAGS} -DSP -o linpack_sp linpacknew.c -lm
}
do_install () {
- install -Dm 0755 linpack ${D}${bindir}/linpack
+ install -Dm 0755 linpack_dp ${D}${bindir}/linpack_dp
+ install -Dm 0755 linpack_sp ${D}${bindir}/linpack_sp
}
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch b/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
deleted file mode 100644
index d7169495fa..0000000000
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-Check-for-musl-define-guard-before-redefining-sockle.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ac1657e11cbb0545bdf4d1124def8c013958ed7e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 12 Jul 2017 18:08:51 -0700
-Subject: [PATCH] Check for musl define guard before redefining socklen_t
-
-musl uses __DEFINED_socklen_t so check for that as well
-along with HAVE_socklen_t
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/bench.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/bench.h b/src/bench.h
-index 597d068..2ebdf5a 100644
---- a/src/bench.h
-+++ b/src/bench.h
-@@ -77,7 +77,7 @@ typedef long long int64;
- #endif /* HAVE_int64_t */
- #endif /* HAVE_int64 */
-
--#ifndef HAVE_socklen_t
-+#if !defined(HAVE_socklen_t) && !defined(__DEFINED_socklen_t)
- typedef int socklen_t;
- #endif
-
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch
index b964bef1f0..ff926548b6 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-avoid-gcc-optimize-away-the-loops.patch
@@ -3,7 +3,7 @@ From: Roy Li <rongqing.li@windriver.com>
Date: Thu, 5 May 2016 09:52:01 +0800
Subject: [PATCH] [PATCH] avoid gcc optimize-away the loops
-Upstream-Status: pending
+Upstream-Status: Pending
Change expression used in do_integer_mul and do_uint64_mul
benchmarks so GCC doesn't optimize-away the loops, other
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench/0001-bench.h-Fix-typo-in-specifying-string.h.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-bench.h-Fix-typo-in-specifying-string.h.patch
new file mode 100644
index 0000000000..e9220ecbdd
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-bench.h-Fix-typo-in-specifying-string.h.patch
@@ -0,0 +1,27 @@
+From 4bbedd25e74adb5cb181a9ae589adb2052ade630 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 23:34:48 -0700
+Subject: [PATCH] bench.h: Fix typo in specifying string.h
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/bench.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bench.h b/src/bench.h
+index 2ebdf5a..750bebf 100644
+--- a/src/bench.h
++++ b/src/bench.h
+@@ -21,7 +21,7 @@ typedef unsigned char bool_t;
+ #include <signal.h>
+ #include <errno.h>
+ #ifndef WIN32
+-#include <strings.h>
++#include <string.h>
+ #endif
+ #include <sys/types.h>
+ #ifndef WIN32
+--
+2.37.3
+
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch
index d49dac5b20..9014f80ab6 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 1/2] doc: Fix typos in lat_unix_connect manual page
Signed-off-by: Yanfei Xu <yanfei.xu@windriver.com>
---
+Upstream-Status: Pending
+
doc/lat_unix_connect.8 | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-manual-pages.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-manual-pages.patch
index b27e6c9fe0..b960a7d19f 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-doc-Fix-typos-in-manual-pages.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-doc-Fix-typos-in-manual-pages.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] doc: Fix typos in manual pages
Signed-off-by: He Zhe <zhe.he@windriver.com>
---
+Upstream-Status: Pending
+
doc/bw_mem.8 | 2 +-
doc/lat_fcntl.8 | 2 +-
doc/lat_fifo.8 | 2 +-
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_fifo-Fix-cleanup-sequence.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_fifo-Fix-cleanup-sequence.patch
index 42b14cecee..b46c5fae76 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_fifo-Fix-cleanup-sequence.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_fifo-Fix-cleanup-sequence.patch
@@ -7,6 +7,8 @@ Files should be unlinked after all users exit.
Signed-off-by: He Zhe <zhe.he@windriver.com>
---
+Upstream-Status: Pending
+
src/lat_fifo.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_http.c-Add-printf-format.patch
index 943b3ec889..eaa4ad0814 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lat_http.c-Add-printf-format.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lat_http.c-Add-printf-format.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] lat_http.c: Add printf format
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/lat_http.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lmbench-Point-webpage-lm-to-target-directory.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lmbench-Point-webpage-lm-to-target-directory.patch
index 4a26b8ea7a..7b713a3243 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-lmbench-Point-webpage-lm-to-target-directory.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-lmbench-Point-webpage-lm-to-target-directory.patch
@@ -8,6 +8,8 @@ Plus improve 'hello' copying in lmbench script.
Signed-off-by: He Zhe <zhe.he@windriver.com>
---
+Upstream-Status: Pending
+
scripts/lmbench | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench/0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch
new file mode 100644
index 0000000000..f07cef6b38
--- /dev/null
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch
@@ -0,0 +1,239 @@
+From bcc6816b92ecf409357865589069a82883d589f7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Sep 2022 22:53:51 -0700
+Subject: [PATCH] scripts/build: Fix the tests to build with clang15
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/build | 50 +++++++++++++++++++++++++-------------------------
+ 1 file changed, 25 insertions(+), 25 deletions(-)
+
+--- a/scripts/build
++++ b/scripts/build
+@@ -21,7 +21,7 @@ trap 'rm -f ${BASE}$$.s ${BASE}$$.c ${BA
+ LDLIBS="$LDLIBS -lm"
+
+ # check for HP-UX's ANSI compiler
+-echo "main(int ac, char *av[]) { int i; }" > ${BASE}$$.c
++echo "int main(int ac, char *av[]) { int i; }" > ${BASE}$$.c
+ if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c 1>${NULL} 2>${NULL}
+ then
+ true;
+@@ -39,7 +39,7 @@ arch=`echo $OS | awk -F- '{print $1;}'`
+ if [ "X$CC" = "Xcc" -a "X$arch" = "Xia64" ]
+ then
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+- echo "main(int ac, char *av[])" >> ${BASE}$$.c
++ echo "int main(int ac, char *av[])" >> ${BASE}$$.c
+ echo "{ long* p = (long*)malloc(sizeof(long));" >> ${BASE}$$.c
+ echo "*p = 0; exit((int)*p); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} +DD64 -o ${BASE}$$ ${BASE}$$.c 1>${NULL} 2>${NULL} \
+@@ -51,14 +51,14 @@ fi
+
+ # check for bcopy (optionally set the SYS5 flag)
+ echo "#include <string.h>" > ${BASE}$$.c
+-echo "main() { char a[256], b[256]; bcopy(a, b, 256); }" >> ${BASE}$$.c
++echo "int main() { char a[256], b[256]; bcopy(a, b, 256); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ || CFLAGS="${CFLAGS} -DSYS5"
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+
+ # check for valloc
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+-echo "main() { char* buf = valloc(123); }" >> ${BASE}$$.c
++echo "int main() { char* buf = valloc(123); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ || CFLAGS="${CFLAGS} -Dvalloc=malloc"
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -67,7 +67,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+ echo "#include <unistd.h>" >> ${BASE}$$.c
+-echo "main() { off64_t off; }" >> ${BASE}$$.c
++echo "int main() { off64_t off; }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_off64_t"
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -76,7 +76,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+ echo "#include <unistd.h>" >> ${BASE}$$.c
+-echo "main() { int fd = 0; off64_t off = 0; off = lseek64(fd, off, SEEK_SET); }" >> ${BASE}$$.c
++echo "int main() { int fd = 0; off64_t off = 0; off = lseek64(fd, off, SEEK_SET); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_lseek64"
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -88,7 +88,7 @@ echo "#include <sys/resource.h>" >> ${BA
+ echo "#ifndef RUSAGE_SELF" >> ${BASE}$$.c
+ echo "#define RUSAGE_SELF 0" >> ${BASE}$$.c
+ echo "#endif /* RUSAGE_SELF */" >> ${BASE}$$.c
+-echo "main() { struct rusage ru; getrusage(RUSAGE_SELF, &ru); }" >> ${BASE}$$.c
++echo "int main() { struct rusage ru; getrusage(RUSAGE_SELF, &ru); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DRUSAGE"
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -125,24 +125,24 @@ fi
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+
+ # check for -lrpc (cygwin/Windows)
+-echo "extern int pmap_set(); main() { pmap_set(); }" >${BASE}$$.c
++echo "extern int pmap_set(void); int main() { pmap_set(); }" >${BASE}$$.c
+ if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then
+ true;
+-else
+- ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} -lrpc 1>${NULL} 2>${NULL} \
+- && LDLIBS="${LDLIBS} -lrpc"
++elif ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} -lrpc 1>${NULL} 2>${NULL}; then
++ LDLIBS="${LDLIBS} -lrpc"
++else ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} -ltirpc 1>${NULL} 2>${NULL} && LDLIBS="${LDLIBS} -ltirpc"
+ fi
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+
+ # check for OSs that have S_IFFIFO instead of S_IFIFO
+ echo "#include <sys/stat.h>" > ${BASE}$$.c
+-echo "main() { return (S_IFIFO); }" >> ${BASE}$$.c
++echo "int main() { return (S_IFIFO); }" >> ${BASE}$$.c
+ if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then
+ true;
+ else
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ echo "#include <sys/stat.h>" > ${BASE}$$.c
+- echo "main() { return (S_IFFIFO); }" >> ${BASE}$$.c
++ echo "int main() { return (S_IFFIFO); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ || CFLAGS="${CFLAGS} -DS_IFIFO=S_IFFIFO"
+ fi
+@@ -151,7 +151,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ # check that we have uint
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+-echo "main() { uint i = 0; return (i); }" >> ${BASE}$$.c
++echo "int main() { uint i = 0; return (i); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_uint=1";
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -161,7 +161,7 @@ HAVE_uint64=0
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+ echo "#include <rpc/types.h>" >> ${BASE}$$.c
+-echo "main() { uint64 i = 0; return (int)(i); }" >> ${BASE}$$.c
++echo "int main() { uint64 i = 0; return (int)(i); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_uint64=1" && HAVE_uint64=1;
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -170,7 +170,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ if [ ${HAVE_uint64} = 0 ]; then
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+- echo "main() { uint64_t i = 0; return (int)(i); }" >> ${BASE}$$.c
++ echo "int main() { uint64_t i = 0; return (int)(i); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_uint64_t=1";
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -181,7 +181,7 @@ HAVE_int64=0
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+ echo "#include <rpc/types.h>" >> ${BASE}$$.c
+-echo "main() { int64 i = 0; return (int)(i); }" >> ${BASE}$$.c
++echo "int main() { int64 i = 0; return (int)(i); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_int64=1" && HAVE_int64=1;
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -190,7 +190,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ if [ ${HAVE_int64} = 0 ]; then
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+- echo "main() { int64_t i = 0; return (int)(i); }" >> ${BASE}$$.c
++ echo "int main() { int64_t i = 0; return (int)(i); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_int64_t=1";
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -209,7 +209,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+ echo "#include <sys/socket.h>" >> ${BASE}$$.c
+-echo "main() { int s; struct sockaddr dest; socklen_t len; getsockname(s, &dest, &len); }" >> ${BASE}$$.c
++echo "int main() { int s; struct sockaddr dest; socklen_t len; getsockname(s, &dest, &len); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_socklen_t"
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -217,7 +217,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ # check that we have drand48 and srand48
+ HAVE_RANDOM=0
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+-echo "main() { srand48(973); return (int)(1.0E9 * drand48()); }" >> ${BASE}$$.c
++echo "int main() { srand48(973); return (int)(1.0E9 * drand48()); }" >> ${BASE}$$.c
+ if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then
+ CFLAGS="${CFLAGS} -DHAVE_DRAND48"
+ HAVE_RANDOM=1
+@@ -226,7 +226,7 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+
+ if [ ${HAVE_RANDOM} -eq 0 ]; then
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+- echo "main() { srand(973); return (10 * rand()) / RAND_MAX; }" >> ${BASE}$$.c
++ echo "int main() { srand(973); return (10 * rand()) / RAND_MAX; }" >> ${BASE}$$.c
+ if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then
+ CFLAGS="${CFLAGS} -DHAVE_RAND"
+ HAVE_RANDOM=1
+@@ -236,7 +236,7 @@ fi
+
+ if [ ${HAVE_RANDOM} -eq 0 ]; then
+ echo "#include <stdlib.h>" > ${BASE}$$.c
+- echo "main() { srandom(973); return (10 * random()) / RAND_MAX; }" >> ${BASE}$$.c
++ echo "int main() { srandom(973); return (10 * random()) / RAND_MAX; }" >> ${BASE}$$.c
+ if ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL}; then
+ CFLAGS="${CFLAGS} -DHAVE_RANDOM"
+ HAVE_RANDOM=1
+@@ -247,7 +247,7 @@ fi
+ # check that we have sysmp
+ echo "#include <sys/types.h>" > ${BASE}$$.c
+ echo "#include <sys/sysmp.h>" >> ${BASE}$$.c
+-echo "main() { return (int)sysmp(MP_NPROCS); }" >> ${BASE}$$.c
++echo "int main() { return (int)sysmp(MP_NPROCS); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_SYSMP=1";
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -257,7 +257,7 @@ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <unistd.h>" >> ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+ echo "#include <sys/processor.h>" >> ${BASE}$$.c
+-echo "main() { return bindprocessor(BINDPROCESS, getpid(), 0); }" >> ${BASE}$$.c
++echo "int main() { return bindprocessor(BINDPROCESS, getpid(), 0); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_BINDPROCESSOR=1";
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -267,16 +267,17 @@ echo "#include <stdlib.h>" > ${BASE}$$.c
+ echo "#include <sys/types.h>" >> ${BASE}$$.c
+ echo "#include <sys/processor.h>" >> ${BASE}$$.c
+ echo "#include <sys/procset.h>" >> ${BASE}$$.c
+-echo "main() { return processor(P_PID, P_MYPID, 0, NULL); }" >> ${BASE}$$.c
++echo "int main() { return processor(P_PID, P_MYPID, 0, NULL); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_BINDPROCESSOR=1";
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+
+ # check that we have sched_setaffinity
+-echo "#include <stdlib.h>" > ${BASE}$$.c
++echo "#define _GNU_SOURCE" > ${BASE}$$.c
++echo "#include <stdlib.h>" >> ${BASE}$$.c
+ echo "#include <unistd.h>" >> ${BASE}$$.c
+ echo "#include <sched.h>" >> ${BASE}$$.c
+-echo "main() { unsigned long mask = 1; return sched_setaffinity(0, sizeof(unsigned long), &mask); }" >> ${BASE}$$.c
++echo "int main() { unsigned long mask = 1; return sched_setaffinity(0, sizeof(unsigned long), &mask); }" >> ${BASE}$$.c
+ ${CC} ${CFLAGS} -o ${BASE}$$ ${BASE}$$.c ${LDLIBS} 1>${NULL} 2>${NULL} \
+ && CFLAGS="${CFLAGS} -DHAVE_SCHED_SETAFFINITY=1";
+ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+@@ -285,4 +286,4 @@ rm -f ${BASE}$$ ${BASE}$$.o ${BASE}$$.c
+ if [ ! -d ${BINDIR} ]; then mkdir -p ${BINDIR}; fi
+
+ # now go ahead and build everything!
+-${MAKE} OS="${OS}" CC="${CC}" CFLAGS="${CFLAGS}" LDLIBS="${LDLIBS}" O="${BINDIR}" $*
++${MAKE} OS="${OS}" CC="${CC}" CFLAGS="${CFLAGS}" LDLIBS="${LDLIBS}" O="${BINDIR}" ${EXTRA_OEMAKE} $*
+--- a/src/lib_sched.c
++++ b/src/lib_sched.c
+@@ -1,3 +1,4 @@
++#define _GNU_SOURCE
+ #include "bench.h"
+
+ /* #define _DEBUG */
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch
index 04cef960fc..04cef960fc 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
index 1d5d9c12ab..096726cc23 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch
@@ -9,6 +9,8 @@ to link in librirpc, make room for those changes to take effect
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
scripts/build | 2 +-
src/Makefile | 14 +++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/fix-lmbench-memory-check-failure.patch
index cbab5c424e..0274bc32af 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/fix-lmbench-memory-check-failure.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/fix-lmbench-memory-check-failure.patch
@@ -24,7 +24,7 @@ Signed-off-by: Fupan Li <fupan.li@windriver.com>
Add and reword above comments
-Upstream-status: inappropriate [ configuration ]
+Upstream-Status: Inappropriate [ configuration ]
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench_result_html_report.patch
index 30708c81db..ae2443476a 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/lmbench_result_html_report.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/lmbench_result_html_report.patch
@@ -13,7 +13,7 @@ Signed-off-by: Fupan Li <fupan.li@windriver.com>
Reworded patch description.
-Upstream-status: inappropriate [ configuration ]
+Upstream-Status: Inappropriate [ configuration ]
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/obey-ranlib.patch
index fa5e6dbda3..fa5e6dbda3 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/obey-ranlib.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/obey-ranlib.patch
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/update-config-script.patch
index 44bc7bbcde..44bc7bbcde 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-config-script.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/update-config-script.patch
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch b/meta-oe/recipes-benchmark/lmbench/lmbench/update-results-script.patch
index 31c4aecbbe..31c4aecbbe 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench-3.0-a9/update-results-script.patch
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench/update-results-script.patch
diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
index e9d1067d43..57f73eedc7 100644
--- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
+++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb
@@ -1,7 +1,7 @@
SUMMARY = "Tools for performance analysis"
HOMEPAGE = "http://lmbench.sourceforge.net/"
SECTION = "console/utils"
-LICENSE = "GPLv2 & GPL-2.0-with-lmbench-restriction"
+LICENSE = "GPL-2.0-only & GPL-2.0-with-lmbench-restriction"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
file://COPYING-2;md5=8e9aee2ccc75d61d107e43794a25cdf9"
@@ -9,9 +9,7 @@ inherit autotools-brokensep update-alternatives
DEPENDS += "libtirpc"
CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-LDLIBS += " -ltirpc "
-PR = "r2"
SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
file://lmbench-run \
@@ -23,13 +21,14 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/lmbench/lmbench-${PV}.tgz \
file://fix-lmbench-memory-check-failure.patch \
file://0001-avoid-gcc-optimize-away-the-loops.patch \
file://0001-lat_http.c-Add-printf-format.patch \
- file://0001-Check-for-musl-define-guard-before-redefining-sockle.patch \
file://0002-build-Adjust-CFLAGS-LDFLAGS-to-append-values-passed-.patch \
file://0001-src-Makefile-use-libdir-instead-of-hardcoded-lib.patch \
file://0001-lmbench-Point-webpage-lm-to-target-directory.patch \
file://0001-doc-Fix-typos-in-manual-pages.patch \
file://0001-lat_fifo-Fix-cleanup-sequence.patch \
file://0001-doc-Fix-typos-in-lat_unix_connect-manual-page.patch \
+ file://0001-bench.h-Fix-typo-in-specifying-string.h.patch \
+ file://0001-scripts-build-Fix-the-tests-to-build-with-clang15.patch \
"
SRC_URI[md5sum] = "b3351a3294db66a72e2864a199d37cbf"
SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8a2a551"
@@ -37,8 +36,11 @@ SRC_URI[sha256sum] = "cbd5777d15f44eab7666dcac418054c3c09df99826961a397d9acf43d8
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lmbench/files/development/"
UPSTREAM_CHECK_REGEX = "lmbench-(?P<pver>\d+(\.\d+)+-[a-z]+\d+)"
+export OS = "${TARGET_SYS}"
+export TARGET = "${TARGET_OS}"
+
EXTRA_OEMAKE = 'CC="${CC}" AR="${AR}" RANLIB="${RANLIB}" CFLAGS="${CFLAGS}" \
- LDFLAGS="${LDFLAGS}" LDLIBS="${LDLIBS}" LD="${LD}" OS="${TARGET_SYS}" \
+ LDFLAGS="${LDFLAGS}" LD="${LD}" OS="${TARGET_SYS}" \
TARGET="${TARGET_OS}" BASE="${prefix}" MANDIR="${mandir}"'
do_configure() {
@@ -53,7 +55,7 @@ do_compile () {
CFLAGS="${CFLAGS} -DHAVE_uint"
fi
install -d ${S}/bin/${TARGET_SYS}
- oe_runmake -C src
+ ${S}/scripts/build
}
do_install () {
@@ -83,7 +85,7 @@ do_install () {
install -m 0644 ${S}/src/webpage-lm.tar ${D}${datadir}/lmbench
}
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
if [ -z "$D" ]; then
if command -v systemd-tmpfiles >/dev/null; then
systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/lmbench.conf
@@ -93,9 +95,9 @@ pkg_postinst_${PN} () {
fi
}
-RDEPENDS_${PN} = "perl"
-FILES_${PN} += "${datadir}/lmbench"
+RDEPENDS:${PN} = "perl"
+FILES:${PN} += "${datadir}/lmbench"
-ALTERNATIVE_${PN} = "stream"
+ALTERNATIVE:${PN} = "stream hello"
ALTERNATIVE_LINK_NAME[stream] = "${bindir}/stream"
-
+ALTERNATIVE_LINK_NAME[hello] = "${bindir}/hello"
diff --git a/meta-oe/recipes-benchmark/mbw/mbw_2.0.bb b/meta-oe/recipes-benchmark/mbw/mbw_2.0.bb
new file mode 100644
index 0000000000..bb8c4625d5
--- /dev/null
+++ b/meta-oe/recipes-benchmark/mbw/mbw_2.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "MBW determines the copy memory bandwidth available to userspace programs"
+HOMEPAGE = "http://github.com/raas/mbw"
+SECTION = "console/tests"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://mbw.spec;beginline=1;endline=10;md5=9ead6bd5826678fcfe229a3cf7257c56"
+
+SRC_URI = "git://github.com/raas/${BPN}.git;branch=master;protocol=https"
+
+SRCREV = "c3155b544a5065e8235508059c6512af6c46bd4d"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/mbw ${D}${bindir}
+}
diff --git a/meta-oe/recipes-benchmark/memtester/files/Makefile.patch b/meta-oe/recipes-benchmark/memtester/files/Makefile.patch
index 971e52ac7f..c6da3b7059 100644
--- a/meta-oe/recipes-benchmark/memtester/files/Makefile.patch
+++ b/meta-oe/recipes-benchmark/memtester/files/Makefile.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] memtester: Added patch to Makefile to change no-longer-supporte
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
---
+Upstream-Status: Pending
+
Makefile | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-benchmark/memtester/memtester_4.5.0.bb b/meta-oe/recipes-benchmark/memtester/memtester_4.5.0.bb
deleted file mode 100644
index 1a041101bd..0000000000
--- a/meta-oe/recipes-benchmark/memtester/memtester_4.5.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Utility to test for faulty memory subsystem"
-HOMEPAGE = "http://pyropus.ca/software/memtester/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "http://pyropus.ca/software/memtester/old-versions/${BP}.tar.gz \
- file://Makefile.patch \
- "
-SRC_URI[md5sum] = "674a8a88ff54bdb229ca4148218a41f1"
-SRC_URI[sha256sum] = "8ed52b0d06d4aeb61954994146e2a5b2d20448a8f3ce3ee995120e6dbde2ae37"
-
-do_compile () {
- echo '${CC} ${CFLAGS} -DPOSIX -c' > conf-cc
- echo '${CC} ${LDFLAGS}' > conf-ld
- oe_runmake
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -d ${D}${mandir}/man8
- install -m 0755 memtester ${D}${bindir}/
- install -m 0755 memtester.8 ${D}${mandir}/man8/
-}
diff --git a/meta-oe/recipes-benchmark/memtester/memtester_4.6.0.bb b/meta-oe/recipes-benchmark/memtester/memtester_4.6.0.bb
new file mode 100644
index 0000000000..42cee1108d
--- /dev/null
+++ b/meta-oe/recipes-benchmark/memtester/memtester_4.6.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Utility to test for faulty memory subsystem"
+HOMEPAGE = "http://pyropus.ca/software/memtester/"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "http://pyropus.ca/software/memtester/old-versions/${BP}.tar.gz \
+ file://Makefile.patch \
+ "
+SRC_URI[sha256sum] = "c9fe4eb7e80c8cef5202f9065c4c0682f5616647c0455e916a5700f98e3dbb2e"
+
+do_compile () {
+ echo '${CC} ${CFLAGS} -DPOSIX -c' > conf-cc
+ echo '${CC} ${LDFLAGS}' > conf-ld
+ oe_runmake
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -d ${D}${mandir}/man8
+ install -m 0755 memtester ${D}${bindir}/
+ install -m 0755 memtester.8 ${D}${mandir}/man8/
+}
diff --git a/meta-oe/recipes-benchmark/phoronix-test-suite/files/CVE-2022-40704.patch b/meta-oe/recipes-benchmark/phoronix-test-suite/files/CVE-2022-40704.patch
new file mode 100644
index 0000000000..8b6405b4ad
--- /dev/null
+++ b/meta-oe/recipes-benchmark/phoronix-test-suite/files/CVE-2022-40704.patch
@@ -0,0 +1,46 @@
+From d3880d9d3ba795138444da83f1153c3c3ac27640 Mon Sep 17 00:00:00 2001
+From: Michael Larabel <michael@phoronix.com>
+Date: Sat, 23 Jul 2022 07:32:43 -0500
+Subject: [PATCH] phoromatic: Explicitly check both $_GET abd $_POST in
+ phoromatic_quit_if_invalid_input_found()
+
+Fixes: https://github.com/phoronix-test-suite/phoronix-test-suite/issues/650#issuecomment-1193116678
+
+Upstream-Status: Backport
+CVE: CVE-2022-40704
+
+Reference to upstream patch:
+https://github.com/phoronix-test-suite/phoronix-test-suite/commit/d3880d9d3ba795138444da83f1153c3c3ac27640
+
+Signed-off-by: Li Wang <li.wang@windriver.com>
+---
+ pts-core/phoromatic/phoromatic_functions.php | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/pts-core/phoromatic/phoromatic_functions.php b/pts-core/phoromatic/phoromatic_functions.php
+index 74ccc5444c..c2313dcdea 100644
+--- a/pts-core/phoromatic/phoromatic_functions.php
++++ b/pts-core/phoromatic/phoromatic_functions.php
+@@ -37,9 +37,20 @@ function phoromatic_quit_if_invalid_input_found($input_keys = null)
+ {
+ foreach($input_keys as $key)
+ {
+- if(isset($_REQUEST[$key]) && !empty($_REQUEST[$key]))
++ if(isset($_GET[$key]) && !empty($_GET[$key]))
+ {
+- foreach(pts_arrays::to_array($_REQUEST[$key]) as $val_to_check)
++ foreach(pts_arrays::to_array($_GET[$key]) as $val_to_check)
++ {
++ if(stripos($val_to_check, $invalid_string) !== false)
++ {
++ echo '<strong>Exited due to invalid input ( ' . $invalid_string . ') attempted:</strong> ' . htmlspecialchars($val_to_check);
++ exit;
++ }
++ }
++ }
++ if(isset($_POST[$key]) && !empty($_POST[$key]))
++ {
++ foreach(pts_arrays::to_array($_POST[$key]) as $val_to_check)
+ {
+ if(stripos($val_to_check, $invalid_string) !== false)
+ {
diff --git a/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.4.bb b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.4.bb
new file mode 100644
index 0000000000..8de3314b3c
--- /dev/null
+++ b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_10.8.4.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Phoronix Test Suite"
+DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
+and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SECTION = "console/tests"
+
+SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz \
+ file://CVE-2022-40704.patch \
+ "
+
+SRC_URI[sha256sum] = "1f2092d536c0a3193efc53e4a50f3cee65c0ef1a78d31e5404f1c663fff7b7f4"
+
+S = "${WORKDIR}/phoronix-test-suite"
+
+inherit systemd allarch mime mime-xdg
+
+do_install() {
+ DESTDIR=${D} ./install-sh ${exec_prefix}
+
+ if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
+ install -d ${D}/${systemd_unitdir}/system/
+ mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
+ rm -rf ${D}/usr/lib/
+ fi
+}
+
+# It is not advisable to enable these services by default since they can cause
+# continual target reboots if they encounter network problems.
+#
+SYSTEMD_AUTO_ENABLE = "disable"
+SYSTEMD_SERVICE:${PN} = "phoromatic-client.service phoromatic-server.service"
+
+RDEPENDS:${PN} += "bash python3-core php-cli util-linux-lscpu os-release lsb-release"
+
+FILES:${PN} += " \
+ ${datadir}/phoronix-test-suite \
+ ${datadir}/appdata/phoronix-test-suite.appdata.xml \
+ ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
+ ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
+ ${datadir}/mime/packages/openbenchmarking-mime.xml \
+ ${systemd_unitdir}/* \
+"
diff --git a/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb b/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb
deleted file mode 100644
index 4a8e5b5b2a..0000000000
--- a/meta-oe/recipes-benchmark/phoronix-test-suite/phoronix-test-suite_9.2.1.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Phoronix Test Suite"
-DESCRIPTION = "The Phoronix Test Suite is designed to carry out both qualitative \
-and quantitative benchmarks in a clean, reproducible, and easy-to-use manner."
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SECTION = "console/tests"
-
-SRC_URI = "http://www.phoronix-test-suite.com/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "ad80ed9a5835929138473f764ff0d5db"
-SRC_URI[sha256sum] = "675e7ca96719e2f3b42a6c13421213a398f04da0f8e78f4691fa9261fdeb8501"
-
-S = "${WORKDIR}/phoronix-test-suite"
-
-inherit systemd allarch mime mime-xdg
-
-do_install() {
- DESTDIR=${D} ./install-sh ${exec_prefix}
-
- if [ "${systemd_unitdir}" != "/usr/lib/systemd" ]; then
- install -d ${D}/${systemd_unitdir}/system/
- mv ${D}/usr/lib/systemd/system/* ${D}/${systemd_unitdir}/system/
- rm -rf ${D}/usr/lib/
- fi
-}
-
-# It is not advisable to enable these services by default since they can cause
-# continual target reboots if they encounter network problems.
-#
-SYSTEMD_AUTO_ENABLE = "disable"
-SYSTEMD_SERVICE_${PN} = "phoromatic-client.service phoromatic-server.service"
-
-RDEPENDS_${PN} += "bash python3-core php-cli util-linux-lscpu os-release lsb-release"
-
-FILES_${PN} += " \
- ${datadir}/phoronix-test-suite \
- ${datadir}/appdata/phoronix-test-suite.appdata.xml \
- ${datadir}/icons/hicolor/48x48/apps/phoronix-test-suite.png \
- ${datadir}/icons/hicolor/64x64/mimetypes/application-x-openbenchmarking.png \
- ${datadir}/mime/packages/openbenchmarking-mime.xml \
- ${systemd_unitdir}/* \
-"
diff --git a/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb b/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb
new file mode 100644
index 0000000000..b32f37153e
--- /dev/null
+++ b/meta-oe/recipes-benchmark/qperf/qperf_0.4.11.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Measure socket and RDMA performance"
+DESCRIPTION = "qperf measures bandwidth and latency between two nodes."
+HOMEPAGE = "https://github.com/linux-rdma/qperf"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+inherit autotools-brokensep
+
+SRCREV = "c706363815a38ff2c5cbc07b73e2cfaaa59bae0f"
+SRC_URI = "git://github.com/linux-rdma/qperf.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+do_configure() {
+ ./cleanup
+ ./autogen.sh
+ oe_runconf
+}
diff --git a/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
index d6852e29fb..629b123042 100644
--- a/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
+++ b/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
@@ -1,5 +1,5 @@
SUMMARY = "Small collection of benchmarks for storage I/O"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3"
SRCREV = "f97f1ae321d1fb8111a2c638075702ed2512ff07"
@@ -23,11 +23,11 @@ do_install() {
install -m0755 ${S}/process_config.sh ${D}/opt/S-suite
}
-RDEPENDS_${PN} = "bash bc coreutils gawk g++ gcc fio libaio libaio-dev sysstat \
+RDEPENDS:${PN} = "bash bc coreutils gawk g++ gcc fio libaio libaio-dev sysstat \
git"
-FILES_${PN} = "/opt/S-suite/"
+FILES:${PN} = "/opt/S-suite/"
# added to INSANE_SKIP since s-suite have an runtime
# dependency (RDEPENDS) on libaio-dev.
-INSANE_SKIP_${PN} += "dev-deps"
+INSANE_SKIP:${PN} += "dev-deps"
diff --git a/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch b/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
deleted file mode 100644
index f5e7da359d..0000000000
--- a/meta-oe/recipes-benchmark/stressapptest/stressapptest/libcplusplus-compat.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Fix compile on sytems using libc++ instead of libstdc++
-
-libc++ does not really implement __gnu_cxx namespace and it
-compiles fine without this namespace, therefore detect libc++
-and if it is used them exclude this namespace
-
-See https://github.com/stressapptest/stressapptest/issues/47
-
-Fixes
-
-./sattypes.h:33:17: error: expected namespace name
-using namespace __gnu_cxx; //NOLINT
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- stressapptest-1.0.9.orig/src/sattypes.h
-+++ stressapptest-1.0.9/src/sattypes.h
-@@ -30,7 +30,9 @@
- #include "stressapptest_config_android.h" // NOLINT
- #else
- #include "stressapptest_config.h" // NOLINT
-+#ifndef _LIBCPP_VERSION
- using namespace __gnu_cxx; //NOLINT
-+#endif // _LIBCPP_VERSION
- #endif // __ANDROID__
- using namespace std;
-
diff --git a/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch b/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
deleted file mode 100644
index 8c251aeb97..0000000000
--- a/meta-oe/recipes-benchmark/stressapptest/stressapptest/read_sysfs_for_cachesize.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-sysconf params like _SC_LEVEL1_DCACHE_LINESIZE are not universally
-implemented, therefore check for them being available, if not there
-then read the sysfs directly to get the value
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/sat.cc
-+++ b/src/sat.cc
-@@ -1482,15 +1482,47 @@ int Sat::CpuCount() {
- return sysconf(_SC_NPROCESSORS_CONF);
- }
-
-+int Sat::ReadInt(const char *filename, int *value) {
-+ char line[64];
-+ int fd = open(filename, O_RDONLY), err = -1;
-+
-+ if (fd < 0)
-+ return -1;
-+ if (read(fd, line, sizeof(line)) > 0) {
-+ *value = atoi(line);
-+ err = 0;
-+ }
-+
-+ close(fd);
-+ return err;
-+}
-+
- // Return the worst case (largest) cache line size of the various levels of
- // cache actually prsent in the machine.
- int Sat::CacheLineSize() {
-- int max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
-- int linesize = sysconf(_SC_LEVEL2_CACHE_LINESIZE);
-+ int max_linesize, linesize;
-+#ifdef _SC_LEVEL1_DCACHE_LINESIZE
-+ max_linesize = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
-+#else
-+ ReadInt("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", &max_linesize);
-+#endif
-+#ifdef _SC_LEVEL2_DCACHE_LINESIZE
-+ linesize = sysconf(_SC_LEVEL2_DCACHE_LINESIZE);
-+#else
-+ ReadInt("/sys/devices/system/cpu/cpu0/cache/index1/coherency_line_size", &linesize);
-+#endif
- if (linesize > max_linesize) max_linesize = linesize;
-- linesize = sysconf(_SC_LEVEL3_CACHE_LINESIZE);
-+#ifdef _SC_LEVEL3_DCACHE_LINESIZE
-+ linesize = sysconf(_SC_LEVEL3_DCACHE_LINESIZE);
-+#else
-+ ReadInt("/sys/devices/system/cpu/cpu0/cache/index2/coherency_line_size", &linesize);
-+#endif
- if (linesize > max_linesize) max_linesize = linesize;
-- linesize = sysconf(_SC_LEVEL4_CACHE_LINESIZE);
-+#ifdef _SC_LEVEL4_DCACHE_LINESIZE
-+ linesize = sysconf(_SC_LEVEL4_DCACHE_LINESIZE);
-+#else
-+ ReadInt("/sys/devices/system/cpu/cpu0/cache/index3/coherency_line_size", &linesize);
-+#endif
- if (linesize > max_linesize) max_linesize = linesize;
- return max_linesize;
- }
---- a/src/sat.h
-+++ b/src/sat.h
-@@ -136,7 +136,8 @@ class Sat {
- int CpuCount();
- // Return the worst-case (largest) cache line size of the system.
- int CacheLineSize();
--
-+ // Read int values from kernel file system e.g. sysfs
-+ int ReadInt(const char *filename, int *value);
- // Collect error counts from threads.
- int64 GetTotalErrorCount();
-
diff --git a/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.11.bb b/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.11.bb
new file mode 100644
index 0000000000..ba61ff971e
--- /dev/null
+++ b/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.11.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Stressful Application Test"
+DESCRIPTION = "Stressful Application Test (or stressapptest, its unix name) \
+ is a memory interface test. It tries to maximize randomized traffic to memory \
+ from processor and I/O, with the intent of creating a realistic high load \
+ situation in order to test the existing hardware devices in a computer. \
+"
+HOMEPAGE = "https://github.com/stressapptest/stressapptest"
+SECTION = "benchmark"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55ea9d559f985fb4834317d8ed6b9e58"
+
+SRCREV = "25e31a2c1fcc66f3a43e91998f0819b016322a70"
+
+EXTRA_AUTOCONF:append:armv7a = " --with-cpu=armv7a"
+EXTRA_AUTOCONF:append:armv7ve = " --with-cpu=armv7a"
+
+GI_DATA_ENABLED:libc-musl:armv7a = "False"
+GI_DATA_ENABLED:libc-musl:armv7ve = "False"
+SRC_URI = "git://github.com/stressapptest/stressapptest;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb b/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb
deleted file mode 100644
index a2966e99dd..0000000000
--- a/meta-oe/recipes-benchmark/stressapptest/stressapptest_1.0.9.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Stressful Application Test"
-DESCRIPTION = "Stressful Application Test (or stressapptest, its unix name) \
- is a memory interface test. It tries to maximize randomized traffic to memory \
- from processor and I/O, with the intent of creating a realistic high load \
- situation in order to test the existing hardware devices in a computer. \
-"
-HOMEPAGE = "https://github.com/stressapptest/stressapptest"
-SECTION = "benchmark"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55ea9d559f985fb4834317d8ed6b9e58"
-
-SRCREV = "fb72e5e5f0879231f38e0e826a98a6ca2d1ca38e"
-
-SRC_URI = "git://github.com/stressapptest/stressapptest \
- file://libcplusplus-compat.patch \
- file://read_sysfs_for_cachesize.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools
diff --git a/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb b/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
deleted file mode 100644
index 708c71f4ff..0000000000
--- a/meta-oe/recipes-benchmark/sysbench/sysbench_0.4.12.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "System performance benchmark"
-HOMEPAGE = "http://github.com/akopytov/sysbench"
-SECTION = "console/tests"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-inherit autotools
-
-# The project has moved from Sourceforge to Launchpad, to Github. Use the source tarball from
-# Launchpad until the next release is available from Github.
-SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+files/${BPN}_${PV}.orig.tar.gz"
-
-SRC_URI[md5sum] = "3a6d54fdd3fe002328e4458206392b9d"
-SRC_URI[sha256sum] = "83fa7464193e012c91254e595a89894d8e35b4a38324b52a5974777e3823ea9e"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
-PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio,"
-PACKAGECONFIG[mysql] = "--with-mysql \
- --with-mysql-includes=${STAGING_INCDIR}/mysql \
- --with-mysql-libs=${STAGING_LIBDIR}, \
- --without-mysql,mysql5"
-
-do_configure_prepend() {
- touch ${S}/NEWS ${S}/AUTHORS
-}
diff --git a/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb b/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb
new file mode 100644
index 0000000000..11e33fec55
--- /dev/null
+++ b/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb
@@ -0,0 +1,30 @@
+SUMMARY = "System performance benchmark"
+HOMEPAGE = "http://github.com/akopytov/sysbench"
+SECTION = "console/tests"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "libtool luajit concurrencykit"
+
+inherit autotools-brokensep pkgconfig
+
+# The project has moved from Sourceforge to Launchpad, to Github. Use the source tarball from
+# Launchpad until the next release is available from Github.
+SRC_URI = "git://github.com/akopytov/sysbench.git;protocol=https;branch=master"
+SRCREV = "ebf1c90da05dea94648165e4f149abc20c979557"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64).*-linux*"
+
+EXTRA_OECONF += "--enable-largefile --with-system-luajit --with-system-ck --without-gcc-arch --with-lib-prefix=no"
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio,"
+PACKAGECONFIG[mysql] = "--with-mysql \
+ --with-mysql-includes=${STAGING_INCDIR}/mysql \
+ --with-mysql-libs=${STAGING_LIBDIR}, \
+ --without-mysql,mysql5"
+
+do_configure:prepend() {
+ touch ${S}/NEWS ${S}/AUTHORS
+}
diff --git a/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch b/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch
index c090700763..d69c52bee9 100644
--- a/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch
+++ b/meta-oe/recipes-benchmark/tinymembench/tinymembench/0001-asm-Delete-.func-.endfunc-directives.patch
@@ -9,6 +9,8 @@ and rightly so.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
aarch64-asm.S | 14 +-------------
arm-neon.S | 24 ------------------------
mips-32.S | 5 ++---
diff --git a/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb b/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
index 2ce10f9c44..200a0de849 100644
--- a/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
+++ b/meta-oe/recipes-benchmark/tinymembench/tinymembench_git.bb
@@ -6,10 +6,10 @@ HOMEPAGE = "https://github.com/ssvb/tinymembench/wiki"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://main.c;endline=22;md5=879b9bbb60851454885b5fa47eb6b345"
-PV = "0.4.0+git${SRCPV}"
+PV = "0.4.9+git"
SRCREV = "a2cf6d7e382e3aea1eb39173174d9fa28cad15f3"
-SRC_URI = "git://github.com/ssvb/tinymembench.git \
+SRC_URI = "git://github.com/ssvb/tinymembench.git;branch=master;protocol=https \
file://0001-asm-Delete-.func-.endfunc-directives.patch \
"
diff --git a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
index 427ce67d61..0769715f45 100644
--- a/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
+++ b/meta-oe/recipes-benchmark/tiobench/tiobench_0.3.3.bb
@@ -1,9 +1,8 @@
SUMMARY = "Threaded I/O tester"
HOMEPAGE = "http://sourceforge.net/projects/tiobench/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-PR = "r1"
SRC_URI = "\
http://sourceforge.net/projects/tiobench/files/tiobench/${PV}/${BP}.tar.gz \
@@ -21,7 +20,7 @@ do_install() {
oe_runmake install
}
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
perl \
perl-module-exporter-heavy \
perl-module-getopt-long \
diff --git a/meta-oe/recipes-bsp/acpitool/acpitool_0.5.1.bb b/meta-oe/recipes-bsp/acpitool/acpitool_0.5.1.bb
index bc9669d0f3..b392581ecb 100644
--- a/meta-oe/recipes-bsp/acpitool/acpitool_0.5.1.bb
+++ b/meta-oe/recipes-bsp/acpitool/acpitool_0.5.1.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Acpitool is a Linux ACPI client. It simply reads /proc/acpi or /sys/class entries \
and presents the output in a meaningfull, human-readable format."
HOMEPAGE = "http://freeunix.dyndns.org:8088/site2/acpitool.shtml"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "http://nchc.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BP}.tar.bz2 \
diff --git a/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb b/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb
new file mode 100644
index 0000000000..4688ae860b
--- /dev/null
+++ b/meta-oe/recipes-bsp/bolt/bolt_0.9.6.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Thunderbolt user-space management tool"
+DESCRIPTION = "Userspace system daemon to enable security levels for Thunderbolt on GNU/Linux"
+HOMEPAGE = "https://gitlab.freedesktop.org/bolt/bolt"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "udev polkit dbus"
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master"
+SRCREV = "f03c50b22ae3fda26711ddabd91e2c5dd8103478"
+
+S = "${WORKDIR}/git"
+
+CVE_PRODUCT = "freedesktop:bolt"
+
+inherit cmake pkgconfig meson features_check
+
+FILES:${PN} += "${datadir}/dbus-1/* \
+ ${datadir}/polkit-1/* \
+ ${libdir}/systemd/* \
+ "
diff --git a/meta-oe/recipes-bsp/con2fbmap/con2fbmap/0001-con2fbmap-Add-missing-include-on-string.h.patch b/meta-oe/recipes-bsp/con2fbmap/con2fbmap/0001-con2fbmap-Add-missing-include-on-string.h.patch
new file mode 100644
index 0000000000..d1b75f1c54
--- /dev/null
+++ b/meta-oe/recipes-bsp/con2fbmap/con2fbmap/0001-con2fbmap-Add-missing-include-on-string.h.patch
@@ -0,0 +1,28 @@
+From 0a948d8d91b789e9c9b60136fada75b1d464af63 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 18:31:27 -0700
+Subject: [PATCH] con2fbmap: Add missing include on string.h
+
+strerror() is from string.h therefore include it to fix -Wimplicit-function-declaration
+warnings
+
+Upstream-Status: Submitted [https://gitlab.com/pibox/con2fbmap/-/merge_requests/1]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/con2fbmap.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/con2fbmap.c b/src/con2fbmap.c
+index 7831931..7a2e870 100644
+--- a/src/con2fbmap.c
++++ b/src/con2fbmap.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h> /* for strerror */
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+--
+2.37.3
+
diff --git a/meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb b/meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb
index 45203f029b..302a61e8a8 100644
--- a/meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb
+++ b/meta-oe/recipes-bsp/con2fbmap/con2fbmap_git.bb
@@ -3,13 +3,15 @@
SUMMARY = "Simple utility for swapping an fbtft-based device as the console."
HOMEPAGE = "https://gitlab.com/pibox/con2fbmap"
-LICENSE = "GPL-3.0"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SECTION = "console/utils"
DEPENDS = ""
SRCREV = "61ed2f28b294b1ebeb767df8cb5fcd391709c8e2"
-SRC_URI = "git://gitlab.com/pibox/con2fbmap.git;protocol=https"
+SRC_URI = "git://gitlab.com/pibox/con2fbmap.git;protocol=https;branch=master \
+ file://0001-con2fbmap-Add-missing-include-on-string.h.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch b/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch
index fb2f07f073..72f4801000 100644
--- a/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch
+++ b/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- git.old/Makefile 2012-04-17 13:29:46.280435340 +0200
+++ git/Makefile 2012-04-17 13:31:13.664433470 +0200
@@ -77,17 +77,7 @@ INSTALL_PROGRAM = ${INSTALL}
diff --git a/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils_008.bb b/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils_008.bb
index 88fcc0200f..cb62ee46af 100644
--- a/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils_008.bb
+++ b/meta-oe/recipes-bsp/cpufrequtils/cpufrequtils_008.bb
@@ -4,25 +4,24 @@ inherit gettext
DEPENDS = "libtool-cross"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRCREV = "a2f0c39d5f21596bb9f5223e895c0ff210b265d0"
# SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/cpufreq/cpufrequtils.git
-SRC_URI = "git://github.com/emagii/cpufrequtils.git \
+SRC_URI = "git://github.com/emagii/cpufrequtils.git;branch=master;protocol=https \
file://0001-dont-unset-cflags.patch \
"
-EXTRA_OEMAKE_append = " ${@['', 'NLS=false']['${USE_NLS}' == 'no']} "
+EXTRA_OEMAKE:append = " ${@['', 'NLS=false']['${USE_NLS}' == 'no']} "
-PR = "r5"
S = "${WORKDIR}/git"
TARGET_CC_ARCH += "${LDFLAGS}"
-EXTRA_OEMAKE = "V=1 CROSS=${TARGET_PREFIX} LIBTOOL='${HOST_SYS}-libtool --tag cc' STRIPCMD=echo 'CP=cp'"
+EXTRA_OEMAKE = "V=1 CROSS=${TARGET_PREFIX} STRIPCMD=echo 'CP=cp'"
do_compile() {
oe_runmake
diff --git a/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb b/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
index b89fe6771c..03076cbc60 100644
--- a/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
+++ b/meta-oe/recipes-bsp/edac-utils/edac-utils_git.bb
@@ -1,17 +1,21 @@
SUMMARY = "Userspace helper for Linux kernel EDAC drivers"
HOMEPAGE = "https://github.com/grondo/edac-utils"
+DESCRIPTION = "EDAC (Error Detection and Correction) is a set of Linux kernel \
+modules that handle reporting of hardware-related errors. Currently \
+these modules mainly handle detection of ECC memory errors for many \
+x86 and x86-64 chipsets and PCI bus parity errors."
SECTION = "Applications/System"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = " sysfsutils"
-SRCREV = "f9aa96205f610de39a79ff43c7478b7ef02e3138"
-PV = "0.18+git${SRCPV}"
+SRCREV = "1c57818ecee186aa47af0342149577df5302c022"
+PV = "0.18+git"
S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/grondo/edac-utils \
+SRC_URI = "git://github.com/grondo/edac-utils;branch=master;protocol=https \
file://make-init-script-be-able-to-automatically-load-EDAC-.patch \
file://add-restart-to-initscript.patch \
file://edac.service \
@@ -19,19 +23,19 @@ SRC_URI = "git://github.com/grondo/edac-utils \
inherit autotools-brokensep systemd
-do_configure_prepend () {
+do_configure:prepend () {
touch ${S}/ChangeLog
${S}/bootstrap
}
-RDEPENDS_${PN}_x86 = "dmidecode"
-RDEPENDS_${PN}_x86-64 = "dmidecode"
-RDEPENDS_${PN}_arm = "dmidecode"
-RDEPENDS_${PN}_aarch64 = "dmidecode"
-RDEPENDS_${PN}_powerpc = "dmidecode"
-RDEPENDS_${PN}_powerpc64 = "dmidecode"
-RDEPENDS_${PN}_powerpc64le = "dmidecode"
-RDEPENDS_${PN}_append = " \
+RDEPENDS:${PN}:x86 = "dmidecode"
+RDEPENDS:${PN}:x86-64 = "dmidecode"
+RDEPENDS:${PN}:arm = "dmidecode"
+RDEPENDS:${PN}:aarch64 = "dmidecode"
+RDEPENDS:${PN}:powerpc = "dmidecode"
+RDEPENDS:${PN}:powerpc64 = "dmidecode"
+RDEPENDS:${PN}:powerpc64le = "dmidecode"
+RDEPENDS:${PN}:append = " \
perl \
perl-module-file-basename \
perl-module-file-find \
@@ -42,11 +46,11 @@ RDEPENDS_${PN}_append = " \
perl-module-file-glob \
"
-do_install_append() {
+do_install:append() {
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/edac.service ${D}/${systemd_unitdir}/system
sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}/${systemd_unitdir}/system/edac.service
}
-SYSTEMD_SERVICE_${PN} = "edac.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+SYSTEMD_SERVICE:${PN} = "edac.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
diff --git a/meta-oe/recipes-bsp/firmwared/firmwared_git.bb b/meta-oe/recipes-bsp/firmwared/firmwared_git.bb
index 43fc598154..0a041835e1 100644
--- a/meta-oe/recipes-bsp/firmwared/firmwared_git.bb
+++ b/meta-oe/recipes-bsp/firmwared/firmwared_git.bb
@@ -7,10 +7,10 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE-APACHE;md5=7b486c2338d225a1405d979ed2c15ce8 \
file://COPYING;md5=daa868b8e1ae17d03228a1145b4060da"
-SRC_URI = "git://github.com/teg/firmwared.git \
+SRC_URI = "git://github.com/teg/firmwared.git;branch=master;protocol=https \
file://firmwared.service"
-PV = "0+git${SRCPV}"
+PV = "0+git"
SRCREV = "2e6b5db43d63a5c0283a4cae9a6a20b7ad107a04"
S = "${WORKDIR}/git"
@@ -21,13 +21,13 @@ inherit pkgconfig autotools systemd features_check
REQUIRED_DISTRO_FEATURES = "systemd"
-SYSTEMD_SERVICE_${PN} = "firmwared.service"
+SYSTEMD_SERVICE:${PN} = "firmwared.service"
-do_configure_prepend() {
+do_configure:prepend() {
${S}/autogen.sh
}
-do_install_append() {
+do_install:append() {
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/firmwared.service ${D}${systemd_system_unitdir}
sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/firmwared.service
diff --git a/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch b/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch
deleted file mode 100644
index 7a8be83746..0000000000
--- a/meta-oe/recipes-bsp/flashrom/flashrom/0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 3c078497e506bd6acb406da5cde7ce20e8896353 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 23 Jul 2020 14:13:59 -0700
-Subject: [PATCH] Makefile: Check for last line only from preprocessed output
-
-This started to fail with glibc 2.32 since glibc added additional
-attributes to functions in signal.h therefore existing regexp started to
-fail as it is not able to handle these functions e.g.
-
-extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ , __leaf__))
- __attribute__ ((__deprecated__ ("Use sigaction with SA_RESTART instead")));
-
-grep -v '^\#' | grep '"' | cut -f 2 -d'"'
-bit outside of fd_set selected
-Use sigaction with SA_RESTART instead
-arm
-
-So changing it to
-tail -1 | grep '"' | cut -f 2 -d'"'
-arm
-
-Produces the expected result, this was hidden until now
-
-Upstream-Status: Submitted [https://review.coreboot.org/c/flashrom/+/43770]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Change-Id: I123a046e142d54632f12d54e2aa09b0928c02b91
----
- Makefile | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 803529f..3795681 100644
---- a/Makefile
-+++ b/Makefile
-@@ -106,7 +106,7 @@ endif
- # IMPORTANT: The following line must be placed before TARGET_OS is ever used
- # (of course), but should come after any lines setting CC because the line
- # below uses CC itself.
--override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
-+override TARGET_OS := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E os.h 2>/dev/null | tail -1 | grep '"' | cut -f 2 -d'"'))
-
- ifeq ($(TARGET_OS), Darwin)
- override CPPFLAGS += -I/opt/local/include -I/usr/local/include
-@@ -460,8 +460,8 @@ endif
- # IMPORTANT: The following line must be placed before ARCH is ever used
- # (of course), but should come after any lines setting CC because the line
- # below uses CC itself.
--override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | grep -v '^\#' | grep '"' | cut -f 2 -d'"'))
--override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | grep -v '^\#'))
-+override ARCH := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E archtest.c 2>/dev/null | tail -1 | grep '"' | cut -f 2 -d'"'))
-+override ENDIAN := $(strip $(call debug_shell,$(CC) $(CPPFLAGS) -E endiantest.c 2>/dev/null | tail -1))
-
- # Disable the internal programmer on unsupported architectures (everything but x86 and mipsel)
- ifneq ($(ARCH)-little, $(filter $(ARCH),x86 mips)-$(ENDIAN))
---
-2.27.0
-
diff --git a/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch b/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch
new file mode 100644
index 0000000000..e481c5a161
--- /dev/null
+++ b/meta-oe/recipes-bsp/flashrom/flashrom/0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch
@@ -0,0 +1,44 @@
+From 2c777126765b4095bf481d5cfe4a21470374d940 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 30 Mar 2021 15:12:09 -0700
+Subject: [PATCH] flashrom: Mark RISCV as non memory-mapped I/O architecture
+
+Upstream-Status: Submitted [https://review.coreboot.org/c/flashrom/+/51960]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Change-Id: I55c4e8529d36f0850dd56441c3fb8602c5d889fd
+---
+ Makefile | 2 +-
+ hwaccess.h | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 6d37d55..203e04b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -559,7 +559,7 @@ endif
+ # Disable all drivers needing raw access (memory, PCI, port I/O) on
+ # architectures with unknown raw access properties.
+ # Right now those architectures are alpha hppa m68k sh s390
+-ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc))
++ifneq ($(ARCH),$(filter $(ARCH),x86 mips ppc arm sparc arc riscv))
+ ifeq ($(CONFIG_RAYER_SPI), yes)
+ UNSUPPORTED_FEATURES += CONFIG_RAYER_SPI=yes
+ else
+diff --git a/hwaccess.h b/hwaccess.h
+index 5602c15..e79988a 100644
+--- a/hwaccess.h
++++ b/hwaccess.h
+@@ -295,6 +295,10 @@ int libpayload_wrmsr(int addr, msr_t msr);
+
+ /* Non memory mapped I/O is not supported on ARC. */
+
++#elif IS_RISCV
++
++/* Non memory mapped I/O is not supported on RISCV. */
++
+ #else
+
+ #error Unknown architecture, please check if it supports PCI port IO.
+--
+2.31.1
+
diff --git a/meta-oe/recipes-bsp/flashrom/flashrom/0001-hwaccess-use-__asm__-as-is-done-elsewhere.patch b/meta-oe/recipes-bsp/flashrom/flashrom/0001-hwaccess-use-__asm__-as-is-done-elsewhere.patch
new file mode 100644
index 0000000000..f3316aa264
--- /dev/null
+++ b/meta-oe/recipes-bsp/flashrom/flashrom/0001-hwaccess-use-__asm__-as-is-done-elsewhere.patch
@@ -0,0 +1,52 @@
+From 3334dd4e9fc34c79c3925c3c24869939d8955f21 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Sat, 18 Jul 2020 12:16:00 -0700
+Subject: [PATCH] hwaccess: use __asm__ as is done elsewhere
+
+Fixes compilation under powerpc platform. Made the change for the SPARC
+platform as well.
+
+../hwaccess.c: In function 'sync_primitive':
+../hwaccess.c:74:2: warning: implicit declaration of function 'asm'
+ [-Wimplicit-function-declaration]
+ 74 | asm("eieio" : : : "memory");
+ | ^~~
+../hwaccess.c:74:13: error: expected ')' before ':' token
+ 74 | asm("eieio" : : : "memory");
+
+Upstream-Status: Submitted [https://github.com/flashrom/flashrom/pull/155]
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ hwaccess.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/hwaccess.c b/hwaccess.c
+index 48ccb34..2a39989 100644
+--- a/hwaccess.c
++++ b/hwaccess.c
+@@ -71,18 +71,18 @@ static inline void sync_primitive(void)
+ * See also https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/memory-barriers.txt
+ */
+ #if IS_PPC // cf. http://lxr.free-electrons.com/source/arch/powerpc/include/asm/barrier.h
+- asm("eieio" : : : "memory");
++ __asm__ ("eieio" : : : "memory");
+ #elif IS_SPARC
+ #if defined(__sparc_v9__) || defined(__sparcv9)
+ /* Sparc V9 CPUs support three different memory orderings that range from x86-like TSO to PowerPC-like
+ * RMO. The modes can be switched at runtime thus to make sure we maintain the right order of access we
+ * use the strongest hardware memory barriers that exist on Sparc V9. */
+- asm volatile ("membar #Sync" ::: "memory");
++ __asm__ volatile ("membar #Sync" ::: "memory");
+ #elif defined(__sparc_v8__) || defined(__sparcv8)
+ /* On SPARC V8 there is no RMO just PSO and that does not apply to I/O accesses... but if V8 code is run
+ * on V9 CPUs it might apply... or not... we issue a write barrier anyway. That's the most suitable
+ * operation in the V8 instruction set anyway. If you know better then please tell us. */
+- asm volatile ("stbar");
++ __asm__ volatile ("stbar");
+ #else
+ #error Unknown and/or unsupported SPARC instruction set version detected.
+ #endif
+--
+2.32.0
+
diff --git a/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch b/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch
deleted file mode 100644
index 7ac53650f2..0000000000
--- a/meta-oe/recipes-bsp/flashrom/flashrom/0001-typecast-enum-conversions-explicitly.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 8a236330f2af56bde21e9f69208ea3e59f529f0c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Mar 2020 17:02:30 -0700
-Subject: [PATCH] typecast enum conversions explicitly
-
-clang complains like below
-
-libflashrom.c:191:43: error: implicit conversion from enumeration type 'const enum test_state' to different enumeration type 'enum flashrom_test_state' [-Werror,-Wenum-conversion]
- supported_boards[i].working = binfo[i].working;
- ~ ~~~~~~~~~^~~~~~~
-libflashrom.c:229:46: error: implicit conversion from enumeration type 'const enum test_state' to different enumeration type 'enum flashrom_test_state' [-Werror,-Wenum-conversion]
- supported_chipsets[i].status = chipset[i].status;
- ~ ~~~~~~~~~~~^~~~~~
-
-However these enums are exactly same so they can be typecasted
-
-libflashrom.h
-
-/** @ingroup flashrom-query */
-enum flashrom_test_state {
- FLASHROM_TESTED_OK = 0,
- FLASHROM_TESTED_NT = 1,
- FLASHROM_TESTED_BAD = 2,
- FLASHROM_TESTED_DEP = 3,
- FLASHROM_TESTED_NA = 4,
-};
-
-flash.h
-
-enum test_state {
- OK = 0,
- NT = 1, /* Not tested */
- BAD, /* Known to not work */
- DEP, /* Support depends on configuration (e.g. Intel flash descriptor) */
- NA, /* Not applicable (e.g. write support on ROM chips) */
- };
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libflashrom.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libflashrom.c b/libflashrom.c
-index 0dec22e..7956685 100644
---- a/libflashrom.c
-+++ b/libflashrom.c
-@@ -188,7 +188,7 @@ struct flashrom_board_info *flashrom_supported_boards(void)
- for (; i < boards_known_size; ++i) {
- supported_boards[i].vendor = binfo[i].vendor;
- supported_boards[i].name = binfo[i].name;
-- supported_boards[i].working = binfo[i].working;
-+ supported_boards[i].working = (enum flashrom_test_state)binfo[i].working;
- }
- } else {
- msg_gerr("Memory allocation error!\n");
-@@ -226,7 +226,7 @@ struct flashrom_chipset_info *flashrom_supported_chipsets(void)
- supported_chipsets[i].chipset = chipset[i].device_name;
- supported_chipsets[i].vendor_id = chipset[i].vendor_id;
- supported_chipsets[i].chipset_id = chipset[i].device_id;
-- supported_chipsets[i].status = chipset[i].status;
-+ supported_chipsets[i].status = (enum flashrom_test_state)chipset[i].status;
- }
- } else {
- msg_gerr("Memory allocation error!\n");
---
-2.25.1
-
diff --git a/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch b/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch
new file mode 100644
index 0000000000..e45236ee07
--- /dev/null
+++ b/meta-oe/recipes-bsp/flashrom/flashrom/meson-fixes.patch
@@ -0,0 +1,68 @@
+Add a ftdi option alongside USB and PCI to control the external dependency, and
+ensure that the build is successful in all combinations of options.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/meson.build b/meson.build
+index 375089c..0df9d69 100644
+--- a/meson.build
++++ b/meson.build
+@@ -91,6 +91,8 @@ else
+ config_digilent_spi = false
+ config_developerbox_spi = false
+ config_pickit2_spi = false
++ config_stlinkv3_spi = false
++ config_usbblaster_spi = false
+ endif
+
+ # some programmers require libpci
+@@ -118,6 +120,21 @@ else
+ config_satasii = false
+ endif
+
++# some programmers require libftdi
++if get_option('ftdi')
++ deps += dependency('libftdi1')
++else
++ config_ft2232_spi = false
++ config_usbblaster_spi = false
++endif
++
++if not (target_machine.cpu_family() == 'x86' or target_machine.cpu_family() == 'x86_64')
++ config_satamv = false
++ config_nic3com = false
++ config_rayer_spi = false
++ config_nicrealtek = false
++endif
++
+ # set defines for configured programmers
+ if config_atahpt
+ srcs += 'atahpt.c'
+@@ -163,7 +180,6 @@ endif
+ if config_ft2232_spi
+ srcs += 'ft2232_spi.c'
+ cargs += '-DCONFIG_FT2232_SPI=1'
+- deps += dependency('libftdi1')
+ cargs += '-DHAVE_FT232H=1'
+ endif
+ if config_gfxnvidia
+@@ -216,6 +232,7 @@ endif
+ if config_nicintel
+ srcs += 'nicintel.c'
+ cargs += '-DCONFIG_NICINTEL=1'
++ need_raw_access = true
+ endif
+ if config_nicintel_eeprom
+ srcs += 'nicintel_eeprom.c'
+diff --git a/meson_options.txt b/meson_options.txt
+index ea87311..b6b842d 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,5 +1,6 @@
+ option('pciutils', type : 'boolean', value : true, description : 'use pciutils')
+ option('usb', type : 'boolean', value : true, description : 'use libusb1')
++option('ftdi', type : 'boolean', value : true, description : 'use libftdi')
+
+ option('config_atahpt', type : 'boolean', value : false, description : 'Highpoint (HPT) ATA/RAID controllers')
+ option('config_atapromise', type : 'boolean', value : false, description : 'Promise ATA controller')
diff --git a/meta-oe/recipes-bsp/flashrom/flashrom_1.2.1.bb b/meta-oe/recipes-bsp/flashrom/flashrom_1.2.1.bb
new file mode 100644
index 0000000000..b2592d294b
--- /dev/null
+++ b/meta-oe/recipes-bsp/flashrom/flashrom_1.2.1.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
+LICENSE = "GPL-2.0-or-later"
+HOMEPAGE = "http://flashrom.org"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+SRC_URI = "https://download.flashrom.org/releases/flashrom-v${PV}.tar.bz2 \
+ file://meson-fixes.patch \
+ file://0001-flashrom-Mark-RISCV-as-non-memory-mapped-I-O-archite.patch \
+ file://0001-hwaccess-use-__asm__-as-is-done-elsewhere.patch \
+ "
+SRC_URI[sha256sum] = "89a7ff5beb08c89b8795bbd253a51b9453547a864c31793302296b56bbc56d65"
+
+S = "${WORKDIR}/flashrom-v${PV}"
+
+inherit meson pkgconfig
+
+PACKAGECONFIG ??= "pci usb ftdi"
+PACKAGECONFIG[pci] = "-Dpciutils=true,-Dpciutils=false,pciutils"
+PACKAGECONFIG[usb] = "-Dusb=true,-Dusb=false,libusb"
+PACKAGECONFIG[ftdi] = "-Dftdi=true,-Dftdi=false,libftdi"
diff --git a/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb b/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb
deleted file mode 100644
index 66ae34af94..0000000000
--- a/meta-oe/recipes-bsp/flashrom/flashrom_1.2.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips"
-LICENSE = "GPLv2"
-HOMEPAGE = "http://flashrom.org"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "pciutils libusb libusb-compat"
-
-SRC_URI = "https://download.flashrom.org/releases/flashrom-v${PV}.tar.bz2 \
- file://0001-typecast-enum-conversions-explicitly.patch \
- file://0001-Makefile-Check-for-last-line-only-from-preprocessed-.patch \
- "
-SRC_URI[md5sum] = "7f8e4b87087eb12ecee0fcc5445b4956"
-SRC_URI[sha256sum] = "e1f8d95881f5a4365dfe58776ce821dfcee0f138f75d0f44f8a3cd032d9ea42b"
-
-S = "${WORKDIR}/flashrom-v${PV}"
-
-inherit pkgconfig
-
-do_install() {
- oe_runmake PREFIX=${prefix} DESTDIR=${D} install
-}
diff --git a/meta-oe/recipes-bsp/fwupd/fwupd-efi/cc.patch b/meta-oe/recipes-bsp/fwupd/fwupd-efi/cc.patch
new file mode 100644
index 0000000000..6fd2eca941
--- /dev/null
+++ b/meta-oe/recipes-bsp/fwupd/fwupd-efi/cc.patch
@@ -0,0 +1,53 @@
+Change the efi-cc argument to take an array, so that we can pass compiler flags
+such as --sysroot.
+
+In the long term changing the fwupd-efi build to use the standard Meson
+CC/LD/etc would be the preferred fix.
+
+Upstream-Status: Inappropriate [better fix in progress]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/efi/generate_sbat.py b/efi/generate_sbat.py
+index e42b365..4831a48 100755
+--- a/efi/generate_sbat.py
++++ b/efi/generate_sbat.py
+@@ -7,6 +7,7 @@
+ #
+ # pylint: disable=missing-docstring, invalid-name
+
++import shlex
+ import subprocess
+ import sys
+ import argparse
+@@ -19,7 +20,7 @@ def _generate_sbat(args):
+ FWUPD_URL = "https://github.com/fwupd/fwupd-efi"
+
+ subprocess.run(
+- [args.cc, "-x", "c", "-c", "-o", args.outfile, "/dev/null"], check=True
++ shlex.split(args.cc) + ["-x", "c", "-c", "-o", args.outfile, "/dev/null"], check=True
+ )
+
+ # not specified
+diff --git a/efi/meson.build b/efi/meson.build
+index 68ea4aa..dcf0d43 100644
+--- a/efi/meson.build
++++ b/efi/meson.build
+@@ -187,7 +187,7 @@ o_file5 = custom_target('fwup-sbat.o',
+ command : [
+ generate_sbat,
+ '@OUTPUT@',
+- '--cc', efi_cc,
++ '--cc', ' '.join(efi_cc),
+ '--objcopy', objcopy,
+ '--project-name', meson.project_name(),
+ '--project-version', meson.project_version(),
+diff --git a/meson_options.txt b/meson_options.txt
+index d869cd2..17ef7fb 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -1,4 +1,4 @@
+-option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules')
++option('efi-cc', type : 'array', value : ['gcc'], description : 'the compiler to use for EFI modules')
+ option('efi-ld', type : 'string', value : 'ld', description : 'the linker to use for EFI modules')
+ option('efi-libdir', type : 'string', description : 'path to the EFI lib directory')
+ option('efi-ldsdir', type : 'string', description : 'path to the EFI lds directory')
diff --git a/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.3.bb b/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.3.bb
new file mode 100644
index 0000000000..b53cabeaeb
--- /dev/null
+++ b/meta-oe/recipes-bsp/fwupd/fwupd-efi_1.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "EFI executable for fwupd"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/fwupd/fwupd-efi;protocol=https;branch=main \
+ file://cc.patch"
+SRCREV = "36ce593f58e391cca43fd388824496ff98d83480"
+S = "${WORKDIR}/git"
+
+DEPENDS = "gnu-efi"
+
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
+
+inherit meson
+
+# These should be configured as needed
+SBAT_DISTRO_ID ?= "${DISTRO}"
+SBAT_DISTRO_SUMMARY ?= "${DISTRO_NAME}"
+SBAT_DISTRO_URL ?= ""
+
+EXTRA_OEMESON += "-Defi-cc="${@meson_array('CC', d)}" \
+ -Defi-ld='${HOST_PREFIX}ld' \
+ -Defi-includedir=${STAGING_INCDIR}/efi \
+ -Defi-libdir=${STAGING_LIBDIR} \
+ -Defi_sbat_distro_id='${SBAT_DISTRO_ID}' \
+ -Defi_sbat_distro_summary='${SBAT_DISTRO_SUMMARY}' \
+ -Defi_sbat_distro_url='${SBAT_DISTRO_URL}' \
+ -Defi_sbat_distro_pkgname='${PN}' \
+ -Defi_sbat_distro_version='${PV}'\
+ "
+
+# The compile assumes GCC at present
+TOOLCHAIN = "gcc"
diff --git a/meta-oe/recipes-bsp/fwupd/fwupd/0001-meson-Avoid-absolute-buildtime-paths-in-generated-he.patch b/meta-oe/recipes-bsp/fwupd/fwupd/0001-meson-Avoid-absolute-buildtime-paths-in-generated-he.patch
new file mode 100644
index 0000000000..2273bdf105
--- /dev/null
+++ b/meta-oe/recipes-bsp/fwupd/fwupd/0001-meson-Avoid-absolute-buildtime-paths-in-generated-he.patch
@@ -0,0 +1,41 @@
+From b1df1ed3a21b8ef0244102043a8fb88b0ccc3f91 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 17 Apr 2023 11:30:21 -0700
+Subject: [PATCH] meson: Avoid absolute buildtime paths in generated headers
+
+using meson.project_source_root() means the path emitted to include .h
+files is absolute and it makes its way into PN-src as well, which infact
+is not going to work if the -src package was used to re-build this in a
+different build path. Therefore use relative path which is '.' and
+relative to ${S}
+
+Changes
+include "<abspath>/plugins/acpi-dmar/fu-acpi-dmar-plugin.h"
+to
+include "./plugins/acpi-dmar/fu-acpi-dmar-plugin.h"
+
+in generated build/src/fu-plugin-builtin.h
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index b9f6736..bb856ea 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -188,7 +188,7 @@ plugins_hdr = custom_target('fwupd-generate-plugins-header',
+ command : [
+ join_paths(meson.project_source_root(), 'contrib', 'generate-plugins-header.py'),
+ '@OUTPUT@',
+- meson.project_source_root(),
++ '.',
+ ','.join(plugin_names),
+ ],
+ )
+--
+2.40.0
+
diff --git a/meta-oe/recipes-bsp/fwupd/fwupd/run-ptest b/meta-oe/recipes-bsp/fwupd/fwupd/run-ptest
new file mode 100755
index 0000000000..dbc0fc32a2
--- /dev/null
+++ b/meta-oe/recipes-bsp/fwupd/fwupd/run-ptest
@@ -0,0 +1,6 @@
+#! /bin/sh
+
+# Don't run all of the fwupd tests, as fwupd/fwupdmgr.test needs a custom
+# /etc/fwupd/daemon.conf with DisabledPlugins unset.
+
+gnome-desktop-testing-runner fwupd/fwupd.test
diff --git a/meta-oe/recipes-bsp/fwupd/fwupd_1.8.9.bb b/meta-oe/recipes-bsp/fwupd/fwupd_1.8.9.bb
new file mode 100644
index 0000000000..1f95dee1be
--- /dev/null
+++ b/meta-oe/recipes-bsp/fwupd/fwupd_1.8.9.bb
@@ -0,0 +1,142 @@
+SUMMARY = "A simple daemon to allow session software to update firmware"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "glib-2.0 libxmlb json-glib libjcat gcab vala-native"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://0001-meson-Avoid-absolute-buildtime-paths-in-generated-he.patch \
+ file://run-ptest"
+SRC_URI[sha256sum] = "719a791ac4ba5988aeb93ec42778bd65d33cb075d0c093b5c04e5e1682be528a"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+
+# Machine-specific as we examine MACHINE_FEATURES to decide whether to build the UEFI plugins
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit meson vala gobject-introspection systemd bash-completion pkgconfig gi-docgen ptest manpages useradd
+
+GIDOCGEN_MESON_OPTION = 'docs'
+GIDOCGEN_MESON_ENABLE_FLAG = 'docgen'
+GIDOCGEN_MESON_DISABLE_FLAG = 'disabled'
+
+PACKAGECONFIG ??= "curl gnutls gudev gusb \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'bluetooth polkit', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd offline', '', d)} \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 'plugin_uefi_capsule plugin_uefi_pk', '', d)} \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests plugin_dummy', '', d)} \
+ hsi \
+ plugin_android_boot \
+ plugin_acpi_phat \
+ plugin_bcm57xx \
+ plugin_emmc \
+ plugin_ep963x \
+ plugin_fastboot \
+ plugin_flashrom \
+ plugin_gpio \
+ plugin_igsc \
+ plugin_intel_me \
+ plugin_intel_spi \
+ plugin_logitech_bulkcontroller \
+ plugin_logitech_scribe \
+ plugin_modem_manager \
+ plugin_msr \
+ plugin_nitrokey \
+ plugin_nvme \
+ plugin_parade_lspcon \
+ plugin_pixart_rf \
+ plugin_realtek_mst \
+ plugin_redfish \
+ plugin_synaptics_mst \
+ plugin_synaptics_rmi \
+ plugin_scsi \
+ plugin_uf2 \
+ plugin_upower \
+ sqlite"
+
+PACKAGECONFIG[bluetooth] = "-Dbluez=true,-Dbluez=false"
+PACKAGECONFIG[compat-cli] = "-Dcompat_cli=true,-Dcompat_cli=false"
+PACKAGECONFIG[consolekit] = "-Dconsolekit=true,-Dconsolekit=false,consolekit"
+PACKAGECONFIG[curl] = "-Dcurl=true,-Dcurl=false,curl"
+PACKAGECONFIG[firmware-packager] = "-Dfirmware-packager=true,-Dfirmware-packager=false"
+PACKAGECONFIG[fish-completion] = "-Dfish_completion=true,-Dfish_completion=false"
+PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
+PACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev"
+PACKAGECONFIG[gusb] = "-Dgusb=true,-Dgusb=false,libgusb"
+PACKAGECONFIG[hsi] = "-Dhsi=true,-Dhsi=false"
+PACKAGECONFIG[libarchive] = "-Dlibarchive=true,-Dlibarchive=false,libarchive"
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false"
+PACKAGECONFIG[metainfo] = "-Dmetainfo=true,-Dmetainfo=false"
+PACKAGECONFIG[offline] = "-Doffline=true,-Doffline=false"
+PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit"
+PACKAGECONFIG[sqlite] = "-Dsqlite=true,-Dsqlite=false,sqlite3"
+PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gcab-native"
+
+
+# TODO plugins-all meta-option that expands to all plugin_*?
+PACKAGECONFIG[plugin_acpi_phat] = "-Dplugin_acpi_phat=true,-Dplugin_acpi_phat=false"
+PACKAGECONFIG[plugin_android_boot] = "-Dplugin_android_boot=enabled,-Dplugin_android_boot=disabled"
+PACKAGECONFIG[plugin_bcm57xx] = "-Dplugin_bcm57xx=true,-Dplugin_bcm57xx=false"
+PACKAGECONFIG[plugin_cfu] = "-Dplugin_cfu=true,-Dplugin_cfu=false"
+PACKAGECONFIG[plugin_dell] = "-Dplugin_dell=true,-Dplugin_dell=false,libsmbios"
+PACKAGECONFIG[plugin_dummy] = "-Dplugin_dummy=true,-Dplugin_dummy=false"
+PACKAGECONFIG[plugin_emmc] = "-Dplugin_emmc=true,-Dplugin_emmc=false"
+PACKAGECONFIG[plugin_ep963x] = "-Dplugin_ep963x=true,-Dplugin_ep963x=false"
+PACKAGECONFIG[plugin_fastboot] = "-Dplugin_fastboot=true,-Dplugin_fastboot=false"
+PACKAGECONFIG[plugin_flashrom] = "-Dplugin_flashrom=true,-Dplugin_flashrom=false,flashrom"
+PACKAGECONFIG[plugin_gpio] = "-Dplugin_gpio=true,-Dplugin_gpio=false"
+PACKAGECONFIG[plugin_igsc] = "-Dplugin_igsc=enabled,-Dplugin_igsc=disabled"
+PACKAGECONFIG[plugin_intel_me] = "-Dplugin_intel_me=enabled,-Dplugin_intel_me=disabled"
+PACKAGECONFIG[plugin_intel_spi] = "-Dplugin_intel_spi=true -Dlzma=true,-Dplugin_intel_spi=false -Dlzma=false,xz"
+PACKAGECONFIG[plugin_logitech_bulkcontroller] = "-Dplugin_logitech_bulkcontroller=true,-Dplugin_logitech_bulkcontroller=false,protobuf-c-native protobuf-c"
+PACKAGECONFIG[plugin_logitech_scribe] = "-Dplugin_logitech_scribe=enabled,-Dplugin_logitech_scribe=disabled"
+PACKAGECONFIG[plugin_modem_manager] = "-Dplugin_modem_manager=true,-Dplugin_modem_manager=false,libqmi modemmanager"
+PACKAGECONFIG[plugin_msr] = "-Dplugin_msr=true,-Dplugin_msr=false,cpuid"
+PACKAGECONFIG[plugin_nitrokey] = "-Dplugin_nitrokey=true,-Dplugin_nitrokey=false"
+PACKAGECONFIG[plugin_nvme] = "-Dplugin_nvme=true,-Dplugin_nvme=false"
+PACKAGECONFIG[plugin_parade_lspcon] = "-Dplugin_parade_lspcon=true,-Dplugin_parade_lspcon=false"
+PACKAGECONFIG[plugin_pixart_rf] = "-Dplugin_pixart_rf=true,-Dplugin_pixart_rf=false"
+PACKAGECONFIG[plugin_powerd] = "-Dplugin_powerd=true,-Dplugin_powerd=false"
+PACKAGECONFIG[plugin_realtek_mst] = "-Dplugin_realtek_mst=true,-Dplugin_realtek_mst=false"
+PACKAGECONFIG[plugin_redfish] = "-Dplugin_redfish=true,-Dplugin_redfish=false"
+PACKAGECONFIG[plugin_scsi] = "-Dplugin_scsi=true,-Dplugin_scsi=false"
+PACKAGECONFIG[plugin_synaptics_mst] = "-Dplugin_synaptics_mst=true,-Dplugin_synaptics_mst=false"
+PACKAGECONFIG[plugin_synaptics_rmi] = "-Dplugin_synaptics_rmi=true,-Dplugin_synaptics_rmi=false"
+PACKAGECONFIG[plugin_tpm] = "-Dplugin_tpm=true,-Dplugin_tpm=false,tpm2-tss"
+# Turn off the capsule splash as it needs G-I at buildtime, which isn't currently supported
+PACKAGECONFIG[plugin_uefi_capsule] = "-Dplugin_uefi_capsule=true -Dplugin_uefi_capsule_splash=false,-Dplugin_uefi_capsule=false,efivar fwupd-efi"
+PACKAGECONFIG[plugin_uefi_pk] = "-Dplugin_uefi_pk=true,-Dplugin_uefi_pk=false"
+PACKAGECONFIG[plugin_uf2] = "-Dplugin_uf2=true,-Dplugin_uf2=false"
+PACKAGECONFIG[plugin_upower] = "-Dplugin_upower=true,-Dplugin_upower=false"
+
+# Always disable these plugins on non-x86 platforms as they don't compile or are useless
+DISABLE_NON_X86 = "plugin_intel_me plugin_intel_spi plugin_msr"
+DISABLE_NON_X86:x86 = ""
+DISABLE_NON_X86:x86-64 = ""
+PACKAGECONFIG:remove = "${DISABLE_NON_X86}"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 --shell /bin/nologin polkitd"
+
+do_install:append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
+ #Fix up permissions on polkit rules.d to work with rpm4 constraints
+ chmod 700 ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+ fi
+}
+
+FILES:${PN} += "${libdir}/fwupd-plugins-* \
+ ${libdir}/fwupd-${PV} \
+ ${systemd_unitdir} \
+ ${datadir}/fish \
+ ${datadir}/metainfo \
+ ${datadir}/icons \
+ ${datadir}/dbus-1 \
+ ${datadir}/polkit-1 \
+ ${nonarch_libdir}/modules-load.d"
+
+FILES:${PN}-ptest += "${libexecdir}/installed-tests/ \
+ ${datadir}/installed-tests/"
+RDEPENDS:${PN}-ptest += "gnome-desktop-testing"
diff --git a/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-lsi2c-makefile.patch b/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-lsi2c-makefile.patch
new file mode 100644
index 0000000000..820d4bb447
--- /dev/null
+++ b/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-lsi2c-makefile.patch
@@ -0,0 +1,28 @@
+From 57c09727220e00ab961325a2c85f5611bd1770d6 Mon Sep 17 00:00:00 2001
+Message-Id: <57c09727220e00ab961325a2c85f5611bd1770d6.1701984646.git.joerg.sommer@navimatix.de>
+From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de>
+Date: Thu, 7 Dec 2023 22:29:40 +0100
+Subject: [PATCH] lsi2c/Makefile: Use builddir to refer to libi2cdev.a
+
+Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
+Upstream-Status: Submitted [https://github.com/costad2/i2cdev/pull/2/commits/43f15e97d869797dbfeaacafa13216aaaf353426]
+---
+ lsi2c/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lsi2c/Makefile.am b/lsi2c/Makefile.am
+index 6defc1f..0d81d01 100644
+--- a/lsi2c/Makefile.am
++++ b/lsi2c/Makefile.am
+@@ -14,7 +14,7 @@ bin_PROGRAMS=lsi2c
+ lsi2c_SOURCES = lsi2c.c
+
+ # Linker options for lsi2c
+-lsi2c_LDADD = $(top_srcdir)/libi2cdev/libi2cdev.a
++lsi2c_LDADD = $(top_builddir)/libi2cdev/libi2cdev.a
+
+ # Compiler options for lsi2c
+ lsi2c_CFLAGS = -I$(top_srcdir)/include -std=c99 -fPIC
+--
+2.34.1
+
diff --git a/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-musl.patch b/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-musl.patch
new file mode 100644
index 0000000000..a15514bafe
--- /dev/null
+++ b/meta-oe/recipes-bsp/i2cdev/i2cdev/fix-musl.patch
@@ -0,0 +1,110 @@
+From ce3affeb45a65649dda1edc9a4f0586e9db47ada Mon Sep 17 00:00:00 2001
+Message-Id: <ce3affeb45a65649dda1edc9a4f0586e9db47ada.1705064898.git.joerg.sommer@navimatix.de>
+From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg.sommer@navimatix.de>
+Date: Fri, 12 Jan 2024 13:59:51 +0100
+Subject: [PATCH] lsi2c: Replace error() by fprintf, drop error.h
+
+The MUSL C library doesn't support error.h. Because the only usage of this
+is the *error* function in lsi2c.c, this gets replaced by a *fprintf*. This
+doesn't print the program name, but keeps the message and the error
+description.
+
+Upstream-Status: Submitted [https://github.com/costad2/i2cdev/pull/5]
+---
+ libi2cdev/access.c | 1 -
+ libi2cdev/i2c-bus-parser.c | 1 -
+ libi2cdev/i2c-dev-path.c | 1 -
+ libi2cdev/i2c-error.c | 1 -
+ libi2cdev/init.c | 2 --
+ libi2cdev/sysfs.c | 1 -
+ lsi2c/lsi2c.c | 4 ++--
+ 7 files changed, 2 insertions(+), 9 deletions(-)
+
+--- a/libi2cdev/access.c
++++ b/libi2cdev/access.c
+@@ -16,7 +16,6 @@
+
+ #include "busses.h"
+ #include "data.h"
+-#include "error.h"
+ #include "sysfs.h"
+
+ #include "i2cdiscov.h"
+--- a/libi2cdev/i2c-bus-parser.c
++++ b/libi2cdev/i2c-bus-parser.c
+@@ -27,9 +27,9 @@
+ #include <dirent.h>
+ #include <fcntl.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <alloca.h>
+ #include <search.h>
++#include <libgen.h>
+
+ #include "common.h"
+ #include "sysfs.h"
+--- a/libi2cdev/i2c-dev-path.c
++++ b/libi2cdev/i2c-dev-path.c
+@@ -11,7 +11,6 @@
+ #include <string.h>
+ #include <errno.h>
+ #include <stdio.h>
+-#include <error.h>
+
+ #include <linux/limits.h>
+
+--- a/libi2cdev/i2c-error.c
++++ b/libi2cdev/i2c-error.c
+@@ -9,7 +9,6 @@
+
+ #include <stdlib.h>
+ #include <stdio.h>
+-#include <error.h>
+ #include <errno.h>
+ #include <stdbool.h>
+ #include <stdarg.h>
+--- a/libi2cdev/init.c
++++ b/libi2cdev/init.c
+@@ -16,10 +16,8 @@
+ #include <errno.h>
+ #include <dirent.h>
+ #include <unistd.h>
+-#include <error.h>
+ #include <limits.h>
+ #include <ctype.h>
+-#include <error.h>
+ #include <fcntl.h>
+ #include <assert.h>
+
+--- a/libi2cdev/sysfs.c
++++ b/libi2cdev/sysfs.c
+@@ -17,8 +17,8 @@
+ #include <assert.h>
+ #include <string.h>
+ #include <fcntl.h>
+-#include <error.h>
+ #include <errno.h>
++#include <libgen.h>
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
+--- a/lsi2c/lsi2c.c
++++ b/lsi2c/lsi2c.c
+@@ -38,7 +38,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <getopt.h>
+ #include <stdbool.h>
+
+@@ -205,7 +204,8 @@ static int read_config_file(const char *
+ if (err < 0) {
+ err = -err;
+ }
+- error(0, err, "Failed to initialize i2cdevices");
++ fflush(stdout);
++ fprintf(stderr, "Failed to initialize i2cdevices: %s", strerror(err));
+ if (config_file) {
+ fclose(config_file);
+ }
diff --git a/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb b/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb
new file mode 100644
index 0000000000..57057c9bf5
--- /dev/null
+++ b/meta-oe/recipes-bsp/i2cdev/i2cdev_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "i2c dev tools for Linux"
+DESCRIPTION = "\
+ This package contains an I2C dev library and the i2c bus scanning \
+ utility lsi2c. \
+"
+HOMEPAGE = "https://github.com/costad2/i2cdev"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=768997ba510a952bef1775c50bc22b00 \
+ file://include/libi2cdev.h;beginline=12;endline=25;md5=72486a5e192d6ac5c7e55a4a95e380a6 \
+ file://libi2cdev/smbus.c;beginline=9;endline=22;md5=d9a0de5a611b960fa75912ded6c60096 \
+ file://lsi2c/lsi2c.c;beginline=11;endline=24;md5=72486a5e192d6ac5c7e55a4a95e380a6 \
+"
+
+PV = "0.7.0+git"
+
+SRC_URI = "\
+ git://github.com/costad2/i2cdev.git;protocol=https;branch=master \
+ file://fix-lsi2c-makefile.patch \
+ file://fix-musl.patch \
+"
+SRCREV = "ed9ad777d842880e7ac6ca5e0de4bd2d3b4d02dc"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb b/meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb
index caffcb6966..fa1bb928ca 100644
--- a/meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb
+++ b/meta-oe/recipes-bsp/irda-utils/irda-utils_0.9.18.bb
@@ -5,7 +5,7 @@ such as phones and laptops."
HOMEPAGE = "http://irda.sourceforge.net/"
BUGTRACKER = "http://sourceforge.net/p/irda/bugs/"
SECTION = "base"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://irdadump/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://smcinit/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://man/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
@@ -21,7 +21,7 @@ SRC_URI[sha256sum] = "61980551e46b2eaa9e17ad31cbc1a638074611fc33bff34163d10c7a67
inherit update-rc.d
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
kernel-module-pxaficp-ir \
kernel-module-irda \
kernel-module-ircomm \
diff --git a/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch b/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch
deleted file mode 100644
index 09f4993a25..0000000000
--- a/meta-oe/recipes-bsp/ledmon/ledmon/0001-Don-t-build-with-Werror-to-fix-compile-error.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Subject: [PATCH] Don't build with -Werror to fix compile error.
-
-| 550 | _dump_sgpio_amd(&amd_reg->amd);
-| | ^~~~~~~~~~~~~
-| amd_sgpio.c: In function '_write_amd_register':
-| amd_sgpio.c:558:18: error: taking address of packed member of 'struct amd_register' may result in an unaligned pointer value [-Werror=address-of-packed-member]
-
-Upstream-Status: Submitted
-https://github.com/intel/ledmon/pull/48/commits
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- configure.ac | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7bc20f8..7e01bd5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -22,7 +22,6 @@ AX_AM_CFLAGS_ADD([-Werror=format-truncation=1])
- AX_AM_CFLAGS_ADD([-Werror=shift-negative-value])
- AX_AM_CFLAGS_ADD([-Werror=alloca])
- AX_AM_CFLAGS_ADD([-Werror=missing-field-initializers])
--AX_AM_CFLAGS_ADD([-Werror])
- AX_AM_CFLAGS_ADD([-Werror=format-signedness])
-
- AC_SUBST([AM_CFLAGS])
---
-2.7.4
-
diff --git a/meta-oe/recipes-bsp/ledmon/ledmon/0001-fix-build-with-clang.patch b/meta-oe/recipes-bsp/ledmon/ledmon/0001-fix-build-with-clang.patch
new file mode 100644
index 0000000000..f1e1d6f780
--- /dev/null
+++ b/meta-oe/recipes-bsp/ledmon/ledmon/0001-fix-build-with-clang.patch
@@ -0,0 +1,90 @@
+From 28fd86fb4e18af181174176530a80672de4449d2 Mon Sep 17 00:00:00 2001
+From: alperak <alperyasinak1@gmail.com>
+Date: Sat, 18 Nov 2023 12:27:17 +0300
+Subject: [PATCH] fix build with clang
+
+struct ibpi2value is a structure which contains 2 unsigned integers. In
+a number of cases the code was not initializing a value for the last value
+in the pair in struct ibpi2value ibpi_to_attention. This was raised when
+using clang compiler.
+
+vmdssd.c:49:27: error: missing field 'value' initializer
+[-Werror,-Wmissing-field-initializers]
+ {LED_IBPI_PATTERN_UNKNOWN}
+
+dellssd.c:74:27: error: missing field 'value' initializer
+[-Werror,-Wmissing-field-initializers]
+ {LED_IBPI_PATTERN_UNKNOWN}
+
+amd_ipmi.c:57:27: error: missing field 'value'
+initializer [-Werror,-Wmissing-field-initializers]
+ {LED_IBPI_PATTERN_UNKNOWN}
+
+npem.c:76:27: error: missing field 'value'
+initializer [-Werror,-Wmissing-field-initializers]
+ {LED_IBPI_PATTERN_UNKNOWN}
+
+Upstream-Status: Submitted [https://github.com/intel/ledmon/pull/179]
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ src/amd_ipmi.c | 2 +-
+ src/dellssd.c | 2 +-
+ src/npem.c | 2 +-
+ src/vmdssd.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/amd_ipmi.c b/src/amd_ipmi.c
+index 726f77d..ad36e9e 100644
+--- a/src/amd_ipmi.c
++++ b/src/amd_ipmi.c
+@@ -53,7 +53,7 @@ const struct ibpi2value ibpi2amd_ipmi[] = {
+ {IBPI_PATTERN_FAILED_ARRAY, 0x45},
+ {IBPI_PATTERN_REBUILD, 0x46},
+ {IBPI_PATTERN_HOTSPARE, 0x47},
+- {IBPI_PATTERN_UNKNOWN}
++ {IBPI_PATTERN_UNKNOWN, 0}
+ };
+
+ #define MG9098_CHIP_ID_REG 0x63
+diff --git a/src/dellssd.c b/src/dellssd.c
+index 3c10ec7..7f02ea1 100644
+--- a/src/dellssd.c
++++ b/src/dellssd.c
+@@ -71,7 +71,7 @@ static const struct ibpi2value ibpi2ssd[] = {
+ {IBPI_PATTERN_FAILED_DRIVE, BP_FAULT | BP_ONLINE},
+ {IBPI_PATTERN_LOCATE, BP_IDENTIFY | BP_ONLINE},
+ {IBPI_PATTERN_LOCATE_OFF, BP_ONLINE},
+- {IBPI_PATTERN_UNKNOWN}
++ {IBPI_PATTERN_UNKNOWN, 0}
+ };
+
+ #define DELL_OEM_NETFN 0x30
+diff --git a/src/npem.c b/src/npem.c
+index c21276d..3499169 100644
+--- a/src/npem.c
++++ b/src/npem.c
+@@ -72,7 +72,7 @@ const struct ibpi2value ibpi_to_npem_capability[] = {
+ {IBPI_PATTERN_FAILED_DRIVE, PCI_NPEM_FAIL_CAP},
+ {IBPI_PATTERN_LOCATE, PCI_NPEM_LOCATE_CAP},
+ {IBPI_PATTERN_LOCATE_OFF, PCI_NPEM_OK_CAP},
+- {IBPI_PATTERN_UNKNOWN}
++ {IBPI_PATTERN_UNKNOWN, 0}
+ };
+
+ static struct pci_access *get_pci_access()
+diff --git a/src/vmdssd.c b/src/vmdssd.c
+index 51af591..9c63d90 100644
+--- a/src/vmdssd.c
++++ b/src/vmdssd.c
+@@ -45,7 +45,7 @@ struct ibpi2value ibpi_to_attention[] = {
+ {IBPI_PATTERN_REBUILD, ATTENTION_REBUILD},
+ {IBPI_PATTERN_LOCATE_OFF, ATTENTION_OFF},
+ {IBPI_PATTERN_ONESHOT_NORMAL, ATTENTION_OFF},
+- {IBPI_PATTERN_UNKNOWN}
++ {IBPI_PATTERN_UNKNOWN, 0}
+ };
+
+ #define SYSFS_PCIEHP "/sys/module/pciehp"
+--
+2.25.1
+
diff --git a/meta-oe/recipes-bsp/ledmon/ledmon_0.97.bb b/meta-oe/recipes-bsp/ledmon/ledmon_0.97.bb
new file mode 100644
index 0000000000..88a6e5bb30
--- /dev/null
+++ b/meta-oe/recipes-bsp/ledmon/ledmon_0.97.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Intel(R) Enclosure LED Utilities"
+
+DESCRIPTION = "The utilities are designed primarily to be used on storage servers \
+ utilizing MD devices (aka Linux Software RAID) for RAID arrays.\
+"
+HOMEPAGE = "https://github.com/intel/ledmon"
+
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "sg3-utils udev pciutils"
+
+inherit autotools systemd pkgconfig
+
+SYSTEMD_SERVICE:${PN} = "ledmon.service"
+
+SRC_URI = "git://github.com/intel/ledmon;branch=master;protocol=https \
+ file://0002-include-sys-select.h-and-sys-types.h.patch \
+ file://0001-fix-build-with-clang.patch"
+
+SRCREV = "b0edae14e8660b80ffe0384354038a9f62e2978d"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+COMPATIBLE_HOST:libc-musl = "null"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd', '', d)}"
+
+EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}' CFLAGS='${CFLAGS}'"
+
+# The ledmon sources include headers in ${S}/config to build but not in CFLAGS.
+# We need to add this include path in CFLAGS.
+CFLAGS += "-I${S}/config"
diff --git a/meta-oe/recipes-bsp/ledmon/ledmon_git.bb b/meta-oe/recipes-bsp/ledmon/ledmon_git.bb
deleted file mode 100644
index f9ae9aad9a..0000000000
--- a/meta-oe/recipes-bsp/ledmon/ledmon_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "Intel(R) Enclosure LED Utilities"
-
-DESCRIPTION = "The utilities are designed primarily to be used on storage servers \
- utilizing MD devices (aka Linux Software RAID) for RAID arrays.\
-"
-HOMEPAGE = "https://github.com/intel/ledmon"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
-"
-
-DEPENDS = "sg3-utils udev"
-
-inherit autotools systemd
-
-SYSTEMD_SERVICE_${PN} = "ledmon.service"
-
-# 0.93
-SRC_URI = "git://github.com/intel/ledmon;branch=master \
- file://0002-include-sys-select.h-and-sys-types.h.patch \
- file://0001-Don-t-build-with-Werror-to-fix-compile-error.patch \
- "
-
-SRCREV = "1d72f9cb5c9163b2ecdf19709935720e65f5b90e"
-
-COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
-COMPATIBLE_HOST_libc-musl = "null"
-
-S = "${WORKDIR}/git"
-EXTRA_OEMAKE = "CC='${CC}' LDFLAGS='${LDFLAGS}' CFLAGS='${CFLAGS}'"
-
-# The ledmon sources include headers in ${S}/config to build but not in CFLAGS.
-# We need to add this include path in CFLAGS.
-CFLAGS += "-I${S}/config"
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0755 ${S}/systemd/ledmon.service ${D}${systemd_unitdir}/system
- fi
-}
diff --git a/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb b/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
index b55bd51619..25ab44f75e 100644
--- a/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
+++ b/meta-oe/recipes-bsp/lm_sensors/lmsensors-config_1.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "lm_sensors configuration files"
DESCRIPTION = "Hardware health monitoring configuration files"
HOMEPAGE = "http://www.lm-sensors.org/"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PACKAGE_ARCH = "${MACHINE_ARCH}"
@@ -17,7 +17,7 @@ S = "${WORKDIR}"
PACKAGECONFIG ??= "sensord"
PACKAGECONFIG[sensord] = ",,"
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
do_install() {
# Install fancontrol configuration file
@@ -51,18 +51,18 @@ PACKAGES =+ "${PN}-fancontrol"
# sensord web cgi support
PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-cgi', '', d)}"
-RRECOMMENDS_${PN}-cgi = "lighttpd lighttpd-module-cgi"
-RDEPENDS_${PN}-cgi = "${PN}-sensord rrdtool"
-FILES_${PN}-cgi = "/www/*"
+RRECOMMENDS:${PN}-cgi = "lighttpd lighttpd-module-cgi"
+RDEPENDS:${PN}-cgi = "${PN}-sensord rrdtool"
+FILES:${PN}-cgi = "/www/*"
# libsensors configuration file
-FILES_${PN}-libsensors = "${sysconfdir}/sensors.d/sensors.conf"
+FILES:${PN}-libsensors = "${sysconfdir}/sensors.d/sensors.conf"
# sensord logging daemon configuration files
-FILES_${PN}-sensord = "\
+FILES:${PN}-sensord = "\
${sysconfdir}/sensord.conf \
${sysconfdir}/sysconfig/sensord \
"
# fancontrol script configuration file
-FILES_${PN}-fancontrol = "${sysconfdir}/fancontrol"
+FILES:${PN}-fancontrol = "${sysconfdir}/fancontrol"
diff --git a/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb b/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb
index 4ee96df98d..aba5ab5878 100644
--- a/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb
+++ b/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.6.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Hardware health monitoring applications"
HOMEPAGE = "https://hwmon.wiki.kernel.org/"
-LICENSE = "GPLv2+ & LGPLv2.1+"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
@@ -10,7 +10,7 @@ DEPENDS = " \
virtual/libiconv \
"
-SRC_URI = "git://github.com/lm-sensors/lm-sensors.git;protocol=https \
+SRC_URI = "git://github.com/lm-sensors/lm-sensors.git;protocol=https;branch=master \
file://fancontrol.init \
file://sensord.init \
file://0001-Change-PIDFile-path-from-var-run-to-run.patch \
@@ -19,7 +19,7 @@ SRCREV = "1667b850a1ce38151dae17156276f981be6fb557"
inherit update-rc.d systemd
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
PACKAGECONFIG ??= "sensord"
PACKAGECONFIG[sensord] = "sensord,,rrdtool"
@@ -28,19 +28,19 @@ INITSCRIPT_PACKAGES = "\
${PN}-fancontrol \
${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
"
-INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol"
-INITSCRIPT_NAME_${PN}-sensord = "sensord"
-INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66"
-INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67"
+INITSCRIPT_NAME:${PN}-fancontrol = "fancontrol"
+INITSCRIPT_NAME:${PN}-sensord = "sensord"
+INITSCRIPT_PARAMS:${PN}-fancontrol = "defaults 66"
+INITSCRIPT_PARAMS:${PN}-sensord = "defaults 67"
SYSTEMD_PACKAGES = "\
${PN} \
${PN}-fancontrol \
${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
"
-SYSTEMD_SERVICE_${PN} = "lm_sensors.service"
-SYSTEMD_SERVICE_${PN}-fancontrol = "fancontrol.service"
-SYSTEMD_SERVICE_${PN}-sensord = "sensord.service"
+SYSTEMD_SERVICE:${PN} = "lm_sensors.service"
+SYSTEMD_SERVICE:${PN}-fancontrol = "fancontrol.service"
+SYSTEMD_SERVICE:${PN}-sensord = "sensord.service"
SYSTEMD_AUTO_ENABLE = "disable"
S = "${WORKDIR}/git"
@@ -85,10 +85,10 @@ do_install() {
fi
}
-RPROVIDES_${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg"
+RPROVIDES:${PN}-dbg += "${PN}-libsensors-dbg ${PN}-sensors-dbg ${PN}-sensord-dbg ${PN}-isatools-dbg"
-ALLOW_EMPTY_${PN} = "1"
-RDEPENDS_${PN} += " \
+ALLOW_EMPTY:${PN} = "1"
+RDEPENDS:${PN} += " \
${PN}-libsensors \
${PN}-sensors \
${@bb.utils.contains('PACKAGECONFIG', 'sensord', '${PN}-sensord', '', d)} \
@@ -125,44 +125,45 @@ PACKAGES =+ "${PN}-isatools ${PN}-isatools-doc"
# libsensors files
-FILES_${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d"
-FILES_${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}"
-FILES_${PN}-libsensors-staticdev = "${libdir}/libsensors.a"
-FILES_${PN}-libsensors-doc = "${mandir}/man3"
-RRECOMMENDS_${PN}-libsensors = "lmsensors-config-libsensors"
+FILES:${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d"
+FILES:${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}"
+FILES:${PN}-libsensors-staticdev = "${libdir}/libsensors.a"
+FILES:${PN}-libsensors-doc = "${mandir}/man3"
+RRECOMMENDS:${PN}-libsensors = "lmsensors-config-libsensors"
# sensors command files
-FILES_${PN}-sensors = "${bindir}/sensors"
-FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5"
-RDEPENDS_${PN}-sensors = "${PN}-libsensors"
+FILES:${PN}-sensors = "${bindir}/sensors"
+FILES:${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5"
+RDEPENDS:${PN}-sensors = "${PN}-libsensors"
# sensord logging daemon
-FILES_${PN}-sensord = "${sbindir}/sensord ${INIT_D_DIR}/sensord ${systemd_system_unitdir}/sensord.service"
-FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8"
-RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool"
-RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord"
+FILES:${PN}-sensord = "${sbindir}/sensord ${INIT_D_DIR}/sensord ${systemd_system_unitdir}/sensord.service"
+FILES:${PN}-sensord-doc = "${mandir}/man8/sensord.8"
+RDEPENDS:${PN}-sensord = "${PN}-sensors rrdtool"
+RRECOMMENDS:${PN}-sensord = "lmsensors-config-sensord"
# fancontrol script files
-FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${INIT_D_DIR}/fancontrol"
-FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8"
-RDEPENDS_${PN}-fancontrol = "bash"
-RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol"
+FILES:${PN}-fancontrol = "${sbindir}/fancontrol ${INIT_D_DIR}/fancontrol"
+FILES:${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8"
+RDEPENDS:${PN}-fancontrol = "bash"
+RRECOMMENDS:${PN}-fancontrol = "lmsensors-config-fancontrol"
# sensors-detect script files
-FILES_${PN}-sensorsdetect = "${sbindir}/sensors-detect"
-FILES_${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8"
-RDEPENDS_${PN}-sensorsdetect = "${PN}-sensors perl perl-modules"
+FILES:${PN}-sensorsdetect = "${sbindir}/sensors-detect"
+FILES:${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8"
+RDEPENDS:${PN}-sensorsdetect = "${PN}-sensors perl perl-module-fcntl perl-module-file-basename \
+ perl-module-strict perl-module-constant"
# sensors-conf-convert script files
-FILES_${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert"
-FILES_${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8"
-RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules"
+FILES:${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert"
+FILES:${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8"
+RDEPENDS:${PN}-sensorsconfconvert = "${PN}-sensors perl perl-module-strict perl-module-vars"
# pwmconfig script files
-FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig"
-FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8"
-RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol bash"
+FILES:${PN}-pwmconfig = "${sbindir}/pwmconfig"
+FILES:${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8"
+RDEPENDS:${PN}-pwmconfig = "${PN}-fancontrol bash"
# isadump and isaset helper program files
-FILES_${PN}-isatools = "${sbindir}/isa*"
-FILES_${PN}-isatools-doc = "${mandir}/man8/isa*"
+FILES:${PN}-isatools = "${sbindir}/isa*"
+FILES:${PN}-isatools-doc = "${mandir}/man8/isa*"
diff --git a/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb b/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb
deleted file mode 100644
index 2c96de163b..0000000000
--- a/meta-oe/recipes-bsp/lsscsi/lsscsi_0.31.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "The lsscsi command lists information about SCSI devices in Linux"
-HOMEPAGE = "http://sg.danny.cz/scsi/lsscsi.html"
-LICENSE = "GPLv2"
-SECTION = "base"
-LIC_FILES_CHKSUM="file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "http://sg.danny.cz/scsi/${BP}.tgz"
-
-SRC_URI[md5sum] = "efb68946f51860e8eedc18d6784afdae"
-SRC_URI[sha256sum] = "12bf1973014803c6fd6d547e7594a4c049f0eef3bf5d22190d4be29d7c09f3ca"
-
-inherit autotools
-
-S = "${WORKDIR}/lsscsi-${PV}"
diff --git a/meta-oe/recipes-bsp/lsscsi/lsscsi_030.bb b/meta-oe/recipes-bsp/lsscsi/lsscsi_030.bb
new file mode 100644
index 0000000000..9d3d7d8060
--- /dev/null
+++ b/meta-oe/recipes-bsp/lsscsi/lsscsi_030.bb
@@ -0,0 +1,13 @@
+SUMMARY = "The lsscsi command lists information about SCSI devices in Linux"
+HOMEPAGE = "http://sg.danny.cz/scsi/lsscsi.html"
+LICENSE = "GPL-2.0-only"
+SECTION = "base"
+LIC_FILES_CHKSUM="file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "http://sg.danny.cz/scsi/${BP}.tgz"
+
+SRC_URI[sha256sum] = "619a2187405f02c5f57682f3478bffc75326803cd08839e39d434250c5518b15"
+
+inherit autotools
+
+S = "${WORKDIR}/lsscsi-${PV}r154"
diff --git a/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.13.bb b/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.13.bb
deleted file mode 100644
index 2f5e25c299..0000000000
--- a/meta-oe/recipes-bsp/nvme-cli/nvme-cli_1.13.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "NVMe management command line interface"
-AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
-HOMEPAGE = "https://github.com/linux-nvme/nvme-cli"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022"
-DEPENDS = "util-linux"
-PV .= "+git${SRCPV}"
-
-SRC_URI = "git://github.com/linux-nvme/nvme-cli.git"
-SRCREV = "f0e9569df9289d6ee55ba2c23615cc7c73a9b088"
-
-S = "${WORKDIR}/git"
-
-inherit bash-completion systemd
-
-do_install() {
- oe_runmake install-spec DESTDIR=${D} PREFIX=${prefix} \
- UDEVDIR=${nonarch_base_libdir}/udev SYSTEMDDIR=${systemd_unitdir}
-}
-
-pkg_postinst_ontarget_${PN}() {
- ${sbindir}/nvme gen-hostnqn > ${sysconfdir}/nvme/hostnqn
- ${bindir}/uuidgen > ${sysconfdir}/nvme/hostid
-}
-
-PACKAGES =+ "${PN}-dracut ${PN}-zsh-completion"
-
-FILES_${PN} += "${systemd_system_unitdir}"
-FILES_${PN}-dracut = "${nonarch_libdir}/dracut/dracut.conf.d"
-FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions"
-
-RDEPENDS_${PN} = "util-linux-uuidgen"
diff --git a/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.8.bb b/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.8.bb
new file mode 100644
index 0000000000..81b30c283d
--- /dev/null
+++ b/meta-oe/recipes-bsp/nvme-cli/nvme-cli_2.8.bb
@@ -0,0 +1,30 @@
+SUMMARY = "NVMe management command line interface"
+HOMEPAGE = "https://github.com/linux-nvme/nvme-cli"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only & CC0-1.0 & MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022 \
+ file://ccan/licenses/CC0;md5=c17af43b05840255a6fedc5eda9d56cc \
+ file://ccan/licenses/BSD-MIT;md5=838c366f69b72c5df05c96dff79b35f2"
+DEPENDS = "json-c libnvme"
+SRCREV = "43b716b982da3df1cf8c4658f7c31b0fe28d377b"
+
+SRC_URI = "git://github.com/linux-nvme/nvme-cli.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit bash-completion meson pkgconfig systemd
+
+EXTRA_OEMESON += "-Dsystemddir=${systemd_unitdir}/system"
+
+pkg_postinst_ontarget:${PN}() {
+ ${sbindir}/nvme gen-hostnqn > ${sysconfdir}/nvme/hostnqn
+ ${bindir}/uuidgen > ${sysconfdir}/nvme/hostid
+}
+
+PACKAGES =+ "${PN}-dracut ${PN}-zsh-completion"
+
+FILES:${PN} += "${systemd_system_unitdir}"
+FILES:${PN}-dracut = "${nonarch_libdir}/dracut/dracut.conf.d"
+FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+RDEPENDS:${PN} = "util-linux-uuidgen"
diff --git a/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb b/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb
index fc064550fd..2a736716db 100644
--- a/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb
+++ b/meta-oe/recipes-bsp/pcmciautils/pcmciautils_018.bb
@@ -2,13 +2,12 @@ SUMMARY = "Linux kernel userland utilities for the PCMCIA subsystem"
HOMEPAGE = "https://www.kernel.org/pub/linux/utils/kernel/pcmcia/"
SECTION = "kernel/userland"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "udev sysfsutils flex-native bison-native"
-RDEPENDS_${PN} = "udev module-init-tools"
+RDEPENDS:${PN} = "udev module-init-tools"
-PR = "r1"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/pcmcia/${BP}.tar.xz \
file://makefile_fix.patch \
@@ -28,14 +27,13 @@ export pcmciaconfdir = "${sysconfdir}/pcmcia"
export udevdir = "`pkg-config --variable=udevdir udev`"
export udevrulesdir = "`pkg-config --variable=udevdir udev`/rules.d"
export UDEV = "1"
-LD = "${CC}"
CFLAGS =+ "-I${S}/src"
CFLAGS =+ "-DPCMCIAUTILS_VERSION=\\"${PV}\\""
-EXTRA_OEMAKE = "-e 'STRIP=echo' 'LIB_OBJS=-lc -lsysfs' 'LEX=flex'"
+EXTRA_OEMAKE = "-e 'STRIP=echo' 'LIB_OBJS=-lc -lsysfs' 'LEX=flex' 'LD=${CC}'"
do_install () {
oe_runmake 'DESTDIR=${D}' install
}
-CONFFILES_${PN} += "${sysconfdir}/pcmcia/config.opts"
+CONFFILES:${PN} += "${sysconfdir}/pcmcia/config.opts"
diff --git a/meta-oe/recipes-bsp/pointercal/pointercal_0.0.bb b/meta-oe/recipes-bsp/pointercal/pointercal_0.0.bb
index fcfd0386d9..61be5b2dcc 100644
--- a/meta-oe/recipes-bsp/pointercal/pointercal_0.0.bb
+++ b/meta-oe/recipes-bsp/pointercal/pointercal_0.0.bb
@@ -1,6 +1,5 @@
SUMMARY = "Touchscreen calibration data"
SECTION = "base"
-PR = "r11"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=4b5fcfc87fb615860d398b5e38685edf"
@@ -17,6 +16,8 @@ do_install() {
fi
}
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
PACKAGE_ARCH = "${MACHINE_ARCH}"
INHIBIT_DEFAULT_DEPS = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-connectivity/ace/ace_6.5.12.bb b/meta-oe/recipes-connectivity/ace/ace_6.5.12.bb
deleted file mode 100644
index 086fc9d06e..0000000000
--- a/meta-oe/recipes-connectivity/ace/ace_6.5.12.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "C++ framework for implementing distributed and networked applications"
-DESCRIPTION = "C++ network programming framework that implements many core \
-patterns for concurrent communication software"
-LICENSE = "ACE-TAO-CIAO"
-HOMEPAGE = "http://www.dre.vanderbilt.edu/~schmidt/ACE.html"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d2c090e9c730fd91677782d8e2091d77"
-
-DEPENDS += "openssl gperf-native"
-
-SRC_URI = "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_12/ACE-${PV}.tar.bz2 \
- file://ace_config.patch \
- file://no_sysctl.patch \
- "
-
-SRC_URI[sha256sum] = "ccd94fa45df1e8bb1c901d02c0a64c1626497e5eeda2f057fcf0a1578dae2148"
-
-COMPATIBLE_HOST_libc-musl = "null"
-
-S = "${WORKDIR}/ACE_wrappers"
-B = "${WORKDIR}/ACE_wrappers/ace"
-export ACE_ROOT="${WORKDIR}/ACE_wrappers"
-
-inherit pkgconfig
-
-CXXFLAGS_append = " -fpermissive -Wnodeprecated-declarations"
-CXX_append = " -ffile-prefix-map=${WORKDIR}= -fdebug-prefix-map=${WORKDIR}= "
-EXTRA_OEMAKE += "INSTALL_LIB=${baselib}"
-
-do_install() {
- export D="${D}"
- oe_runmake install
-
- for i in $(find ${D} -name "*.pc") ; do
- sed -i -e s:${D}::g \
- -e s:/${TARGET_SYS}::g \
- $i
- done
-
- rm -r ${D}/usr/share
-}
-
-UPSTREAM_CHECK_URI = "https://github.com/DOCGroup/ACE_TAO/releases"
diff --git a/meta-oe/recipes-connectivity/ace/ace_6.5.19.bb b/meta-oe/recipes-connectivity/ace/ace_6.5.19.bb
new file mode 100644
index 0000000000..af4f2c54bb
--- /dev/null
+++ b/meta-oe/recipes-connectivity/ace/ace_6.5.19.bb
@@ -0,0 +1,41 @@
+SUMMARY = "C++ framework for implementing distributed and networked applications"
+DESCRIPTION = "C++ network programming framework that implements many core \
+patterns for concurrent communication software"
+LICENSE = "ACE-TAO-CIAO"
+HOMEPAGE = "http://www.dre.vanderbilt.edu/~schmidt/ACE.html"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d2c090e9c730fd91677782d8e2091d77"
+
+DEPENDS += "openssl gperf-native"
+
+SRC_URI = "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_19/ACE-${PV}.tar.bz2 \
+ file://ace_config.patch \
+ file://no_sysctl.patch \
+ "
+SRC_URI[sha256sum] = "739be290a38229aaa5b5150e6ea55ce427e80970f0ace4c5040ac46644526f41"
+
+COMPATIBLE_HOST:libc-musl = "null"
+
+S = "${WORKDIR}/ACE_wrappers"
+B = "${WORKDIR}/ACE_wrappers/ace"
+export ACE_ROOT="${WORKDIR}/ACE_wrappers"
+
+inherit pkgconfig
+
+CXXFLAGS:append = " -fpermissive -Wnodeprecated-declarations"
+CXX:append = " -std=gnu++14 -ffile-prefix-map=${WORKDIR}= -fdebug-prefix-map=${WORKDIR}= "
+EXTRA_OEMAKE += "INSTALL_LIB=${baselib}"
+
+do_install() {
+ export D="${D}"
+ oe_runmake install
+
+ for i in $(find ${D} -name "*.pc") ; do
+ sed -i -e s:${D}::g \
+ -e s:/${TARGET_SYS}::g \
+ $i
+ done
+
+ rm -r ${D}/usr/share
+}
+
+UPSTREAM_CHECK_URI = "https://github.com/DOCGroup/ACE_TAO/releases"
diff --git a/meta-oe/recipes-connectivity/ace/files/ace_config.patch b/meta-oe/recipes-connectivity/ace/files/ace_config.patch
index 1b8e218658..c820e46522 100644
--- a/meta-oe/recipes-connectivity/ace/files/ace_config.patch
+++ b/meta-oe/recipes-connectivity/ace/files/ace_config.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -ruN ACE_wrappers1/ace/config.h ACE_wrappers/ace/config.h
--- ACE_wrappers1/ace/config.h 1970-01-01 02:00:00.000000000 +0200
+++ ACE_wrappers/ace/config.h 2019-01-10 13:36:52.698012477 +0200
diff --git a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb b/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
deleted file mode 100644
index fd6b85ff2e..0000000000
--- a/meta-oe/recipes-connectivity/gammu/gammu_1.32.0.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-SUMMARY = "GNU All Mobile Managment Utilities"
-SECTION = "console/network"
-DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev libgudev unixodbc"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
-HOMEPAGE = "http://www.gammu.org/"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}.tar.bz2 \
- file://gammurc \
- file://gammu-smsdrc \
-"
-
-SRC_URI[md5sum] = "8ea16c6b3cc48097a8e62311fe0e25b9"
-SRC_URI[sha256sum] = "de67caa102aa4c8fbed5300e5a0262e40411c4cc79f4379a8d34eed797968fc3"
-
-inherit distutils3 cmake gettext
-
-do_install_append() {
- # these files seem to only be used by symbian and trigger QA warnings
- rm -rf ${D}/usr/share/gammu
- #install default configuration files
- install -d ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/gammurc ${D}${sysconfdir}/gammurc
- install -m 0644 ${WORKDIR}/gammu-smsdrc ${D}${sysconfdir}/gammu-smsdrc
-}
-
-EXTRA_OECONF = " \
- --enable-shared \
- --enable-backup \
- --enable-protection \
-"
-
-EXTRA_OECMAKE = " \
- -DWITH_CURL=OFF \
- -DWITH_BLUETOOTH=OFF \
- -DWITH_NOKIA_SUPPORT=OFF \
- -DWITH_IRDA=OFF \
- -DWITH_PYTHON=OFF \
- -DWITH_MySQL=ON \
- -DWITH_Postgres=OFF \
-"
-
-PACKAGES =+ "${PN}-smsd libgammu libgsmsd python-${PN}"
-
-FILES_${PN} = "${bindir}/gammu ${bindir}/jadmaker ${sysconfdir}/bash_completion.d/gammu \
- ${bindir}/gammu-detect ${sysconfdir}/gammurc"
-CONFFILES_${PN} = "${sysconfdir}/gammurc"
-FILES_${PN}-smsd = "${bindir}/gammu-smsd* ${sysconfdir}/gammu-smsdrc"
-CONFFILES_${PN}-smsd = "${sysconfdir}/gammu-smsdrc"
-FILES_${PN}-dev += "${bindir}/gammu-config ${libdir}/*.so"
-FILES_${PN}-dbg += "${bindir}/.debug ${libdir}/.debug ${PYTHON_SITEPACKAGES_DIR}/gammu/.debug"
-FILES_libgammu = "${libdir}/libGammu.so.*"
-FILES_libgsmsd = "${libdir}/libgsmsd.so.*"
-FILES_python-${PN} = "${PYTHON_SITEPACKAGES_DIR}/gammu/*.??"
-
-RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-dev += "bash"
-
-# Fails to build with thumb-1 (qemuarm)
-# gammu-1.32.0/libgammu/service/sms/gsmems.c:542:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
-# | }
-# | ^
-# | Please submit a full bug report,
-# | with preprocessed source if appropriate.
-# | See <http://gcc.gnu.org/bugs.html> for instructions.
-# | make[2]: *** [libgammu/CMakeFiles/libGammu.dir/service/sms/gsmems.o] Error 1
-# | make[2]: *** Waiting for unfinished jobs....
-ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-oe/recipes-connectivity/gammu/gammu_1.42.0.bb b/meta-oe/recipes-connectivity/gammu/gammu_1.42.0.bb
new file mode 100644
index 0000000000..aa52f62572
--- /dev/null
+++ b/meta-oe/recipes-connectivity/gammu/gammu_1.42.0.bb
@@ -0,0 +1,68 @@
+SUMMARY = "GNU All Mobile Managment Utilities"
+SECTION = "console/network"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+HOMEPAGE = "https://wammu.eu/"
+
+SRC_URI = "https://dl.cihar.com/${BPN}/releases/${BP}.tar.xz \
+ file://gammurc \
+ file://gammu-smsdrc \
+"
+
+SRC_URI[sha256sum] = "d8f152314d7e4d3d643610d742845e0a016ce97c234ad4b1151574e1b09651ee"
+
+UPSTREAM_CHECK_URI = "https://dl.cihar.com/${BPN}/releases"
+
+DEPENDS = "cmake-native virtual/libiconv libdbi mysql5 glib-2.0 udev libgudev unixodbc"
+
+inherit cmake gettext
+
+do_install:append() {
+ # these files seem to only be used by symbian and trigger QA warnings
+ rm -rf ${D}/usr/share/gammu
+ #install default configuration files
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/gammurc ${D}${sysconfdir}/gammurc
+ install -m 0644 ${WORKDIR}/gammu-smsdrc ${D}${sysconfdir}/gammu-smsdrc
+}
+
+EXTRA_OECONF = " \
+ --enable-shared \
+ --enable-backup \
+ --enable-protection \
+"
+
+EXTRA_OECMAKE = " \
+ -DWITH_CURL=OFF \
+ -DWITH_BLUETOOTH=OFF \
+ -DWITH_NOKIA_SUPPORT=OFF \
+ -DWITH_IRDA=OFF \
+ -DWITH_MySQL=ON \
+ -DWITH_Postgres=OFF \
+"
+
+PACKAGES =+ "${PN}-smsd libgammu libgsmsd"
+
+FILES:${PN} = "${bindir}/gammu ${bindir}/jadmaker ${sysconfdir}/bash_completion.d/gammu \
+ ${bindir}/gammu-detect ${sysconfdir}/gammurc"
+CONFFILES:${PN} = "${sysconfdir}/gammurc"
+FILES:${PN}-smsd = "${bindir}/gammu-smsd* ${sysconfdir}/gammu-smsdrc"
+CONFFILES:${PN}-smsd = "${sysconfdir}/gammu-smsdrc"
+FILES:${PN}-dev += "${bindir}/gammu-config ${libdir}/*.so"
+FILES:${PN}-dbg += "${bindir}/.debug ${libdir}/.debug"
+FILES:libgammu = "${libdir}/libGammu.so.*"
+FILES:libgsmsd = "${libdir}/libgsmsd.so.*"
+
+RDEPENDS:${PN} += "bash"
+RDEPENDS:${PN}-dev += "bash"
+
+# Fails to build with thumb-1 (qemuarm)
+# gammu-1.32.0/libgammu/service/sms/gsmems.c:542:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
+# | }
+# | ^
+# | Please submit a full bug report,
+# | with preprocessed source if appropriate.
+# | See <http://gcc.gnu.org/bugs.html> for instructions.
+# | make[2]: *** [libgammu/CMakeFiles/libGammu.dir/service/sms/gsmems.o] Error 1
+# | make[2]: *** Waiting for unfinished jobs....
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-oe/recipes-connectivity/gammu/python3-gammu/0001-setup.py-StrictVersion-packaging.version.patch b/meta-oe/recipes-connectivity/gammu/python3-gammu/0001-setup.py-StrictVersion-packaging.version.patch
new file mode 100644
index 0000000000..23fe4441dc
--- /dev/null
+++ b/meta-oe/recipes-connectivity/gammu/python3-gammu/0001-setup.py-StrictVersion-packaging.version.patch
@@ -0,0 +1,49 @@
+From 96e8f0b2d13e890d9ffff8673f18dcc94290efb2 Mon Sep 17 00:00:00 2001
+From: Tim Orling <tim.orling@konsulko.com>
+Date: Thu, 13 Jan 2022 20:06:33 -0600
+Subject: [PATCH] setup.py: StrictVersion -> packaging.version.*
+
+distutils is deprecated in Python 3.10 and will be removed in Python
+3.12 [1]
+
+The recommended replacement for distutils.version is to use
+packaging.version
+
+StrictVersion can be replaced by packaging.version.Version and helpers
+like packaging.version.parse()
+
+[1] https://www.python.org/dev/peps/pep-0632/
+[2] https://packaging.pypa.io/en/latest/version.html
+
+Upstream-Status: Submitted [https://github.com/gammu/python-gammu/pull/67]
+
+Signed-off-by: Tim Orling <tim.orling@konsulko.com>
+---
+ setup.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index a458181..bffb09d 100755
+--- a/setup.py
++++ b/setup.py
+@@ -30,7 +30,7 @@ import os
+ import platform
+ import subprocess
+ import sys
+-from distutils.version import StrictVersion
++from packaging.version import parse, Version
+
+ from setuptools import Extension, setup
+
+@@ -112,9 +112,9 @@ class GammuConfig:
+ with open(self.config_path(self.path)) as handle:
+ for line in handle:
+ if line.startswith("#define GAMMU_VERSION "):
+- version = line.split('"')[1]
++ version = parse(line.split('"')[1])
+
+- if version is None or StrictVersion(version) < StrictVersion(GAMMU_REQUIRED):
++ if version is None or version < parse(GAMMU_REQUIRED):
+ print("Too old Gammu version, please upgrade!")
+ sys.exit(100)
+
diff --git a/meta-oe/recipes-connectivity/gammu/python3-gammu_3.2.4.bb b/meta-oe/recipes-connectivity/gammu/python3-gammu_3.2.4.bb
new file mode 100644
index 0000000000..1fdb76eeb4
--- /dev/null
+++ b/meta-oe/recipes-connectivity/gammu/python3-gammu_3.2.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Gammu bindings for Python"
+DESCRIPTION ="Python bindings for the Gammu library."
+HOMEPAGE = "https://wammu.eu/python-gammu/"
+BUGRACKER = "https://github.com/gammu/python-gammu/issues"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+PYPI_PACKAGE = "python-gammu"
+
+inherit pypi setuptools3 pkgconfig
+
+SRC_URI += "file://0001-setup.py-StrictVersion-packaging.version.patch"
+SRC_URI[sha256sum] = "49fc70f01bc192c43ff3ec815e082df5261ea4c8d36a695e977734c4eb4df868"
+
+S = "${WORKDIR}/python-gammu-${PV}"
+
+DEPENDS += "gammu python3-packaging-native"
+
+RDEPENDS:${PN} += "python3-asyncio python3-core python3-threading"
+
+RRECOMMENDS:${PN} += "gammu"
diff --git a/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch b/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch
deleted file mode 100644
index ffe0a00673..0000000000
--- a/meta-oe/recipes-connectivity/gattlib/files/0001-cmake-Use-GNUInstallDirs.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 63dc2d0c9384d85482dc4cbb3c179b4b0bb18d4e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 19 Dec 2019 22:32:01 -0800
-Subject: [PATCH] cmake: Use GNUInstallDirs
-
-Helps install cmakefiles in right libdir
-
-Upstream-Status: Submitted [https://github.com/labapart/gattlib/pull/139]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- CMakeLists.txt | 5 +++--
- dbus/CMakeLists.txt | 18 ++++++++++--------
- 2 files changed, 13 insertions(+), 10 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 12d8d71..ded7239 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -152,7 +152,8 @@ endif()
- #
- # List of file to install
- #
--install(FILES include/gattlib.h DESTINATION include)
--install(FILES ${PROJECT_BINARY_DIR}/gattlib.pc DESTINATION lib/pkgconfig)
-+include(GNUInstallDirs)
-+install(FILES include/gattlib.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-+install(FILES ${PROJECT_BINARY_DIR}/gattlib.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
- include(CPack)
-diff --git a/dbus/CMakeLists.txt b/dbus/CMakeLists.txt
-index f5096ce..cef031f 100644
---- a/dbus/CMakeLists.txt
-+++ b/dbus/CMakeLists.txt
-@@ -19,7 +19,7 @@
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- #
-
--cmake_minimum_required(VERSION 2.6)
-+cmake_minimum_required(VERSION 3.0)
-
- find_package(PkgConfig REQUIRED)
-
-@@ -119,4 +119,6 @@ endif()
- add_library(gattlib SHARED ${gattlib_SRCS})
- target_link_libraries(gattlib ${gattlib_LIBS})
-
--install(TARGETS gattlib LIBRARY DESTINATION lib)
-+include(GNUInstallDirs)
-+
-+install(TARGETS gattlib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
---
-2.24.1
-
diff --git a/meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch b/meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch
index 96e4f8d6fa..7319280ca4 100644
--- a/meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch
+++ b/meta-oe/recipes-connectivity/gattlib/files/dbus-avoid-strange-chars-from-the-build-dir.patch
@@ -14,6 +14,8 @@ the normal include guards and request "#pragma once" instead.
Signed-off-by: Peter Rosin <peda@axentia.se>
---
+Upstream-Status: Pending
+
dbus/CMakeLists.txt | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb b/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb
index d79dbed87a..7ad28d594d 100644
--- a/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb
+++ b/meta-oe/recipes-connectivity/gattlib/gattlib_git.bb
@@ -1,21 +1,19 @@
DESCRIPTION = "Bluetooth library with attribute support"
SECTION = "libs/network"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://CMakeLists.txt;beginline=1;endline=20;md5=8d5efeb9189b60866baff80ff791bf00"
+LICENSE = "GPL-2.0-or-later | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://CMakeLists.txt;beginline=1;endline=6;md5=a87ee154f005a6f035b8b34ac2191f3b"
-DEPENDS = "bluez5 glib-2.0"
-DEPENDS += "glib-2.0-native"
+DEPENDS = "bluez5 glib-2.0 glib-2.0-native python3-packaging-native"
-PV = "0.2+git${SRCPV}"
+PV = "0.2+git"
-SRC_URI = "git://github.com/labapart/gattlib.git \
+SRC_URI = "git://github.com/labapart/gattlib.git;branch=master;protocol=https \
file://dbus-avoid-strange-chars-from-the-build-dir.patch \
- file://0001-cmake-Use-GNUInstallDirs.patch \
"
SRCBRANCH = "master"
-SRCREV = "5c7ee43bd70ee09a7170ddd55b9fdbdef69e9080"
+SRCREV = "33a8a275928b186381bb0aea0f9778e330e57ec3"
S = "${WORKDIR}/git"
@@ -24,9 +22,17 @@ PACKAGECONFIG[examples] = "-DGATTLIB_BUILD_EXAMPLES=ON,-DGATTLIB_BUILD_EXAMPLES=
# Set this to force use of DBus API if Bluez version is older than 5.42
PACKAGECONFIG[force-dbus] = "-DGATTLIB_FORCE_DBUS=TRUE,-DGATTLIB_FORCE_DBUS=FALSE"
+EXTRA_OECMAKE += "-DGATTLIB_PYTHON_INTERFACE=OFF"
EXTRA_OECMAKE += "-DGATTLIB_BUILD_DOCS=OFF"
-inherit pkgconfig cmake
+inherit pkgconfig cmake python3native
-FILES_${PN} = "${libdir}/*"
-FILES_${PN}-dev = "${includedir}/*"
+do_compile:append() {
+ for f in org-bluez-gattdescriptor1.c org-bluez-battery1.c org-bluez-adaptater1.c \
+ org-bluez-device1.c org-bluez-gattservice1.c org-bluez-gattcharacteristic1.c; do
+ sed -i -e 's|${B}/dbus/||g' ${B}/dbus/$f
+ done
+}
+
+FILES:${PN} = "${libdir}/*"
+FILES:${PN}-dev = "${includedir}/* ${libdir}/pkgconfig"
diff --git a/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb b/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb
deleted file mode 100644
index a02442862c..0000000000
--- a/meta-oe/recipes-connectivity/gensio/gensio_2.2.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc"
-HOMEPAGE = "https://github.com/cminyard/gensio"
-LICENSE = "GPL-2.0 & LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=a0fd36908af843bcee10cb6dfc47fa67 \
- file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f \
- "
-
-SRCREV = "95cfb8f6d8985e2fb8ba51c4887dd70aa7551a03"
-
-SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=2.2.x"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-PACKAGECONFIG ??= "openssl tcp-wrappers"
-
-PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl"
-PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers"
-PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig"
-
-EXTRA_OECONF = "--without-python"
-
-RDEPENDS_${PN} += "bash"
diff --git a/meta-oe/recipes-connectivity/gensio/gensio_2.8.3.bb b/meta-oe/recipes-connectivity/gensio/gensio_2.8.3.bb
new file mode 100644
index 0000000000..533b79f477
--- /dev/null
+++ b/meta-oe/recipes-connectivity/gensio/gensio_2.8.3.bb
@@ -0,0 +1,26 @@
+SUMMARY = "A library to abstract stream I/O like serial port, TCP, telnet, etc"
+HOMEPAGE = "https://github.com/cminyard/gensio"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ "
+
+SRCREV = "c8e0d722794e35c71bc9bb1d79e98f926aad19e0"
+
+SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+PACKAGECONFIG ??= "openssl tcp-wrappers"
+
+PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}${prefix},--without-openssl, openssl"
+PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers, tcp-wrappers"
+PACKAGECONFIG[swig] = "--with-swig,--without-swig, swig"
+
+EXTRA_OECONF = "--without-python"
+
+RDEPENDS:${PN} += "bash"
+
+FILES:${PN}-staticdev += "${libexecdir}/gensio/${PV}/libgensio_*.a"
diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch b/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch
deleted file mode 100644
index 9cefd4f2ad..0000000000
--- a/meta-oe/recipes-connectivity/hostapd/hostapd/CVE-2019-16275.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From d86d66dc073bc21d3b12faf4112062ae00c1773f Mon Sep 17 00:00:00 2001
-From: Jouni Malinen <j@w1.fi>
-Date: Thu, 29 Aug 2019 11:52:04 +0300
-Subject: AP: Silently ignore management frame from unexpected source
-address
-
-Do not process any received Management frames with unexpected/invalid SA
-so that we do not add any state for unexpected STA addresses or end up
-sending out frames to unexpected destination. This prevents unexpected
-sequences where an unprotected frame might end up causing the AP to send
-out a response to another device and that other device processing the
-unexpected response.
-
-In particular, this prevents some potential denial of service cases
-where the unexpected response frame from the AP might result in a
-connected station dropping its association.
-
-Upstream-Status: Accepted
-CVE: CVE-2019-16275
-
-Reference to upstream patch:
-https://w1.fi/cgit/hostap/commit/?id=d86d66dc073bc21d3b12faf4112062ae00c1773f
-
-Signed-off-by: Jouni Malinen <j@w1.fi>
----
- src/ap/drv_callbacks.c | 13 +++++++++++++
- src/ap/ieee802_11.c | 12 ++++++++++++
- 2 files changed, 25 insertions(+)
-
-diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c
-index 3158768..34ca379 100644
---- a/src/ap/drv_callbacks.c
-+++ b/src/ap/drv_callbacks.c
-@@ -131,6 +131,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
- "hostapd_notif_assoc: Skip event with no address");
- return -1;
- }
-+
-+ if (is_multicast_ether_addr(addr) ||
-+ is_zero_ether_addr(addr) ||
-+ os_memcmp(addr, hapd->own_addr, ETH_ALEN) == 0) {
-+ /* Do not process any frames with unexpected/invalid SA so that
-+ * we do not add any state for unexpected STA addresses or end
-+ * up sending out frames to unexpected destination. */
-+ wpa_printf(MSG_DEBUG, "%s: Invalid SA=" MACSTR
-+ " in received indication - ignore this indication silently",
-+ __func__, MAC2STR(addr));
-+ return 0;
-+ }
-+
- random_add_randomness(addr, ETH_ALEN);
-
- hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211,
-diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c
-index c85a28d..2816812 100644
---- a/src/ap/ieee802_11.c
-+++ b/src/ap/ieee802_11.c
-@@ -4626,6 +4626,18 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len,
- fc = le_to_host16(mgmt->frame_control);
- stype = WLAN_FC_GET_STYPE(fc);
-
-+ if (is_multicast_ether_addr(mgmt->sa) ||
-+ is_zero_ether_addr(mgmt->sa) ||
-+ os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) {
-+ /* Do not process any frames with unexpected/invalid SA so that
-+ * we do not add any state for unexpected STA addresses or end
-+ * up sending out frames to unexpected destination. */
-+ wpa_printf(MSG_DEBUG, "MGMT: Invalid SA=" MACSTR
-+ " in received frame - ignore this frame silently",
-+ MAC2STR(mgmt->sa));
-+ return 0;
-+ }
-+
- if (stype == WLAN_FC_STYPE_BEACON) {
- handle_beacon(hapd, mgmt, len, fi);
- return 1;
---
-2.17.1
-
diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb b/meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb
new file mode 100644
index 0000000000..dbdc5c1bdf
--- /dev/null
+++ b/meta-oe/recipes-connectivity/hostapd/hostapd_2.10.bb
@@ -0,0 +1,51 @@
+SUMMARY = "User space daemon for extended IEEE 802.11 management"
+HOMEPAGE = "http://w1.fi/hostapd/"
+SECTION = "kernel/userland"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://hostapd/README;md5=c905478466c90f1cefc0df987c40e172"
+
+DEPENDS = "libnl openssl"
+
+SRC_URI = " \
+ http://w1.fi/releases/hostapd-${PV}.tar.gz \
+ file://defconfig \
+ file://init \
+ file://hostapd.service \
+"
+
+
+SRC_URI[sha256sum] = "206e7c799b678572c2e3d12030238784bc4a9f82323b0156b4c9466f1498915d"
+
+S = "${WORKDIR}/hostapd-${PV}"
+B = "${WORKDIR}/hostapd-${PV}/hostapd"
+
+inherit update-rc.d systemd pkgconfig features_check
+
+CONFLICT_DISTRO_FEATURES = "openssl-no-weak-ciphers"
+
+INITSCRIPT_NAME = "hostapd"
+
+SYSTEMD_SERVICE:${PN} = "hostapd.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+do_configure:append() {
+ install -m 0644 ${WORKDIR}/defconfig ${B}/.config
+}
+
+do_compile() {
+ export CFLAGS="-MMD -O2 -Wall -g"
+ export EXTRA_CFLAGS="${CFLAGS}"
+ make V=1
+}
+
+do_install() {
+ install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${B}/hostapd.conf ${D}${sysconfdir}
+ install -m 0755 ${B}/hostapd ${D}${sbindir}
+ install -m 0755 ${B}/hostapd_cli ${D}${sbindir}
+ install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
+ install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service
+}
+
+CONFFILES:${PN} += "${sysconfdir}/hostapd.conf"
diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb b/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
deleted file mode 100644
index 68dc123702..0000000000
--- a/meta-oe/recipes-connectivity/hostapd/hostapd_2.9.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "User space daemon for extended IEEE 802.11 management"
-HOMEPAGE = "http://w1.fi/hostapd/"
-SECTION = "kernel/userland"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://hostapd/README;md5=1ec986bec88070e2a59c68c95d763f89"
-
-DEPENDS = "libnl openssl"
-
-SRC_URI = " \
- http://w1.fi/releases/hostapd-${PV}.tar.gz \
- file://defconfig \
- file://init \
- file://hostapd.service \
- file://CVE-2019-16275.patch \
-"
-
-SRC_URI[md5sum] = "f188fc53a495fe7af3b6d77d3c31dee8"
-SRC_URI[sha256sum] = "881d7d6a90b2428479288d64233151448f8990ab4958e0ecaca7eeb3c9db2bd7"
-
-S = "${WORKDIR}/hostapd-${PV}"
-B = "${WORKDIR}/hostapd-${PV}/hostapd"
-
-inherit update-rc.d systemd pkgconfig features_check
-
-CONFLICT_DISTRO_FEATURES = "openssl-no-weak-ciphers"
-
-INITSCRIPT_NAME = "hostapd"
-
-SYSTEMD_SERVICE_${PN} = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-do_configure_append() {
- install -m 0644 ${WORKDIR}/defconfig ${B}/.config
-}
-
-do_compile() {
- export CFLAGS="-MMD -O2 -Wall -g"
- export EXTRA_CFLAGS="${CFLAGS}"
- make V=1
-}
-
-do_install() {
- install -d ${D}${sbindir} ${D}${sysconfdir}/init.d ${D}${systemd_unitdir}/system/
- install -m 0644 ${B}/hostapd.conf ${D}${sysconfdir}
- install -m 0755 ${B}/hostapd ${D}${sbindir}
- install -m 0755 ${B}/hostapd_cli ${D}${sbindir}
- install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hostapd
- install -m 0644 ${WORKDIR}/hostapd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/hostapd.service
-}
-
-CONFFILES_${PN} += "${sysconfdir}/hostapd.conf"
diff --git a/meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch b/meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch
index 35665bd3f2..7dc0067304 100644
--- a/meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch
+++ b/meta-oe/recipes-connectivity/ifplugd/ifplugd/Fix-build-with-musl.patch
@@ -6,6 +6,8 @@ Organization: O.S. Systems Software LTDA.
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
+Upstream-Status: Pending
+
src/ethtool-local.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb b/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb
index 7dc83e85f7..62651bc308 100644
--- a/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb
+++ b/meta-oe/recipes-connectivity/ifplugd/ifplugd_0.28.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "ifplugd is a Linux daemon which will automatically configure your ethernet device \
when a cable is plugged in and automatically unconfigure it if the cable is pulled."
HOMEPAGE = "http://0pointer.de/lennart/projects/ifplugd/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libdaemon"
@@ -10,7 +10,7 @@ SRC_URI = "http://0pointer.de/lennart/projects/ifplugd/ifplugd-${PV}.tar.gz \
file://0001-src-interface.h-Make-declarations-as-extern.patch \
"
-SRC_URI_append_libc-musl = " file://Fix-build-with-musl.patch"
+SRC_URI:append:libc-musl = " file://Fix-build-with-musl.patch"
SRC_URI[md5sum] = "df6f4bab52f46ffd6eb1f5912d4ccee3"
SRC_URI[sha256sum] = "474754ac4ab32d738cbf2a4a3e87ee0a2c71b9048a38bdcd7df1e4f9fd6541f0"
@@ -22,6 +22,6 @@ EXTRA_OECONF = "--disable-lynx --with-initdir=${sysconfdir}/init.d"
INITSCRIPT_NAME = "ifplugd"
INITSCRIPT_PARAMS = "defaults"
-CONFFILES_${PN} = "${sysconfdir}/ifplugd/ifplugd.conf"
+CONFFILES:${PN} = "${sysconfdir}/ifplugd/ifplugd.conf"
-RDEPENDS_${PN} += "bash"
+RDEPENDS:${PN} += "bash"
diff --git a/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb b/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb
deleted file mode 100644
index 1c5a912f27..0000000000
--- a/meta-oe/recipes-connectivity/irssi/irssi_1.2.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "ncurses IRC client"
-DESCRIPTION = "Irssi is an ncurses IRC client"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
-
-DEPENDS = "glib-2.0 ncurses openssl"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
-SRC_URI[md5sum] = "8547f89e014e23e1bbbb665bcf7e2f70"
-SRC_URI[sha256sum] = "6727060c918568ba2ff4295ad736128dba0b995d7b20491bca11f593bd857578"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--with-textui \
- --with-proxy \
- --with-bot \
- --with-perl=no \
- --enable-true-color"
-
-FILES_${PN}-staticdev += "${libdir}/${BPN}/modules/*.a"
diff --git a/meta-oe/recipes-connectivity/irssi/irssi_1.4.5.bb b/meta-oe/recipes-connectivity/irssi/irssi_1.4.5.bb
new file mode 100644
index 0000000000..5b5af30607
--- /dev/null
+++ b/meta-oe/recipes-connectivity/irssi/irssi_1.4.5.bb
@@ -0,0 +1,21 @@
+SUMMARY = "ncurses IRC client"
+DESCRIPTION = "Irssi is an ncurses IRC client"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55fdc1113306167d6ea2561404ce02f8"
+
+DEPENDS = "glib-2.0 ncurses openssl"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "72a951cb0ad622785a8962801f005a3a412736c7e7e3ce152f176287c52fe062"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--with-textui \
+ --with-proxy \
+ --with-bot \
+ --with-perl=no \
+ --enable-true-color"
+
+FILES:${PN}-staticdev += "${libdir}/${BPN}/modules/*.a"
diff --git a/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch b/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch
new file mode 100644
index 0000000000..9ed73104ee
--- /dev/null
+++ b/meta-oe/recipes-connectivity/iwd/iwd/0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch
@@ -0,0 +1,37 @@
+From b0b51d762f45ff9d320b96bd0acb89313148a446 Mon Sep 17 00:00:00 2001
+From: Zang Ruochen <zangrc.fnst@fujitsu.com>
+Date: Wed, 12 May 2021 14:28:24 +0900
+Subject: [PATCH] build: Use abs_top_srcdir instead of abs_srcdir for ell sources
+
+this makes it build when build dir is outside of sources dir
+
+Upstream-Status: Submitted [https://lists.01.org/hyperkitty/list/iwd@lists.01.org/message/SYX6Z7SUQHU7UWM6ECZTTJ6SPODIS6KB/]
+---
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 68035e4..e3f7990 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -628,7 +628,7 @@ ell/shared: Makefile
+ $(AM_V_at)$(MKDIR_P) ell
+ $(AM_V_GEN)for f in $(ell_shared) ; do \
+ if [ ! -f $$f ] ; then \
+- $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \
++ $(LN_S) -t ell -f $(abs_top_srcdir)/ell/$$f ; \
+ fi \
+ done > $@
+
+@@ -636,7 +636,7 @@ ell/internal: Makefile
+ $(AM_V_at)$(MKDIR_P) ell
+ $(AM_V_GEN)for f in $(ell_headers) $(ell_sources) ; do \
+ if [ ! -f $$f ] ; then \
+- $(LN_S) -t ell -f $(abs_srcdir)/../ell/$$f ; \
++ $(LN_S) -t ell -f $(abs_top_srcdir)/ell/$$f ; \
+ fi \
+ done > $@
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb b/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb
deleted file mode 100644
index ccdc65ac6c..0000000000
--- a/meta-oe/recipes-connectivity/iwd/iwd_1.12.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "Wireless daemon for Linux"
-HOMEPAGE = "https://iwd.wiki.kernel.org/"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
-
-DEPENDS = "ell"
-
-SRC_URI = "git://git.kernel.org/pub/scm/network/wireless/iwd.git \
- "
-SRCREV = "bde3e0f6e3364e9c884b6b93a944d8138345b8e5"
-S = "${WORKDIR}/git"
-
-inherit autotools manpages pkgconfig python3native systemd
-
-PACKAGECONFIG ??= " \
- client \
- monitor \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
-"
-PACKAGECONFIG[client] = "--enable-client,--disable-client,readline"
-PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor"
-PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native"
-PACKAGECONFIG[wired] = "--enable-wired,--disable-wired"
-PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono"
-PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd"
-
-EXTRA_OECONF = "--enable-external-ell"
-
-SYSTEMD_SERVICE_${PN} = " \
- iwd.service \
- ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \
-"
-
-do_configure_prepend() {
- install -d ${S}/build-aux
-}
-
-do_install_append() {
- # If client and monitor are disabled, bindir is empty, causing a QA error
- rmdir --ignore-fail-on-non-empty ${D}/${bindir}
-}
-
-FILES_${PN} += " \
- ${datadir}/dbus-1 \
- ${nonarch_libdir}/modules-load.d \
- ${systemd_unitdir}/network \
-"
-
-RDEPENDS_${PN} = "dbus"
-
-RRECOMMENDS_${PN} = "\
- kernel-module-pkcs7-message \
- kernel-module-pkcs8-key-parser \
- kernel-module-x509-key-parser \
-"
diff --git a/meta-oe/recipes-connectivity/iwd/iwd_2.16.bb b/meta-oe/recipes-connectivity/iwd/iwd_2.16.bb
new file mode 100644
index 0000000000..a6bb7085ea
--- /dev/null
+++ b/meta-oe/recipes-connectivity/iwd/iwd_2.16.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Wireless daemon for Linux"
+HOMEPAGE = "https://iwd.wiki.kernel.org/"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fb504b67c50331fc78734fed90fb0e09"
+
+DEPENDS = "ell"
+
+SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \
+ file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \
+ "
+SRC_URI[sha256sum] = "c1a82032e994861e794cf3b5a16d07ae1aa03a6674f716c73408ffeae2a233ba"
+
+inherit autotools manpages pkgconfig python3native systemd
+
+PACKAGECONFIG ??= " \
+ client \
+ monitor \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+PACKAGECONFIG[client] = "--enable-client,--disable-client,readline"
+PACKAGECONFIG[monitor] = "--enable-monitor,--disable-monitor"
+PACKAGECONFIG[manpages] = "--enable-manual-pages,--disable-manual-pages,python3-docutils-native"
+PACKAGECONFIG[wired] = "--enable-wired,--disable-wired"
+PACKAGECONFIG[ofono] = "--enable-ofono,--disable-ofono"
+PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd-service,systemd"
+
+EXTRA_OECONF = "--enable-external-ell"
+
+SYSTEMD_SERVICE:${PN} = " \
+ iwd.service \
+ ${@bb.utils.contains('PACKAGECONFIG', 'wired', 'ead.service', '', d)} \
+"
+
+do_configure:prepend() {
+ install -d ${S}/build-aux
+}
+
+do_install:append() {
+ # If client and monitor are disabled, bindir is empty, causing a QA error
+ rmdir --ignore-fail-on-non-empty ${D}/${bindir}
+}
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${nonarch_libdir}/modules-load.d \
+ ${systemd_unitdir}/network \
+"
+
+RDEPENDS:${PN} = "dbus"
+
+RRECOMMENDS:${PN} = "\
+ kernel-module-pkcs7-message \
+ kernel-module-pkcs8-key-parser \
+ kernel-module-x509-key-parser \
+"
diff --git a/meta-oe/recipes-connectivity/krb5/krb5/0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch b/meta-oe/recipes-connectivity/krb5/krb5/0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch
deleted file mode 100644
index cbd5d71fdf..0000000000
--- a/meta-oe/recipes-connectivity/krb5/krb5/0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a9e4057bfda190ad365b503af058b460ab8c7616 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 1 Oct 2013 22:22:57 +0200
-Subject: [PATCH] aclocal: Add parameter to disable keyutils detection
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
----
- aclocal.m4 | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index d6d1279..80ce604 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -1679,12 +1679,16 @@ fi
- dnl
- dnl If libkeyutils exists (on Linux) include it and use keyring ccache
- AC_DEFUN(KRB5_AC_KEYRING_CCACHE,[
-+AC_ARG_ENABLE([keyutils],
-+AC_HELP_STRING([--disable-keyutils],don't enable using keyutils for keyring ccache @<:@enabled@:>@), , enable_keyutils=yes)
-+if test "$enable_keyutils" = yes; then
- AC_CHECK_HEADERS([keyutils.h],
- AC_CHECK_LIB(keyutils, add_key,
- [dnl Pre-reqs were found
- AC_DEFINE(USE_KEYRING_CCACHE, 1, [Define if the keyring ccache should be enabled])
- LIBS="-lkeyutils $LIBS"
- ]))
-+fi
- ])dnl
- dnl
- dnl If libkeyutils supports persistent keyrings, use them
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb
deleted file mode 100644
index 29bcb48b15..0000000000
--- a/meta-oe/recipes-connectivity/krb5/krb5_1.17.2.bb
+++ /dev/null
@@ -1,192 +0,0 @@
-SUMMARY = "A network authentication protocol"
-DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
- Kerberos is a trusted third-party service. That means that there is a \
- third party (the Kerberos server) that is trusted by all the entities on \
- the network (users and services, usually called "principals"). \
- . \
- This is the MIT reference implementation of Kerberos V5. \
- . \
- This package contains the Kerberos key server (KDC). The KDC manages all \
- authentication credentials for a Kerberos realm, holds the master keys \
- for the realm, and responds to authentication requests. This package \
- should be installed on both master and slave KDCs."
-
-HOMEPAGE = "http://web.mit.edu/Kerberos/"
-SECTION = "console/network"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=dd4d0ad4c5e98abb58aa0d312f276791"
-DEPENDS = "bison-native ncurses util-linux e2fsprogs e2fsprogs-native openssl"
-
-inherit autotools-brokensep binconfig perlnative systemd update-rc.d
-
-SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
-SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
- file://0001-aclocal-Add-parameter-to-disable-keyutils-detection.patch \
- file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
- file://crosscompile_nm.patch \
- file://etc/init.d/krb5-kdc \
- file://etc/init.d/krb5-admin-server \
- file://etc/default/krb5-kdc \
- file://etc/default/krb5-admin-server \
- file://krb5-kdc.service \
- file://krb5-admin-server.service \
-"
-SRC_URI[md5sum] = "aa4337fffa3b61f22dbd0167f708818f"
-SRC_URI[sha256sum] = "1a4bba94df92f6d39a197a10687653e8bfbc9a2076e129f6eb92766974f86134"
-
-CVE_PRODUCT = "kerberos"
-CVE_VERSION = "5-${PV}"
-
-S = "${WORKDIR}/${BP}/src"
-
-PACKAGECONFIG ??= "pkinit"
-PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
-PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl"
-PACKAGECONFIG[keyutils] = "--enable-keyutils,--disable-keyutils,keyutils"
-PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
-PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
-PACKAGECONFIG[pkinit] = "--enable-pkinit, --disable-pkinit"
-
-EXTRA_OECONF += " --without-tcl --with-system-et --disable-rpath"
-CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
- ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
- ac_cv_file__etc_TIMEZONE=no"
-
-CFLAGS_append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
-CFLAGS_append_riscv64 = " -D_REENTRANT -pthread"
-LDFLAGS_append = " -pthread"
-
-do_configure() {
- gnu-configize --force
- autoreconf
- oe_runconf
-}
-
-do_install_append() {
- rm -rf ${D}/${localstatedir}/run
- rm -f ${D}${bindir}/sclient
- rm -f ${D}${bindir}/sim_client
- rm -f ${D}${bindir}/uuclient
- rm -f ${D}${sbindir}/krb5-send-pr
- rm -f ${D}${sbindir}/sim_server
- rm -f ${D}${sbindir}/sserver
- rm -f ${D}${sbindir}/uuserver
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
- install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
-
- mkdir -p ${D}/${sysconfdir}/default/volatiles
- echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
- > ${D}${sysconfdir}/default/volatiles/87_krb5
-
- echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server
- fi
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "d /run/krb5kdc - - - -" \
- > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
-
- mkdir -p ${D}/${sysconfdir}/default
- install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
- fi
-}
-
-PACKAGES =+ "${PN}-admin-server \
- ${PN}-gss-samples \
- ${PN}-k5tls \
- ${PN}-kdc \
- ${PN}-kdc-ldap \
- ${PN}-kpropd \
- ${PN}-otp \
- ${PN}-pkinit \
- ${PN}-spake \
- ${PN}-user \
- libgssapi-krb5 \
- libgssrpc \
- libk5crypto \
- libkadm5clnt-mit \
- libkadm5srv-mit \
- libkdb5 \
- libkrad \
- libkrb5 \
- libkrb5support \
- libverto"
-
-FILES_${PN} = "${libdir}/krb5/plugins/preauth/test.so"
-FILES_${PN}-doc += "${datadir}/examples"
-FILES_${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
-
-FILES_${PN}-admin-server = "${sbindir}/kadmin.local \
- ${sbindir}/kadmind \
- ${sbindir}/kprop \
- ${sysconfdir}/default/krb5-admin-server \
- ${sysconfdir}/init.d/krb5-admin-server \
- ${systemd_system_unitdir}/krb5-admin-server.service"
-
-FILES_${PN}-gss-samples = "${bindir}/gss-client \
- ${sbindir}/gss-server"
-
-FILES_${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so"
-
-FILES_${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \
- ${localstatedir}/krb5kdc \
- ${sbindir}/kdb5_util \
- ${sbindir}/kproplog \
- ${sbindir}/krb5kdc \
- ${sysconfdir}/default/krb5-kdc \
- ${sysconfdir}/default/volatiles/87_krb5 \
- ${sysconfdir}/init.d/krb5-kdc \
- ${sysconfdir}/tmpfiles.d/krb5.conf \
- ${systemd_system_unitdir}/krb5-kdc.service"
-
-FILES_${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \
- ${libdir}/krb5/plugins/kdb/kldap.so \
- ${sbindir}/kdb5_ldap_util"
-
-FILES_${PN}-kpropd = "${sbindir}/kpropd"
-FILES_${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so"
-FILES_${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so"
-FILES_${PN}-spake = "${libdir}/krb5/plugins/preauth/spake.so"
-FILES_${PN}-user = "${bindir}/k*"
-
-FILES_libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}"
-FILES_libgssrpc = "${libdir}/libgssrpc${SOLIBS}"
-FILES_libk5crypto = "${libdir}/libk5crypto${SOLIBS}"
-FILES_libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}"
-FILES_libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}"
-FILES_libkdb5 = "${libdir}/libkdb5${SOLIBS}"
-FILES_libkrad = "${libdir}/libkrad${SOLIBS}"
-FILES_libkrb5 = "${libdir}/libkrb5${SOLIBS} \
- ${libdir}/krb5/plugins/authdata \
- ${libdir}/krb5/plugins/libkrb5"
-FILES_libkrb5support = "${libdir}/libkrb5support${SOLIBS}"
-FILES_libverto = "${libdir}/libverto${SOLIBS}"
-
-RDEPENDS_${PN}-kadmin-server = "${PN}-kdc"
-RDEPENDS_${PN}-kpropd = "${PN}-kdc"
-
-INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc"
-INITSCRIPT_NAME_${PN}-admin-server = "krb5-admin-server"
-INITSCRIPT_NAME_${PN}-kdc = "krb5-kdc"
-
-SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc"
-SYSTEMD_SERVICE_${PN}-admin-server = "krb5-admin-server.service"
-SYSTEMD_SERVICE_${PN}-kdc = "krb5-kdc.service"
-
-pkg_postinst_${PN}-kdc () {
- if [ -z "$D" ]; then
- if command -v systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
- elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
- fi
- fi
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-connectivity/krb5/krb5_1.21.2.bb b/meta-oe/recipes-connectivity/krb5/krb5_1.21.2.bb
new file mode 100644
index 0000000000..7af33e4e7e
--- /dev/null
+++ b/meta-oe/recipes-connectivity/krb5/krb5_1.21.2.bb
@@ -0,0 +1,201 @@
+SUMMARY = "A network authentication protocol"
+DESCRIPTION = "Kerberos is a system for authenticating users and services on a network. \
+ Kerberos is a trusted third-party service. That means that there is a \
+ third party (the Kerberos server) that is trusted by all the entities on \
+ the network (users and services, usually called "principals"). \
+ . \
+ This is the MIT reference implementation of Kerberos V5. \
+ . \
+ This package contains the Kerberos key server (KDC). The KDC manages all \
+ authentication credentials for a Kerberos realm, holds the master keys \
+ for the realm, and responds to authentication requests. This package \
+ should be installed on both master and slave KDCs."
+
+HOMEPAGE = "http://web.mit.edu/Kerberos/"
+SECTION = "console/network"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=32cb3a99207053d9f5c1ef177c4d6e34"
+
+inherit autotools-brokensep binconfig perlnative systemd update-rc.d pkgconfig
+
+SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}"
+SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
+ file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
+ file://crosscompile_nm.patch \
+ file://etc/init.d/krb5-kdc \
+ file://etc/init.d/krb5-admin-server \
+ file://etc/default/krb5-kdc \
+ file://etc/default/krb5-admin-server \
+ file://krb5-kdc.service \
+ file://krb5-admin-server.service \
+"
+
+SRC_URI[sha256sum] = "9560941a9d843c0243a71b17a7ac6fe31c7cebb5bce3983db79e52ae7e850491"
+
+CVE_PRODUCT = "kerberos"
+CVE_VERSION = "5-${PV}"
+
+S = "${WORKDIR}/${BP}/src"
+
+DEPENDS = "bison-native ncurses util-linux e2fsprogs e2fsprogs-native openssl"
+
+PACKAGECONFIG ??= "pkinit"
+PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
+PACKAGECONFIG[openssl] = "--with-crypto-impl=openssl,,openssl"
+PACKAGECONFIG[keyutils] = "--with-keyutils,--without-keyutils,keyutils"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
+PACKAGECONFIG[pkinit] = "--enable-pkinit, --disable-pkinit"
+
+EXTRA_OECONF += "--with-system-et --disable-rpath"
+CACHED_CONFIGUREVARS += "krb5_cv_attr_constructor_destructor=yes ac_cv_func_regcomp=yes \
+ ac_cv_printf_positional=yes ac_cv_file__etc_environment=yes \
+ ac_cv_file__etc_TIMEZONE=no"
+
+CFLAGS:append = " -fPIC -DDESTRUCTOR_ATTR_WORKS=1 -I${STAGING_INCDIR}/et"
+CFLAGS:append:riscv64 = " -D_REENTRANT -pthread"
+LDFLAGS:append = " -pthread"
+
+do_configure() {
+ gnu-configize --force
+ autoreconf
+ oe_runconf
+}
+
+do_install:append() {
+ rm -rf ${D}/${localstatedir}/run
+ rm -f ${D}${bindir}/sclient
+ rm -f ${D}${bindir}/sim_client
+ rm -f ${D}${bindir}/uuclient
+ rm -f ${D}${sbindir}/krb5-send-pr
+ rm -f ${D}${sbindir}/sim_server
+ rm -f ${D}${sbindir}/sserver
+ rm -f ${D}${sbindir}/uuserver
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ mkdir -p ${D}/${sysconfdir}/init.d ${D}/${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/etc/init.d/* ${D}/${sysconfdir}/init.d
+ install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
+
+ mkdir -p ${D}/${sysconfdir}/default/volatiles
+ echo "d root root 0755 ${localstatedir}/run/krb5kdc none" \
+ > ${D}${sysconfdir}/default/volatiles/87_krb5
+
+ echo "RUN_KADMIND=true" >> ${D}/${sysconfdir}/default/krb5-admin-server
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/krb5kdc - - - -" \
+ > ${D}${sysconfdir}/tmpfiles.d/krb5.conf
+
+ mkdir -p ${D}/${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/etc/default/* ${D}/${sysconfdir}/default
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/krb5-admin-server.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/krb5-kdc.service ${D}${systemd_system_unitdir}
+ fi
+
+ sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \
+ -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
+ -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
+ -i ${D}${bindir}/krb5-config
+}
+
+PACKAGE_BEFORE_PN =+ "${PN}-admin-server \
+ ${PN}-gss-samples \
+ ${PN}-k5tls \
+ ${PN}-kdc \
+ ${PN}-kdc-ldap \
+ ${PN}-kpropd \
+ ${PN}-otp \
+ ${PN}-pkinit \
+ ${PN}-spake \
+ ${PN}-user \
+ libgssapi-krb5 \
+ libgssrpc \
+ libk5crypto \
+ libkadm5clnt-mit \
+ libkadm5srv-mit \
+ libkdb5 \
+ libkrad \
+ libkrb5 \
+ libkrb5support \
+ libverto"
+
+FILES:${PN} = "${libdir}/krb5/plugins/preauth/test.so"
+FILES:${PN}-doc += "${datadir}/examples"
+FILES:${PN}-dbg += "${libdir}/krb5/plugins/*/.debug"
+
+FILES:${PN}-admin-server = "${sbindir}/kadmin.local \
+ ${sbindir}/kadmind \
+ ${sbindir}/kprop \
+ ${sysconfdir}/default/krb5-admin-server \
+ ${sysconfdir}/init.d/krb5-admin-server \
+ ${systemd_system_unitdir}/krb5-admin-server.service"
+
+FILES:${PN}-gss-samples = "${bindir}/gss-client \
+ ${sbindir}/gss-server"
+
+FILES:${PN}-k5tls = "${libdir}/krb5/plugins/tls/k5tls.so"
+
+FILES:${PN}-kdc = "${libdir}/krb5/plugins/kdb/db2.so \
+ ${localstatedir}/krb5kdc \
+ ${sbindir}/kdb5_util \
+ ${sbindir}/kproplog \
+ ${sbindir}/krb5kdc \
+ ${sysconfdir}/default/krb5-kdc \
+ ${sysconfdir}/default/volatiles/87_krb5 \
+ ${sysconfdir}/init.d/krb5-kdc \
+ ${sysconfdir}/tmpfiles.d/krb5.conf \
+ ${systemd_system_unitdir}/krb5-kdc.service"
+
+FILES:${PN}-kdc-ldap = "${libdir}/krb5/libkdb_ldap${SOLIBS} \
+ ${libdir}/krb5/plugins/kdb/kldap.so \
+ ${sbindir}/kdb5_ldap_util"
+
+FILES:${PN}-kpropd = "${sbindir}/kpropd"
+FILES:${PN}-otp = "${libdir}/krb5/plugins/preauth/otp.so"
+FILES:${PN}-pkinit = "${libdir}/krb5/plugins/preauth/pkinit.so"
+FILES:${PN}-spake = "${libdir}/krb5/plugins/preauth/spake.so"
+FILES:${PN}-user = "${bindir}/k*"
+
+FILES:libgssapi-krb5 = "${libdir}/libgssapi_krb5${SOLIBS}"
+FILES:libgssrpc = "${libdir}/libgssrpc${SOLIBS}"
+FILES:libk5crypto = "${libdir}/libk5crypto${SOLIBS}"
+FILES:libkadm5clnt-mit = "${libdir}/libkadm5clnt_mit${SOLIBS}"
+FILES:libkadm5srv-mit = "${libdir}/libkadm5srv_mit${SOLIBS}"
+FILES:libkdb5 = "${libdir}/libkdb5${SOLIBS}"
+FILES:libkrad = "${libdir}/libkrad${SOLIBS}"
+FILES:libkrb5 = "${libdir}/libkrb5${SOLIBS} \
+ ${libdir}/krb5/plugins/authdata \
+ ${libdir}/krb5/plugins/libkrb5"
+FILES:libkrb5support = "${libdir}/libkrb5support${SOLIBS}"
+FILES:libverto = "${libdir}/libverto${SOLIBS}"
+
+RDEPENDS:${PN}-kadmin-server = "${PN}-kdc"
+RDEPENDS:${PN}-kpropd = "${PN}-kdc"
+
+INITSCRIPT_PACKAGES = "${PN}-admin-server ${PN}-kdc"
+INITSCRIPT_NAME:${PN}-admin-server = "krb5-admin-server"
+INITSCRIPT_NAME:${PN}-kdc = "krb5-kdc"
+
+SYSTEMD_PACKAGES = "${PN}-admin-server ${PN}-kdc"
+SYSTEMD_SERVICE:${PN}-admin-server = "krb5-admin-server.service"
+SYSTEMD_SERVICE:${PN}-kdc = "krb5-kdc.service"
+
+pkg_postinst:${PN}-kdc () {
+ if [ -z "$D" ]; then
+ if command -v systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/krb5.conf
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+ fi
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+inherit multilib_script
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/krb5-config"
diff --git a/meta-oe/recipes-connectivity/libev/libev_4.33.bb b/meta-oe/recipes-connectivity/libev/libev_4.33.bb
index 760c2dbce4..346e78b1de 100644
--- a/meta-oe/recipes-connectivity/libev/libev_4.33.bb
+++ b/meta-oe/recipes-connectivity/libev/libev_4.33.bb
@@ -1,7 +1,7 @@
SUMMARY = "A full-featured and high-performance event loop that is loosely \
modelled after libevent."
HOMEPAGE = "http://software.schmorp.de/pkg/libev.html"
-LICENSE = "BSD-2-Clause | GPL-2.0+"
+LICENSE = "BSD-2-Clause | GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d6ad416afd040c90698edcdf1cbee347"
SRC_URI = "http://dist.schmorp.de/libev/Attic/${BP}.tar.gz"
@@ -12,7 +12,7 @@ inherit autotools
EXTRA_OECONF += "--with-pic"
-do_install_append() {
+do_install:append() {
# Avoid conflicting with libevent. The provided compatibility layer is
# still basic so drop it for now.
rm ${D}${includedir}/event.h
diff --git a/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb b/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb
new file mode 100644
index 0000000000..d37c547c98
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libimobiledevice-glue/libimobiledevice-glue_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Library with common code used by the libraries and tools around the libimobiledevice project"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=6ab17b41640564434dda85c06b7124f7 \
+"
+
+HOMEPAGE = "http://www.libimobiledevice.org/"
+
+DEPENDS = "libplist"
+
+PV = "1.0.0+git"
+
+SRCREV = "114098d30e783fbb3def5c9b49427a86621cfcb1"
+SRC_URI = "git://github.com/libimobiledevice/libimobiledevice-glue;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice/0001-include-unistd.h-for-usleep.patch b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice/0001-include-unistd.h-for-usleep.patch
new file mode 100644
index 0000000000..424a203e56
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice/0001-include-unistd.h-for-usleep.patch
@@ -0,0 +1,31 @@
+From 6cb8069cfe08114f1dc7b50a7fcd4dc040cd1bbb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 May 2023 20:19:23 -0700
+Subject: [PATCH] include unistd.h for usleep()
+
+clang16 flags the missing header
+
+Fixes
+../../git/tools/idevicedevmodectl.c:363:2: error: call to undeclared function 'usleep'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+
+Upstream-Status: Submitted [https://github.com/libimobiledevice/libimobiledevice/pull/1444]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/idevicedevmodectl.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/idevicedevmodectl.c b/tools/idevicedevmodectl.c
+index 739bc13..9fe8d6a 100644
+--- a/tools/idevicedevmodectl.c
++++ b/tools/idevicedevmodectl.c
+@@ -34,6 +34,7 @@
+ #ifndef WIN32
+ #include <signal.h>
+ #endif
++#include <unistd.h>
+
+ #ifdef WIN32
+ #include <windows.h>
+--
+2.40.1
+
diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb
deleted file mode 100644
index bcedd6297e..0000000000
--- a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.3.0.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A protocol library to access an iPhone or iPod Touch in Linux"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
- file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \
-"
-HOMEPAGE = "http://www.libimobiledevice.org/"
-
-DEPENDS = "libplist usbmuxd libusbmuxd libtasn1 gnutls libgcrypt"
-
-SRCREV = "15f8652126664e3a4b980e5d1c039b9053ce8566"
-SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https"
-
-S = "${WORKDIR}/git"
-inherit autotools pkgconfig
-
-EXTRA_OECONF = " --without-cython "
diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
new file mode 100644
index 0000000000..b8d7e8872b
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "A protocol library to access an iPhone or iPod Touch in Linux"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
+ file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \
+"
+HOMEPAGE = "http://www.libimobiledevice.org/"
+
+DEPENDS = "libplist usbmuxd libusbmuxd libtasn1 gnutls libgcrypt libimobiledevice-glue openssl"
+
+PV = "1.3.0+git"
+
+SRCREV = "860ffb707af3af94467d2ece4ad258dda957c6cd"
+SRC_URI = "git://github.com/libimobiledevice/libimobiledevice;protocol=https;branch=master \
+ file://0001-include-unistd.h-for-usleep.patch"
+
+S = "${WORKDIR}/git"
+inherit autotools pkgconfig
+
+EXTRA_OECONF = " --without-cython "
+
+CFLAGS += "-D_GNU_SOURCE"
diff --git a/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb b/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb
new file mode 100644
index 0000000000..2400195975
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libirecovery/libirecovery_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "The libirecovery library allows communication with iBoot/iBSS of iOS devices via USB"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=23c2a5e0106b99d75238986559bb5fc6 \
+"
+
+HOMEPAGE = "http://www.libimobiledevice.org/"
+
+DEPENDS = "libimobiledevice-glue libusb1 readline"
+
+PV = "1.1.0"
+
+SRCREV = "98c9f7055ec1f2e09fac69ef1413a8757113b838"
+SRC_URI = "git://github.com/libimobiledevice/libirecovery;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.6.bb b/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.6.bb
deleted file mode 100644
index 6fe6a2e4fb..0000000000
--- a/meta-oe/recipes-connectivity/libmbim/libmbim_1.24.6.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
-DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native libgudev"
-
-inherit autotools pkgconfig bash-completion gobject-introspection
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "38d228548eae3ee144e19a42b028eab0"
-SRC_URI[sha256sum] = "760465caaa1ccd699c14290e9791da456d5300dd11ebf4c1486151033e875dfd"
diff --git a/meta-oe/recipes-connectivity/libmbim/libmbim_1.30.0.bb b/meta-oe/recipes-connectivity/libmbim/libmbim_1.30.0.bb
new file mode 100644
index 0000000000..a227124498
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libmbim/libmbim_1.30.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "libmbim is library for talking to WWAN devices by MBIM protocol"
+DESCRIPTION = "libmbim is a glib-based library for talking to WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libmbim/"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native libgudev"
+
+inherit meson pkgconfig bash-completion gobject-introspection upstream-version-is-even
+
+SRCREV = "8415687e4f30ae5e36f407f179c8147f1529725c"
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libmbim.git;protocol=https;branch=mbim-1-30"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMESON = " \
+ -Dgtk_doc=false \
+ -Dman=false \
+"
diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.18.bb b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.18.bb
deleted file mode 100644
index 423bfd6890..0000000000
--- a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.18.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-# TODO: include debian's mtp-tools man page (needs xsltproc-native and
-# docbook-xsl-native, or we pregenerate it), add support for doxygen
-# generation fully with -natives
-DESCRIPTION = "libmtp is an Initiator implementation of the Media Transfer \
-Protocol (MTP) in the form of a library suitable primarily for POSIX \
-compliant operating systems"
-SUMMARY = "libmtp is an Initiator implementation of the Media Transfer Protocol (MTP)"
-HOMEPAGE = "http://libmtp.sourceforge.net/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "\
- file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
- file://src/ptp.c;beginline=3;endline=22;md5=303cc4422fd549ef8689aded20434a9a \
- file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
-"
-
-BBCLASSEXTEND = "native"
-
-DEPENDS = "libusb1 gettext-native"
-DEPENDS_append_class-target = " ${BPN}-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
-SRC_URI_append_class-target = " file://0001-Use-native-mtp-hotplug.patch"
-
-SRC_URI[md5sum] = "7915496daa3f4ea3e095f0161f83d4d4"
-SRC_URI[sha256sum] = "7280fe50c044c818a06667f45eabca884deab3193caa8682e0b581e847a281f0"
-
-inherit autotools pkgconfig lib_package
-
-EXTRA_OECONF += " \
- --disable-rpath \
- --with-udev=${nonarch_base_libdir}/udev \
-"
-
-PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)}"
-PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile"
-PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
-
-PACKAGES =+ "${BPN}-common ${BPN}-runtime"
-
-RDEPENDS_${BPN} += "libmtp-common"
-RRECOMMENDS_${BPN} += "libmtp-runtime ${PN}-bin"
-
-FILES_${BPN}-common = "${nonarch_base_libdir}/udev/rules.d/*"
-SUMMARY_${BPN}-common = "The udev rules file for MTP devices"
-
-FILES_${BPN}-runtime = "${nonarch_base_libdir}/udev/mtp-probe"
-RDEPENDS_${BPN}-runtime = "libmtp-common"
-SUMMARY_${BPN}-runtime = "mtp-probe, used for the MTP udev rules"
-DESCRIPTION_${BPN}-runtime = "This package provides mtp-probe, a program to probe newly connected device interfaces from userspace to determine if they are MTP devices, used for udev rules."
diff --git a/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb
new file mode 100644
index 0000000000..94cbef8fc1
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libmtp/libmtp_1.1.21.bb
@@ -0,0 +1,47 @@
+# TODO: include debian's mtp-tools man page (needs xsltproc-native and
+# docbook-xsl-native, or we pregenerate it), add support for doxygen
+# generation fully with -natives
+DESCRIPTION = "libmtp is an Initiator implementation of the Media Transfer \
+Protocol (MTP) in the form of a library suitable primarily for POSIX \
+compliant operating systems"
+SUMMARY = "libmtp is an Initiator implementation of the Media Transfer Protocol (MTP)"
+HOMEPAGE = "http://libmtp.sourceforge.net/"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1 \
+ file://src/ptp.c;beginline=3;endline=22;md5=80fd2d5904c4c1f5455d8f4bf515292f \
+ file://examples/albums.c;beginline=5;endline=21;md5=84f4e55dfec49e898b7f68a828c15620 \
+ "
+
+BBCLASSEXTEND = "native"
+
+DEPENDS = "libusb1 gettext-native"
+DEPENDS:append:class-target = " ${BPN}-native"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI:append:class-target = " file://0001-Use-native-mtp-hotplug.patch"
+SRC_URI[sha256sum] = "f4c1ceb3df020a6cb851110f620c14fe399518c494ed252039cbfb4e34335135"
+
+inherit autotools pkgconfig lib_package
+
+EXTRA_OECONF += " \
+ --disable-rpath \
+ --enable-largefile \
+ --with-udev=${nonarch_base_libdir}/udev \
+"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[doxygen] = "--enable-doxygen,--disable-doxygen,doxygen-native"
+PACKAGECONFIG[mtpz] = "--enable-mtpz,--disable-mtpz,libgcrypt"
+
+PACKAGES =+ "${BPN}-common ${BPN}-runtime"
+
+RDEPENDS:${BPN} += "libmtp-common"
+RRECOMMENDS:${BPN} += "libmtp-runtime ${PN}-bin"
+
+FILES:${BPN}-common = "${nonarch_base_libdir}/udev/rules.d/*"
+SUMMARY:${BPN}-common = "The udev rules file for MTP devices"
+
+FILES:${BPN}-runtime = "${nonarch_base_libdir}/udev/mtp-probe"
+RDEPENDS:${BPN}-runtime = "libmtp-common"
+SUMMARY:${BPN}-runtime = "mtp-probe, used for the MTP udev rules"
+DESCRIPTION:${BPN}-runtime = "This package provides mtp-probe, a program to probe newly connected device interfaces from userspace to determine if they are MTP devices, used for udev rules."
diff --git a/meta-oe/recipes-connectivity/libndp/libndp_1.7.bb b/meta-oe/recipes-connectivity/libndp/libndp_1.7.bb
deleted file mode 100644
index 07a7a1d239..0000000000
--- a/meta-oe/recipes-connectivity/libndp/libndp_1.7.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Library for IPv6 Neighbor Discovery Protocol"
-HOMEPAGE = "http://libndp.org/"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "git://github.com/jpirko/libndp \
- "
-# tag for v1.6
-SRCREV = "96674e7d4f4d569c2c961e865cc16152dfab5f09"
-S = "${WORKDIR}/git"
-
-inherit autotools
diff --git a/meta-oe/recipes-connectivity/libndp/libndp_1.8.bb b/meta-oe/recipes-connectivity/libndp/libndp_1.8.bb
new file mode 100644
index 0000000000..4d4d3e51cd
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libndp/libndp_1.8.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Library for IPv6 Neighbor Discovery Protocol"
+HOMEPAGE = "http://libndp.org/"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/jpirko/libndp;branch=master;protocol=https \
+ "
+# tag for v1.8
+SRCREV = "009ce9cd9b950ffa1f4f94c9436027b936850d0c"
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch b/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch
deleted file mode 100644
index 98008dba94..0000000000
--- a/meta-oe/recipes-connectivity/libnet/libnet/0001-Support-musl-libc-remove-support-for-glibc-2.1.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From ffd7fab744a9ad2893169a8fb6244074604d5d0d Mon Sep 17 00:00:00 2001
-From: rofl0r <retnyg@gmx.net>
-Date: Tue, 12 Aug 2014 21:51:39 +0200
-Subject: [PATCH] Support musl libc, remove support for glibc < 2.1
-
-Upstream-Status: Backport
-
-The workarounds for glibc < 2.1 (was released february 1999) break the
-build with musl libc.
-
-It is very unlikely that 2.0 or earlier is still in use, and if so,
-1) that's a big security hole
-2) code wouldnt compile anyway since noone tested build in the last decade
-3) user of it wouldn't expect anyway to get bleeding edge sw built on it,
- so he would just use the latest version that works for him.
-
-Closes #52
-
-Signed-off-by: rofl0r <retnyg@gmx.net>
-Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
----
- libnet/src/libnet_link_linux.c | 11 -----------
- 1 file changed, 11 deletions(-)
-
-diff --git a/src/libnet_link_linux.c b/src/libnet_link_linux.c
-index 054458d..3c6df3c 100644
---- a/src/libnet_link_linux.c
-+++ b/src/libnet_link_linux.c
-@@ -30,26 +30,15 @@
- #include <sys/time.h>
-
- #include <net/if.h>
--#if (__GLIBC__)
- #include <netinet/if_ether.h>
- #include <net/if_arp.h>
--#else
--#include <linux/if_arp.h>
--#include <linux/if_ether.h>
--#endif
-
- #if (HAVE_PACKET_SOCKET)
- #ifndef SOL_PACKET
- #define SOL_PACKET 263
- #endif /* SOL_PACKET */
--#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1
- #include <netpacket/packet.h>
- #include <net/ethernet.h> /* the L2 protocols */
--#else
--#include <asm/types.h>
--#include <linux/if_packet.h>
--#include <linux/if_ether.h> /* The L2 protocols */
--#endif
- #endif /* HAVE_PACKET_SOCKET */
-
- #include "../include/libnet.h"
---
-1.9.1
-
diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
deleted file mode 100644
index 785abf66d6..0000000000
--- a/meta-oe/recipes-connectivity/libnet/libnet_1.2-rc3.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A packet dissection and creation library"
-# libnet at packetfactory.net is dead
-HOMEPAGE = "https://github.com/sam-github/libnet"
-SECTION = "libs"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=3ec839e00408b484d33b472a86b7c266"
-DEPENDS = "libpcap"
-# There are major API changes beween libnet v1.0 and libnet v1.1
-PROVIDES = "libnet-1.2rc2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libnet-dev/${BPN}-${PV}.tar.gz \
- file://0001-Support-musl-libc-remove-support-for-glibc-2.1.patch \
- "
-
-SRC_URI[md5sum] = "f051e6e5bdecddb90f77c701c2ca1804"
-SRC_URI[sha256sum] = "72c380785ad44183005e654b47cc12485ee0228d7fa6b0a87109ff7614be4a63"
-
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libnet-dev/files/"
-UPSTREAM_CHECK_REGEX = "libnet-(?P<pver>\d+(\.\d+)+-*[a-z]*\d*)\.tar"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-inherit autotools binconfig
-
diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.3.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.3.bb
new file mode 100644
index 0000000000..b4648832f1
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnet/libnet_1.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A packet dissection and creation library"
+HOMEPAGE = "https://github.com/libnet/libnet"
+
+SECTION = "libs"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=07f291bf6e78efa05cec668cf6a09acc"
+
+DEPENDS = "libpcap"
+
+SRC_URI = "git://github.com/libnet/libnet.git;protocol=https;branch=master"
+
+SRC_URI[sha256sum] = "1e9e9054d688b059bcbaf878d8c4fbf69bfc0c9386cd4e7779fbb53339050d2e"
+SRCREV = "deaebdfe2743e8a6f04d3c307d9272afeeecfade"
+
+S = "${WORKDIR}/git"
+
+inherit autotools binconfig multilib_script
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/libnet-config"
+
diff --git a/meta-oe/recipes-connectivity/libnfs/libnfs/0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch b/meta-oe/recipes-connectivity/libnfs/libnfs/0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch
new file mode 100644
index 0000000000..978f38d019
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnfs/libnfs/0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch
@@ -0,0 +1,61 @@
+From 95708ff427c12b58e53fab225a08c811ca358394 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 3 May 2023 22:27:10 +0200
+Subject: [PATCH] CMakeLists.txt: respect ${CMAKE_INSTALL_LIBDIR} for multilib
+
+* fixes:
+ ERROR: libnfs-5.0.2-r0 do_package: QA Issue: libnfs: Files/directories were installed but not shipped in any package:
+ /usr/lib/libnfs.so
+ /usr/lib/libnfs.so.11.1.0
+ /usr/lib/libnfs.so.5.0.2
+ /usr/lib/pkgconfig
+ /usr/lib/cmake
+ /usr/lib/pkgconfig/libnfs.pc
+ /usr/lib/cmake/libnfs
+ /usr/lib/cmake/libnfs/libnfs-config-version.cmake
+ /usr/lib/cmake/libnfs/libnfs-config.cmake
+ /usr/lib/cmake/libnfs/libnfs-config-noconfig.cmake
+ /usr/lib/cmake/libnfs/FindNFS.cmake
+ Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
+ libnfs: 11 installed and not shipped files. [installed-vs-shipped]
+
+ when libdir is /usr/lib64 with multilib
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Pending
+---
+ CMakeLists.txt | 6 +++---
+ lib/CMakeLists.txt | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5be774d..6b4fd25 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,11 +7,11 @@ project(libnfs
+ set(SOVERSION 11.2.0 CACHE STRING "" FORCE)
+
+ set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for binaries")
+-set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
++set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Installation directory for libraries")
+ set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
+ set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
+-set(INSTALL_PKGCONFIG_DIR "${INSTALL_LIB_DIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
+-set(INSTALL_CMAKE_DIR "${INSTALL_LIB_DIR}/cmake/libnfs" CACHE PATH "Installation directory for cmake (.cmake) files")
++set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
++set(INSTALL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/libnfs" CACHE PATH "Installation directory for cmake (.cmake) files")
+
+ option(BUILD_SHARED_LIBS "Build shared libraries" ON)
+ option(ENABLE_TESTS "Build and run test programs" OFF)
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index 88ba7b8..5ff89dc 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -23,5 +23,5 @@ set_target_properties(nfs PROPERTIES
+
+ install(TARGETS nfs EXPORT libnfs
+ RUNTIME DESTINATION bin
+- ARCHIVE DESTINATION lib
+- LIBRARY DESTINATION lib)
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/meta-oe/recipes-connectivity/libnfs/libnfs/0001-cmake-Test-for-sys-uio.h.patch b/meta-oe/recipes-connectivity/libnfs/libnfs/0001-cmake-Test-for-sys-uio.h.patch
new file mode 100644
index 0000000000..de3ab82292
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnfs/libnfs/0001-cmake-Test-for-sys-uio.h.patch
@@ -0,0 +1,44 @@
+From d0fa719d49f38777911a8e99717f2d4b30811080 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 12 Feb 2024 19:24:54 -0800
+Subject: [PATCH] cmake: Test for sys/uio.h
+
+writev() API is used in few places and it will need including sys/uio.h
+for getting the funciton signature
+
+Upstream-Status: Submitted [https://github.com/sahlberg/libnfs/pull/440]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cmake/ConfigureChecks.cmake | 1 +
+ cmake/config.h.cmake | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/cmake/ConfigureChecks.cmake b/cmake/ConfigureChecks.cmake
+index 0258fc8..c26a02d 100644
+--- a/cmake/ConfigureChecks.cmake
++++ b/cmake/ConfigureChecks.cmake
+@@ -22,6 +22,7 @@ check_include_file("sys/stat.h" HAVE_SYS_STAT_H)
+ check_include_file("sys/sysmacros.h" HAVE_SYS_SYSMACROS_H)
+ check_include_file("sys/time.h" HAVE_SYS_TIME_H)
+ check_include_file("sys/types.h" HAVE_SYS_TYPES_H)
++check_include_file("sys/uio.h" HAVE_SYS_UIO_H)
+ check_include_file("sys/vfs.h" HAVE_SYS_VFS_H)
+ check_include_file("unistd.h" HAVE_UNISTD_H)
+ check_include_file("utime.h" HAVE_UTIME_H)
+diff --git a/cmake/config.h.cmake b/cmake/config.h.cmake
+index 4016c6c..6263896 100644
+--- a/cmake/config.h.cmake
++++ b/cmake/config.h.cmake
+@@ -90,6 +90,9 @@
+ /* Define to 1 if you have the <sys/types.h> header file. */
+ #cmakedefine HAVE_SYS_TYPES_H
+
++/* Define to 1 if you have the <sys/uio.h> header file. */
++#cmakedefine HAVE_SYS_UIO_H
++
+ /* Define to 1 if you have the <sys/vfs.h> header file. */
+ #cmakedefine HAVE_SYS_VFS_H
+
+--
+2.43.1
+
diff --git a/meta-oe/recipes-connectivity/libnfs/libnfs_5.0.3.bb b/meta-oe/recipes-connectivity/libnfs/libnfs_5.0.3.bb
new file mode 100644
index 0000000000..a6eabc6095
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnfs/libnfs_5.0.3.bb
@@ -0,0 +1,18 @@
+SUMMARY = "NFS client library"
+HOMEPAGE = "https://github.com/sahlberg/libnfs"
+LICENSE = "LGPL-2.1-only & BSD-2-Clause & GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=825301ba17efc9d188ee0abd4b924ada"
+
+SRC_URI = " \
+ git://github.com/sahlberg/libnfs.git;protocol=https;branch=master \
+ file://0001-CMakeLists.txt-respect-CMAKE_INSTALL_LIBDIR-for-mult.patch \
+ file://0001-cmake-Test-for-sys-uio.h.patch \
+"
+SRCREV = "4379837536d9eac537810dc7b13071136049b22a"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_install:append() {
+ rm -f ${D}${libdir}/cmake/libnfs/libnfs-config.cmake
+}
diff --git a/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.6.bb b/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.6.bb
deleted file mode 100644
index 6d60a67026..0000000000
--- a/meta-oe/recipes-connectivity/libqmi/libqmi_1.26.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
-DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
- devices which speak the Qualcomm MSM Interface (QMI) protocol"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-DEPENDS = "glib-2.0 glib-2.0-native"
-
-inherit autotools pkgconfig bash-completion gobject-introspection
-
-SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BPN}-${PV}.tar.xz"
-
-SRC_URI[sha256sum] = "a71963bb1097a42665287e40a9a36f95b8f9d6d6a4b7a5de22d660328af97cb9"
-
-PACKAGECONFIG ??= "udev mbim"
-PACKAGECONFIG[udev] = ",--without-udev,libgudev"
-PACKAGECONFIG[mbim] = "--enable-mbim-qmux,--disable-mbim-qmux,libmbim"
diff --git a/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb b/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb
new file mode 100644
index 0000000000..94164a0b5a
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libqmi/libqmi_1.34.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "libqmi is a library for talking to WWAN devices by QMI protocol"
+DESCRIPTION = "libqmi is a glib-based library for talking to WWAN modems and \
+ devices which speak the Qualcomm MSM Interface (QMI) protocol"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libqmi"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+DEPENDS = "glib-2.0 glib-2.0-native"
+
+inherit meson pkgconfig bash-completion gobject-introspection upstream-version-is-even
+
+SRCREV = "3f07d6e5b4677558543b3b4484ea88ad92257e92"
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqmi.git;protocol=https;branch=qmi-1-34"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= "udev mbim"
+PACKAGECONFIG[udev] = "-Dudev=true,-Dudev=false,libgudev"
+PACKAGECONFIG[mbim] = "-Dmbim_qmux=true,-Dmbim_qmux=false,libmbim"
+PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
+
+EXTRA_OEMESON = " \
+ -Dgtk_doc=false \
+ -Dman=false \
+"
diff --git a/meta-oe/recipes-connectivity/libqrtr-glib/libqrtr-glib_git.bb b/meta-oe/recipes-connectivity/libqrtr-glib/libqrtr-glib_git.bb
new file mode 100644
index 0000000000..3549cac568
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libqrtr-glib/libqrtr-glib_git.bb
@@ -0,0 +1,21 @@
+SUMMARY = "library to use and manage the QRTR bus"
+DESCRIPTION = "libqrtr-glib is a glib-based library to use and manage the QRTR (Qualcomm IPC Router) bus"
+HOMEPAGE = "https://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/libqrtr-glib.git;protocol=https;branch=qrtr-1-2"
+
+PV = "1.2.2+git"
+SRCREV = "8991f0e93713ebf4da48ae4f23940ead42f64c8c"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gobject-introspection
+
+DEPENDS = "glib-2.0"
+
+EXTRA_OEMESON = " \
+ -Dgtk_doc=false \
+"
diff --git a/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.10.bb b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.10.bb
new file mode 100644
index 0000000000..f2de1f468d
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libtorrent-rasterbar/libtorrent-rasterbar_2.0.10.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "libtorrent is a feature complete C++ bittorrent implementation \
+ focusing on efficiency and scalability."
+HOMEPAGE = "https://libtorrent.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8b6cb42d66e6b3c47a909c3ce678a7b"
+
+DEPENDS = "boost openssl"
+
+SRC_URI = "git://github.com/arvidn/libtorrent.git;branch=master;protocol=https \
+ git://github.com/arvidn/try_signal.git;branch=master;protocol=https;destsuffix=git/deps/try_signal;name=try_signal"
+
+SRCREV = "74bc93a37a5e31c78f0aa02037a68fb9ac5deb41"
+SRCREV_try_signal = "105cce59972f925a33aa6b1c3109e4cd3caf583d"
+SRCREV_FORMAT .= "_try_signal"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig python3targetconfig
+
+CVE_PRODUCT = "libtorrent"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
+
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python3] = "-Dpython-bindings=ON,-Dpython-bindings=OFF,python3-distutils-extra-native"
+
+# Strip host paths from autogenerated files
+do_install:append() {
+ sed -i 's+${STAGING_LIBDIR}+${libdir}+g' ${D}${libdir}/pkgconfig/${BPN}.pc
+}
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)}"
+FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent/don-t-run-code-while-configuring-package.patch b/meta-oe/recipes-connectivity/libtorrent/libtorrent/don-t-run-code-while-configuring-package.patch
deleted file mode 100644
index 8d8867aea7..0000000000
--- a/meta-oe/recipes-connectivity/libtorrent/libtorrent/don-t-run-code-while-configuring-package.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Using AC_RUN_IFELSE prevent people from configuring package for
-cross-compiling. Don't run code while configuring package.
-
-Upstream-Status: Pending
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Index: git/scripts/common.m4
-===================================================================
---- git.orig/scripts/common.m4
-+++ git/scripts/common.m4
-@@ -153,7 +153,7 @@ dnl Need to fix this so that it uses t
- AC_DEFUN([TORRENT_CHECK_EXECINFO], [
- AC_MSG_CHECKING(for execinfo.h)
-
-- AC_COMPILE_IFELSE([AC_LANG_SOURCE([
-+ AC_LINK_IFELSE([AC_LANG_SOURCE([
- #include <execinfo.h>
- int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;}
- ])],
-@@ -168,7 +168,7 @@ AC_DEFUN([TORRENT_CHECK_EXECINFO], [
- AC_DEFUN([TORRENT_CHECK_ALIGNED], [
- AC_MSG_CHECKING(the byte alignment)
-
-- AC_RUN_IFELSE([AC_LANG_SOURCE([
-+ AC_LINK_IFELSE([AC_LANG_SOURCE([
- #include <inttypes.h>
- int main() {
- char buf@<:@8@:>@ = { 0, 0, 0, 0, 1, 0, 0, 0 };
diff --git a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
index e0d3bef3ca..c7a0562db4 100644
--- a/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
+++ b/meta-oe/recipes-connectivity/libtorrent/libtorrent_git.bb
@@ -1,32 +1,33 @@
DESCRIPTION = "libTorrent is a BitTorrent library written in C++ for *nix, \
with a focus on high performance and good code."
HOMEPAGE = "http://libtorrent.rakshasa.no/"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
DEPENDS = "zlib libsigc++-2.0 openssl cppunit"
-SRC_URI = "git://github.com/rakshasa/libtorrent \
- file://don-t-run-code-while-configuring-package.patch \
- "
-SRCREV = "756f70010779927dc0691e1e722ed433d5d295e1"
+PV = "0.13.8+git"
-PV = "0.13.8"
+SRC_URI = "git://github.com/rakshasa/libtorrent;branch=master;protocol=https"
+SRCREV = "e60f222241319aaae482789517ad00ae9344bd13"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+CVE_STATUS[CVE-2009-1760] = "backported-patch: patched in our product"
S = "${WORKDIR}/git"
-PACKAGECONFIG ??= "instrumentation"
+CVE_PRODUCT = ""
-PACKAGECONFIG_remove_mipsarch = "instrumentation"
-PACKAGECONFIG_remove_powerpc = "instrumentation"
-PACKAGECONFIG_remove_riscv32 = "instrumentation"
+PACKAGECONFIG ??= "instrumentation aligned"
+
+PACKAGECONFIG:remove:mipsarch = "instrumentation"
+PACKAGECONFIG:remove:powerpc = "instrumentation"
+PACKAGECONFIG:remove:riscv32 = "instrumentation"
PACKAGECONFIG[instrumentation] = "--enable-instrumentation,--disable-instrumentation,"
+PACKAGECONFIG[aligned] = "--enable-aligned,--disable-aligned,"
inherit autotools pkgconfig
EXTRA_OECONF = "--with-zlib=${STAGING_EXECPREFIXDIR}"
-
-do_configure_prepend() {
- (cd ${S}; ./autogen.sh; cd -)
-}
diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.1.6.bb b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.1.6.bb
deleted file mode 100644
index 6a3eb917f0..0000000000
--- a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.1.6.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-SUMMARY = "Canonical libwebsockets.org websocket library"
-HOMEPAGE = "https://libwebsockets.org/"
-LICENSE = "MIT & Zlib & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8c47b078124308a4e1354e8d59f606b7"
-
-DEPENDS = "zlib"
-
-S = "${WORKDIR}/git"
-SRCREV = "736f0739ed8c75db0e29c7678b5a9194e957c347"
-SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.1-stable"
-
-UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-inherit cmake pkgconfig
-
-PACKAGECONFIG ?= "libuv client server http2 ssl"
-PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
-PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
-PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
-PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent"
-PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
-PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
-PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
-PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
-PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON,"
-
-EXTRA_OECMAKE += " \
- -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
-"
-
-PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev"
-
-FILES_${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*"
-FILES_${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so"
-FILES_${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so"
-FILES_${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so"
-
-RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}"
-RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}"
-RDEPENDS_${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}"
-
-RDEPENDS_${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}"
diff --git a/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.3.bb b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.3.bb
new file mode 100644
index 0000000000..4518e2faaa
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libwebsockets/libwebsockets_4.3.3.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Canonical libwebsockets.org websocket library"
+HOMEPAGE = "https://libwebsockets.org/"
+LICENSE = "MIT & Zlib & BSD-3-Clause & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=382bfdf329e774859fd401eaf850d29b"
+
+DEPENDS = "zlib"
+DEPENDS:append:class-native = " libcap-native"
+
+S = "${WORKDIR}/git"
+SRCREV = "4415e84c095857629863804e941b9e1c2e9347ef"
+SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.3-stable"
+
+UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG ?= "libuv client server http2 ssl ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[client] = "-DLWS_WITHOUT_CLIENT=OFF,-DLWS_WITHOUT_CLIENT=ON,"
+PACKAGECONFIG[http2] = "-DLWS_WITH_HTTP2=ON,-DLWS_WITH_HTTP2=OFF,"
+PACKAGECONFIG[ipv6] = "-DLWS_IPV6=ON,-DLWS_IPV6=OFF,"
+PACKAGECONFIG[libevent] = "-DLWS_WITH_LIBEVENT=ON,-DLWS_WITH_LIBEVENT=OFF,libevent"
+PACKAGECONFIG[libev] = "-DLWS_WITH_LIBEV=ON,-DLWS_WITH_LIBEV=OFF,libev"
+PACKAGECONFIG[libuv] = "-DLWS_WITH_LIBUV=ON,-DLWS_WITH_LIBUV=OFF,libuv"
+PACKAGECONFIG[server] = "-DLWS_WITHOUT_SERVER=OFF,-DLWS_WITHOUT_SERVER=ON,"
+PACKAGECONFIG[ssl] = "-DLWS_WITH_SSL=ON,-DLWS_WITH_SSL=OFF,openssl"
+PACKAGECONFIG[static] = "-DLWS_WITH_STATIC=ON,-DLWS_WITH_STATIC=OFF -DLWS_LINK_TESTAPPS_DYNAMIC=ON,"
+PACKAGECONFIG[systemd] = "-DLWS_WITH_SDEVENT=ON,-DLWS_WITH_SDEVENT=OFF,systemd"
+
+python __anonymous() {
+ if bb.utils.contains('PACKAGECONFIG', 'systemd', True, False, d) and not bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d):
+ bb.fatal("PACKAGECONFIG contains systemd but DISTRO_FEATURES doesn't")
+}
+
+EXTRA_OECMAKE += " \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+"
+
+do_install:append() {
+ sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
+ sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
+ sed -i -e 's|${STAGING_LIBDIR}/libuv.so|uv|g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake
+ sed -i -e 's|${STAGING_INCDIR}||g' ${D}${libdir}/cmake/libwebsockets/LibwebsocketsTargets.cmake \
+ ${D}${libdir}/cmake/libwebsockets/libwebsockets-config.cmake
+}
+
+PACKAGES =+ "${PN}-testapps ${PN}-evlib-event ${PN}-evlib-uv ${PN}-evlib-ev ${PN}-evlib-sd"
+
+FILES:${PN}-testapps += "${datadir}/libwebsockets-test-server/* ${bindir}/libwebsockets-test-*"
+FILES:${PN}-evlib-event += "${libdir}/libwebsockets-evlib_event.so"
+FILES:${PN}-evlib-uv += "${libdir}/libwebsockets-evlib_uv.so"
+FILES:${PN}-evlib-ev += "${libdir}/libwebsockets-evlib_ev.so"
+FILES:${PN}-evlib-sd += "${libdir}/libwebsockets-evlib_sd.so"
+
+RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libevent', '${PN}-evlib-event', '', d)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libuv', '${PN}-evlib-uv', '', d)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'libev', '${PN}-evlib-ev', '', d)}"
+RDEPENDS:${PN} += " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', '${PN}-evlib-sd', '', d)}"
+
+RDEPENDS:${PN}-dev += " ${@bb.utils.contains('PACKAGECONFIG', 'static', '${PN}-staticdev', '', d)}"
+
+# Avoid absolute paths to end up in the sysroot.
+SSTATE_SCAN_FILES += "*.cmake"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch
new file mode 100644
index 0000000000..b117dcf670
--- /dev/null
+++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0001-include-string.h-for-strncpy.patch
@@ -0,0 +1,26 @@
+From 6120cee594c543d17ae015bc601012debcf57177 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Oct 2023 10:43:42 +0100
+Subject: [PATCH] include string.h for strncpy()
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Backport [master: 6120cee594c543d17ae015bc601012debcf57177]
+---
+ interface.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/interface.c b/interface.c
+index 29229ad6f53d..9a83c36933e7 100644
+--- a/interface.c
++++ b/interface.c
+@@ -5,6 +5,7 @@
+ * @note SPDX-License-Identifier: GPL-2.0+
+ */
+ #include <stdlib.h>
++#include <string.h>
+ #include "interface.h"
+
+ struct interface {
+--
+2.34.1
+
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch
new file mode 100644
index 0000000000..3cf3a63b94
--- /dev/null
+++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/0002-linuxptp-Use-CC-in-incdefs.sh.patch
@@ -0,0 +1,48 @@
+From cffb4807ac0b9ff7aea2aa4f3842985b5363d184 Mon Sep 17 00:00:00 2001
+From: Luca Fancellu <luca.fancellu@arm.com>
+Date: Mon, 23 Oct 2023 10:43:43 +0100
+Subject: [PATCH] linuxptp: Use ${CC} in incdefs.sh
+
+The Makefile is defining CC and incdefs.sh is using
+${CROSS_COMPILE}cpp inside it, allowing both to use different
+compilers depending on what the user pass during make invocation
+as CC.
+
+Align them using ${CC} also inside incdefs.sh.
+
+Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
+Upstream-Status: Backport [master: cffb4807ac0b9ff7aea2aa4f3842985b5363d184]
+---
+ incdefs.sh | 2 +-
+ makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/incdefs.sh b/incdefs.sh
+index a9e94f777f6b..391e63c7fac6 100755
+--- a/incdefs.sh
++++ b/incdefs.sh
+@@ -27,7 +27,7 @@ user_flags()
+ printf " -D_GNU_SOURCE"
+
+ # Get list of directories searched for header files.
+- dirs=$(echo "" | ${CROSS_COMPILE}cpp -Wp,-v 2>&1 >/dev/null | grep ^" /")
++ dirs=$(${CC} -E -Wp,-v -xc /dev/null 2>&1 >/dev/null | grep ^" /")
+
+ # Look for clock_adjtime().
+ for d in $dirs; do
+diff --git a/makefile b/makefile
+index 3e3b8b35fc96..7fc5f6fb8fa8 100644
+--- a/makefile
++++ b/makefile
+@@ -39,7 +39,7 @@ OBJECTS = $(OBJ) hwstamp_ctl.o nsm.o phc2sys.o phc_ctl.o pmc.o pmc_agent.o \
+ SRC = $(OBJECTS:.o=.c)
+ DEPEND = $(OBJECTS:.o=.d)
+ srcdir := $(dir $(lastword $(MAKEFILE_LIST)))
+-incdefs := $(shell $(srcdir)/incdefs.sh)
++incdefs := $(shell CC="$(CC)" $(srcdir)/incdefs.sh)
+ version := $(shell $(srcdir)/version.sh $(srcdir))
+ VPATH = $(srcdir)
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch
deleted file mode 100644
index 876088649e..0000000000
--- a/meta-oe/recipes-connectivity/linuxptp/linuxptp/Use-cross-cpp-in-incdefs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8a4cad5e2f2cbb6a34bdc6e877fe499502b8c4c8 Mon Sep 17 00:00:00 2001
-From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-Date: Fri, 23 Dec 2016 18:12:29 +0100
-Subject: [PATCH] linuxptp: Use cross cpp in incdefs
-
-Use cross cpp incdefs.sh shell script since we are doing cross compiling
-we need to ensure we use correct setttings from toolchain
-
-Upstream-Status: Inappropriate [OE-Specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-
- makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/incdefs.sh
-+++ b/incdefs.sh
-@@ -27,7 +27,7 @@ user_flags()
- printf " -D_GNU_SOURCE"
-
- # Get list of directories searched for header files.
-- dirs=$(echo "" | ${CROSS_COMPILE}cpp -Wp,-v 2>&1 >/dev/null | grep ^" /")
-+ dirs=$(${CPP} -Wp,-v -xc /dev/null 2>&1 >/dev/null | grep ^" /")
-
- # Look for clock_adjtime().
- for d in $dirs; do
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch b/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
deleted file mode 100644
index 55ce4c9a90..0000000000
--- a/meta-oe/recipes-connectivity/linuxptp/linuxptp/build-Allow-CC-and-prefix-to-be-overriden.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From af485c638c61fa883212ea424e676fbf90bee594 Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Tue, 1 Jul 2014 17:37:31 -0300
-Subject: [PATCH] build: Allow CC and prefix to be overriden
-
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/makefile b/makefile
-index 22e7d0d..809cc8f 100644
---- a/makefile
-+++ b/makefile
-@@ -18,7 +18,7 @@
- KBUILD_OUTPUT =
-
- DEBUG =
--CC = $(CROSS_COMPILE)gcc
-+CC ?= $(CROSS_COMPILE)gcc
- VER = -DVER=$(version)
- CFLAGS = -Wall $(VER) $(incdefs) $(DEBUG) $(EXTRA_CFLAGS)
- LDLIBS = -lm -lrt -pthread $(EXTRA_LDFLAGS)
-@@ -43,7 +43,7 @@ incdefs := $(shell $(srcdir)/incdefs.sh)
- version := $(shell $(srcdir)/version.sh $(srcdir))
- VPATH = $(srcdir)
-
--prefix = /usr/local
-+prefix ?= /usr/local
- sbindir = $(prefix)/sbin
- mandir = $(prefix)/man
- man8dir = $(mandir)/man8
---
-1.7.10.4
-
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/phc2sys@.service.in b/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/phc2sys@.service.in
new file mode 100644
index 0000000000..f66dd2d010
--- /dev/null
+++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/phc2sys@.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Synchronize system clock or PTP hardware clock (PHC)
+Documentation=man:phc2sys
+Requires=ptp4l.service
+After=ptp4l.service
+Before=time-sync.target
+
+[Service]
+Type=simple
+ExecStart=@SBINDIR@/phc2sys -w -s %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/ptp4l@.service.in b/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/ptp4l@.service.in
new file mode 100644
index 0000000000..2502181412
--- /dev/null
+++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp/systemd/ptp4l@.service.in
@@ -0,0 +1,11 @@
+[Unit]
+Description=Precision Time Protocol (PTP) service for %I
+Documentation=man:ptp4l
+After=sys-subsystem-net-devices-%i.device
+
+[Service]
+Type=simple
+ExecStart=@SBINDIR@/ptp4l -f @SYSCONFDIR@/linuxptp/ptp4l.conf -i %I
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb
deleted file mode 100644
index c8527260b2..0000000000
--- a/meta-oe/recipes-connectivity/linuxptp/linuxptp_3.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://sourceforge.net/projects/linuxptp/files/v${PV}/linuxptp-${PV}.tgz \
- file://build-Allow-CC-and-prefix-to-be-overriden.patch \
- file://Use-cross-cpp-in-incdefs.patch \
- "
-
-SRC_URI[md5sum] = "2264cb69c9af947028835c12c89a7572"
-SRC_URI[sha256sum] = "f58f5b11cf14dc7c4f7c9efdfb27190e43d02cf20c3525f6639edac10528ce7d"
-
-EXTRA_OEMAKE = "ARCH=${TARGET_ARCH} EXTRA_CFLAGS='${CFLAGS}'"
-
-export KBUILD_OUTPUT="${RECIPE_SYSROOT}"
-
-do_install () {
- install -d ${D}/${bindir}
- install -p ${S}/ptp4l ${D}/${bindir}
- install -p ${S}/pmc ${D}/${bindir}
- install -p ${S}/phc2sys ${D}/${bindir}
- install -p ${S}/hwstamp_ctl ${D}/${bindir}
-}
diff --git a/meta-oe/recipes-connectivity/linuxptp/linuxptp_4.1.bb b/meta-oe/recipes-connectivity/linuxptp/linuxptp_4.1.bb
new file mode 100644
index 0000000000..9a5c9b5204
--- /dev/null
+++ b/meta-oe/recipes-connectivity/linuxptp/linuxptp_4.1.bb
@@ -0,0 +1,62 @@
+SUMMARY = "linuxptp package for linux"
+DESCRIPTION = "Precision Time Protocol (PTP) according to IEEE standard 1588 \
+for Linux"
+HOMEPAGE = "http://linuxptp.sourceforge.net/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+LINUXPTP_SRC_URI = "http://sourceforge.net/projects/linuxptp"
+
+SRC_URI = "${LINUXPTP_SRC_URI}/files/v4.1/linuxptp-${PV}.tgz \
+ file://0001-include-string.h-for-strncpy.patch \
+ file://0002-linuxptp-Use-CC-in-incdefs.sh.patch \
+ file://systemd/phc2sys@.service.in \
+ file://systemd/ptp4l@.service.in \
+ "
+
+SRC_URI[md5sum] = "1db8699fc155965341759be5e5aad938"
+SRC_URI[sha256sum] = "e1743d44f8208897e30895da3579e670ff919b914feb4b5a949f3e421ddde535"
+
+inherit systemd
+
+UPSTREAM_CHECK_URI = "${LINUXPTP_SRC_URI}/files/"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
+
+EXTRA_OEMAKE = "CC='${CC}' EXTRA_CFLAGS='${CFLAGS}' mandir='${mandir}' \
+ sbindir='${sbindir}'"
+
+export KBUILD_OUTPUT="${RECIPE_SYSROOT}"
+
+LINUXPTP_SYSTEMD_SERVICES = "phc2sys@.service ptp4l@.service"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+
+ # Install example configs from source tree
+ install -d ${D}${docdir}/${PN}
+ cp -R --no-dereference --preserve=mode,links ${S}/configs \
+ ${D}${docdir}/${PN}
+
+ # Install default configuration files
+ install -d ${D}/${sysconfdir}/linuxptp/
+ install -m 644 ${S}/configs/default.cfg \
+ ${D}${sysconfdir}/linuxptp/ptp4l.conf
+
+ # Install systemd services
+ install -d ${D}/${systemd_unitdir}/system/
+ for service in ${LINUXPTP_SYSTEMD_SERVICES}; do
+ sed -i -e 's,@SBINDIR@,${sbindir},g' \
+ ${WORKDIR}/systemd/$service.in
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ ${WORKDIR}/systemd/$service.in
+ install -m 644 ${WORKDIR}/systemd/$service.in \
+ ${D}/${systemd_unitdir}/system/$service
+ done
+}
+
+SYSTEMD_SERVICE:${PN} = "${LINUXPTP_SYSTEMD_SERVICES}"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+PACKAGES =+ "${PN}-configs"
+
+FILES:${PN}-configs += "${docdir}"
diff --git a/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/04-use-pkg-config-for-gnutls.patch b/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/04-use-pkg-config-for-gnutls.patch
deleted file mode 100644
index 20f388e890..0000000000
--- a/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/04-use-pkg-config-for-gnutls.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Description: use pkg-config to detect gnutls
-Debian: http://bugs.debian.org/529835
-Origin: http://groups.google.com/group/loudmouth-dev/browse_thread/thread/3f78255837048daf#
-
---- a/configure.ac.orig 2009-08-16 20:29:36.000000000 +0200
-+++ b/configure.ac 2009-08-16 20:30:43.000000000 +0200
-@@ -146,10 +146,12 @@ AC_ARG_WITH(openssl-libs,
- enable_ssl=no
- if test "x$ac_ssl" = "xgnutls"; then
- dnl Look for GnuTLS
-- AM_PATH_LM_LIBGNUTLS($GNUTLS_REQUIRED, have_libgnutls=yes, have_libgnutls=no)
-- if test "x$have_libgnutls" = "xyes"; then
-- CFLAGS="$CFLAGS $LIBGNUTLS_CFLAGS"
-- LIBS="$LIBS $LIBGNUTLS_LIBS"
-+ PKG_CHECK_MODULES(GNUTLS, gnutls >= $GNUTLS_REQUIRED, have_gnutls=yes, have_gnutls=no)
-+ if test "x$have_gnutls" = "xyes"; then
-+ AC_SUBST(ASYNCNS_CFLAGS)
-+ AC_SUBST(ASYNCNS_LIBS)
-+ CFLAGS="$CFLAGS $GNUTLS_CFLAGS"
-+ LIBS="$LIBS $GNUTLS_LIBS"
- AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.])
- enable_ssl=GnuTLS
- else
diff --git a/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/glib-2.32.patch b/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/glib-2.32.patch
deleted file mode 100644
index b6c9422e8c..0000000000
--- a/meta-oe/recipes-connectivity/loudmouth/loudmouth-1.4.3/glib-2.32.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- loudmouth-1.4.3.orig/loudmouth/lm-error.c 2008-10-29 21:48:15.000000000 +0100
-+++ loudmouth-1.4.3/loudmouth/lm-error.c 2012-05-06 08:27:07.455739440 +0200
-@@ -19,7 +19,6 @@
- */
-
- #include <config.h>
--#include <glib/gerror.h>
- #include "lm-error.h"
-
- /**
diff --git a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb
deleted file mode 100644
index 4f1430b9ec..0000000000
--- a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.4.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Loudmouth is a lightweight and easy-to-use C library for programming with the Jabber protocol."
-HOMEPAGE = "http://www.loudmouth-project.org/"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c4f38aef94828f6b280e00d1173be689"
-
-DEPENDS = "glib-2.0 libcheck openssl libidn"
-
-inherit gnomebase gtk-doc
-
-PR = "r2"
-
-SRC_URI += "file://04-use-pkg-config-for-gnutls.patch \
- file://glib-2.32.patch"
-
-SRC_URI[archive.md5sum] = "55339ca42494690c3942ee1465a96937"
-SRC_URI[archive.sha256sum] = "95a93f5d009b71ea8193d994aa11f311bc330a3efe1b7cd74dc48f11c7f929e3"
-GNOME_COMPRESS_TYPE="bz2"
-
-EXTRA_OECONF = "--with-ssl=openssl"
-
diff --git a/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.5.4.bb b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.5.4.bb
new file mode 100644
index 0000000000..f67c46b428
--- /dev/null
+++ b/meta-oe/recipes-connectivity/loudmouth/loudmouth_1.5.4.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "Loudmouth is a lightweight and easy-to-use C library for programming with the Jabber protocol."
+HOMEPAGE = "http://www.loudmouth-project.org/"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "glib-2.0 libcheck openssl libidn"
+
+GNOMEBASEBUILDCLASS = "autotools"
+
+inherit gnomebase gtk-doc
+
+SRC_URI = "https://github.com/mcabber/${BPN}/releases/download/${PV}/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "31cbc91c1fddcc5346b3373b8fb45594e9ea9cc7fe36d0595e8912c47ad94d0d"
+
+EXTRA_OECONF = "--with-ssl=openssl --with-compile-warnings=no"
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.10.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.10.bb
deleted file mode 100644
index 2045e2a866..0000000000
--- a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.14.10.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
-DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
-LICENSE = "GPL-2.0 & LGPL-2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
-"
-
-inherit gnomebase gettext systemd vala gobject-introspection bash-completion
-
-DEPENDS = "glib-2.0 libgudev intltool-native libxslt-native"
-
-SRC_URI = "http://www.freedesktop.org/software/ModemManager/ModemManager-${PV}.tar.xz"
-SRC_URI[sha256sum] = "4ea60b375a761e17e7bb095bca894579ed0e8e33b273dc698b5cbe03947f357f"
-S = "${WORKDIR}/ModemManager-${PV}"
-
-PACKAGECONFIG ??= "mbim qmi \
- ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
-"
-
-PACKAGECONFIG[at] = "--with-at-command-via-dbus"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,"
-PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit"
-# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
-PACKAGECONFIG[mbim] = "--with-mbim,--without-mbim,libmbim"
-# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
-PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi"
-
-EXTRA_OECONF = " \
- --with-udev-base-dir=${nonarch_base_libdir}/udev \
-"
-
-FILES_${PN} += " \
- ${datadir}/icons \
- ${datadir}/polkit-1 \
- ${datadir}/dbus-1 \
- ${datadir}/ModemManager \
- ${libdir}/ModemManager \
- ${systemd_unitdir}/system \
-"
-
-FILES_${PN}-dev += " \
- ${libdir}/ModemManager/*.la \
-"
-
-FILES_${PN}-staticdev += " \
- ${libdir}/ModemManager/*.a \
-"
-
-FILES_${PN}-dbg += "${libdir}/ModemManager/.debug"
-
-SYSTEMD_SERVICE_${PN} = "ModemManager.service"
diff --git a/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.22.0.bb b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.22.0.bb
new file mode 100644
index 0000000000..6b4336eb80
--- /dev/null
+++ b/meta-oe/recipes-connectivity/modemmanager/modemmanager_1.22.0.bb
@@ -0,0 +1,55 @@
+SUMMARY = "ModemManager is a daemon controlling broadband devices/connections"
+DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile broadband (2G/3G/4G) devices and connections"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
+"
+
+inherit gnomebase gettext systemd gobject-introspection bash-completion
+
+DEPENDS = "glib-2.0 libgudev libxslt-native dbus"
+
+SRCREV = "03f786ce66360d67c669f4f122f8aa458e6f01ea"
+SRC_URI = "git://gitlab.freedesktop.org/mobile-broadband/ModemManager.git;protocol=https;branch=mm-1-22"
+
+S = "${WORKDIR}/git"
+
+# strict, permissive
+MODEMMANAGER_POLKIT_TYPE ??= "permissive"
+
+PACKAGECONFIG ??= "vala mbim qmi \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} \
+"
+
+PACKAGECONFIG[at] = "-Dat_command_via_dbus=true"
+PACKAGECONFIG[systemd] = " \
+ -Dsystemdsystemunitdir=${systemd_unitdir}/system/, \
+ -Dsystemdsystemunitdir=no -Dsystemd_journal=false -Dsystemd_suspend_resume=false \
+"
+PACKAGECONFIG[polkit] = "-Dpolkit=${MODEMMANAGER_POLKIT_TYPE},-Dpolkit=no,polkit"
+# Support WWAN modems and devices which speak the Mobile Interface Broadband Model (MBIM) protocol.
+PACKAGECONFIG[mbim] = "-Dmbim=true,-Dmbim=false -Dplugin_dell=disabled -Dplugin_foxconn=disabled,libmbim"
+# Support WWAN modems and devices which speak the Qualcomm MSM Interface (QMI) protocol.
+PACKAGECONFIG[qmi] = "-Dqmi=true,-Dqmi=false,libqmi"
+PACKAGECONFIG[qrtr] = "-Dqrtr=true,-Dqrtr=false,libqrtr-glib"
+PACKAGECONFIG[vala] = "-Dvapi=true,-Dvapi=false"
+
+inherit upstream-version-is-even ${@bb.utils.contains('PACKAGECONFIG', 'vala', 'vala', '', d)}
+
+EXTRA_OEMESON = " \
+ -Dudevdir=${nonarch_base_libdir}/udev \
+ -Dqrtr=false \
+"
+
+FILES:${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/polkit-1 \
+ ${datadir}/dbus-1 \
+ ${datadir}/ModemManager \
+ ${libdir}/ModemManager \
+ ${systemd_unitdir}/system \
+"
+
+SYSTEMD_SERVICE:${PN} = "ModemManager.service"
diff --git a/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch b/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch
deleted file mode 100644
index 100ede17bd..0000000000
--- a/meta-oe/recipes-connectivity/mosh/mosh/0001-Fix-building-with-libc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From efa9e49714b30d7d9128946a2504c93e10d109b5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 29 Jan 2019 12:20:03 -0800
-Subject: [PATCH] Fix building with libc++
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/network/network.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/network/network.cc b/src/network/network.cc
-index 26da603..e480853 100644
---- a/src/network/network.cc
-+++ b/src/network/network.cc
-@@ -335,7 +335,7 @@ bool Connection::try_bind( const char *addr, int port_low, int port_high )
- }
- }
-
-- if ( bind( sock(), &local_addr.sa, local_addr_len ) == 0 ) {
-+ if ( ::bind( sock(), &local_addr.sa, local_addr_len ) == 0 ) {
- set_MTU( local_addr.sa.sa_family );
- return true;
- } else if ( i == search_high ) { /* last port to search */
diff --git a/meta-oe/recipes-connectivity/mosh/mosh/0001-configure.ac-add-support-of-protobuf-4.22.x.patch b/meta-oe/recipes-connectivity/mosh/mosh/0001-configure.ac-add-support-of-protobuf-4.22.x.patch
new file mode 100644
index 0000000000..088124391c
--- /dev/null
+++ b/meta-oe/recipes-connectivity/mosh/mosh/0001-configure.ac-add-support-of-protobuf-4.22.x.patch
@@ -0,0 +1,63 @@
+From d9a1a6aac5a3b270449d09ec0d2a556807ab9287 Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Wed, 29 Mar 2023 13:53:44 +0800
+Subject: [PATCH] configure.ac: add support of protobuf 4.22.x
+
+the protobuf 4.22x is using c++14 as default, this caused the mosh cannot compile anymore and report following error:
+
+....
+/usr/include/google/protobuf/port_def.inc:200:15: error: static assertion failed: Protobuf only supports C++14 and newer.
+| 200 | static_assert(PROTOBUF_CPLUSPLUS_MIN(201402L), "Protobuf only supports C++14 and newer.");
+| | ^~~~~~~~~~~~~~~~~~~~~~
+....
+
+Upstream-Status: Pending [https://github.com/mobile-shell/mosh/pull/1266]
+
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ configure.ac | 8 ++++++++
+ src/frontend/Makefile.am | 2 +-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ee70c7b..5457009 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,6 +26,10 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
+ AS_IF([pkg-config --atleast-version 3.6.0 protobuf],
+ [AX_CXX_COMPILE_STDCXX([11])])
+
++# If current protobuf 4.22+ update the requires to C++14.
++AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++ [AX_CXX_COMPILE_STDCXX([14])])
++
+ WARNING_CXXFLAGS=""
+ PICKY_CXXFLAGS=""
+ DISTCHECK_CXXFLAGS=""
+@@ -311,6 +315,10 @@ AC_CHECK_FUNCS(m4_normalize([
+ pledge
+ ]))
+
++AS_IF([pkg-config --atleast-version 4.22.0 protobuf],
++ [PKG_CHECK_MODULES([ABSL_LOG_INTERNAL_CHECK_OP], [absl_log_internal_check_op],[],
++ [AC_MSG_ERROR([Missing abseil-cpp library.])])])
++
+ # Start by trying to find the needed tinfo parts by pkg-config
+ PKG_CHECK_MODULES([TINFO], [tinfo],
+ [AC_DEFINE([HAVE_CURSES_H], [1], [Define to 1 if <curses.h> is present])],
+diff --git a/src/frontend/Makefile.am b/src/frontend/Makefile.am
+index 1aa83fd..399ecd6 100644
+--- a/src/frontend/Makefile.am
++++ b/src/frontend/Makefile.am
+@@ -1,7 +1,7 @@
+ AM_CPPFLAGS = -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I$(srcdir)/../network -I$(srcdir)/../crypto -I../protobufs -I$(srcdir)/../util $(TINFO_CFLAGS) $(protobuf_CFLAGS) $(CRYPTO_CFLAGS)
+ AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS) $(CODE_COVERAGE_CXXFLAGS)
+ AM_LDFLAGS = $(HARDEN_LDFLAGS) $(CODE_COVERAGE_LIBS)
+-LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS)
++LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a -lm $(TINFO_LIBS) $(protobuf_LIBS) $(CRYPTO_LIBS) $(ABSL_LOG_INTERNAL_CHECK_OP_LIBS)
+
+ mosh_server_LDADD = $(LDADD)
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb b/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb
deleted file mode 100644
index 9c439354d1..0000000000
--- a/meta-oe/recipes-connectivity/mosh/mosh_1.3.2.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-# NOTE: mosh-server requires a UTF-8 locale, but there's no way to add
-# an explicit dependency for this so you need to ensure this is in your
-# image yourself when you install mosh-server.
-
-SUMMARY = "Remote shell supporting roaming and high-latency connections"
-DESCRIPTION = "Remote terminal application that allows roaming, supports \
-intermittent connectivity, and provides intelligent local echo and line \
-editing of user keystrokes. Mosh is a replacement for SSH. It's more \
-robust and responsive, especially over Wi-Fi, cellular, and \
-long-distance links."
-HOMEPAGE = "http://mosh.mit.edu"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "protobuf-native protobuf ncurses zlib libio-pty-perl openssl libutempter"
-
-SRC_URI = "http://mosh.mit.edu/mosh-${PV}.tar.gz \
- file://0001-Fix-building-with-libc.patch \
- "
-SRC_URI[md5sum] = "5122f4d2b973ab7c38dcdac8c35cb61e"
-SRC_URI[sha256sum] = "da600573dfa827d88ce114e0fed30210689381bbdcff543c931e4d6a2e851216"
-
-inherit autotools pkgconfig
-
-PACKAGE_BEFORE_PN += "${PN}-server"
-FILES_${PN}-server = "${bindir}/mosh-server"
-
-NEEDED_PERL_MODULES = "\
- perl-module-socket \
- perl-module-getopt-long \
- perl-module-errno \
- perl-module-io-socket-inet \
- perl-module-posix \
-"
-
-# mosh uses SSH to authenticate and the client uses OpenSSH-specific features
-RDEPENDS_${PN} += "openssh-ssh ${NEEDED_PERL_MODULES}"
-# The server seemed not to work with dropbear either
-RDEPENDS_${PN}-server += "openssh-sshd ${NEEDED_PERL_MODULES}"
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:2100: Error: instruction not supported in Thumb16 mode -- `adds r4,r4,r4'
-#| {standard input}:2101: Error: instruction not supported in Thumb16 mode -- `adcs r5,r5,r5'
-#| {standard input}:2102: Error: instruction not supported in Thumb16 mode -- `adcs r6,r6,r6'
-#| {standard input}:2103: Error: instruction not supported in Thumb16 mode -- `adcs r7,r7,r7'
-#| {standard input}:2104: Error: selected processor does not support Thumb mode `it cs'
-ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb b/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb
new file mode 100644
index 0000000000..693ec12d3c
--- /dev/null
+++ b/meta-oe/recipes-connectivity/mosh/mosh_1.4.0.bb
@@ -0,0 +1,50 @@
+# NOTE: mosh-server requires a UTF-8 locale, but there's no way to add
+# an explicit dependency for this so you need to ensure this is in your
+# image yourself when you install mosh-server.
+
+SUMMARY = "Remote shell supporting roaming and high-latency connections"
+DESCRIPTION = "Remote terminal application that allows roaming, supports \
+intermittent connectivity, and provides intelligent local echo and line \
+editing of user keystrokes. Mosh is a replacement for SSH. It's more \
+robust and responsive, especially over Wi-Fi, cellular, and \
+long-distance links."
+HOMEPAGE = "http://mosh.mit.edu"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "protobuf-native protobuf ncurses zlib libio-pty-perl openssl libutempter abseil-cpp"
+
+SRC_URI = "https://mosh.org/${BP}.tar.gz \
+ file://0001-configure.ac-add-support-of-protobuf-4.22.x.patch \
+ "
+
+SRC_URI[sha256sum] = "872e4b134e5df29c8933dff12350785054d2fd2839b5ae6b5587b14db1465ddd"
+
+inherit autotools pkgconfig
+
+PACKAGE_BEFORE_PN += "${PN}-server"
+FILES:${PN}-server = "${bindir}/mosh-server"
+
+NEEDED_PERL_MODULES = "\
+ perl-module-socket \
+ perl-module-getopt-long \
+ perl-module-errno \
+ perl-module-io-socket-inet \
+ perl-module-posix \
+"
+
+# mosh uses SSH to authenticate and the client uses OpenSSH-specific features
+RDEPENDS:${PN} += "openssh-ssh ${NEEDED_PERL_MODULES}"
+# The server seemed not to work with dropbear either
+RDEPENDS:${PN}-server += "openssh-sshd"
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:2100: Error: instruction not supported in Thumb16 mode -- `adds r4,r4,r4'
+#| {standard input}:2101: Error: instruction not supported in Thumb16 mode -- `adcs r5,r5,r5'
+#| {standard input}:2102: Error: instruction not supported in Thumb16 mode -- `adcs r6,r6,r6'
+#| {standard input}:2103: Error: instruction not supported in Thumb16 mode -- `adcs r7,r7,r7'
+#| {standard input}:2104: Error: selected processor does not support Thumb mode `it cs'
+ARM_INSTRUCTION_SET = "arm"
+
+CXXFLAGS:append = " -std=c++17"
diff --git a/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch b/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
index e2c4e9ff6c..c18627b2fa 100644
--- a/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
+++ b/meta-oe/recipes-connectivity/obex/obex-data-server/obex-data-server-0.4.6-build-fixes-1.patch
@@ -1,10 +1,11 @@
Submitted By: Armin K. <krejzi at email dot com>
Date: 2012-07-06
Initial Package Version: 0.4.6
-Upstream Status: Unknown
Origin: Self
Description: Some build fixes.
+Upstream-Status: Pending
+
Index: obex-data-server-0.4.6/src/ods-obex.c
===================================================================
--- obex-data-server-0.4.6.orig/src/ods-obex.c
diff --git a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
index 8763709355..3e59af8e2e 100644
--- a/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
+++ b/meta-oe/recipes-connectivity/obex/obex-data-server_0.4.6.bb
@@ -1,17 +1,16 @@
DESCRIPTION = "obex-data-server is a D-Bus service providing high-level OBEX client and server side functionality"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "gtk+ dbus-glib dbus-glib-native imagemagick openobex bluez5"
-SRC_URI = "http://tadas.dailyda.com/software/obex-data-server-${PV}.tar.gz \
+SRC_URI = "https://ftp.osuosl.org/pub/blfs/conglomeration/${BPN}/obex-data-server-${PV}.tar.gz \
file://obex-data-server-0.4.6-build-fixes-1.patch \
"
-SRC_URI[md5sum] = "961ca5db6fe9c97024e133cc6203cc4d"
SRC_URI[sha256sum] = "b399465ddbd6d0217abedd9411d9d74a820effa0a6a142adc448268d3920094f"
inherit features_check autotools-brokensep pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
-FILES_${PN} += "${datadir}/dbus-1/"
+FILES:${PN} += "${datadir}/dbus-1/"
diff --git a/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
index 8790723967..7348274948 100644
--- a/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
+++ b/meta-oe/recipes-connectivity/obex/openobex_1.7.2.bb
@@ -2,13 +2,13 @@ DESCRIPTION = "The Openobex project is an open source implementation of the \
Object Exchange (OBEX) protocol."
HOMEPAGE = "http://openobex.triq.net"
SECTION = "libs"
-LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
file://COPYING.LIB;md5=a6f89e2100d9b6cdffcea4f398e37343 \
"
DEPENDS = "virtual/libusb0"
-DEPENDS_append_class-target = " bluez5"
+DEPENDS:append:class-target = " bluez5"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}/${PV}/${BP}-Source.tar.gz \
"
@@ -24,14 +24,14 @@ EXTRA_OECMAKE += "-DBUILD_DOCUMENTATION=OFF"
ASNEEDED = ""
-do_install_append () {
+do_install:append () {
rmdir ${D}${bindir}
}
PACKAGES =+ "openobex-apps"
-FILES_${PN}-apps = "${bindir}/*"
-FILES_${PN} += "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${bindir}/openobex-config"
-DEBIAN_NOAUTONAME_${PN}-apps = "1"
+FILES:${PN}-apps = "${bindir}/*"
+FILES:${PN} += "${libdir}/lib*.so.*"
+FILES:${PN}-dev += "${bindir}/openobex-config"
+DEBIAN_NOAUTONAME:${PN}-apps = "1"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
index 1f6de87c8d..7a19b6172f 100644
--- a/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
+++ b/meta-oe/recipes-connectivity/obexftp/obexftp/0001-apps-CMakeLists.txt-Explicitly-link-libbfb-and-libmu.patch
@@ -9,6 +9,8 @@ they are required to be added to link line explicitly.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
apps/CMakeLists.txt | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/Remove_some_printf_in_obexftpd.patch b/meta-oe/recipes-connectivity/obexftp/obexftp/Remove_some_printf_in_obexftpd.patch
index 8b73af32e8..23e92885e8 100644
--- a/meta-oe/recipes-connectivity/obexftp/obexftp/Remove_some_printf_in_obexftpd.patch
+++ b/meta-oe/recipes-connectivity/obexftp/obexftp/Remove_some_printf_in_obexftpd.patch
@@ -1,6 +1,6 @@
Signed-off-by: Jun Zhu <R01007@freescale.com>
-Upstream-Status: Not applicable
+Upstream-Status: Inappropriate [embedded specific]
diff -Nru obexftp-0.23/apps.orig/obexftpd.c obexftp-0.23/apps/obexftpd.c
--- obexftp-0.23/apps.orig/obexftpd.c 2013-11-08 10:42:20.816631583 +0800
diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch b/meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch
index 84b143bf51..25f2a7d9e7 100644
--- a/meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch
+++ b/meta-oe/recipes-connectivity/obexftp/obexftp/make_fuse_swig_optional.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: obexftp-0.24.2-Source/CMakeLists.txt
===================================================================
--- obexftp-0.24.2-Source.orig/CMakeLists.txt
diff --git a/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
index b4a914d929..f7a98fb61e 100644
--- a/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
+++ b/meta-oe/recipes-connectivity/obexftp/obexftp_0.24.2.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "A tool for transfer files to/from any OBEX enabled device"
-LICENSE = "GPLv2 & PD & LGPLv2.1"
+LICENSE = "GPL-2.0-only & PD & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LGPL-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
file://GPL-2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://License.txt;md5=fcbddc3c1debed80dd80da2d3e5f0dc1 \
@@ -23,7 +23,7 @@ PACKAGECONFIG ?= ""
PACKAGECONFIG[fuse] = "-DENABLE_FUSE=ON,-DENABLE_FUSE=OFF,fuse"
PACKAGECONFIG[swig] = "-DENABLE_SWIG=ON,-DENABLE_SWIG=OFF,swig"
-DEPENDS_remove_class-native = "fuse-native"
+DEPENDS:remove:class-native = "fuse-native"
S = "${WORKDIR}/${BP}-Source"
@@ -32,11 +32,11 @@ EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON \
-DENABLE_RUBY=OFF -DENABLE_TCL=OFF \
"
-do_compile_class-native () {
+do_compile:class-native () {
oe_runmake crctable
}
-do_install_class-native () {
+do_install:class-native () {
install -D -m 0755 ${B}/bfb/crctable ${D}${bindir}/crctable
}
diff --git a/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb b/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
index efa3467a7f..f976ca109c 100644
--- a/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
+++ b/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
@@ -11,7 +11,7 @@ These tools are used at runtime."
inherit packagegroup
-RDEPENDS_${PN} = " \
+RDEPENDS:${PN} = " \
bluez5-noinst-tools \
bluez5-obex \
bluez5-testtools \
diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch b/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
deleted file mode 100644
index a31bfaa749..0000000000
--- a/meta-oe/recipes-connectivity/paho-mqtt-c/files/makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Disable building some things we don't need
-
-Upstream-Status: Inappropriate [config]
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-
----
- Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 33bd2d0..84262bd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -115,7 +115,8 @@ LDFLAGS_AS = -shared -Wl,-soname,lib${MQTTLIB_AS}.so.${MAJOR_VERSION} -lpthread
-
- all: build
-
--build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET} ${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS}
-+build: | mkdir ${MQTTLIB_C_TARGET} ${MQTTLIB_CS_TARGET} ${MQTTLIB_A_TARGET} ${MQTTLIB_AS_TARGET}
-+#${MQTTVERSION_TARGET} ${SYNC_SAMPLES} ${ASYNC_SAMPLES} ${SYNC_TESTS} ${SYNC_SSL_TESTS} ${ASYNC_TESTS} ${ASYNC_SSL_TESTS}
-
- clean:
- rm -rf ${blddir}/*
---
diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.13.bb b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.13.bb
new file mode 100644
index 0000000000..6f229001f6
--- /dev/null
+++ b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.13.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
+DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
+HOMEPAGE = "http://www.eclipse.org/paho/"
+SECTION = "console/network"
+LICENSE = "EPL-2.0 | EDL-1.0"
+
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=fd3b896dadaeec3410d753ffaeadcfac \
+ file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
+ file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
+"
+
+SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=https;branch=master"
+
+SRCREV = "07a875788d8cc6f5833b12581d6e3e349b34d719"
+
+DEPENDS = "openssl"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_configure:prepend() {
+ sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt
+}
+
+do_install:append() {
+ # paho-mqtt installes some thing that we don't want.
+ rm -rf ${D}${prefix}/samples
+ find ${D}${prefix} -maxdepth 1 -type f -delete
+}
+
+EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON -DPAHO_ENABLE_TESTING=OFF -DPAHO_HIGH_PERFORMANCE=ON"
diff --git a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.8.bb b/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.8.bb
deleted file mode 100644
index f9b503a2cd..0000000000
--- a/meta-oe/recipes-connectivity/paho-mqtt-c/paho-mqtt-c_1.3.8.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Paho MQTT - C libraries for the MQTT and MQTT-SN protocols"
-DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
-HOMEPAGE = "http://www.eclipse.org/paho/"
-SECTION = "console/network"
-LICENSE = "EPL-2.0 | EDL-1.0"
-
-LIC_FILES_CHKSUM = " \
- file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
- file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
- file://notice.html;md5=943f861069889acecebf51dfa24478e2 \
- file://about.html;md5=e5662cbb5f8fd5c9faac526e4077898e \
-"
-
-SRC_URI = "git://github.com/eclipse/paho.mqtt.c;protocol=http"
-
-SRCREV = "317fb008e1541838d1c29076d2bc5c3e4b6c4f53"
-
-DEPENDS = "openssl"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-do_configure_prepend() {
- sed -i s:\ lib/cmake:\ ${baselib}/cmake:g ${S}/src/CMakeLists.txt
-}
-
-do_install_append() {
- # paho-mqtt installes some thing that we don't want.
- rm -rf ${D}${prefix}/samples
- find ${D}${prefix} -maxdepth 1 -type f -delete
-}
-
-EXTRA_OECMAKE = "-DPAHO_WITH_SSL=ON"
diff --git a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch
new file mode 100644
index 0000000000..fba9a8767f
--- /dev/null
+++ b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp/0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch
@@ -0,0 +1,59 @@
+From 2a0dd2b300242230faa92cf8e26ccd70231bc9ef Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 19 Mar 2022 23:37:58 -0700
+Subject: [PATCH] cmake: Use CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_BINDIR
+
+This ensures the install paths are not hardcoded.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+---
+ cmake/CMakeLists.txt | 4 ++--
+ src/samples/CMakeLists.txt | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
+index a9f8908..7eadc60 100644
+--- a/cmake/CMakeLists.txt
++++ b/cmake/CMakeLists.txt
+@@ -11,7 +11,7 @@ export(EXPORT ${package_name}
+ FILE "${CMAKE_CURRENT_BINARY_DIR}/${package_name}Targets.cmake"
+ NAMESPACE ${package_name}::)
+
+-install(EXPORT ${package_name} DESTINATION lib/cmake/${package_name}
++install(EXPORT ${package_name} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}
+ FILE ${package_name}Targets.cmake
+ NAMESPACE ${package_name}::)
+
+@@ -19,4 +19,4 @@ install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/${package_name}Config.cmake"
+ FindPahoMqttC.cmake
+ "${CMAKE_CURRENT_BINARY_DIR}/${package_name}ConfigVersion.cmake"
+- DESTINATION lib/cmake/${package_name})
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${package_name})
+diff --git a/src/samples/CMakeLists.txt b/src/samples/CMakeLists.txt
+index 3ca0a75..c915cd5 100644
+--- a/src/samples/CMakeLists.txt
++++ b/src/samples/CMakeLists.txt
+@@ -71,7 +71,7 @@ endforeach()
+
+ ## install binaries
+ install(TARGETS ${EXECUTABLES} EXPORT PahoMqttCppSamples
+- RUNTIME DESTINATION bin
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ )
+
+ ## Build the SSL/TLS samples, if selected
+@@ -89,7 +89,7 @@ if(PAHO_WITH_SSL)
+ endforeach()
+
+ install(TARGETS ${SSL_EXECUTABLES} EXPORT PahoMqttCppSamples
+- RUNTIME DESTINATION bin
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ )
+ endif()
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.2.bb b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.2.bb
new file mode 100644
index 0000000000..1b2e51c3ac
--- /dev/null
+++ b/meta-oe/recipes-connectivity/paho-mqtt-cpp/paho-mqtt-cpp_1.3.2.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Paho MQTT - C++ libraries for the MQTT and MQTT-SN protocols"
+DESCRIPTION = "Client implementation of open and standard messaging protocols for Machine-to-Machine (M2M) and Internet of Things (IoT)."
+HOMEPAGE = "http://www.eclipse.org/paho/"
+SECTION = "console/network"
+LICENSE = "EPL-2.0 | EDL-1.0"
+
+LIC_FILES_CHKSUM = " \
+ file://src/mqtt/message.h;beginline=9;endline=18;md5=c5ceecf5ab99d44dcfaaabdce289071b \
+ file://edl-v10;md5=3adfcc70f5aeb7a44f3f9b495aa1fbf3 \
+ file://epl-v20;md5=d9fc0efef5228704e7f5b37f27192723 \
+"
+
+SRC_URI = "git://github.com/eclipse/paho.mqtt.cpp;protocol=https;branch=v1.3.x \
+ file://0001-cmake-Use-CMAKE_INSTALL_LIBDIR-and-CMAKE_INSTALL_BIN.patch \
+ "
+SRCREV = "5e0d1bf37b4826d680ec066ec42afd133851a681"
+
+DEPENDS = "openssl paho-mqtt-c"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DPAHO_WITH_SSL=ON"
diff --git a/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_23.09.bb b/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_23.09.bb
new file mode 100644
index 0000000000..39c6942c83
--- /dev/null
+++ b/meta-oe/recipes-connectivity/pcapplusplus/pcapplusplus_23.09.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A multiplatform C++ library for capturing, parsing and crafting of network packets"
+HOMEPAGE = "https://pcapplusplus.github.io/"
+BUGTRACKER = "https://github.com/seladb/PcapPlusPlus/issues"
+SECTION = "libs/network"
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=911690f51af322440237a253d695d19f"
+
+DEPENDS = "libpcap"
+
+SRC_URI = "git://github.com/seladb/PcapPlusPlus.git;protocol=https;branch=master"
+SRCREV = "4cf8ed44f9dd145f874dc1dd747dfefcfcab75be"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[examples] = "-DPCAPPP_BUILD_EXAMPLES=ON,-DPCAPPP_BUILD_EXAMPLES=OFF"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF"
+PACKAGECONFIG[tests] = "-DPCAPPP_BUILD_TESTS=ON,-DPCAPPP_BUILD_TESTS=OFF"
+PACKAGECONFIG[zstd] = "-DLIGHT_PCAPNG_ZSTD=ON,-DLIGHT_PCAPNG_ZSTD=OFF,zstd"
diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch
deleted file mode 100644
index 8bb7e5a188..0000000000
--- a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils/0001-Include-limits.h-for-PATH_MAX.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f7ad9a4471cee2324f216a0d82ba8097ec746c56 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 15 Jul 2017 11:48:12 -0700
-Subject: [PATCH] Include limits.h for PATH_MAX
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/pnstat.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/pnstat.c b/src/pnstat.c
-index 661a5bc..76068e6 100644
---- a/src/pnstat.c
-+++ b/src/pnstat.c
-@@ -35,6 +35,7 @@
- #include <dirent.h>
- #include <unistd.h>
- #include <netinet/tcp.h>
-+#include <limits.h>
-
- struct fd
- {
---
-2.13.3
-
diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
deleted file mode 100644
index 3c599950fe..0000000000
--- a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "This small package provides a few command line tools for Linux Phonet"
-HOMEPAGE = ""
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master \
- file://0001-Include-limits.h-for-PATH_MAX.patch \
- "
-PR = "r2"
-S = "${WORKDIR}/git"
-SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea"
-PV = "0.0.0+gitr${SRCPV}"
-
-inherit autotools-brokensep
-
-FILES_${PN} += "${base_libdir}/udev/rules.d/85-phonet-utils.rules"
diff --git a/meta-oe/recipes-connectivity/rabbitmq-c/files/CVE-2023-35789.patch b/meta-oe/recipes-connectivity/rabbitmq-c/files/CVE-2023-35789.patch
new file mode 100644
index 0000000000..dfd1f98759
--- /dev/null
+++ b/meta-oe/recipes-connectivity/rabbitmq-c/files/CVE-2023-35789.patch
@@ -0,0 +1,131 @@
+CVE: CVE-2023-35789
+Upstream-Status: Backport [ https://github.com/alanxz/rabbitmq-c/commit/463054383fbeef889b409a7f843df5365288e2a0 ]
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+
+From 463054383fbeef889b409a7f843df5365288e2a0 Mon Sep 17 00:00:00 2001
+From: Christian Kastner <ckk@kvr.at>
+Date: Tue, 13 Jun 2023 14:21:52 +0200
+Subject: [PATCH] Add option to read username/password from file (#781)
+
+* Add option to read username/password from file
+---
+ tools/common.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+
+diff --git a/tools/common.c b/tools/common.c
+index 73b47e25..7efe557b 100644
+--- a/tools/common.c
++++ b/tools/common.c
+@@ -18,6 +18,11 @@
+ #include "compat.h"
+ #endif
+
++/* For when reading auth data from a file */
++#define MAXAUTHTOKENLEN 128
++#define USERNAMEPREFIX "username:"
++#define PASSWORDPREFIX "password:"
++
+ void die(const char *fmt, ...) {
+ va_list ap;
+ va_start(ap, fmt);
+@@ -125,6 +130,7 @@ static char *amqp_vhost;
+ static char *amqp_username;
+ static char *amqp_password;
+ static int amqp_heartbeat = 0;
++static char *amqp_authfile;
+ #ifdef WITH_SSL
+ static int amqp_ssl = 0;
+ static char *amqp_cacert = "/etc/ssl/certs/cacert.pem";
+@@ -147,6 +153,8 @@ struct poptOption connect_options[] = {
+ "the password to login with", "password"},
+ {"heartbeat", 0, POPT_ARG_INT, &amqp_heartbeat, 0,
+ "heartbeat interval, set to 0 to disable", "heartbeat"},
++ {"authfile", 0, POPT_ARG_STRING, &amqp_authfile, 0,
++ "path to file containing username/password for authentication", "file"},
+ #ifdef WITH_SSL
+ {"ssl", 0, POPT_ARG_NONE, &amqp_ssl, 0, "connect over SSL/TLS", NULL},
+ {"cacert", 0, POPT_ARG_STRING, &amqp_cacert, 0,
+@@ -158,6 +166,50 @@ struct poptOption connect_options[] = {
+ #endif /* WITH_SSL */
+ {NULL, '\0', 0, NULL, 0, NULL, NULL}};
+
++void read_authfile(const char *path) {
++ size_t n;
++ FILE *fp = NULL;
++ char token[MAXAUTHTOKENLEN];
++
++ if ((amqp_username = malloc(MAXAUTHTOKENLEN)) == NULL ||
++ (amqp_password = malloc(MAXAUTHTOKENLEN)) == NULL) {
++ die("Out of memory");
++ } else if ((fp = fopen(path, "r")) == NULL) {
++ die("Could not read auth data file %s", path);
++ }
++
++ if (fgets(token, MAXAUTHTOKENLEN, fp) == NULL ||
++ strncmp(token, USERNAMEPREFIX, strlen(USERNAMEPREFIX))) {
++ die("Malformed auth file (missing username)");
++ }
++ strncpy(amqp_username, &token[strlen(USERNAMEPREFIX)], MAXAUTHTOKENLEN);
++ /* Missing newline means token was cut off */
++ n = strlen(amqp_username);
++ if (amqp_username[n - 1] != '\n') {
++ die("Username too long");
++ } else {
++ amqp_username[n - 1] = '\0';
++ }
++
++ if (fgets(token, MAXAUTHTOKENLEN, fp) == NULL ||
++ strncmp(token, PASSWORDPREFIX, strlen(PASSWORDPREFIX))) {
++ die("Malformed auth file (missing password)");
++ }
++ strncpy(amqp_password, &token[strlen(PASSWORDPREFIX)], MAXAUTHTOKENLEN);
++ /* Missing newline means token was cut off */
++ n = strlen(amqp_password);
++ if (amqp_password[n - 1] != '\n') {
++ die("Password too long");
++ } else {
++ amqp_password[n - 1] = '\0';
++ }
++
++ (void)fgetc(fp);
++ if (!feof(fp)) {
++ die("Malformed auth file (trailing data)");
++ }
++}
++
+ static void init_connection_info(struct amqp_connection_info *ci) {
+ ci->user = NULL;
+ ci->password = NULL;
+@@ -237,6 +289,8 @@ static void init_connection_info(struct amqp_connection_info *ci) {
+ if (amqp_username) {
+ if (amqp_url) {
+ die("--username and --url options cannot be used at the same time");
++ } else if (amqp_authfile) {
++ die("--username and --authfile options cannot be used at the same time");
+ }
+
+ ci->user = amqp_username;
+@@ -245,11 +299,23 @@ static void init_connection_info(struct amqp_connection_info *ci) {
+ if (amqp_password) {
+ if (amqp_url) {
+ die("--password and --url options cannot be used at the same time");
++ } else if (amqp_authfile) {
++ die("--password and --authfile options cannot be used at the same time");
+ }
+
+ ci->password = amqp_password;
+ }
+
++ if (amqp_authfile) {
++ if (amqp_url) {
++ die("--authfile and --url options cannot be used at the same time");
++ }
++
++ read_authfile(amqp_authfile);
++ ci->user = amqp_username;
++ ci->password = amqp_password;
++ }
++
+ if (amqp_vhost) {
+ if (amqp_url) {
+ die("--vhost and --url options cannot be used at the same time");
diff --git a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb
deleted file mode 100644
index 2ef6b187e9..0000000000
--- a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.10.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker"
-HOMEPAGE = "https://github.com/alanxz/rabbitmq-c"
-LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=6b7424f9db80cfb11fdd5c980b583f53"
-LICENSE = "MIT"
-
-SRC_URI = "git://github.com/alanxz/rabbitmq-c.git"
-# v0.10.0-master
-SRCREV = "ffe918a5fcef72038a88054dca3c56762b1953d4"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "popt openssl"
-
-EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=ON -DBUILD_TOOLS_DOCS=OFF -DBUILD_API_DOCS=OFF"
-
-inherit cmake pkgconfig
-
-PACKAGE_BEFORE_PN += "${PN}-tools"
-FILES_${PN}-tools = "${bindir}"
diff --git a/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.13.0.bb b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.13.0.bb
new file mode 100644
index 0000000000..ea80ec3344
--- /dev/null
+++ b/meta-oe/recipes-connectivity/rabbitmq-c/rabbitmq-c_0.13.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker"
+HOMEPAGE = "https://github.com/alanxz/rabbitmq-c"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7e12f6e40e662e039e2f02b4893011ec"
+LICENSE = "MIT"
+
+SRC_URI = "git://github.com/alanxz/rabbitmq-c.git;branch=master;protocol=https \
+ file://CVE-2023-35789.patch \
+"
+# v0.13.0-master
+SRCREV = "974d71adceae6d742ae20a4c880d99c131f1460a"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "popt openssl"
+
+EXTRA_OECMAKE = "-DBUILD_EXAMPLES=OFF -DBUILD_TOOLS=ON -DBUILD_TOOLS_DOCS=OFF -DBUILD_API_DOCS=OFF"
+
+inherit cmake pkgconfig
+
+PACKAGE_BEFORE_PN += "${PN}-tools"
+FILES:${PN}-tools = "${bindir}"
diff --git a/meta-oe/recipes-connectivity/rfkill/rfkill/0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch b/meta-oe/recipes-connectivity/rfkill/rfkill/0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch
index c6f60d0ede..89a7d6f34a 100644
--- a/meta-oe/recipes-connectivity/rfkill/rfkill/0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch
+++ b/meta-oe/recipes-connectivity/rfkill/rfkill/0001-rfkill-makefile-don-t-use-t-the-OE-install-wrapper-d.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] rfkill makefile: don't use -t, the OE install wrapper dislikes
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
+Upstream-Status: Pending
+
Makefile | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-connectivity/rfkill/rfkill/dont.call.git.rev-parse.on.parent.dir.patch b/meta-oe/recipes-connectivity/rfkill/rfkill/dont.call.git.rev-parse.on.parent.dir.patch
index 2b83689127..020419ea8a 100644
--- a/meta-oe/recipes-connectivity/rfkill/rfkill/dont.call.git.rev-parse.on.parent.dir.patch
+++ b/meta-oe/recipes-connectivity/rfkill/rfkill/dont.call.git.rev-parse.on.parent.dir.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
When WORKDIR is included in some other git checkout, version.sh calls git rev-parse
and it returns some description from that upper git checkout even when rfkill is
being built from release tarball.
diff --git a/meta-oe/recipes-connectivity/rfkill/rfkill_1.0.bb b/meta-oe/recipes-connectivity/rfkill/rfkill_1.0.bb
index e9e35b1651..c9c0738abe 100644
--- a/meta-oe/recipes-connectivity/rfkill/rfkill_1.0.bb
+++ b/meta-oe/recipes-connectivity/rfkill/rfkill_1.0.bb
@@ -1,7 +1,7 @@
SUMMARY = "Radio enable/disable command line utility"
HOMEPAGE = "http://linuxwireless.org/en/users/Documentation/rfkill"
SECTION = "base"
-LICENSE = "BSD-0-Clause"
+LICENSE = "0BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=c6036d0eb7edbfced28c4160e5d3fa94"
SRC_URI = "http://www.kernel.org/pub/software/network/${BPN}/${BP}.tar.xz \
@@ -20,6 +20,6 @@ do_install() {
inherit update-alternatives
-ALTERNATIVE_${PN} = "rfkill"
+ALTERNATIVE:${PN} = "rfkill"
ALTERNATIVE_PRIORITY = "60"
ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill"
diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch b/meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch
deleted file mode 100644
index 7d09f4382f..0000000000
--- a/meta-oe/recipes-connectivity/rtorrent/rtorrent/don-t-run-code-while-configuring-package.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-Using AC_RUN_IFELSE prevent people from configuring package
- for cross-compiling. Don't run code while configuring package.
-
-Upstream-Status: Pending
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Update for 0.9.8.
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- scripts/checks.m4 | 34 ----------------------------------
- scripts/common.m4 | 28 ----------------------------
- 2 files changed, 62 deletions(-)
-
-diff --git a/scripts/checks.m4 b/scripts/checks.m4
-index 83be846..1af80f5 100644
---- a/scripts/checks.m4
-+++ b/scripts/checks.m4
-@@ -95,40 +95,6 @@ AC_DEFUN([TORRENT_CHECK_KQUEUE], [
-
- AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [
- AC_MSG_CHECKING(whether kqueue supports pipes and ptys)
--
-- AC_LINK_IFELSE([AC_LANG_SOURCE([
-- #include <fcntl.h>
-- #include <stdlib.h>
-- #include <unistd.h>
-- #include <sys/event.h>
-- #include <sys/time.h>
-- int main() {
-- struct kevent ev@<:@2@:>@, ev_out@<:@2@:>@;
-- struct timespec ts = { 0, 0 };
-- int pfd@<:@2@:>@, pty@<:@2@:>@, kfd, n;
-- char buffer@<:@9001@:>@;
-- if (pipe(pfd) == -1) return 1;
-- if (fcntl(pfd@<:@1@:>@, F_SETFL, O_NONBLOCK) == -1) return 2;
-- while ((n = write(pfd@<:@1@:>@, buffer, sizeof(buffer))) == sizeof(buffer));
-- if ((pty@<:@0@:>@=posix_openpt(O_RDWR | O_NOCTTY)) == -1) return 3;
-- if ((pty@<:@1@:>@=grantpt(pty@<:@0@:>@)) == -1) return 4;
-- EV_SET(ev+0, pfd@<:@1@:>@, EVFILT_WRITE, EV_ADD | EV_ENABLE, 0, 0, NULL);
-- EV_SET(ev+1, pty@<:@1@:>@, EVFILT_READ, EV_ADD | EV_ENABLE, 0, 0, NULL);
-- if ((kfd = kqueue()) == -1) return 5;
-- if ((n = kevent(kfd, ev, 2, NULL, 0, NULL)) == -1) return 6;
-- if (ev_out@<:@0@:>@.flags & EV_ERROR) return 7;
-- if (ev_out@<:@1@:>@.flags & EV_ERROR) return 8;
-- read(pfd@<:@0@:>@, buffer, sizeof(buffer));
-- if ((n = kevent(kfd, NULL, 0, ev_out, 2, &ts)) < 1) return 9;
-- return 0;
-- }
-- ])],
-- [
-- AC_MSG_RESULT(yes)
-- ], [
-- AC_DEFINE(KQUEUE_SOCKET_ONLY, 1, kqueue only supports sockets.)
-- AC_MSG_RESULT(no)
-- ])
- ])
-
- AC_DEFUN([TORRENT_WITH_KQUEUE], [
-diff --git a/scripts/common.m4 b/scripts/common.m4
-index aaf005e..42fb016 100644
---- a/scripts/common.m4
-+++ b/scripts/common.m4
-@@ -152,38 +152,10 @@ dnl Need to fix this so that it uses the stuff defined by the system.
-
- AC_DEFUN([TORRENT_CHECK_EXECINFO], [
- AC_MSG_CHECKING(for execinfo.h)
--
-- AC_COMPILE_IFELSE([AC_LANG_SOURCE([
-- #include <execinfo.h>
-- int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;}
-- ])],
-- [
-- AC_MSG_RESULT(yes)
-- AC_DEFINE(USE_EXECINFO, 1, Use execinfo.h)
-- ], [
-- AC_MSG_RESULT(no)
-- ])
- ])
-
- AC_DEFUN([TORRENT_CHECK_ALIGNED], [
- AC_MSG_CHECKING(the byte alignment)
--
-- AC_LINK_IFELSE([AC_LANG_SOURCE([
-- #include <inttypes.h>
-- int main() {
-- char buf@<:@8@:>@ = { 0, 0, 0, 0, 1, 0, 0, 0 };
-- int i;
-- for (i = 1; i < 4; ++i)
-- if (*(uint32_t*)(buf + i) == 0) return -1;
-- return 0;
-- }
-- ])],
-- [
-- AC_MSG_RESULT(none needed)
-- ], [
-- AC_DEFINE(USE_ALIGNED, 1, Require byte alignment)
-- AC_MSG_RESULT(required)
-- ])
- ])
-
-
---
-2.7.4
-
diff --git a/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb b/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
index 331f978f86..d9cca404d7 100644
--- a/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
+++ b/meta-oe/recipes-connectivity/rtorrent/rtorrent_git.bb
@@ -1,17 +1,14 @@
SUMMARY = "Torrent client"
HOMEPAGE = "http://libtorrent.rakshasa.no/"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libsigc++-2.0 curl cppunit libtorrent ncurses"
+DEPENDS = "autoconf-archive libsigc++-2.0 curl cppunit libtool libtorrent ncurses"
-SRC_URI = "git://github.com/rakshasa/rtorrent \
- file://don-t-run-code-while-configuring-package.patch \
-"
-# v0.9.8
-SRCREV = "6154d1698756e0c4842b1c13a0e56db93f1aa947"
+SRC_URI = "git://github.com/rakshasa/rtorrent;branch=master;protocol=https"
+SRCREV = "d067bd802e44f0e6a747aabcc311ada2175fd550"
-PV = "0.9.8"
+PV = "0.9.8+git"
S = "${WORKDIR}/git"
@@ -21,6 +18,6 @@ PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
inherit autotools pkgconfig
-do_configure_prepend() {
- (cd ${S}; ./autogen.sh; cd -)
-}
+EXTRA_AUTORECONF += "--exclude=aclocal"
+
+CXXFLAGS += "-std=gnu++14"
diff --git a/meta-oe/recipes-connectivity/ser2net/files/ser2net.service b/meta-oe/recipes-connectivity/ser2net/files/ser2net.service
new file mode 100644
index 0000000000..13d8ee4ff3
--- /dev/null
+++ b/meta-oe/recipes-connectivity/ser2net/files/ser2net.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Serial port to network proxy
+Documentation=man:ser2net(8)
+After=network.target
+Wants=network.target
+ConditionFileNotEmpty=@SYSCONFDIR@/ser2net/ser2net.yaml
+
+[Service]
+Type=exec
+ExecStart=@SBINDIR@/ser2net -n
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.3.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.3.bb
deleted file mode 100644
index 87b5b15b75..0000000000
--- a/meta-oe/recipes-connectivity/ser2net/ser2net_4.3.3.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A serial to network proxy"
-SECTION = "console/network"
-HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bae3019b4c6dc4138c217864bd04331f"
-
-DEPENDS = "gensio libyaml"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz"
-
-SRC_URI[sha256sum] = "f5be52033a690bd0dd711209a64ebaec024ee4542b1357350aad8489dc2bf720"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.1.bb b/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.1.bb
new file mode 100644
index 0000000000..e5ebafa54f
--- /dev/null
+++ b/meta-oe/recipes-connectivity/ser2net/ser2net_4.6.1.bb
@@ -0,0 +1,30 @@
+SUMMARY = "A serial to network proxy"
+SECTION = "console/network"
+HOMEPAGE = "http://sourceforge.net/projects/ser2net/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "gensio libyaml"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/ser2net/ser2net/ser2net-${PV}.tar.gz \
+ file://ser2net.service \
+"
+
+SRC_URI[sha256sum] = "78ffee19d9b97e93ae65b5cec072da2b7b947fc484e9ccb3f535702f36f6ed19"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/ser2net/files/ser2net"
+
+inherit autotools pkgconfig systemd
+
+SYSTEMD_SERVICE:${PN} = "ser2net.service"
+
+CONFFILES:${PN} += "${sysconfdir}/ser2net/ser2net.yaml"
+
+do_install:append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/ser2net.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/ser2net.service
+ fi
+}
diff --git a/meta-oe/recipes-connectivity/smstools3/smstools3/scripts_no_bash.patch b/meta-oe/recipes-connectivity/smstools3/smstools3/scripts_no_bash.patch
index 49b4d1ddac..e287ae5e73 100644
--- a/meta-oe/recipes-connectivity/smstools3/smstools3/scripts_no_bash.patch
+++ b/meta-oe/recipes-connectivity/smstools3/smstools3/scripts_no_bash.patch
@@ -3,6 +3,8 @@ From: Bill Randle <bill.randle@gmail.com>
Date: Sun, 31 Dec 2017 09:08:23 -0800
---
+Upstream-Status: Pending
+
scripts/sendsms | 2 +-
scripts/sms2html | 2 +-
scripts/sms2unicode | 2 +-
diff --git a/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath.patch b/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath.patch
index e1d79d3327..db829744d3 100644
--- a/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath.patch
+++ b/meta-oe/recipes-connectivity/smstools3/smstools3/sms_binpath.patch
@@ -3,6 +3,8 @@ From: Kai Ulrich <kaiu@gmx.de>
Date: Wed, 18 Mar 2015 11:20:53 +0100
---
+Upstream-Status: Pending
+
scripts/sms3 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb b/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb
index ca40957531..9e54968633 100644
--- a/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb
+++ b/meta-oe/recipes-connectivity/smstools3/smstools3_3.1.21.bb
@@ -1,7 +1,7 @@
SUMMARY = "SMS Gateway software"
DESCRIPTION = "The SMS Server Tools 3 is a SMS Gateway software which can send and receive short messages through GSM modems and mobile phones."
SECTION = "console/network"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4d21efa1bb2a186360dde4035f860682"
HOMEPAGE = "http://smstools3.kekekasvi.com"
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
index 2b05c61a0d..e083039232 100644
--- a/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-glib_0.24.1.bb
@@ -2,7 +2,7 @@ SUMMARY = "Telepathy Framework glib-base helper library"
DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers"
HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
DEPENDS = "glib-2.0 dbus hostpython-runtime-native dbus-native dbus-glib libxslt-native"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz"
SRC_URI[md5sum] = "cbeb0a24acc26e7f095be281c324da69"
@@ -10,9 +10,11 @@ SRC_URI[sha256sum] = "9e0df1d8f857e0270cf0b32e2d1ca5a24aa7282873361785d573f72ad7
LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
-inherit autotools pkgconfig gettext gobject-introspection vala
+inherit autotools pkgconfig gettext gobject-introspection vala gtk-doc
-EXTRA_OECONF = "--enable-vala-bindings"
+# Respect GI_DATA_ENABLED value when enabling vala-bindings:
+# configure: error: GObject-Introspection must be enabled for Vala bindings
+EXTRA_OECONF = "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '--enable-vala-bindings', '--disable-vala-bindings', d)}"
-FILES_${PN} += "${datadir}/telepathy \
+FILES:${PN} += "${datadir}/telepathy \
${datadir}/dbus-1"
diff --git a/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb b/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
index 7cb25b6775..039cfc3a89 100644
--- a/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
+++ b/meta-oe/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "Telepathy IRC connection manager"
DESCRIPTION = "Telepathy implementation of the Internet Relay Chat protocols."
HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
DEPENDS = "glib-2.0 dbus telepathy-glib openssl libxslt-native"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://src/idle.c;beginline=1;endline=19;md5=b06b1e2594423111a1a7910b0eefc7f9"
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = "3013ad4b38d14ee630b8cc8ada5e95ccaa849b9a6fe15d2eaf6d0717d7
inherit autotools pkgconfig ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "pythonnative", "", d)}
-FILES_${PN} += "${datadir}/telepathy \
+FILES:${PN} += "${datadir}/telepathy \
${datadir}/dbus-1"
python() {
diff --git a/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch b/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch
index 485d7a4b0b..bbfc6c8069 100644
--- a/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch
+++ b/meta-oe/recipes-connectivity/thrift/thrift/0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch
@@ -12,9 +12,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/build/cmake/DefineInstallationPaths.cmake
+++ b/build/cmake/DefineInstallationPaths.cmake
-@@ -22,11 +22,11 @@
- set(BIN_INSTALL_DIR "bin" CACHE PATH "The binary install dir (default: bin)")
- set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "The library install dir (default: lib${LIB_SUFFIX})")
+@@ -26,11 +26,11 @@ else()
+ set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}" CACHE PATH "The library install dir (default: lib${LIB_SUFFIX})")
+ endif()
set(INCLUDE_INSTALL_DIR "include" CACHE PATH "The library install dir (default: include)")
-set(CMAKE_INSTALL_DIR "lib/cmake" CACHE PATH "The subdirectory to install cmake config files (default: cmake)")
-set(PKGCONFIG_INSTALL_DIR "lib/pkgconfig" CACHE PATH "The subdirectory to install pkgconfig config files (default: lib/pkgconfig)")
diff --git a/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb b/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb
deleted file mode 100644
index e3880b357a..0000000000
--- a/meta-oe/recipes-connectivity/thrift/thrift_0.13.0.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-SUMMARY = "Apache Thrift"
-DESCRIPTION = "A software framework, for scalable cross-language services development"
-HOMEPAGE = "https://thrift.apache.org/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=394465e125cffc0f133695ed43f14047 \
- file://NOTICE;md5=2659b43daca219f99a2f2626ea128f73"
-
-DEPENDS = "thrift-native boost flex-native bison-native openssl"
-
-SRC_URI = "https://www-eu.apache.org/dist/thrift//${PV}/${BPN}-${PV}.tar.gz \
- file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch \
- "
-SRC_URI[md5sum] = "38a27d391a2b03214b444cb13d5664f1"
-SRC_URI[sha256sum] = "7ad348b88033af46ce49148097afe354d513c1fca7c607b59c33ebb6064b5179"
-
-BBCLASSEXTEND = "native nativesdk"
-
-inherit pkgconfig cmake python3native
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-export BUILD_SYS
-export HOST_SYS
-
-EXTRA_OECMAKE = " \
- -DBUILD_LIBRARIES=ON \
- -DBUILD_COMPILER=ON \
- -DBUILD_TESTING=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_TUTORIALS=OFF \
- -DWITH_CPP=ON \
- -DWITH_JAVA=OFF \
- -DWITH_PYTHON=OFF \
- -DWITH_STATIC_LIB=ON \
- -DWITH_SHARED_LIB=ON \
- -DWITH_OPENSSL=ON \
- -DWITH_QT5=OFF \
-"
-
-PACKAGECONFIG ??= "libevent glib"
-PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent"
-PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0"
-
-do_install_append () {
- ln -sf thrift ${D}/${bindir}/thrift-compiler
-}
-
-LEAD_SONAME = "libthrift.so.${PV}"
-
-# thrift packages
-PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib"
-FILES_lib${BPN} = "${libdir}/libthrift.so.*"
-FILES_lib${BPN}z = "${libdir}/libthriftz.so.*"
-FILES_lib${BPN}nb = "${libdir}/libthriftnb.so.*"
-FILES_lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*"
-FILES_${PN}-compiler = "${bindir}/*"
-
-# The thrift packages just pulls in some default dependencies but is otherwise empty
-RRECOMMENDS_${PN} = "${PN}-compiler lib${BPN}"
-ALLOW_EMPTY_${PN} = "1"
-RRECOMMENDS_${PN}_class-native = ""
-RRECOMMENDS_${PN}_class-nativesdk = ""
diff --git a/meta-oe/recipes-connectivity/thrift/thrift_0.20.0.bb b/meta-oe/recipes-connectivity/thrift/thrift_0.20.0.bb
new file mode 100644
index 0000000000..23db052b9e
--- /dev/null
+++ b/meta-oe/recipes-connectivity/thrift/thrift_0.20.0.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Apache Thrift"
+DESCRIPTION = "A software framework, for scalable cross-language services development"
+HOMEPAGE = "https://thrift.apache.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c40a383cb3f747e0c7abbf1482f194f0 \
+ file://NOTICE;md5=2659b43daca219f99a2f2626ea128f73"
+
+DEPENDS = "thrift-native boost flex-native bison-native openssl zlib"
+
+SRC_URI = "https://downloads.apache.org/${BPN}/${PV}/${BP}.tar.gz \
+ file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch"
+SRC_URI[sha256sum] = "b5d8311a779470e1502c027f428a1db542f5c051c8e1280ccd2163fa935ff2d6"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CVE_PRODUCT = "apache:thrift"
+
+inherit pkgconfig cmake python3native
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+export BUILD_SYS
+export HOST_SYS
+
+EXTRA_OECMAKE = " \
+ -DBUILD_LIBRARIES=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_COMPILER=ON \
+ -DBUILD_TESTING=OFF \
+ -DBUILD_TUTORIALS=OFF \
+ -DWITH_AS3=OFF \
+ -DWITH_CPP=ON \
+ -DWITH_JAVA=OFF \
+ -DWITH_OPENSSL=ON \
+ -DWITH_QT5=OFF \
+ -DWITH_ZLIB=ON \
+ -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
+ -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \
+"
+
+PACKAGECONFIG ??= "glib libevent"
+PACKAGECONFIG[glib] = "-DWITH_C_GLIB=ON,-DWITH_C_GLIB=OFF,glib-2.0"
+PACKAGECONFIG[libevent] = "-DWITH_LIBEVENT=ON,-DWITH_LIBEVENT=OFF,libevent"
+PACKAGECONFIG[javascript] = "-DWITH_JAVASCRIPT=ON,-DWITH_JAVASCRIPT=OFF,nodejs"
+PACKAGECONFIG[nodejs] = "-DWITH_NODEJS=ON,-DWITH_NODEJS=OFF,nodejs"
+PACKAGECONFIG[python] = "-DWITH_PYTHON=ON,-DWITH_PYTHON=OFF,python"
+
+do_install:append () {
+ ln -sf thrift ${D}/${bindir}/thrift-compiler
+ # remove absolute paths
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thriftnbTargets.cmake
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thrift_c_glibTargets.cmake
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thrift_c_glib_zlibTargets.cmake
+}
+
+LEAD_SONAME = "libthrift.so.${PV}"
+
+# thrift packages
+PACKAGE_BEFORE_PN = "${PN}-compiler lib${BPN} lib${BPN}z lib${BPN}nb lib${BPN}-c-glib"
+FILES:lib${BPN} = "${libdir}/libthrift.so.*"
+FILES:lib${BPN}z = "${libdir}/libthriftz.so.*"
+FILES:lib${BPN}nb = "${libdir}/libthriftnb.so.*"
+FILES:lib${BPN}-c-glib = "${libdir}/libthrift_c_glib.so.*"
+FILES:${PN}-compiler = "${bindir}/*"
+
+# The thrift packages just pulls in some default dependencies but is otherwise empty
+RRECOMMENDS:${PN} = "${PN}-compiler lib${BPN}"
+ALLOW_EMPTY:${PN} = "1"
+RRECOMMENDS:${PN}:class-native = ""
+RRECOMMENDS:${PN}:class-nativesdk = ""
diff --git a/meta-oe/recipes-connectivity/transmission/transmission_git.bb b/meta-oe/recipes-connectivity/transmission/transmission_git.bb
index 57267a8de8..735db1441e 100644
--- a/meta-oe/recipes-connectivity/transmission/transmission_git.bb
+++ b/meta-oe/recipes-connectivity/transmission/transmission_git.bb
@@ -1,14 +1,14 @@
DESCRIPTION = "Transmission is a fast, easy, and free BitTorrent client"
SECTION = "network"
HOMEPAGE = "https://transmissionbt.com/"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=73f535ddffcf2a0d3af4f381f84f9b33"
DEPENDS = "curl libevent gnutls openssl libtool intltool-native glib-2.0-native"
-RDEPENDS_${PN}-web = "${PN}"
+RDEPENDS:${PN}-web = "${PN}"
SRC_URI = " \
- gitsm://github.com/transmission/transmission \
+ gitsm://github.com/transmission/transmission;branch=master;protocol=https \
file://transmission-daemon \
"
@@ -18,7 +18,7 @@ PV = "3.00"
S = "${WORKDIR}/git"
-inherit autotools-brokensep gettext update-rc.d systemd mime-xdg
+inherit autotools-brokensep gettext update-rc.d pkgconfig systemd mime-xdg
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
@@ -45,7 +45,7 @@ do_configure() {
oe_runconf
}
-do_install_append() {
+do_install:append() {
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
sed -i '/USERNAME=/c\USERNAME=${TRANSMISSION_USER}' ${WORKDIR}/transmission-daemon
install -d ${D}${sysconfdir}/init.d
@@ -62,12 +62,12 @@ do_install_append() {
PACKAGES += "${PN}-gtk ${PN}-client ${PN}-web"
-FILES_${PN}-client = "${bindir}/transmission-remote ${bindir}/transmission-cli ${bindir}/transmission-create ${bindir}/transmission-show ${bindir}/transmission-edit"
-FILES_${PN}-gtk += "${bindir}/transmission-gtk ${datadir}/icons ${datadir}/applications ${datadir}/pixmaps"
-FILES_${PN}-web = "${datadir}/transmission/web"
-FILES_${PN} = "${bindir}/transmission-daemon ${sysconfdir}/init.d/transmission-daemon ${datadir}/appdata"
+FILES:${PN}-client = "${bindir}/transmission-remote ${bindir}/transmission-cli ${bindir}/transmission-create ${bindir}/transmission-show ${bindir}/transmission-edit"
+FILES:${PN}-gtk += "${bindir}/transmission-gtk ${datadir}/icons ${datadir}/applications ${datadir}/pixmaps"
+FILES:${PN}-web = "${datadir}/transmission/web"
+FILES:${PN} = "${bindir}/transmission-daemon ${sysconfdir}/init.d/transmission-daemon ${datadir}/appdata"
-SYSTEMD_SERVICE_${PN} = "transmission-daemon.service"
+SYSTEMD_SERVICE:${PN} = "transmission-daemon.service"
# Script transmission-daemon following the guidelines in:
# https://trac.transmissionbt.com/wiki/Scripts/initd
diff --git a/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb b/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb
deleted file mode 100644
index 3860fd8b99..0000000000
--- a/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_1.1.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
-HOMEPAGE = "https://github.com/libimobiledevice/usbmuxd"
-LICENSE = "GPLv3 & GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=ebb5c50ab7cab4baeffba14977030c07 \
- file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "udev libusb1 libplist"
-
-inherit autotools pkgconfig gitpkgv systemd
-
-PKGV = "${GITPKGVTAG}"
-
-SRCREV = "79c8b38d1488a6b07e1e68f39d8caec3f1a45622"
-SRC_URI = "git://github.com/libimobiledevice/usbmuxd;protocol=https"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "--without-preflight"
-
-FILES_${PN} += "${base_libdir}/udev/rules.d/"
-
-SYSTEMD_SERVICE_${PN} = "usbmuxd.service"
diff --git a/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb b/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
new file mode 100644
index 0000000000..569d6a41cf
--- /dev/null
+++ b/meta-oe/recipes-connectivity/usbmuxd/usbmuxd_git.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
+HOMEPAGE = "https://github.com/libimobiledevice/usbmuxd"
+LICENSE = "GPL-3.0-only & GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=ebb5c50ab7cab4baeffba14977030c07 \
+ file://COPYING.GPLv3;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "udev libusb1 libplist libimobiledevice-glue"
+
+inherit autotools pkgconfig gitpkgv systemd
+
+PKGV = "${GITPKGVTAG}"
+PV = "1.1.2+git"
+
+SRCREV = "01c94c77f59404924f1c46d99c4e5e0c7817281b"
+SRC_URI = "git://github.com/libimobiledevice/usbmuxd;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--without-preflight"
+
+FILES:${PN} += "${base_libdir}/udev/rules.d/"
+
+SYSTEMD_SERVICE:${PN} = "usbmuxd.service"
diff --git a/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-wfa_cmdproc-Store-return-value-into-location.patch b/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-wfa_cmdproc-Store-return-value-into-location.patch
new file mode 100644
index 0000000000..074f0fe7bb
--- /dev/null
+++ b/meta-oe/recipes-connectivity/wifi-test-suite/files/0001-wfa_cmdproc-Store-return-value-into-location.patch
@@ -0,0 +1,32 @@
+From 2b7d6cf62296ff4e25e5ad909aa39a257bf9ff78 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 19:37:35 -0700
+Subject: [PATCH] wfa_cmdproc: Store return value into location
+
+Fixes
+| wfa_cmdproc.c:100:20: error: incompatible integer to pointer conversion assigning to 'int *' from 'int' [-Wint-conversion]
+| paramValue = atoi(str);
+| ^ ~~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT/pull/57]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/wfa_cmdproc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/wfa_cmdproc.c b/lib/wfa_cmdproc.c
+index 9f5fd16..49a3f16 100644
+--- a/lib/wfa_cmdproc.c
++++ b/lib/wfa_cmdproc.c
+@@ -97,7 +97,7 @@ int getParamValueInt(char *pcmdStr, char *pParam, int *paramValue)
+ if(strcasecmp(pcmdStr, pParam) == 0)
+ {
+ str = strtok_r(NULL, ",", &pcmdStr);
+- paramValue = atoi(str);
++ *paramValue = atoi(str);
+ return 0;
+ }
+ return -1;
+--
+2.37.3
+
diff --git a/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch b/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch
index a51302a0cb..cfa46ff496 100644
--- a/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch
+++ b/meta-oe/recipes-connectivity/wifi-test-suite/files/0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch
@@ -6,6 +6,8 @@ Subject: [PATCH 3/3] fix path to /usr/sbin for script and make script for
Signed-off-by: Ankit Navik <ankit.tarot@gmail.com>
---
+Upstream-Status: Pending
+
lib/wfa_cs.c | 4 ++--
scripts/dev_send_frame | 2 +-
scripts/sta_reset_parm | 2 +-
diff --git a/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_10.10.1.bb b/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_10.10.1.bb
new file mode 100644
index 0000000000..eda01ca388
--- /dev/null
+++ b/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_10.10.1.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Wi-Fi Test Suite Linux Control Agent"
+DESCRIPTION = "Wi-Fi Test Suite is a software platform originally developed \
+by Wi-Fi Alliance, the global non-profit industry association that brings you \
+Wi-Fi, to support certification program development and device certification."
+HOMEPAGE = "https://www.wi-fi.org/certification/wi-fi-test-suite"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0542427ed5c315ca34aa09ae7a85ed32"
+SECTION = "test"
+
+S = "${WORKDIR}/git"
+SRCREV = "12e85fbeca8ca21a632d18e55089a8a7606d64aa"
+SRC_URI = "git://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT.git;branch=master;protocol=https \
+ file://0001-Use-toolchain-from-environment-variables.patch \
+ file://0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch \
+ file://0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch \
+ file://0004-run-ranlib-per-library-and-use-AR.patch \
+ file://fno-common.patch \
+ file://0001-wfa_cmdproc-Store-return-value-into-location.patch \
+"
+
+# to avoid host path QA error
+CFLAGS += "-I${STAGING_INCDIR}/tirpc"
+# Fix GNU HASH error
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ install -d ${D}${libdir}
+ install -m 0644 ${S}/lib/libwfa.a ${D}${libdir}
+ install -m 0644 ${S}/lib/libwfa_ca.a ${D}${libdir}
+ install -m 0644 ${S}/lib/libwfa_dut.a ${D}${libdir}
+ install -d ${D}${sbindir}
+ install -m 0755 ${S}/dut/wfa_dut ${D}${sbindir}
+ install -m 0755 ${S}/ca/wfa_ca ${D}${sbindir}
+ install -m 0755 ${S}/scripts/*.sh ${D}${sbindir}
+ install -m 0755 ${S}/scripts/arp_neigh_loop ${D}${sbindir}
+ install -m 0755 ${S}/scripts/dev_send_frame ${D}${sbindir}
+ install -m 0755 ${S}/scripts/sta_reset_parm ${D}${sbindir}
+}
+
+RDEPENDS:${PN} = "wpa-supplicant"
diff --git a/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb b/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb
deleted file mode 100644
index cb39f5a0e1..0000000000
--- a/meta-oe/recipes-connectivity/wifi-test-suite/wifi-test-suite_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Wi-Fi Test Suite Linux Control Agent"
-DESCRIPTION = "Wi-Fi Test Suite is a software platform originally developed \
-by Wi-Fi Alliance, the global non-profit industry association that brings you \
-Wi-Fi, to support certification program development and device certification."
-HOMEPAGE = "https://www.wi-fi.org/certification/wi-fi-test-suite"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=0542427ed5c315ca34aa09ae7a85ed32"
-SECTION = "test"
-
-S = "${WORKDIR}/git"
-SRCREV = "2da947374c8324f88a0e2155aeba4cf75464b0d8"
-SRC_URI = "git://github.com/Wi-FiTestSuite/Wi-FiTestSuite-Linux-DUT.git \
- file://0001-Use-toolchain-from-environment-variables.patch \
- file://0002-Add-missing-include-removes-unnedded-stuff-and-add-n.patch \
- file://0003-fix-path-to-usr-sbin-for-script-and-make-script-for-.patch \
- file://0004-run-ranlib-per-library-and-use-AR.patch \
- file://fno-common.patch \
-"
-
-# to avoid host path QA error
-CFLAGS += "-I${STAGING_INCDIR}/tirpc"
-# Fix GNU HASH error
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install () {
- install -d ${D}${libdir}
- install -m 0644 ${S}/lib/libwfa.a ${D}${libdir}
- install -m 0644 ${S}/lib/libwfa_ca.a ${D}${libdir}
- install -m 0644 ${S}/lib/libwfa_dut.a ${D}${libdir}
- install -d ${D}${sbindir}
- install -m 0755 ${S}/dut/wfa_dut ${D}${sbindir}
- install -m 0755 ${S}/ca/wfa_ca ${D}${sbindir}
- install -m 0755 ${S}/scripts/*.sh ${D}${sbindir}
- install -m 0755 ${S}/scripts/arp_neigh_loop ${D}${sbindir}
- install -m 0755 ${S}/scripts/dev_send_frame ${D}${sbindir}
- install -m 0755 ${S}/scripts/sta_reset_parm ${D}${sbindir}
-}
-
-RDEPENDS_${PN} = "wpa-supplicant"
diff --git a/meta-oe/recipes-connectivity/wvdial/wvdial/typo_pon.wvdial.1.patch b/meta-oe/recipes-connectivity/wvdial/wvdial/typo_pon.wvdial.1.patch
index eec5a5d646..5f9cf8a31f 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvdial/typo_pon.wvdial.1.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvdial/typo_pon.wvdial.1.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Remove warnings found by lintian
Last-Update: 2011-01-09
Index: wvdial-1.61/pon.wvdial.1
diff --git a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
index 473ceabcf0..99e3ccacac 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
+++ b/meta-oe/recipes-connectivity/wvdial/wvdial_1.61.bb
@@ -1,13 +1,13 @@
HOMEPAGE = "http://www.alumnit.ca/wiki/?WvDial"
DESCRIPTION = "WvDial is a program that makes it easy to connect your Linux workstation to the Internet."
-LICENSE = "LGPLv2"
+LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605"
inherit pkgconfig
DEPENDS = "wvstreams"
-RDEPENDS_${PN} = "ppp"
+RDEPENDS:${PN} = "ppp"
SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${BPN}/${BP}.tar.bz2 \
file://typo_pon.wvdial.1.patch \
@@ -16,7 +16,7 @@ SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.
SRC_URI[md5sum] = "37e9a2d664effe4efd44c0e1a20136de"
SRC_URI[sha256sum] = "99906d9560cbdbc97e1855e7b0a7169f1e11983be3ac539140423f09debced82"
-COMPATIBLE_HOST_libc-musl = "null"
+COMPATIBLE_HOST:libc-musl = "null"
EXTRA_OEMAKE = ""
export WVLINK="${LD}"
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch
index b092ba2fce..42f3e42757 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-Check-for-limits.h-during-configure.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 1/5] Check for limits.h during configure
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch
index 6bc34331d6..954c3d9fca 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0001-build-fix-parallel-make.patch
@@ -7,6 +7,8 @@ Imported from Gentoo
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
Makefile | 15 +++++++++++++--
wvrules-posix.mk | 7 +++++--
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch
index 59f70e380d..5b7135c3f3 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0002-wvrules.mk-Use-_DEFAULT_SOURCE.patch
@@ -8,6 +8,8 @@ warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
wvrules.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch
index f9304197ae..856c2460b4 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0003-wvtask-Check-for-HAVE_LIBC_STACK_END-only-on-glibc-s.patch
@@ -6,6 +6,8 @@ Subject: [PATCH 3/5] wvtask: Check for HAVE_LIBC_STACK_END only on glibc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
utils/wvtask.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch
index 6f3fbffbdf..f960c98622 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0004-wvcrash-Replace-use-of-basename-API.patch
@@ -7,6 +7,8 @@ musl does not have this API
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
utils/wvcrash.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch
index 25e9ee2369..508007c0ea 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/0005-check-for-libexecinfo-during-configure.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 5/5] check for libexecinfo during configure
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/04_signed_request.diff b/meta-oe/recipes-connectivity/wvdial/wvstreams/04_signed_request.diff
index 5ab633bc3d..50f3f72cd4 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/04_signed_request.diff
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/04_signed_request.diff
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: wvstreams-4.6/crypto/wvx509.cc
===================================================================
--- wvstreams-4.6.orig/crypto/wvx509.cc 2009-07-29 11:58:16.000000000 -0400
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/05_gcc.diff b/meta-oe/recipes-connectivity/wvdial/wvstreams/05_gcc.diff
index 616843d4ae..6b31f2e10f 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/05_gcc.diff
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/05_gcc.diff
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: wvstreams-4.6.1/ipstreams/wvunixdgsocket.cc
===================================================================
--- wvstreams-4.6.1.orig/ipstreams/wvunixdgsocket.cc 2011-05-20 00:02:38.391136584 +0200
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/06_gcc-4.7.diff b/meta-oe/recipes-connectivity/wvdial/wvstreams/06_gcc-4.7.diff
index a75067a108..7b05e468a9 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/06_gcc-4.7.diff
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/06_gcc-4.7.diff
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Description: Fix FTBFS with gcc-4.7
Small header include change. This is borderlinde cosmetic, but still needed
to prevent the FTBFS.
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/07_buildflags.diff b/meta-oe/recipes-connectivity/wvdial/wvstreams/07_buildflags.diff
index ec99dcd36a..bd08d81c37 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/07_buildflags.diff
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/07_buildflags.diff
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: b/gen-cc
===================================================================
--- a/gen-cc
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch
index e857213637..ed6e8599e1 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/argp.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Check for argp_parse in libargp and then in libc before using internal version
Index: wvstreams-4.6.1/configure.ac
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch
index b084887ba7..899eeb9212 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/gcc-6.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Description: Fix compilation with gcc-6
Author: Gert Wollny <gw.fossdev@gmail.com>
Last-Updated: 2016-07-26
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams/openssl-buildfix.patch b/meta-oe/recipes-connectivity/wvdial/wvstreams/openssl-buildfix.patch
index 1c7005c2fe..7e372d391d 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams/openssl-buildfix.patch
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams/openssl-buildfix.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: wvstreams-4.6.1/crypto/wvx509.cc
===================================================================
--- wvstreams-4.6.1.orig/crypto/wvx509.cc
diff --git a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
index 57163ce65a..3453f3e964 100644
--- a/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
+++ b/meta-oe/recipes-connectivity/wvdial/wvstreams_4.6.1.bb
@@ -1,11 +1,11 @@
HOMEPAGE = "http://alumnit.ca/wiki/index.php?page=WvStreams"
SUMMARY = "WvStreams is a network programming library in C++"
-LICENSE = "LGPLv2"
+LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
-DEPENDS = "zlib openssl (>= 0.9.8) dbus readline"
-DEPENDS_append_libc-musl = " argp-standalone libexecinfo"
+DEPENDS = "zlib openssl (>= 0.9.8) dbus readline boost"
+DEPENDS:append:libc-musl = " argp-standalone libexecinfo"
SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${BPN}/${BP}.tar.gz \
file://04_signed_request.diff \
@@ -28,31 +28,31 @@ SRC_URI = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.
SRC_URI[md5sum] = "2760dac31a43d452a19a3147bfde571c"
SRC_URI[sha256sum] = "8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633"
-COMPATIBLE_HOST_libc-musl = "null"
+COMPATIBLE_HOST:libc-musl = "null"
inherit autotools-brokensep pkgconfig
-TARGET_CFLAGS_append = " -fno-tree-dce -fno-optimize-sibling-calls"
+TARGET_CFLAGS:append = " -fno-tree-dce -fno-optimize-sibling-calls"
-LDFLAGS_append = " -Wl,-rpath-link,${CROSS_DIR}/${TARGET_SYS}/lib"
+LDFLAGS:append = " -Wl,-rpath-link,${CROSS_DIR}/${TARGET_SYS}/lib"
EXTRA_OECONF = " --without-tcl --without-qt --without-pam --without-valgrind"
-PACKAGES_prepend = "libuniconf "
-PACKAGES_prepend = "uniconfd "
-PACKAGES_prepend = "libwvstreams-base "
-PACKAGES_prepend = "libwvstreams-extras "
-PACKAGES_prepend = "${PN}-valgrind "
+PACKAGES:prepend = "libuniconf "
+PACKAGES:prepend = "uniconfd "
+PACKAGES:prepend = "libwvstreams-base "
+PACKAGES:prepend = "libwvstreams-extras "
+PACKAGES:prepend = "${PN}-valgrind "
-RPROVIDES_${PN}-dbg += "libuniconf-dbg uniconfd-dbg libwvstreams-base-dbg libwvstreams-extras-dbg"
+RPROVIDES:${PN}-dbg += "libuniconf-dbg uniconfd-dbg libwvstreams-base-dbg libwvstreams-extras-dbg"
-FILES_libuniconf = "${libdir}/libuniconf.so.*"
+FILES:libuniconf = "${libdir}/libuniconf.so.*"
-FILES_uniconfd = "${sbindir}/uniconfd ${sysconfdir}/uniconf.conf ${localstatedir}/uniconf"
+FILES:uniconfd = "${sbindir}/uniconfd ${sysconfdir}/uniconf.conf ${localstatedir}/uniconf"
-FILES_libwvstreams-base = "${libdir}/libwvutils.so.*"
+FILES:libwvstreams-base = "${libdir}/libwvutils.so.*"
-FILES_libwvstreams-extras = "${libdir}/libwvbase.so.* ${libdir}/libwvstreams.so.*"
+FILES:libwvstreams-extras = "${libdir}/libwvbase.so.* ${libdir}/libwvstreams.so.*"
-FILES_${PN}-valgrind = "${libdir}/valgrind/wvstreams.supp"
-RDEPENDS_${PN} += "perl"
+FILES:${PN}-valgrind = "${libdir}/valgrind/wvstreams.supp"
+RDEPENDS:${PN} += "perl"
diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch b/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch
index af14a1a56c..97339d3ff9 100644
--- a/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch
+++ b/meta-oe/recipes-connectivity/zabbix/zabbix/0001-Fix-configure.ac.patch
@@ -1,5 +1,7 @@
uname can not get version of kernel correctly while cross compile
+Upstream-Status: Inappropriate [configuration]
+
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
---
configure.ac | 2 +-
diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix/0001-initialize-msghdr-portably.patch b/meta-oe/recipes-connectivity/zabbix/zabbix/0001-initialize-msghdr-portably.patch
new file mode 100644
index 0000000000..a7a1dc1986
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zabbix/zabbix/0001-initialize-msghdr-portably.patch
@@ -0,0 +1,52 @@
+From 37b662cf44e14b33e93759d4b129d23095b41372 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 23:55:02 -0700
+Subject: [PATCH] initialize msghdr portably
+
+on linux we have musl as an option for system C library and current
+initialization assumes the structure to be same as glibc, therefore
+initialize the elements of structure instead, so it can work on both
+glibc and musl.
+
+Fixes
+net.c:115:79: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
+ struct msghdr s_msg = { (void *)&s_sa, sizeof(struct sockaddr_nl), s_io, 1, NULL, 0, 0};
+ ^~~~
+
+Upstream-Status: Submitted [https://github.com/zabbix/zabbix/pull/77]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libs/zbxsysinfo/linux/net.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/libs/zbxsysinfo/linux/net.c b/src/libs/zbxsysinfo/linux/net.c
+index 1425a3604d..98f03de0dd 100644
+--- a/src/libs/zbxsysinfo/linux/net.c
++++ b/src/libs/zbxsysinfo/linux/net.c
+@@ -114,13 +114,21 @@ static int find_tcp_port_by_state_nl(unsigned short port, int state, int *found)
+
+ struct sockaddr_nl s_sa = { AF_NETLINK, 0, 0, 0 };
+ struct iovec s_io[1] = { { &request, sizeof(request) } };
+- struct msghdr s_msg = { (void *)&s_sa, sizeof(struct sockaddr_nl), s_io, 1, NULL, 0, 0};
++ struct msghdr s_msg = { 0 };
++ s_msg.msg_name = (void *)&s_sa;
++ s_msg.msg_namelen = sizeof(struct sockaddr_nl);
++ s_msg.msg_iov = s_io;
++ s_msg.msg_iovlen = 1;
+
+ char buffer[BUFSIZ] = { 0 };
+
+ struct sockaddr_nl r_sa = { AF_NETLINK, 0, 0, 0 };
+ struct iovec r_io[1] = { { buffer, BUFSIZ } };
+- struct msghdr r_msg = { (void *)&r_sa, sizeof(struct sockaddr_nl), r_io, 1, NULL, 0, 0};
++ struct msghdr r_msg = { 0 };
++ r_msg.msg_name = (void *)&r_sa;
++ r_msg.msg_namelen = sizeof(struct sockaddr_nl);
++ r_msg.msg_iov = r_io;
++ r_msg.msg_iovlen = 1;
+
+ struct nlmsghdr *r_hdr;
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch b/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch
deleted file mode 100644
index 2eec4bf327..0000000000
--- a/meta-oe/recipes-connectivity/zabbix/zabbix/CVE-2020-15803.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 4943334fd9bf7dffd49f9e86251ad40b3efe2135 Mon Sep 17 00:00:00 2001
-From: Wang Mingyu <wangmy@cn.fujitsu.com>
-Date: Fri, 11 Dec 2020 17:02:20 +0900
-Subject: [PATCH] Fix bug for CVE-2020-15803
-
-Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
----
- frontends/php/include/classes/html/CIFrame.php | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/frontends/php/include/classes/html/CIFrame.php b/frontends/php/include/classes/html/CIFrame.php
-index 32220cd..70f2ab5 100644
---- a/frontends/php/include/classes/html/CIFrame.php
-+++ b/frontends/php/include/classes/html/CIFrame.php
-@@ -29,6 +29,7 @@ class CIFrame extends CTag {
- $this->setHeight($height);
- $this->setScrolling($scrolling);
- $this->setId($id);
-+ $this->setSandbox();
- }
-
- public function setSrc($value = null) {
-@@ -69,4 +70,10 @@ class CIFrame extends CTag {
- $this->setAttribute('scrolling', $value);
- return $this;
- }
-+
-+ private function setSandbox() {
-+ if (ZBX_IFRAME_SANDBOX !== false) {
-+ $this->setAttribute('sandbox', ZBX_IFRAME_SANDBOX);
-+ }
-+ }
- }
---
-2.25.1
-
diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb b/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb
deleted file mode 100644
index 98a31879c4..0000000000
--- a/meta-oe/recipes-connectivity/zabbix/zabbix_4.4.6.bb
+++ /dev/null
@@ -1,79 +0,0 @@
-SUMMARY = "Open-source monitoring solution for your IT infrastructure"
-DESCRIPTION = "\
-ZABBIX is software that monitors numerous parameters of a network and the \
-health and integrity of servers. ZABBIX uses a flexible notification \
-mechanism that allows users to configure e-mail based alerts for virtually \
-any event. This allows a fast reaction to server problems. ZABBIX offers \
-excellent reporting and data visualisation features based on the stored \
-data. This makes ZABBIX ideal for capacity planning. \
-\
-ZABBIX supports both polling and trapping. All ZABBIX reports and \
-statistics, as well as configuration parameters are accessed through a \
-web-based front end. A web-based front end ensures that the status of \
-your network and the health of your servers can be assessed from any \
-location. Properly configured, ZABBIX can play an important role in \
-monitoring IT infrastructure. This is equally true for small \
-organisations with a few servers and for large companies with a \
-multitude of servers."
-HOMEPAGE = "http://www.zabbix.com/"
-SECTION = "Applications/Internet"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e"
-DEPENDS = "libevent libpcre openldap virtual/libiconv zlib"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRC_URI = "http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/${PV}/${BPN}-${PV}.tar.gz \
- file://0001-Fix-configure.ac.patch \
- file://zabbix-agent.service \
- file://CVE-2020-15803.patch \
-"
-
-SRC_URI[md5sum] = "e666539220be93b1af38e40f5fbb1f79"
-SRC_URI[sha256sum] = "22bb28e667424ad4688f47732853f4241df0e78a7607727b043d704ba726ae0e"
-
-inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "zabbix-agent.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-r zabbix"
-USERADD_PARAM_${PN} = "-r -g zabbix -d /var/lib/zabbix \
- -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \
-"
-
-KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}"
-
-EXTRA_OECONF = " \
- --enable-dependency-tracking \
- --enable-agent \
- --enable-ipv6 \
- --with-net-snmp \
- --with-ldap=${STAGING_EXECPREFIXDIR} \
- --with-unixodbc \
- --with-ssh2 \
- --with-sqlite3 \
- --with-zlib \
- --with-libpthread \
- --with-libevent \
- --with-libpcre \
-"
-CFLAGS_append = " -lldap -llber -pthread"
-
-do_configure_prepend() {
- export KERNEL_VERSION="${KERNEL_VERSION}"
-}
-
-do_install_append() {
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
- sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
- fi
-}
-
-FILES_${PN} += "${libdir}"
-
-RDEPENDS_${PN} = "logrotate"
diff --git a/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.7.bb b/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.7.bb
new file mode 100644
index 0000000000..8708852ce7
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zabbix/zabbix_6.2.7.bb
@@ -0,0 +1,78 @@
+SUMMARY = "Open-source monitoring solution for your IT infrastructure"
+DESCRIPTION = "\
+ZABBIX is software that monitors numerous parameters of a network and the \
+health and integrity of servers. ZABBIX uses a flexible notification \
+mechanism that allows users to configure e-mail based alerts for virtually \
+any event. This allows a fast reaction to server problems. ZABBIX offers \
+excellent reporting and data visualisation features based on the stored \
+data. This makes ZABBIX ideal for capacity planning. \
+\
+ZABBIX supports both polling and trapping. All ZABBIX reports and \
+statistics, as well as configuration parameters are accessed through a \
+web-based front end. A web-based front end ensures that the status of \
+your network and the health of your servers can be assessed from any \
+location. Properly configured, ZABBIX can play an important role in \
+monitoring IT infrastructure. This is equally true for small \
+organisations with a few servers and for large companies with a \
+multitude of servers."
+HOMEPAGE = "http://www.zabbix.com/"
+SECTION = "Applications/Internet"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e"
+DEPENDS = "libevent libpcre openldap virtual/libiconv zlib"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI = "https://cdn.zabbix.com/zabbix/sources/stable/6.2/${BPN}-${PV}.tar.gz \
+ file://0001-Fix-configure.ac.patch \
+ file://0001-initialize-msghdr-portably.patch \
+ file://zabbix-agent.service \
+"
+SRC_URI[sha256sum] = "6d423810667b948ed22052d9aa84a035e2d4b92cbe8efdb669cac529806b722d"
+
+inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "zabbix-agent.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "-r zabbix"
+USERADD_PARAM:${PN} = "-r -g zabbix -d /var/lib/zabbix \
+ -s /sbin/nologin -c \"Zabbix Monitoring System\" zabbix \
+"
+
+KERNEL_VERSION = "${@get_kernelversion_headers('${STAGING_KERNEL_DIR}')}"
+
+EXTRA_OECONF = " \
+ --enable-dependency-tracking \
+ --enable-agent \
+ --enable-ipv6 \
+ --with-net-snmp \
+ --with-ldap=${STAGING_EXECPREFIXDIR} \
+ --with-unixodbc \
+ --with-ssh2 \
+ --with-sqlite3 \
+ --with-zlib \
+ --with-libpthread \
+ --with-libevent \
+ --with-libpcre=${STAGING_EXECPREFIXDIR} \
+ --with-iconv=${STAGING_EXECPREFIXDIR} \
+"
+CFLAGS:append = " -lldap -llber -pthread"
+
+do_configure:prepend() {
+ export KERNEL_VERSION="${KERNEL_VERSION}"
+}
+
+do_install:append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/zabbix-agent.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/zabbix-agent.service
+ fi
+}
+
+FILES:${PN} += "${libdir}"
+
+RDEPENDS:${PN} = "logrotate"
diff --git a/meta-oe/recipes-connectivity/zeromq/cppzmq_4.10.0.bb b/meta-oe/recipes-connectivity/zeromq/cppzmq_4.10.0.bb
new file mode 100644
index 0000000000..dcea339dfd
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zeromq/cppzmq_4.10.0.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "C++ bindings for ZeroMQ"
+HOMEPAGE = "http://www.zeromq.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
+DEPENDS = "zeromq"
+
+SRCREV = "c94c20743ed7d4aa37835a5c46567ab0790d4acc"
+
+SRC_URI = "git://github.com/zeromq/cppzmq.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DCPPZMQ_BUILD_TESTS=OFF"
+
+PACKAGES = "${PN}-dev"
+
+RDEPENDS:${PN}-dev = "zeromq-dev zeromq-staticdev"
+DEV_PKG_DEPENDENCY = ""
diff --git a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb b/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
deleted file mode 100644
index 44e1e9164c..0000000000
--- a/meta-oe/recipes-connectivity/zeromq/cppzmq_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "C++ bindings for ZeroMQ"
-HOMEPAGE = "http://www.zeromq.org"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
-DEPENDS = "zeromq"
-
-SRCREV = "76bf169fd67b8e99c1b0e6490029d9cd5ef97666"
-PV = "4.7.1"
-
-SRC_URI = "git://github.com/zeromq/cppzmq.git;branch=bugfix-4-7-1"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DCPPZMQ_BUILD_TESTS=OFF"
-
-PACKAGES = "${PN}-dev"
-
-RDEPENDS_${PN}-dev = "zeromq-dev"
diff --git a/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb b/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
index e742d2a1c4..5ae72df862 100644
--- a/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
+++ b/meta-oe/recipes-connectivity/zeromq/czmq_4.2.1.bb
@@ -11,22 +11,31 @@ SRC_URI[sha256sum] = "5d720a204c2a58645d6f7643af15d563a712dad98c9d32c1ed913377da
UPSTREAM_CHECK_URI = "https://github.com/zeromq/${BPN}/releases"
-inherit cmake
+inherit cmake pkgconfig
PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-staticdev ${PN} ${PN}-dbg"
-FILES_${PN} = "${bindir}/*"
-FILES_lib${BPN} = "${libdir}/*.so.*"
-FILES_lib${BPN}-dev = "${libdir}/*.so ${libdir}/pkgconfig ${includedir} ${datadir}/cmake"
-FILES_lib${BPN}-staticdev = "${libdir}/lib*.a"
+EXTRA_OECMAKE = " \
+ -DCMAKECONFIG_INSTALL_DIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/') + "/cmake/"} \
+"
-RDEPENDS_lib${BPN}-dev = "zeromq-dev"
+FILES:${PN} = "${bindir}/*"
+FILES:lib${BPN} = "${libdir}/*.so.*"
+FILES:lib${BPN}-dev = "${libdir}/*.so ${libdir}/pkgconfig ${includedir} ${libdir}/cmake"
+FILES:lib${BPN}-staticdev = "${libdir}/lib*.a"
-PACKAGECONFIG ??= "lz4 uuid curl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[lz4] = ",-DCMAKE_DISABLE_FIND_PACKAGE_lz4=TRUE,lz4"
-PACKAGECONFIG[uuid] = ",-DCMAKE_DISABLE_FIND_PACKAGE_uuid=TRUE,util-linux"
-PACKAGECONFIG[curl] = ",-DCMAKE_DISABLE_FIND_PACKAGE_libcurl=TRUE,curl"
-PACKAGECONFIG[systemd] = ",-DCMAKE_DISABLE_FIND_PACKAGE_systemd=TRUE,systemd"
-
-BBCLASSEXTEND = "nativesdk"
+RDEPENDS:lib${BPN}-dev = "zeromq-dev"
+PACKAGECONFIG ??= "lz4 uuid curl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[curl] = "-DCZMQ_WITH_LIBCURL=ON,-DCZMQ_WITH_LIBCURL=OFF,curl"
+PACKAGECONFIG[httpd] = "-DCZMQ_WITH_LIBMICROHTTPD=ON,-DCZMQ_WITH_LIBMICROHTTPD=OFF,libmicrohttpd"
+PACKAGECONFIG[lz4] = "-DCZMQ_WITH_LZ4=ON,-DCZMQ_WITH_LZ4=OFF,lz4"
+PACKAGECONFIG[nss] = "-DCZMQ_WITH_NSS=ON,-DCZMQ_WITH_NSS=OFF,nss"
+PACKAGECONFIG[systemd] = "-DCZMQ_WITH_SYSTEMD=ON,-DCZMQ_WITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[uuid] = "-DCZMQ_WITH_UUID=ON,-DCZMQ_WITH_UUID=OFF,util-linux"
+
+do_install:append() {
+ mkdir -p ${D}/${includedir}/${BPN}
+ mv ${D}/${includedir}/sha1.h ${D}/${includedir}/${BPN}/.
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/czmqTargets.cmake
+}
diff --git a/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.4.bb b/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.4.bb
deleted file mode 100644
index 4381f2d6d6..0000000000
--- a/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.4.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
-HOMEPAGE = "http://www.zeromq.org"
-LICENSE = "LGPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
-
-PACKAGECONFIG ??= "libsodium"
-PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
-
-SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
- file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \
- file://run-ptest \
-"
-SRC_URI[md5sum] = "c897d4005a3f0b8276b00b7921412379"
-SRC_URI[sha256sum] = "c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/libzmq/releases"
-
-inherit cmake ptest pkgconfig
-
-EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \
- -DCMAKE_SKIP_RPATH=ON \
-"
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests
-}
-
-FILES_${PN}-doc += "${datadir}/zmq/*.txt"
diff --git a/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.5.bb b/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.5.bb
new file mode 100644
index 0000000000..555458217a
--- /dev/null
+++ b/meta-oe/recipes-connectivity/zeromq/zeromq_4.3.5.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
+HOMEPAGE = "http://www.zeromq.org"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3"
+
+PACKAGECONFIG ??= "libsodium"
+PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
+
+SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
+ file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \
+ file://run-ptest \
+"
+SRC_URI[sha256sum] = "6653ef5910f17954861fe72332e68b03ca6e4d9c7160eb3a8de5a5a913bfab43"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/libzmq/releases"
+
+inherit cmake ptest pkgconfig
+
+EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \
+ -DCMAKE_SKIP_RPATH=ON \
+"
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests
+}
+
+FILES:${PN}-doc += "${datadir}/zmq/*.txt"
diff --git a/meta-oe/recipes-core/basu/basu_0.2.1.bb b/meta-oe/recipes-core/basu/basu_0.2.1.bb
new file mode 100644
index 0000000000..1b4d5a0fe5
--- /dev/null
+++ b/meta-oe/recipes-core/basu/basu_0.2.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "The sd-bus library, extracted from systemd."
+HOMEPAGE = "https://sr.ht/~emersion/basu"
+SECTION = "base"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://git.sr.ht/~emersion/basu;protocol=https;branch=master"
+
+DEPENDS += "gperf-native"
+
+S = "${WORKDIR}/git"
+PV = "0.2.1+git"
+SRCREV = "a08cf5a575325435040d35710dbac3d0c32b1676"
+
+inherit meson pkgconfig
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[libcap] = "-Dlibcap=enabled,-Dlibcap=disabled,libcap"
+PACKAGECONFIG[audit] = "-Daudit=enabled,-Daudit=disabled,audit"
+
+EXTRA_OEMESON += "--buildtype release"
diff --git a/meta-oe/recipes-core/dbus-cxx/dbus-cxx_0.12.bb b/meta-oe/recipes-core/dbus-cxx/dbus-cxx_0.12.bb
deleted file mode 100644
index db4e591cb9..0000000000
--- a/meta-oe/recipes-core/dbus-cxx/dbus-cxx_0.12.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "D-Bus wrapper in C++ for dbus"
-HOMEPAGE = "https://dbus-cxx.github.io/"
-SECTION = "base"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4cf0188f02184e1e84b9586ac53c3f83"
-
-FILEEXTRAPATHS_prepend = "${THISDIR}/files"
-SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master"
-SRC_URI += "file://fix_build_musl.patch"
-SRCREV = "ea7f8e361d11dc7d41d9ae2c4128aed2cdadd84e"
-
-DEPENDS = "\
- dbus \
- libsigc++-2.0 \
-"
-
-RDEPENDS_${PN} = "\
- dbus \
- libsigc++-2.0 \
-"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig cmake
-
-OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
diff --git a/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.5.1.bb b/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.5.1.bb
new file mode 100644
index 0000000000..e89d1327e8
--- /dev/null
+++ b/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.5.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "D-Bus wrapper in C++ for dbus"
+HOMEPAGE = "https://dbus-cxx.github.io/"
+BUGTRACKER = "https://github.com/libsigcplusplus/libsigcplusplus/issues"
+SECTION = "base"
+LICENSE = "LGPL-3.0-or-later | BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=24594f493407a4cd401ce9794e0b9308"
+
+SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master;protocol=https"
+SRCREV = "732a5becb4349e02ffce407a3fd4d75cc3d82421"
+
+DEPENDS = "\
+ dbus \
+ libsigc++-3 \
+"
+
+RDEPENDS:${PN} = "\
+ dbus \
+ libsigc++-3 \
+"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake
+
+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
diff --git a/meta-oe/recipes-core/dbus-cxx/files/fix_build_musl.patch b/meta-oe/recipes-core/dbus-cxx/files/fix_build_musl.patch
deleted file mode 100644
index 3d912e0b01..0000000000
--- a/meta-oe/recipes-core/dbus-cxx/files/fix_build_musl.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/dbus-cxx/timeout.cpp b/dbus-cxx/timeout.cpp
-index 16e9f7e..aa0b99f 100644
---- a/dbus-cxx/timeout.cpp
-+++ b/dbus-cxx/timeout.cpp
-@@ -132,7 +132,7 @@ namespace DBus
- return m_cobj;
- }
-
-- void Timeout::timer_callback_proxy( sigval_t sv ) {
-+ void Timeout::timer_callback_proxy( union sigval sv ) {
- SIMPLELOGGER_DEBUG( "dbus.Timeout","Timeout::timer_callback_proxy" );
- Timeout* t;
- t = ( Timeout* ) sv.sival_ptr;
-diff --git a/dbus-cxx/timeout.h b/dbus-cxx/timeout.h
-index 1e469b5..5b69fbb 100644
---- a/dbus-cxx/timeout.h
-+++ b/dbus-cxx/timeout.h
-@@ -83,7 +83,7 @@ namespace DBus
-
- std::mutex m_arming_mutex;
-
-- static void timer_callback_proxy( sigval_t sv );
-+ static void timer_callback_proxy( union sigval sv );
-
- };
-
diff --git a/meta-oe/recipes-core/dbus/dbus-broker_26.bb b/meta-oe/recipes-core/dbus/dbus-broker_26.bb
deleted file mode 100644
index 5517883df5..0000000000
--- a/meta-oe/recipes-core/dbus/dbus-broker_26.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "dbus broker"
-DESCRIPTION = "Drop-in replacement for dbus-daemon."
-
-SECTION = "base"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8"
-
-SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz"
-SRC_URI[sha256sum] = "6a6ab82fc398d4bc31b315f4e1c08f17509e4a1969f1cc77a5706db8923c74e1"
-
-UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases"
-
-inherit meson pkgconfig systemd features_check
-
-DEPENDS = "expat systemd"
-DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
-DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'audit', '', d)}"
-
-RDEPENDS_${PN} += "dbus-common"
-
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-FILES_${PN} += "${systemd_system_unitdir}"
-FILES_${PN} += "${systemd_user_unitdir}"
-FILES_${PN} += "${nonarch_libdir}/systemd/catalog"
-
-EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}"
-EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}"
-EXTRA_OEMESON += " -Dlinux-4-17=true"
-
diff --git a/meta-oe/recipes-core/dbus/dbus-broker_32.bb b/meta-oe/recipes-core/dbus/dbus-broker_32.bb
new file mode 100644
index 0000000000..900b5e3ac8
--- /dev/null
+++ b/meta-oe/recipes-core/dbus/dbus-broker_32.bb
@@ -0,0 +1,32 @@
+SUMMARY = "dbus broker"
+DESCRIPTION = "Drop-in replacement for dbus-daemon."
+
+SECTION = "base"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8"
+
+SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz"
+SRC_URI[sha256sum] = "bea7f653e7251063c5f427e9e3f93562d38a0d8667ae6d49fb56f113605985de"
+
+UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases"
+
+inherit meson pkgconfig systemd features_check
+
+DEPENDS = "expat systemd"
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux (>= 3.2)', '', d)}"
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'audit (>= 3.0)', '', d)}"
+
+RDEPENDS:${PN} += "dbus-common"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+
+FILES:${PN} += "${systemd_system_unitdir}"
+FILES:${PN} += "${systemd_user_unitdir}"
+FILES:${PN} += "${nonarch_libdir}/systemd/catalog"
+
+EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}"
+EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}"
+
diff --git a/meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch b/meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch
index 2c4ca057f2..ebcb9e7e24 100644
--- a/meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch
+++ b/meta-oe/recipes-core/dbus/dbus-daemon-proxy/0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch
@@ -9,6 +9,8 @@ not be handled here
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
dbus-daemon-proxy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -21,7 +23,7 @@ index 009e4fd..f3f0d80 100644
if (!dbus_conn)
- return;
-+ DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
++ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
if (verbose)
g_print ("New message from server: type='%d' path='%s' iface='%s'"
diff --git a/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb b/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
index 42cd032c22..cbe82d42e7 100644
--- a/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
+++ b/meta-oe/recipes-core/dbus/dbus-daemon-proxy_git.bb
@@ -1,12 +1,11 @@
SUMMARY = "dbus forwarding daemon"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://dbus-daemon-proxy.c;endline=19;md5=41df6d21fe1c97d6a1cc22a5bf374cba"
DEPENDS = "dbus dbus-glib"
SRCREV = "1226a0a1374628ff191f6d8a56000be5e53e7608"
-PV = "0.0.0+gitr${SRCPV}"
-PR = "r1.59"
+PV = "0.0.0+git"
-SRC_URI = "git://github.com/alban/dbus-daemon-proxy \
+SRC_URI = "git://github.com/alban/dbus-daemon-proxy;branch=master;protocol=https \
file://0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch
index 6883f9a0b2..5710c867fa 100644
--- a/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch
+++ b/meta-oe/recipes-core/dbus/libdbus-c++-0.9.0/0001-pipe.c-Use-a-string-instead-of-char.patch
@@ -8,6 +8,8 @@ error: invalid conversion from 'char' to 'const void*' [-fpermissive]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/pipe.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb
index a6d8b86ee0..8e8f544e8e 100644
--- a/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb
+++ b/meta-oe/recipes-core/dbus/libdbus-c++_0.9.0.bb
@@ -2,7 +2,7 @@ SUMMARY = "DBus-C++ Library"
DESCRIPTION = "DBus-c++ attempts to provide a C++ API for D-BUS. The library has a glib and an Ecore mainloop integration. It also offers an optional own main loop."
HOMEPAGE = "http://dbus-cplusplus.sourceforge.net"
SECTION = "base"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
DEPENDS = "dbus expat glib-2.0 libpcre"
@@ -25,6 +25,6 @@ LDFLAGS += "-pthread"
PACKAGE_BEFORE_PN = "${PN}-tools"
-FILES_${PN}-tools = "${bindir}"
+FILES:${PN}-tools = "${bindir}"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-core/emlog/emlog.inc b/meta-oe/recipes-core/emlog/emlog.inc
index 9a0f9ba928..631e52f388 100644
--- a/meta-oe/recipes-core/emlog/emlog.inc
+++ b/meta-oe/recipes-core/emlog/emlog.inc
@@ -1,11 +1,11 @@
DESCRIPTION = "emlog is a Linux kernel module that makes it easy to access the \
most recent (and only the most recent) output from a process"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-SRC_URI = "git://github.com/nicupavel/emlog.git;protocol=http"
-SRCREV = "aee53e8dee862f35291242ba41b0ca88010f6c71"
-
+SRC_URI = "git://github.com/nicupavel/emlog.git;protocol=https;branch=master"
+SRCREV = "a9bbf324fde131ff4cf064e32674086c4ced4dca"
+PV = "0.70+git"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += " \
diff --git a/meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch b/meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch
index 6bfc44cb85..4c5a191ac4 100644
--- a/meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch
+++ b/meta-oe/recipes-core/emlog/emlog/Drop-use-of-error-h.patch
@@ -10,6 +10,8 @@ friendly it makes sense to avoid glibc-specific code.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
---
+Upstream-Status: Pending
+
mkemlog.c | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/meta-oe/recipes-core/emlog/emlog_git.bb b/meta-oe/recipes-core/emlog/emlog_git.bb
index 387dd67123..6331f618fc 100644
--- a/meta-oe/recipes-core/emlog/emlog_git.bb
+++ b/meta-oe/recipes-core/emlog/emlog_git.bb
@@ -4,7 +4,7 @@ SRC_URI += "file://${BPN}.initd \
file://0001-Remove-modules_clean-from-clean-target.patch \
"
-SRC_URI_append_libc-musl = " file://Drop-use-of-error-h.patch"
+SRC_URI:append:libc-musl = " file://Drop-use-of-error-h.patch"
inherit update-rc.d
@@ -23,4 +23,15 @@ do_install() {
install -Dm 0755 ${S}/mkemlog ${D}${bindir}/mkemlog
}
-RRECOMMENDS_${PN} += "kernel-module-emlog"
+RRECOMMENDS:${PN} += "kernel-module-emlog"
+
+CVE_STATUS_GROUPS += "CVE_STATUS_EMLOG"
+CVE_STATUS_EMLOG[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored."
+CVE_STATUS_EMLOG = " \
+ CVE-2019-16868 \
+ CVE-2019-17073 \
+ CVE-2021-44584 \
+ CVE-2022-1526 \
+ CVE-2022-3968 \
+ CVE-2023-43291 \
+"
diff --git a/meta-oe/recipes-core/glfw/glfw_3.3.8.bb b/meta-oe/recipes-core/glfw/glfw_3.3.8.bb
new file mode 100644
index 0000000000..684355ef3e
--- /dev/null
+++ b/meta-oe/recipes-core/glfw/glfw_3.3.8.bb
@@ -0,0 +1,36 @@
+SUMMARY = "A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input"
+HOMEPAGE = "https://www.glfw.org/"
+DESCRIPTION = "GLFW is an Open Source, multi-platform library for OpenGL, \
+OpenGL ES and Vulkan application development. It provides a simple, \
+platform-independent API for creating windows, contexts and surfaces, reading \
+input, handling events, etc."
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=98d93d1ddc537f9b9ea6def64e046b5f"
+SECTION = "lib"
+
+inherit pkgconfig cmake features_check
+
+PV .= "+git"
+SRCREV = "7482de6071d21db77a7236155da44c172a7f6c9e"
+SRC_URI = "git://github.com/glfw/glfw.git;branch=3.3-stable;protocol=https"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_DOCS=OFF"
+
+CFLAGS += "-fPIC"
+
+DEPENDS = "libpng zlib"
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+ANY_OF_DISTRO_FEATURES = "wayland x11"
+
+# upstream considers x11 and wayland backends mutually exclusive and will
+# prioritize wayland if it is enabled, but wayland has dependencies that cannot
+# be satisfied by this layer so it is disabled by default
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[wayland] = "-DGLFW_USE_WAYLAND=ON,,wayland wayland-native wayland-protocols extra-cmake-modules libxkbcommon"
+PACKAGECONFIG[x11] = ",,libxrandr libxinerama libxi libxcursor libglu"
+
+COMPATIBLE_HOST:libc-musl = "null"
diff --git a/meta-oe/recipes-core/glfw/glfw_3.3.bb b/meta-oe/recipes-core/glfw/glfw_3.3.bb
deleted file mode 100644
index 0fcf716c8e..0000000000
--- a/meta-oe/recipes-core/glfw/glfw_3.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input"
-HOMEPAGE = "https://www.glfw.org/"
-DESCRIPTION = "GLFW is an Open Source, multi-platform library for OpenGL, \
-OpenGL ES and Vulkan application development. It provides a simple, \
-platform-independent API for creating windows, contexts and surfaces, reading \
-input, handling events, etc."
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=98d93d1ddc537f9b9ea6def64e046b5f"
-SECTION = "lib"
-
-inherit pkgconfig cmake features_check
-
-PV .= "+git${SRCPV}"
-SRCREV = "781fbbadb0bccc749058177b1385c82da9ace880"
-SRC_URI = "git://github.com/glfw/glfw.git"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_DOCS=OFF"
-
-CFLAGS += "-fPIC"
-
-DEPENDS = "libpng libglu zlib libxrandr libxinerama libxi libxcursor"
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-COMPATIBLE_HOST_libc-musl = "null"
diff --git a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.78.0.bb b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.78.0.bb
new file mode 100644
index 0000000000..f40a8144d7
--- /dev/null
+++ b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.78.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "C++ bindings for the glib library"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
+
+GNOMEBN = "glibmm"
+inherit gnomebase
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI[archive.sha256sum] = "5d2e872564996f02a06d8bbac3677e7c394af8b00dd1526aebd47af842a3ef50"
+
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
+FILES:${PN} = "${libdir}/lib*.so.*"
+FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/${BPN}/include/ ${libdir}/${BPN}/proc/ ${libdir}/giomm-2.68/include/"
+
+RDEPENDS:${PN}-dev = "perl"
+
+EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross -Dmaintainer-mode=false"
+
+do_write_config:append() {
+ cat >${WORKDIR}/meson-${PN}.cross <<EOF
+[binaries]
+m4 = '${bindir}/m4'
+perl = '${bindir}/perl'
+EOF
+}
diff --git a/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch b/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
deleted file mode 100644
index 42f2520175..0000000000
--- a/meta-oe/recipes-core/glib-2.0/glibmm/remove-examples.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 52360260c0d73a00082d867bc416225fbc2b657e Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Tue, 12 Jul 2011 11:46:37 +0200
-Subject: [PATCH] glibmm: add 2.28.2
-
----
- Makefile.am | 7 +------
- configure.ac | 1 -
- 2 files changed, 1 insertion(+), 7 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 1b366b4..0ff58b5 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -23,12 +23,7 @@ src_subdirs = glib/src gio/src
- else
- src_subdirs =
- endif
--if ENABLE_DOCUMENTATION
--doc_subdirs = docs
--else
--doc_subdirs =
--endif
--SUBDIRS = tools $(src_subdirs) glib/glibmm gio/giomm tests examples $(doc_subdirs)
-+SUBDIRS = tools $(src_subdirs) glib/glibmm gio/giomm tests
-
- glibmm_includedir = $(includedir)/$(GLIBMM_MODULE_NAME)
- glibmm_include_HEADERS = glib/glibmm.h
-diff --git a/configure.ac b/configure.ac
-index e706687..198e0d0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -166,7 +166,6 @@ AC_CONFIG_FILES([Makefile
- gio/src/Makefile
- gio/giomm/Makefile
- tests/Makefile
-- examples/Makefile
- docs/Makefile
- docs/reference/Doxyfile
- MSVC_NMake/glibmm/glibmm.rc
diff --git a/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb b/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
deleted file mode 100644
index 75eea4e589..0000000000
--- a/meta-oe/recipes-core/glib-2.0/glibmm_2.62.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "C++ bindings for the glib library"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
-inherit gnomebase
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI += " \
- file://remove-examples.patch \
-"
-SRC_URI[archive.md5sum] = "7da228e3f0c6a10024b9a7708c53691e"
-SRC_URI[archive.sha256sum] = "36659f13cc73282392d1305858f3bbca46fbd1ce2f078cc9db8b9f79b2e93cfe"
-
-do_install_append() {
- install -d ${D}${datadir}/glibmm-2.4
- install -d ${D}${datadir}/aclocal
-
- install -m 0644 glib/glibmmconfig.h ${D}${datadir}/glibmm-2.4/
- install -m 0644 scripts/glibmm_check_perl.m4 ${D}${datadir}/aclocal/ || true
-
- for i in generate_wrap_init.pl gmmproc; do
- sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/glibmm-2.4/proc/$i
- done
-}
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
-
-RDEPENDS_${PN}-dev = "perl"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb b/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb
new file mode 100644
index 0000000000..c78dd55ca6
--- /dev/null
+++ b/meta-oe/recipes-core/glib-2.0/glibmm_2.66.2.bb
@@ -0,0 +1,30 @@
+SUMMARY = "C++ bindings for the glib library"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
+
+
+inherit gnomebase
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI[archive.sha256sum] = "b2a4cd7b9ae987794cbb5a1becc10cecb65182b9bb841868625d6bbb123edb1d"
+
+FILES:${PN} = "${libdir}/lib*.so.*"
+FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
+
+RDEPENDS:${PN}-dev = "perl"
+
+EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross -Dmaintainer-mode=false"
+
+do_write_config:append() {
+ cat >${WORKDIR}/meson-${PN}.cross <<EOF
+[binaries]
+m4 = '${bindir}/m4'
+perl = '${bindir}/perl'
+EOF
+}
diff --git a/meta-oe/recipes-core/images/meta-oe-image-all.bb b/meta-oe/recipes-core/images/meta-oe-image-all.bb
new file mode 100644
index 0000000000..1338adf29f
--- /dev/null
+++ b/meta-oe/recipes-core/images/meta-oe-image-all.bb
@@ -0,0 +1,5 @@
+require recipes-core/images/core-image-base.bb
+
+SUMMARY = "meta-oe build test image"
+
+IMAGE_INSTALL += "packagegroup-meta-oe"
diff --git a/meta-oe/recipes-core/images/meta-oe-image-base.bb b/meta-oe/recipes-core/images/meta-oe-image-base.bb
deleted file mode 100644
index df92f16705..0000000000
--- a/meta-oe/recipes-core/images/meta-oe-image-base.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-SUMMARY = "meta-oe build test image"
-
-IMAGE_INSTALL = "packagegroup-core-boot"
-
-LICENSE = "MIT"
-
-inherit core-image
diff --git a/meta-oe/recipes-core/images/meta-oe-image-ptest-all.bb b/meta-oe/recipes-core/images/meta-oe-image-ptest-all.bb
new file mode 100644
index 0000000000..da942e8bee
--- /dev/null
+++ b/meta-oe/recipes-core/images/meta-oe-image-ptest-all.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Recipe to trigger execution of all meta-oe ptest images."
+HOMEPAGE = "https://www.openembedded.org/"
+
+LICENSE = "MIT"
+
+inherit features_check nopackages
+REQUIRED_DISTRO_FEATURES = "ptest"
+
+require conf/include/ptest-packagelists-meta-oe.inc
+
+# Include the full set of ptests
+PTESTS_META_OE = "${PTESTS_FAST_META_OE} ${PTESTS_SLOW_META_OE} ${PTESTS_PROBLEMS_META_OE}"
+
+do_testimage[noexec] = "1"
+do_testimage[depends] = "${@' '.join(['meta-oe-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_OE').split()])}"
+
+do_build[depends] = "${@' '.join(['meta-oe-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_OE').split()])}"
+
+# normally image.bbclass would do this
+EXCLUDE_FROM_WORLD = "1"
+
+python () {
+ if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d):
+ bb.build.addtask("do_testimage", "", "", d)
+}
diff --git a/meta-oe/recipes-core/images/meta-oe-image-ptest-fast.bb b/meta-oe/recipes-core/images/meta-oe-image-ptest-fast.bb
new file mode 100644
index 0000000000..46b48d65d6
--- /dev/null
+++ b/meta-oe/recipes-core/images/meta-oe-image-ptest-fast.bb
@@ -0,0 +1,6 @@
+require meta-oe-image-ptest-all.bb
+
+DESCRIPTION = "Recipe to trigger execution of all fast meta-oe ptest images."
+
+PTESTS_META_OE = "${PTESTS_FAST_META_OE}"
+
diff --git a/meta-oe/recipes-core/images/meta-oe-image-ptest.bb b/meta-oe/recipes-core/images/meta-oe-image-ptest.bb
new file mode 100644
index 0000000000..b32df0e221
--- /dev/null
+++ b/meta-oe/recipes-core/images/meta-oe-image-ptest.bb
@@ -0,0 +1,41 @@
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "ptest"
+
+require recipes-core/images/core-image-minimal.bb
+require conf/include/ptest-packagelists-meta-oe.inc
+
+SUMMARY = "meta-oe ptest test image"
+
+DESCRIPTION += "Also including the ${MCNAME} ptest package."
+HOMEPAGE = "https://www.openembedded.org/"
+
+PTESTS_META_OE = "${PTESTS_SLOW_META_OE} ${PTESTS_FAST_META_OE} ${PTESTS_PROBLEMS_META_OE}"
+
+IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
+
+BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_OE').split()])}"
+
+# The image can be sufficiently large (~1.8GB) that we need to be careful that it fits in a live
+# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
+# box) and explicitly add up to 1500MB.
+IMAGE_OVERHEAD_FACTOR = "1.0"
+IMAGE_ROOTFS_EXTRA_SPACE = "324288"
+# If a particular ptest needs more space, it can be customized:
+#IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-<pn> = "1024288"
+IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-poco = "1024288"
+
+# ptests need more memory than standard to avoid the OOM killer
+QB_MEM = "-m 1024"
+# If a particular ptest needs more memroy, it can be customized:
+#QB_MEM:virtclass-mcextend-<pn> = "-m 4096"
+
+TEST_SUITES = "ping ssh parselogs ptest"
+
+# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
+PTEST_EXPECT_FAILURE = "1"
+
+python () {
+ if not d.getVar("MCNAME"):
+ raise bb.parse.SkipRecipe("No class extension set")
+}
+
diff --git a/meta-oe/recipes-core/images/meta-oe-image.bb b/meta-oe/recipes-core/images/meta-oe-image.bb
deleted file mode 100644
index 1565549059..0000000000
--- a/meta-oe/recipes-core/images/meta-oe-image.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require meta-oe-image-base.bb
-
-SUMMARY = "meta-oe build test image"
-
-IMAGE_INSTALL += "packagegroup-meta-oe"
diff --git a/meta-oe/recipes-core/images/meta-oe-ptest-image.bb b/meta-oe/recipes-core/images/meta-oe-ptest-image.bb
deleted file mode 100644
index 0166b9c41d..0000000000
--- a/meta-oe/recipes-core/images/meta-oe-ptest-image.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require meta-oe-image-base.bb
-
-SUMMARY = "meta-oe ptest test image"
-
-IMAGE_INSTALL += "packagegroup-meta-oe"
diff --git a/meta-oe/recipes-core/libnfc/libnfc_git.bb b/meta-oe/recipes-core/libnfc/libnfc_git.bb
index 9e602f193b..a97a2841f7 100644
--- a/meta-oe/recipes-core/libnfc/libnfc_git.bb
+++ b/meta-oe/recipes-core/libnfc/libnfc_git.bb
@@ -1,17 +1,17 @@
SUMMARY = "Platform independent Near Field Communication (NFC) library"
DESCRIPTION = "libnfc is a library which allows userspace application access \
to NFC devices."
-LICENSE = "LGPLv3"
+LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
SECTION = "libs"
inherit autotools pkgconfig
-PV = "1.8.0+git${SRCPV}"
+PV = "1.8.0+git"
S = "${WORKDIR}/git"
SRCREV = "f02ff51449240102c27a97173dc495e8e7789046"
-SRC_URI = "git://github.com/nfc-tools/libnfc.git"
+SRC_URI = "git://github.com/nfc-tools/libnfc.git;branch=master;protocol=https"
-CFLAGS_append_libc-musl = " -D_GNU_SOURCE"
+CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
DEPENDS = "libusb"
diff --git a/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.6.bb b/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.6.bb
deleted file mode 100644
index f4c5aa396a..0000000000
--- a/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.10.6.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A library for loose coupling of C++ method calls"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-
-DEPENDS = "mm-common"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-${PV}.tar.xz"
-SRC_URI[sha256sum] = "dda176dc4681bda9d5a2ac1bc55273bdd381662b7a6d49e918267d13e8774e1b"
-
-S = "${WORKDIR}/libsigc++-${PV}"
-
-inherit meson
-
-FILES_${PN}-dev += "${libdir}/sigc++-*/"
-FILES_${PN}-doc += "${datadir}/devhelp"
-
-BBCLASSEXTEND = "native"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.12.1.bb b/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.12.1.bb
new file mode 100644
index 0000000000..b2eb5dd094
--- /dev/null
+++ b/meta-oe/recipes-core/libsigc++-2.0/libsigc++-2.0_2.12.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.12/libsigc++-${PV}.tar.xz"
+SRC_URI[sha256sum] = "a9dbee323351d109b7aee074a9cb89ca3e7bcf8ad8edef1851f4cf359bd50843"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit meson
+
+FILES:${PN}-dev += "${libdir}/sigc++-*/"
+FILES:${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.6.bb b/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.6.bb
deleted file mode 100644
index 7471308e4f..0000000000
--- a/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.0.6.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "A library for loose coupling of C++ method calls"
-SECTION = "libs"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875"
-
-DEPENDS = "mm-common"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.0/libsigc++-${PV}.tar.xz"
-SRC_URI[md5sum] = "8cc0c1df6b7d9c466555f4a2963ab06a"
-SRC_URI[sha256sum] = "b70edcf4611651c54a426e109b17196e1fa17da090592a5000e2d134c03ac5ce"
-
-S = "${WORKDIR}/libsigc++-${PV}"
-
-inherit setuptools3 meson
-
-FILES_${PN}-dev += "${libdir}/sigc++-*/"
-FILES_${PN}-doc += "${datadir}/devhelp"
-
-BBCLASSEXTEND = "native"
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.6.0.bb b/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.6.0.bb
new file mode 100644
index 0000000000..0753457c9d
--- /dev/null
+++ b/meta-oe/recipes-core/libsigc++-2.0/libsigc++-3_3.6.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "A library for loose coupling of C++ method calls"
+SECTION = "libs"
+LICENSE = "LGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875"
+
+DEPENDS = "mm-common"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.6/libsigc++-${PV}.tar.xz"
+SRC_URI[sha256sum] = "c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17"
+
+S = "${WORKDIR}/libsigc++-${PV}"
+
+inherit setuptools3 meson
+
+FILES:${PN}-dev += "${libdir}/sigc++-*/"
+FILES:${PN}-doc += "${datadir}/devhelp"
+
+BBCLASSEXTEND = "native"
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb b/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb
new file mode 100644
index 0000000000..ada0199476
--- /dev/null
+++ b/meta-oe/recipes-core/libxml/libxml++-5.0_5.0.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "C++ wrapper for libxml library"
+DESCRIPTION = "C++ wrapper for libxml library"
+HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
+BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
+
+DEPENDS = "libxml2 glibmm"
+
+GNOMEBN = "libxml++"
+inherit gnomebase ptest
+
+S = "${WORKDIR}/libxml++-${PV}"
+
+SRC_URI[archive.sha256sum] = "15c38307a964fa6199f4da6683a599eb7e63cc89198545b36349b87cf9aa0098"
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/libxml++-${@gnome_verdir("${PV}")}/include/libxml++config.h"
diff --git a/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch b/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
deleted file mode 100644
index 0d1a5186a6..0000000000
--- a/meta-oe/recipes-core/libxml/libxml++/libxml++_ptest.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-Index: libxml++-2.40.1/Makefile.am
-===================================================================
---- libxml++-2.40.1.orig/Makefile.am
-+++ libxml++-2.40.1/Makefile.am
-@@ -24,5 +24,8 @@ dist_noinst_SCRIPTS = autogen.sh
-
- DISTCLEANFILES = MSVC_Net2010/libxml++/libxml++config.h
-
-+install-ptest:
-+ make -C examples install-ptest
-+
- # Optional: auto-generate the ChangeLog file from the git log on make dist
- include $(top_srcdir)/build/dist-changelog.am
-Index: libxml++-2.40.1/examples/Makefile.am
-===================================================================
---- libxml++-2.40.1.orig/examples/Makefile.am
-+++ libxml++-2.40.1/examples/Makefile.am
-@@ -19,6 +19,8 @@ AM_CPPFLAGS = -I$(top_builddir) -I$(top_
- AM_CXXFLAGS = $(LIBXMLXX_WXXFLAGS)
- LDADD = $(top_builddir)/libxml++/libxml++-$(LIBXMLXX_API_VERSION).la $(LIBXMLXX_LIBS)
-
-+LOG_DRIVER = $(SHELL) ../macros/test-driver
-+
- check_PROGRAMS = \
- dom_build/dom_build \
- dom_parse_entities/dom_parse_entities \
-@@ -37,6 +39,23 @@ check_PROGRAMS = \
- schemavalidation/schemavalidation \
- textreader/textreader
-
-+check_DOTLIBS = \
-+ dom_build/.libs/dom_build \
-+ dom_parse_entities/.libs/dom_parse_entities \
-+ dom_parser/.libs/dom_parser \
-+ dom_parser_raw/.libs/dom_parser_raw \
-+ dom_read_write/.libs/dom_read_write \
-+ dom_xinclude/.libs/dom_xinclude \
-+ dom_xpath/.libs/dom_xpath \
-+ dtdvalidation/.libs/dtdvalidation \
-+ import_node/.libs/import_node \
-+ sax_exception/.libs/sax_exception \
-+ sax_parser/.libs/sax_parser \
-+ sax_parser_build_dom/.libs/sax_parser_build_dom \
-+ sax_parser_entities/.libs/sax_parser_entities \
-+ schemavalidation/.libs/schemavalidation \
-+ textreader/.libs/textreader
-+
- # Shell scripts that call the example programs.
- check_SCRIPTS = \
- dom_build/make_check.sh \
-@@ -154,10 +173,10 @@ dist_noinst_DATA = \
- # file are located in different directories.
- dom_read_write/make_check.sh: Makefile
- echo '# Generated and used by "make check"' >$@
-- echo 'dom_read_write/dom_read_write "$(srcdir)/dom_read_write/example.xml" dom_read_write/example_output.xml >/dev/null' >>$@
-+ echo 'cd dom_read_write && .libs/dom_read_write "example.xml" example_output.xml >/dev/null' >>$@
- chmod +x $@
-
--script_template = cd "$(srcdir)/<!progname!>" && "$(abs_builddir)/<!progname!>/<!progname!>" >/dev/null
-+script_template = cd "<!progname!>" && ".libs/<!progname!>" >/dev/null
- standard_scripts = $(filter-out dom_read_write/make_check.sh,$(check_SCRIPTS))
-
- # All other script files are generated like so:
-@@ -169,3 +188,18 @@ $(standard_scripts): Makefile
- CLEANFILES = \
- dom_read_write/example_output.xml \
- $(check_SCRIPTS)
-+
-+buildtest: all
-+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(check_SCRIPTS)
-+ $(MAKE) $(AM_MAKEFLAGS) buildtest-TESTS
-+
-+install-ptest:
-+ $(MKDIR_P) $(DESTDIR)/examples
-+ cp --parents $(check_DOTLIBS) $(DESTDIR)/examples
-+ cp --parents $(check_SCRIPTS) $(DESTDIR)/examples
-+ cd $(srcdir) && cp --parents $(dist_noinst_DATA) $(DESTDIR)/examples
-+ cp Makefile $(DESTDIR)/examples
-+ $(MKDIR_P) $(DESTDIR)/macros
-+ cp $(top_srcdir)/build/test-driver $(DESTDIR)/macros
-+ sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/examples/Makefile
-+
diff --git a/meta-oe/recipes-core/libxml/libxml++/run-ptest b/meta-oe/recipes-core/libxml/libxml++/run-ptest
deleted file mode 100644
index 236f667538..0000000000
--- a/meta-oe/recipes-core/libxml/libxml++/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-cd examples
-make -k check-TESTS
diff --git a/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb b/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb
deleted file mode 100644
index c001c184cb..0000000000
--- a/meta-oe/recipes-core/libxml/libxml++_2.40.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "C++ wrapper for libxml library"
-DESCRIPTION = "C++ wrapper for libxml library"
-HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
-BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
-SECTION = "libs"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-SRC_URI = "${GNOME_MIRROR}/${BPN}/${SHRT_VER}/${BP}.tar.xz \
- file://libxml++_ptest.patch \
- file://run-ptest \
-"
-SRC_URI[md5sum] = "377a87bea899f2b4ff62df2418c3d8a6"
-SRC_URI[sha256sum] = "4ad4abdd3258874f61c2e2a41d08e9930677976d303653cd1670d3e9f35463e9"
-
-DEPENDS = "libxml2 glibmm"
-
-inherit autotools pkgconfig ptest
-
-do_compile_ptest() {
- oe_runmake -C examples buildtest
-}
-
-FILES_${PN}-doc += "${datadir}/devhelp"
-FILES_${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
-
-RDEPENDS_${PN}-ptest += "make"
diff --git a/meta-oe/recipes-core/mdbus2/mdbus2_git.bb b/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
index 71ab4d45a7..a7ac358f27 100644
--- a/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
+++ b/meta-oe/recipes-core/mdbus2/mdbus2_git.bb
@@ -1,18 +1,18 @@
SUMMARY = "Mickey's DBus Introspection and Interaction Utility V2"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
DEPENDS = "readline"
-PV = "2.3.3+git${SRCPV}"
+PV = "2.3.3+git"
-SRC_URI = "git://github.com/freesmartphone/mdbus.git;protocol=http \
+SRC_URI = "git://github.com/freesmartphone/mdbus.git;protocol=https;branch=master \
file://0001-Fix-arguments-in-GLib.DBusSignalCallback-for-Vala-0..patch \
"
SRCREV = "28202692d0b441000f4ddb8f347f72d1355021aa"
S = "${WORKDIR}/git"
-inherit autotools vala
+inherit autotools pkgconfig vala
EXTRA_OECONF += "--enable-vala"
diff --git a/meta-oe/recipes-core/meta/buildtools-imagemagick.bb b/meta-oe/recipes-core/meta/buildtools-imagemagick.bb
new file mode 100644
index 0000000000..d59f7a7a52
--- /dev/null
+++ b/meta-oe/recipes-core/meta/buildtools-imagemagick.bb
@@ -0,0 +1,10 @@
+require recipes-core/meta/buildtools-tarball.bb
+
+SUMMARY = "Standalone tarball of imagemagick binaries"
+LICENSE = "MIT"
+
+# Add nativesdk equivalent of build-essentials
+TOOLCHAIN_HOST_TASK = "nativesdk-imagemagick nativesdk-sdk-provides-dummy"
+TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-imagemagick-nativesdk-standalone-${DISTRO_VERSION}"
+
+SDK_TITLE = "Imagemagick tools"
diff --git a/meta-oe/recipes-core/meta/distro-feed-configs.bb b/meta-oe/recipes-core/meta/distro-feed-configs.bb
index 2a8de54d24..fd6053c57e 100644
--- a/meta-oe/recipes-core/meta/distro-feed-configs.bb
+++ b/meta-oe/recipes-core/meta/distro-feed-configs.bb
@@ -1,5 +1,4 @@
SUMMARY = "Configuration files for online package repositories aka feeds"
-PR = "r6"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
@@ -28,6 +27,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
# confs = [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in archs ]
# return " ".join( confs )
#
-#CONFFILES_${PN} += '${@distro_feed_configs(d)}'
+#CONFFILES:${PN} += '${@distro_feed_configs(d)}'
-CONFFILES_${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}".split() ] ) }'
+CONFFILES:${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}".split() ] ) }'
diff --git a/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch b/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch
index 6031eaa782..4866a5fbe0 100644
--- a/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch
+++ b/meta-oe/recipes-core/mm-common/mm-common/0001-meson.build-do-not-ask-for-python-installation-versi.patch
@@ -11,22 +11,26 @@ just ask for python3 executable.
| meson.build:9:0: ERROR: <ExternalProgram 'python3' -> ['<...>/recipe-sysroot-native/usr/bin/python3-native/python3']> is not a valid python or it is missing setuptools
-Upstream-Status: Inappropriate [OE specific]
+Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+rebase for 1.0.4
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+
---
meson.build | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/meson.build b/meson.build
-index 3255328..7a6094c 100644
+index 8a18c36..34fd546 100644
--- a/meson.build
+++ b/meson.build
-@@ -6,12 +6,7 @@ project('mm-common',
- license: 'GPLv2+'
+@@ -7,12 +7,7 @@ project('mm-common',
+ # and meson.add_install_script(python3, ...)
)
--python3 = import('python').find_installation('python3')
+-python3 = import('python').find_installation()
-python_version = python3.language_version()
-python_version_req = '>= 3.5'
-if not python_version.version_compare(python_version_req)
@@ -37,5 +41,5 @@ index 3255328..7a6094c 100644
# Use these instead of meson.source_root() and meson.build_root().
# source_root() and build_root() are not useful, if this is a subproject.
--
-2.21.0
+2.25.1
diff --git a/meta-oe/recipes-core/mm-common/mm-common_1.0.2.bb b/meta-oe/recipes-core/mm-common/mm-common_1.0.2.bb
deleted file mode 100644
index 207d9394e9..0000000000
--- a/meta-oe/recipes-core/mm-common/mm-common_1.0.2.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Common GNOME build files for C++ bindings"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase
-
-SRC_URI[archive.md5sum] = "440133a2676275ae26770b3651f89827"
-SRC_URI[archive.sha256sum] = "a2a99f3fa943cf662f189163ed39a2cfc19a428d906dd4f92b387d3659d1641d"
-SRC_URI += "file://0001-meson.build-do-not-ask-for-python-installation-versi.patch"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb b/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
new file mode 100644
index 0000000000..56f7b5af6f
--- /dev/null
+++ b/meta-oe/recipes-core/mm-common/mm-common_1.0.4.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Common GNOME build files for C++ bindings"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+
+inherit gnomebase
+
+# All the recipe does is stage python and shell script, some autotools files; nothing is compiled.
+inherit allarch
+
+SRC_URI[archive.sha256sum] = "e954c09b4309a7ef93e13b69260acdc5738c907477eb381b78bb1e414ee6dbd8"
+SRC_URI += "file://0001-meson.build-do-not-ask-for-python-installation-versi.patch"
+
+BBCLASSEXTEND = "native"
+
+# These files aren't very usefull on target image, package them all in nnPN-dev
+FILES:${PN} = ""
+
+FILES:${PN}-dev += " \
+ ${datadir}/${BPN}/build \
+ ${datadir}/${BPN}/doctags \
+ ${datadir}/${BPN}/doctool \
+ ${bindir}/mm-common-get \
+ ${bindir}/mm-common-prepare \
+"
+# ${PN} package is empty, remove the default dependency on it
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb b/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb
new file mode 100644
index 0000000000..0bb45b8eaf
--- /dev/null
+++ b/meta-oe/recipes-core/musl-rpmatch/musl-rpmatch_git.bb
@@ -0,0 +1,12 @@
+SUMMARY = "Implementation of rpmatch(3) for musl libc."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=81a81bf31abecc50c20862fc8a716329"
+
+SRC_URI = "gitsm://github.com/pullmoll/musl-rpmatch.git;protocol=https;branch=master"
+
+PV = "1.0+git"
+SRCREV = "46267b154987d3e1f25d3a75423faa62bb5ee342"
+
+inherit autotools
+
+S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-core/ndctl/ndctl/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-core/ndctl/ndctl/0001-include-libgen.h-for-basename.patch
new file mode 100644
index 0000000000..9de0a715bf
--- /dev/null
+++ b/meta-oe/recipes-core/ndctl/ndctl/0001-include-libgen.h-for-basename.patch
@@ -0,0 +1,32 @@
+From d7f01c310b74e3579a6474362922f173ac656d7b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 15:41:29 -0700
+Subject: [PATCH] include libgen.h for basename
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [https://github.com/pmem/ndctl/pull/263]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ daxctl/device.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/daxctl/device.c b/daxctl/device.c
+index d2d206b..e607a19 100644
+--- a/daxctl/device.c
++++ b/daxctl/device.c
+@@ -2,6 +2,7 @@
+ /* Copyright (C) 2019-2020 Intel Corporation. All rights reserved. */
+ #include <stdio.h>
+ #include <errno.h>
++#include <libgen.h>
+ #include <stdlib.h>
+ #include <syslog.h>
+ #include <unistd.h>
+--
+2.44.0
+
diff --git a/meta-oe/recipes-core/ndctl/ndctl_v69.bb b/meta-oe/recipes-core/ndctl/ndctl_v69.bb
deleted file mode 100644
index 396da4bb32..0000000000
--- a/meta-oe/recipes-core/ndctl/ndctl_v69.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "libnvdimm utility library"
-DESCRIPTION = "Utility library for managing the libnvdimm \
-(non-volatile memory device) sub-system in the Linux kernel. \
-The LIBNVDIMM subsystem provides support for three types of \
-NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \
-simultaneously support both PMEM and BLK mode access."
-HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e66651809cac5da60c8b80e9e4e79e08"
-
-inherit autotools-brokensep pkgconfig bash-completion systemd
-
-SRCREV = "ea62d6d53bf6f806c4841e97a370201e18446860"
-SRC_URI = "git://github.com/pmem/ndctl.git"
-
-DEPENDS = "kmod udev json-c keyutils"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "--enable-test --enable-destructive --disable-docs"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
-PACKAGECONFIG[systemd] = "--with-systemd, --without-systemd, systemd"
-
-do_configure_prepend() {
- ${S}/autogen.sh
-}
-
-SYSTEMD_SERVICE_${PN} = "ndctl-monitor.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-FILES_${PN} += "${datadir}/daxctl/daxctl.conf"
diff --git a/meta-oe/recipes-core/ndctl/ndctl_v78.bb b/meta-oe/recipes-core/ndctl/ndctl_v78.bb
new file mode 100644
index 0000000000..907c02c7c8
--- /dev/null
+++ b/meta-oe/recipes-core/ndctl/ndctl_v78.bb
@@ -0,0 +1,34 @@
+SUMMARY = "libnvdimm utility library"
+DESCRIPTION = "Utility library for managing the libnvdimm \
+(non-volatile memory device) sub-system in the Linux kernel. \
+The LIBNVDIMM subsystem provides support for three types of \
+NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \
+simultaneously support both PMEM and BLK mode access."
+HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & MIT & CC0-1.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74a614eac8b2657a4b8e6607421a0883"
+
+inherit meson pkgconfig bash-completion systemd
+
+SRCREV = "a871e6153b11fe63780b37cdcb1eb347b296095c"
+SRC_URI = "git://github.com/pmem/ndctl.git;branch=main;protocol=https \
+ file://0001-include-libgen.h-for-basename.patch"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>v\d+(\.\d+)*)"
+
+DEPENDS = "kmod udev json-c keyutils iniparser libtraceevent libtracefs"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMESON += "-Ddestructive=enabled -Diniparserdir=${STAGING_INCDIR}/iniparser"
+
+PACKAGECONFIG ??= "tests ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+PACKAGECONFIG[tests] = "-Dtest=enabled, -Dtest=disabled,"
+PACKAGECONFIG[docs] = "-Ddocs=enabled -Dasciidoctor=enabled,-Ddocs=disabled -Dasciidoctor=disabled, asciidoc-native"
+
+SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
+SYSTEMD_SERVICE:${PN} = "ndctl-monitor.service daxdev-reconfigure@.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+FILES:${PN} += "${datadir}/daxctl/daxctl.conf ${nonarch_libdir}/systemd/system"
diff --git a/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb b/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
new file mode 100644
index 0000000000..d43ea281ae
--- /dev/null
+++ b/meta-oe/recipes-core/opencl/ocl-icd_2.3.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "OpenCL ICD library"
+DESCRIPTION = "Open Source alternative to vendor specific OpenCL ICD loaders."
+
+# The LICENSE is BSD 2-Clause "Simplified" License
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1238d5bccbb6bda30654e48dcc0a554b"
+
+SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https;branch=master"
+
+SRCREV = "fdde6677b21329432db8b481e2637cd10f7d3cb2"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+DEPENDS = "ruby-native"
+PROVIDES = "virtual/opencl-icd"
+RPROVIDES:${PN} = "virtual-opencl-icd"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-core/opencl/ocl-icd_git.bb b/meta-oe/recipes-core/opencl/ocl-icd_git.bb
deleted file mode 100644
index 2e43939b91..0000000000
--- a/meta-oe/recipes-core/opencl/ocl-icd_git.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "OpenCL ICD library"
-DESCRIPTION = "Open Source alternative to vendor specific OpenCL ICD loaders."
-
-# The LICENSE is BSD 2-Clause "Simplified" License
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1238d5bccbb6bda30654e48dcc0a554b"
-
-SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https"
-
-PV = "2.2.14+git${SRCPV}"
-SRCREV = "109694ef2686fe25538c05f3c856912f8ef571a9"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-DEPENDS = "ruby-native"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-core/opencl/opencl-clhpp_git.bb b/meta-oe/recipes-core/opencl/opencl-clhpp_git.bb
index 0148c0c2e0..7ae0362d37 100644
--- a/meta-oe/recipes-core/opencl/opencl-clhpp_git.bb
+++ b/meta-oe/recipes-core/opencl/opencl-clhpp_git.bb
@@ -1,13 +1,13 @@
SUMMARY = "OpenCL API C++ bindings"
DESCRIPTION = "OpenCL API C++ bindings from Khronos"
-SRC_URI = "git://github.com/KhronosGroup/OpenCL-CLHPP.git;protocol=https"
+SRC_URI = "git://github.com/KhronosGroup/OpenCL-CLHPP.git;protocol=https;branch=main"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-PV = "2.0.13+git${SRCPV}"
-SRCREV = "b230a96b61e9e35b8da1565893d74380646e03c8"
+PV = "2.0.16+git"
+SRCREV = "1df82b9749739f2681081092ae163bb0f0d40f66"
S = "${WORKDIR}/git"
@@ -20,4 +20,4 @@ EXTRA_OECMAKE = " \
"
# Headers only so PN is empty
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-oe/recipes-core/opencl/opencl-headers_2023.12.14.bb b/meta-oe/recipes-core/opencl/opencl-headers_2023.12.14.bb
new file mode 100644
index 0000000000..8b1c795666
--- /dev/null
+++ b/meta-oe/recipes-core/opencl/opencl-headers_2023.12.14.bb
@@ -0,0 +1,19 @@
+SUMMARY = "OpenCL API Headers"
+DESCRIPTION = "OpenCL compute API headers from Khronos Group"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SECTION = "base"
+
+S = "${WORKDIR}/git"
+SRCREV = "2368105c0531069fe927989505de7d125ec58c55"
+SRC_URI = "git://github.com/KhronosGroup/OpenCL-Headers.git;branch=main;protocol=https"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+ALLOW_EMPTY:${PN} = "1"
+
+do_install () {
+ install -d ${D}${includedir}/CL/
+ install -m 0644 ${S}/CL/*.h ${D}${includedir}/CL
+}
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-core/opencl/opencl-headers_git.bb b/meta-oe/recipes-core/opencl/opencl-headers_git.bb
deleted file mode 100644
index 4a165001d4..0000000000
--- a/meta-oe/recipes-core/opencl/opencl-headers_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "OpenCL API Headers"
-DESCRIPTION = "OpenCL compute API headers from Khronos Group"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SECTION = "base"
-
-S = "${WORKDIR}/git"
-# v2020.12.18
-SRCREV = "c57ba81c460ee97b6b9d0b8d18faf5ba6883114b"
-SRC_URI = "git://github.com/KhronosGroup/OpenCL-Headers.git"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install () {
- install -d ${D}${includedir}/CL/
- install -m 0644 ${S}/CL/*.h ${D}${includedir}/CL
-}
diff --git a/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb b/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb
new file mode 100644
index 0000000000..146ec6e472
--- /dev/null
+++ b/meta-oe/recipes-core/opencl/opencl-icd-loader_2023.12.14.bb
@@ -0,0 +1,54 @@
+SUMMARY = "OpenCL ICD Loader"
+DESCRIPTION = "OpenCL compute ICD Loader from Khronos Group"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+SECTION = "base"
+
+inherit pkgconfig cmake
+
+DEPENDS += "opencl-headers"
+
+PROVIDES = "virtual/opencl-icd"
+RPROVIDES:${PN} = "virtual-opencl-icd"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "229410f86a8c8c9e0f86f195409e5481a2bae067"
+SRC_URI = "git://github.com/KhronosGroup/OpenCL-ICD-Loader.git;branch=main;protocol=https"
+
+EXTRA_OECMAKE:append = " \
+ -DOPENCL_ICD_LOADER_HEADERS_DIR=${STAGING_INCDIR} \
+"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/icd_loader_test ${D}${bindir}/
+ chrpath -d ${D}${bindir}/icd_loader_test
+ install -d ${D}${libdir}
+ install -m 0644 ${B}/libIcdLog.so ${D}${libdir}/
+ install -m 0644 ${B}/libOpenCLDriverStub.so ${D}${libdir}/
+ chrpath -d ${D}${libdir}/libOpenCLDriverStub.so
+ install -m 0644 ${B}/libOpenCL.so.1.2 ${D}${libdir}/
+ cd ${D}${libdir}
+ ln -s libOpenCL.so.1.2 libOpenCL.so.1
+ ln -s libOpenCL.so.1 libOpenCL.so
+}
+
+PACKAGES = "opencl-icd-loader opencl-icd-loader-dev"
+PACKAGES += "libicdlog libicdlog-dbg"
+PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
+
+FILES:${PN} = " \
+ ${bindir}/icd_loader_test \
+ ${libdir}/libOpenCLDriverStub.so \
+ ${libdir}/libOpenCL.so.1.2 \
+ ${libdir}/libOpenCL.so.1 \
+"
+FILES:${PN}-dev = " \
+ ${libdir}/libOpenCL.so \
+"
+
+FILES:libicdlog = "${libdir}/libIcdLog.so"
+FILES:libicdlog-dbg = "${libdir}/.debug/libIcdLog.so"
+
+RDEPENDS:${PN} = "libicdlog"
diff --git a/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb b/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb
deleted file mode 100644
index b951dabce4..0000000000
--- a/meta-oe/recipes-core/opencl/opencl-icd-loader_git.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "OpenCL ICD Loader"
-DESCRIPTION = "OpenCL compute ICD Loader from Khronos Group"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SECTION = "base"
-
-DEPENDS += "opencl-headers"
-
-inherit pkgconfig cmake
-
-S = "${WORKDIR}/git"
-PV = "2020.12.18+git${SRCPV}"
-SRCREV = "1d5315c3ed30d026acb79a1aa53a276fc833ffa7"
-SRC_URI = "git://github.com/KhronosGroup/OpenCL-ICD-Loader.git"
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 ${B}/test/loader_test/icd_loader_test ${D}${bindir}/
- chrpath -d ${D}${bindir}/icd_loader_test
- install -d ${D}${libdir}
- install -m 0644 ${B}/test/log/libIcdLog.so ${D}${libdir}/
- install -m 0644 ${B}/test/driver_stub/libOpenCLDriverStub.so ${D}${libdir}/
- chrpath -d ${D}${libdir}/libOpenCLDriverStub.so
- install -m 0644 ${B}/libOpenCL.so.1.2 ${D}${libdir}/
- cd ${D}${libdir}
- ln -s libOpenCL.so.1.2 libOpenCL.so.1
- ln -s libOpenCL.so.1 libOpenCL.so
-}
-
-PACKAGES = "opencl-icd-loader opencl-icd-loader-dev"
-PACKAGES += "libicdlog libicdlog-dbg"
-PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
-
-FILES_${PN} = " \
- ${bindir}/icd_loader_test \
- ${libdir}/libOpenCLDriverStub.so \
- ${libdir}/libOpenCL.so.1.2 \
-"
-FILES_${PN}-dev = " \
- ${libdir}/libOpenCL.so \
- ${libdir}/libOpenCL.so.1 \
-"
-
-FILES_libicdlog = "${libdir}/libIcdLog.so"
-FILES_libicdlog-dbg = "${libdir}/.debug/libIcdLog.so"
-
-RDEPENDS_${PN} = "libicdlog"
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
index 2da9118afc..324406c1ed 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-basic.bb
@@ -3,7 +3,6 @@
SUMMARY = "Basic task to get a device online"
-PR = "r13"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
@@ -26,7 +25,7 @@ TASK_BASIC_SSHDAEMON ?= "dropbear openssh-sftp openssh-sftp-server"
#
# Util-linux (u)mount is included because the busybox one can't handle /etc/mtab being symlinked to /proc/mounts
#
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
${TASK_BASIC_SSHDAEMON} \
avahi-daemon avahi-utils \
"
@@ -37,7 +36,7 @@ RDEPENDS_${PN} = "\
# 2) Distro features: packages associated with those
# 3) Nice to have: packages that are nice to have, but aren't strictly needed
#
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
${MACHINE_EXTRA_RRECOMMENDS} \
${@bb.utils.contains("MACHINE_FEATURES", "usbhost", "usbutils", "", d)} \
${@bb.utils.contains("MACHINE_FEATURES", "alsa", "alsa-utils-alsamixer", "", d)} \
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
index b5e7b99cc7..f6ddb1a352 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-boot.bb
@@ -1,6 +1,5 @@
SUMMARY = "Basic task to get a device booting"
-PR = "r58"
PACKAGE_ARCH = "${MACHINE_ARCH}"
inherit packagegroup
@@ -17,7 +16,7 @@ DEPENDS = "virtual/kernel"
#
# minimal set of packages - needed to boot
#
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
base-files \
base-passwd \
busybox \
@@ -26,7 +25,7 @@ RDEPENDS_${PN} = "\
${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
"
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
kernel \
${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS} \
"
diff --git a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 94830e2970..7544a9fbfa 100644
--- a/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -8,12 +8,15 @@ PACKAGES = "\
packagegroup-meta-oe \
packagegroup-meta-oe-benchmarks \
packagegroup-meta-oe-connectivity \
+ packagegroup-meta-oe-connectivity-python2 \
packagegroup-meta-oe-core \
packagegroup-meta-oe-crypto \
packagegroup-meta-oe-bsp \
packagegroup-meta-oe-dbs \
+ packagegroup-meta-oe-dbs-python2 \
packagegroup-meta-oe-devtools \
packagegroup-meta-oe-extended \
+ packagegroup-meta-oe-extended-python2 \
packagegroup-meta-oe-kernel \
packagegroup-meta-oe-multimedia \
packagegroup-meta-oe-navigation \
@@ -21,6 +24,7 @@ PACKAGES = "\
packagegroup-meta-oe-shells \
packagegroup-meta-oe-security \
packagegroup-meta-oe-support \
+ packagegroup-meta-oe-support-python2 \
packagegroup-meta-oe-test \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \
@@ -28,15 +32,18 @@ PACKAGES = "\
"
#PACKAGES += "packagegroup-meta-oe-fortran-packages"
-RDEPENDS_packagegroup-meta-oe = "\
+RDEPENDS:packagegroup-meta-oe = "\
packagegroup-meta-oe-benchmarks \
packagegroup-meta-oe-bsp \
packagegroup-meta-oe-connectivity \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-connectivity-python2", "", d)} \
packagegroup-meta-oe-core \
packagegroup-meta-oe-crypto \
packagegroup-meta-oe-dbs \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-dbs-python2", "", d)} \
packagegroup-meta-oe-devtools \
packagegroup-meta-oe-extended \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-extended-python2", "", d)} \
packagegroup-meta-oe-kernel \
packagegroup-meta-oe-multimedia \
packagegroup-meta-oe-navigation \
@@ -44,13 +51,14 @@ RDEPENDS_packagegroup-meta-oe = "\
packagegroup-meta-oe-security \
packagegroup-meta-oe-shells \
packagegroup-meta-oe-support \
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "packagegroup-meta-oe-support-python2", "", d)} \
packagegroup-meta-oe-test \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-gnome", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "packagegroup-meta-oe-graphics", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "ptest", "packagegroup-meta-oe-ptest-packages", "", d)} \
"
-RDEPENDS_packagegroup-meta-oe-benchmarks = "\
+RDEPENDS:packagegroup-meta-oe-benchmarks = "\
bonnie++ \
dbench \
dhrystone \
@@ -60,35 +68,40 @@ RDEPENDS_packagegroup-meta-oe-benchmarks = "\
iperf2 \
iperf3 \
libc-bench \
- libhugetlbfs \
linpack \
lmbench \
+ mbw \
memtester \
nbench-byte \
phoronix-test-suite \
+ qperf \
s-suite \
stressapptest \
- sysbench \
tinymembench \
tiobench \
whetstone \
"
-RDEPENDS_packagegroup-meta-oe-benchmarks_append_armv7a = " cpuburn-arm"
-RDEPENDS_packagegroup-meta-oe-benchmarks_append_armv7ve = " cpuburn-arm"
-RDEPENDS_packagegroup-meta-oe-benchmarks_append_aarch64 = " cpuburn-arm"
-
-RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mipsarch = "libhugetlbfs"
-RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mips64 = "tinymembench"
-RDEPENDS_packagegroup-meta-oe-benchmarks_remove_mips64el = "tinymembench"
-RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv64 = "libhugetlbfs"
-RDEPENDS_packagegroup-meta-oe-benchmarks_remove_riscv32 = "libhugetlbfs"
-
-RDEPENDS_packagegroup-meta-oe-bsp ="\
+RDEPENDS:packagegroup-meta-oe-benchmarks:append:armv7a = " cpuburn-arm sysbench"
+RDEPENDS:packagegroup-meta-oe-benchmarks:append:armv7ve = " cpuburn-arm sysbench"
+RDEPENDS:packagegroup-meta-oe-benchmarks:append:aarch64 = " cpuburn-arm sysbench"
+RDEPENDS:packagegroup-meta-oe-benchmarks:append:x86 = " sysbench"
+RDEPENDS:packagegroup-meta-oe-benchmarks:append:x86-64 = " sysbench"
+RDEPENDS:packagegroup-meta-oe-benchmarks:append:mips = " sysbench"
+
+RDEPENDS:packagegroup-meta-oe-benchmarks:remove:mipsarch = "libhugetlbfs"
+RDEPENDS:packagegroup-meta-oe-benchmarks:remove:mips64 = "tinymembench"
+RDEPENDS:packagegroup-meta-oe-benchmarks:remove:mips64el = "tinymembench"
+RDEPENDS:packagegroup-meta-oe-benchmarks:remove:riscv64 = "libhugetlbfs"
+RDEPENDS:packagegroup-meta-oe-benchmarks:remove:riscv32 = "libhugetlbfs"
+
+RDEPENDS:packagegroup-meta-oe-bsp ="\
acpitool \
cpufrequtils \
edac-utils \
- firmwared \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "firmwared", "", d)} \
flashrom \
+ fwupd \
+ fwupd-efi \
irda-utils \
lmsensors-config-cgi \
lmsensors-config-fancontrol \
@@ -99,18 +112,19 @@ RDEPENDS_packagegroup-meta-oe-bsp ="\
pcmciautils \
pointercal \
"
-RDEPENDS_packagegroup-meta-oe-bsp_append_x86 = " ledmon"
-RDEPENDS_packagegroup-meta-oe-bsp_append_x86-64 = " ledmon"
-
-RDEPENDS_packagegroup-meta-oe-bsp_remove_libc-musl = "ledmon"
-RDEPENDS_packagegroup-meta-oe-bsp_remove_mipsarch = "efivar efibootmgr"
-RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc = "efivar efibootmgr"
-RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64 = "efivar efibootmgr"
-RDEPENDS_packagegroup-meta-oe-bsp_remove_powerpc64le = "efivar efibootmgr"
-RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv64 = "efivar efibootmgr"
-RDEPENDS_packagegroup-meta-oe-bsp_remove_riscv32 = "efivar efibootmgr"
-
-RDEPENDS_packagegroup-meta-oe-connectivity ="\
+RDEPENDS:packagegroup-meta-oe-bsp:append:x86 = " ledmon"
+RDEPENDS:packagegroup-meta-oe-bsp:append:x86-64 = " ledmon"
+
+RDEPENDS:packagegroup-meta-oe-bsp:remove:libc-musl = "ledmon"
+RDEPENDS:packagegroup-meta-oe-bsp:remove:mipsarch = "efivar efibootmgr fwupd fwupd-efi"
+RDEPENDS:packagegroup-meta-oe-bsp:remove:powerpc = "efivar efibootmgr fwupd fwupd-efi"
+RDEPENDS:packagegroup-meta-oe-bsp:remove:powerpc64 = "efivar efibootmgr fwupd fwupd-efi"
+RDEPENDS:packagegroup-meta-oe-bsp:remove:powerpc64le = "efivar efibootmgr fwupd fwupd-efi"
+RDEPENDS:packagegroup-meta-oe-bsp:remove:riscv64 = "efivar efibootmgr fwupd fwupd-efi"
+RDEPENDS:packagegroup-meta-oe-bsp:remove:riscv32 = "efivar efibootmgr fwupd fwupd-efi"
+
+RDEPENDS:packagegroup-meta-oe-connectivity ="\
+ cyrus-sasl \
gammu \
gattlib \
gensio \
@@ -138,14 +152,13 @@ RDEPENDS_packagegroup-meta-oe-connectivity ="\
obexftp \
packagegroup-tools-bluetooth \
paho-mqtt-c \
- phonet-utils \
+ paho-mqtt-cpp \
rabbitmq-c \
rfkill \
rtorrent \
ser2net \
smstools3 \
telepathy-glib \
- ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \
thrift \
usbmuxd \
wifi-test-suite \
@@ -154,10 +167,14 @@ RDEPENDS_packagegroup-meta-oe-connectivity ="\
zeromq \
"
-RDEPENDS_packagegroup-meta-oe-connectivity_append_libc-glibc = " wvstreams wvdial"
+RDEPENDS:packagegroup-meta-oe-connectivity:append:libc-glibc = " wvstreams wvdial"
+
+RDEPENDS:packagegroup-meta-oe-connectivity-python2 = "\
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "telepathy-idle", "", d)} \
+"
# dracut needs dracut
-RDEPENDS_packagegroup-meta-oe-core = "\
+RDEPENDS:packagegroup-meta-oe-core = "\
${@bb.utils.contains("DISTRO_FEATURES", "systemd", "dbus-broker", "", d)} \
dbus-daemon-proxy \
libdbus-c++ \
@@ -167,12 +184,11 @@ RDEPENDS_packagegroup-meta-oe-core = "\
libnfc \
libsigc++-2.0 \
libsigc++-3 \
- libxml++ \
mdbus2 \
distro-feed-configs \
mm-common \
${@bb.utils.contains("DISTRO_FEATURES", "systemd", "ndctl", "", d)} \
- opencl-icd-loader \
+ pim435 \
proxy-libintl \
safec \
sdbus-c++-tools \
@@ -181,11 +197,11 @@ RDEPENDS_packagegroup-meta-oe-core = "\
usleep \
dbus-cxx \
"
-RDEPENDS_packagegroup-meta-oe-core_append_libc-glibc = " glfw"
-RDEPENDS_packagegroup-meta-oe-core_remove_riscv64 = "safec"
-RDEPENDS_packagegroup-meta-oe-core_remove_riscv32 = "safec"
+RDEPENDS:packagegroup-meta-oe-core:append:libc-glibc = " ${@bb.utils.contains("DISTRO_FEATURES", "x11 opengl", "glfw", "", d)}"
+RDEPENDS:packagegroup-meta-oe-core:remove:riscv64 = "safec"
+RDEPENDS:packagegroup-meta-oe-core:remove:riscv32 = "safec"
-RDEPENDS_packagegroup-meta-oe-crypto ="\
+RDEPENDS:packagegroup-meta-oe-crypto ="\
botan \
cryptsetup \
fsverity-utils \
@@ -194,26 +210,29 @@ RDEPENDS_packagegroup-meta-oe-crypto ="\
libsodium \
pkcs11-helper \
"
-RDEPENDS_packagegroup-meta-oe-crypto_remove_riscv32 = "botan"
+RDEPENDS:packagegroup-meta-oe-crypto:remove:riscv32 = "botan"
-RDEPENDS_packagegroup-meta-oe-dbs ="\
+RDEPENDS:packagegroup-meta-oe-dbs ="\
influxdb \
leveldb \
libdbi \
+ lmdb \
mariadb \
- ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "mysql-python", "", d)} \
postgresql \
psqlodbc \
rocksdb \
soci \
- sqlite \
+"
+RDEPENDS:packagegroup-meta-oe-dbs:remove:libc-musl:powerpc = "rocksdb"
+
+RDEPENDS:packagegroup-meta-oe-dbs-python2 ="\
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'mysql-python', '', d), "", d)} \
"
-RDEPENDS_packagegroup-meta-oe-devtools ="\
+RDEPENDS:packagegroup-meta-oe-devtools ="\
abseil-cpp \
apitrace \
breakpad \
- bootchart \
android-tools-conf \
android-tools \
concurrencykit \
@@ -228,12 +247,13 @@ RDEPENDS_packagegroup-meta-oe-devtools ="\
${@bb.utils.contains("PACKAGE_CLASSES", "package_rpm", "dnf-plugin-tui", "", d)} \
doxygen \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "geany-plugins geany", "", d)} \
+ jemalloc \
lemon \
flatbuffers \
heaptrack \
+ libparse-yapp-perl \
libubox \
ltrace \
- lua \
luajit \
mcpp \
memstat \
@@ -254,7 +274,6 @@ RDEPENDS_packagegroup-meta-oe-devtools ="\
yajl \
yajl \
kconfig-frontends \
- ldns \
libgee \
libsombok3 \
lshw \
@@ -262,8 +281,9 @@ RDEPENDS_packagegroup-meta-oe-devtools ="\
capnproto-compiler \
mpich \
msgpack-c \
+ msgpack-cpp \
mercurial \
- ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "nodejs", "", d)} \
+ nodejs \
openocd \
pax-utils \
ipc-run \
@@ -278,154 +298,164 @@ RDEPENDS_packagegroup-meta-oe-devtools ="\
protobuf \
pugixml \
python3-distutils-extra \
+ python3-pycups \
rapidjson \
- sip3 \
squashfs-tools-ng \
uftrace \
+ valijson \
libxerces-c \
xerces-c-samples \
xmlrpc-c \
yasm \
json-schema-validator \
+ poke \
+ microsoft-gsl \
"
-RDEPENDS_packagegroup-meta-oe-devtools_append_x86 = " cpuid msr-tools pmtools"
-RDEPENDS_packagegroup-meta-oe-devtools_append_x86-64 = " cpuid msr-tools pcimem pmtools"
-RDEPENDS_packagegroup-meta-oe-devtools_append_arm = " pcimem"
-RDEPENDS_packagegroup-meta-oe-devtools_append_aarch64 = " pcimem"
-RDEPENDS_packagegroup-meta-oe-devtools_append_libc-musl = " musl-nscd"
-
-RDEPENDS_packagegroup-meta-oe-devtools_remove_arm = "concurrencykit"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_armv5 = "uftrace nodejs"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_mipsarch = "concurrencykit lshw ply uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64 = "luajit nodejs"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_mips64el = "luajit nodejs"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc = "android-tools breakpad lshw luajit uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64 = "android-tools lshw luajit uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_powerpc64le = "android-tools lshw luajit uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv64 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_riscv32 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_aarch64 = "${@bb.utils.contains("TUNE_FEATURES", "crypto", "", "abseil-cpp", d)} concurrencykit"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_x86-64 = "${@bb.utils.contains("TUNE_FEATURES", "corei7", "", "abseil-cpp", d)}"
-RDEPENDS_packagegroup-meta-oe-devtools_remove_x86 = "ply"
-
-RDEPENDS_packagegroup-meta-oe-extended ="\
- bitwise \
+RDEPENDS:packagegroup-meta-oe-devtools:append:x86 = " cpuid msr-tools pahole pmtools"
+RDEPENDS:packagegroup-meta-oe-devtools:append:x86-64 = " cpuid msr-tools pahole pcimem pmtools"
+RDEPENDS:packagegroup-meta-oe-devtools:append:riscv64 = " pcimem"
+RDEPENDS:packagegroup-meta-oe-devtools:append:arm = " pcimem"
+RDEPENDS:packagegroup-meta-oe-devtools:append:aarch64 = " pahole pcimem"
+RDEPENDS:packagegroup-meta-oe-devtools:append:libc-musl = " musl-nscd"
+
+RDEPENDS:packagegroup-meta-oe-devtools:remove:arm = "concurrencykit"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:armv5 = "uftrace nodejs"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:mipsarch = "concurrencykit lshw ply uftrace"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:mips64 = "luajit nodejs"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:mips64el = "luajit nodejs"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:powerpc = "android-tools breakpad lshw luajit uftrace"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:powerpc64 = "android-tools breakpad lshw luajit ply uftrace"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:powerpc64le = "android-tools breakpad lshw luajit ply uftrace"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:riscv64 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:riscv32 = "breakpad concurrencykit heaptrack lshw ltrace luajit nodejs ply uftrace"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:libc-musl:riscv32 = "php"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:aarch64 = "concurrencykit"
+RDEPENDS:packagegroup-meta-oe-devtools:remove:x86 = "ply"
+
+RDEPENDS:packagegroup-meta-oe-extended ="\
+ bitwise \
${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "boinc-client", "", d)} \
- brotli \
- byacc \
- cmpi-bindings \
- collectd \
- cfengine-masterfiles \
- cfengine \
- ddrescue \
- dialog \
- enscript \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gnuplot", "", d)} \
- dlt-daemon \
- docopt.cpp \
- iotop \
- dumb-init \
- konkretcmpi \
- figlet \
- libcec \
- libdivecomputer \
- fluentbit \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libgxim", "", d)} \
- liblognorm \
- libmodbus \
- haveged \
- hexedit \
- hiredis \
- hplip \
- hwloc \
- libuio \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libwmf", "", d)} \
- lprng \
- icewm \
- md5deep \
- indent \
- jansson \
- nana \
- nicstat \
- ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "openlmi-tools", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "pam", "openwsman", "", d)} \
- p7zip \
- isomd5sum \
- jpnevulator \
- ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-datetime polkit-group-rule-network polkit", "", d)} \
- rarpd \
- redis \
- libfastjson \
- librelp \
- sblim-cmpi-devel \
- sblim-sfc-common \
- ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sblim-sfcb ", "", d)} \
- sblim-sfcc \
- libblockdev \
- sgpio \
- smartmontools \
- can-utils \
- canutils \
- libsocketcan \
- libconfig \
- linuxconsole \
- uml-utilities \
- libidn \
- libqb \
- wipe \
- libzip \
- zram \
- libplist \
- libusbmuxd \
- liblockfile \
- liblogging \
- libnss-nisplus \
- libpwquality \
- ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "libreport", "", d)} \
- libserialport \
- libstatgrab \
- lockfile-progs \
- logwatch \
- mailx \
- mraa \
- ostree \
- ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb pam-ssh-agent-auth", "", d)} \
- pegtl \
- libfile-fnmatch-perl \
- rrdtool \
- sanlock \
- scsirastools \
- sedutil \
- libsigrok \
- libsigrokdecode \
- sigrok-cli \
- snappy \
- tipcutils \
- tiptop \
- tmux \
- triggerhappy \
- upm \
- vlock \
- volume-key \
- wxwidgets \
- zlog \
- zstd \
- redis-plus-plus \
+ brotli \
+ byacc \
+ cmatrix \
+ cmpi-bindings \
+ collectd \
+ ddrescue \
+ dialog \
+ duktape \
+ enscript \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gnuplot", "", d)} \
+ dlt-daemon \
+ docopt.cpp \
+ iotop \
+ dumb-init \
+ konkretcmpi \
+ figlet \
+ libcec \
+ libdivecomputer \
+ fluentbit \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libgxim", "", d)} \
+ liblognorm \
+ libmodbus \
+ haveged \
+ hexedit \
+ hiredis \
+ hplip \
+ hwloc \
+ libleak \
+ libuio \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "libwmf", "", d)} \
+ libyang \
+ lprng \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "icewm", "", d)} \
+ md5deep \
+ indent \
+ jansson \
+ nana \
+ nicstat \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "openwsman", "", d)} \
+ p7zip \
+ isomd5sum \
+ jpnevulator \
+ ${@bb.utils.contains("DISTRO_FEATURES", "polkit", "polkit-group-rule-datetime polkit-group-rule-network polkit", "", d)} \
+ rarpd \
+ redis \
+ libfastjson \
+ librelp \
+ sblim-cmpi-devel \
+ sblim-sfc-common \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "sblim-sfcb ", "", d)} \
+ sblim-sfcc \
+ libblockdev \
+ sgpio \
+ smartmontools \
+ can-utils \
+ canutils \
+ libsocketcan \
+ libconfig \
+ linuxconsole \
+ uml-utilities \
+ libidn \
+ libqb \
+ wipe \
+ libzip \
+ zram \
+ libplist \
+ libusbmuxd \
+ liblockfile \
+ liblogging \
+ libpwquality \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "libreport", "", d)} \
+ libserialport \
+ libstatgrab \
+ lockfile-progs \
+ logwatch \
+ mraa \
+ ostree \
+ ${@bb.utils.contains("DISTRO_FEATURES", "pam", "pam-plugin-ccreds pam-plugin-ldapdb pam-ssh-agent-auth", "", d)} \
+ pegtl \
+ libfile-fnmatch-perl \
+ rrdtool \
+ sanlock \
+ scsirastools \
+ sedutil \
+ libsigrok \
+ libsigrokdecode \
+ s-nail \
+ sigrok-cli \
+ snappy \
+ tipcutils \
+ tiptop \
+ tmate \
+ tmux \
+ triggerhappy \
+ upm \
+ vlock \
+ volume-key \
+ wxwidgets \
+ zlog \
+ zstd \
+ zsync-curl \
+ redis-plus-plus \
"
-RDEPENDS_packagegroup-meta-oe-extended_append_libc-musl = " libexecinfo"
-RDEPENDS_packagegroup-meta-oe-extended_append_x86-64 = " pmdk libx86-1"
-RDEPENDS_packagegroup-meta-oe-extended_append_x86 = " libx86-1"
-
-RDEPENDS_packagegroup-meta-oe-extended_remove_libc-musl = "libnss-nisplus sysdig"
-RDEPENDS_packagegroup-meta-oe-extended_remove_mipsarch = "upm mraa minifi-cpp tiptop"
-RDEPENDS_packagegroup-meta-oe-extended_remove_mips = "sysdig"
-RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc = "upm mraa minifi-cpp"
-RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64 = "upm mraa minifi-cpp"
-RDEPENDS_packagegroup-meta-oe-extended_remove_powerpc64le = "upm mraa"
-RDEPENDS_packagegroup-meta-oe-extended_remove_riscv64 = "upm mraa sysdig tiptop"
-RDEPENDS_packagegroup-meta-oe-extended_remove_riscv32 = "upm mraa sysdig tiptop"
-
-RDEPENDS_packagegroup-meta-oe-gnome ="\
+RDEPENDS:packagegroup-meta-oe-extended:append:libc-musl = " libexecinfo"
+RDEPENDS:packagegroup-meta-oe-extended:append:x86-64 = " pmdk libx86-1"
+RDEPENDS:packagegroup-meta-oe-extended:append:x86 = " libx86-1"
+
+RDEPENDS:packagegroup-meta-oe-extended:remove:libc-musl = "sysdig"
+RDEPENDS:packagegroup-meta-oe-extended:remove:mipsarch = "upm mraa minifi-cpp tiptop"
+RDEPENDS:packagegroup-meta-oe-extended:remove:mips = "sysdig"
+RDEPENDS:packagegroup-meta-oe-extended:remove:powerpc = "upm mraa minifi-cpp"
+RDEPENDS:packagegroup-meta-oe-extended:remove:powerpc64 = "upm mraa minifi-cpp"
+RDEPENDS:packagegroup-meta-oe-extended:remove:powerpc64le = "upm mraa sysdig"
+RDEPENDS:packagegroup-meta-oe-extended:remove:riscv64 = "upm libleak mraa sysdig tiptop"
+RDEPENDS:packagegroup-meta-oe-extended:remove:riscv32 = "upm libleak mraa sysdig tiptop"
+
+RDEPENDS:packagegroup-meta-oe-extended-python2 ="\
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'openlmi-tools', '', d), "", d)} \
+"
+
+RDEPENDS:packagegroup-meta-oe-gnome ="\
atkmm \
gcab \
gnome-common \
@@ -434,14 +464,12 @@ RDEPENDS_packagegroup-meta-oe-gnome ="\
gtk+ \
gtkmm3 \
gtkmm \
- libpeas \
+ ${@bb.utils.contains("DISTRO_FEATURES", "gobject-introspection-data", "libpeas", "", d)} \
pyxdg \
- vte9 \
gnome-theme-adwaita \
- libxmlb \
"
-RDEPENDS_packagegroup-meta-oe-graphics ="\
+RDEPENDS:packagegroup-meta-oe-graphics ="\
cairomm \
directfb-examples \
directfb \
@@ -464,12 +492,12 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
libforms \
lxdm \
numlockx \
+ nyancat \
obconf \
openbox \
packagegroup-fonts-truetype \
qrencode \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "st", "", d)} \
- takao-fonts \
leptonica \
libvncserver \
libmng \
@@ -483,6 +511,7 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
libsdl2-net \
${@bb.utils.contains("DISTRO_FEATURES", "opengl", "libsdl2-ttf", "", d)} \
libsdl \
+ ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "lv-drivers lvgl lv-lib-png", "", d)} \
ttf-arphic-uming \
ttf-droid-sans ttf-droid-sans-mono ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif \
ttf-abyssinica \
@@ -501,6 +530,7 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
ttf-gentium \
ttf-hunky-sans \
ttf-hunky-serif \
+ ttf-ipag ttf-ipagp ttf-ipamp ttf-ipam \
ttf-lohit \
ttf-inconsolata \
ttf-liberation-sans-narrow \
@@ -512,6 +542,7 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
ttf-noto-emoji-regular \
ttf-sazanami-gothic \
ttf-sazanami-mincho \
+ ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho \
ttf-tlwg \
ttf-roboto \
ttf-wqy-zenhei \
@@ -536,7 +567,6 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
xclock \
xfontsel \
xkbprint \
- xsetmode \
xlsatoms \
xlsclients \
xlsfonts \
@@ -562,9 +592,7 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
font-cursor-misc \
font-misc-misc \
xorg-fonts-100dpi \
- liblbxutil \
libxaw6 \
- libxkbui \
libxpresent \
xcb-util-cursor \
xserver-common \
@@ -576,25 +604,26 @@ RDEPENDS_packagegroup-meta-oe-graphics ="\
surf \
tesseract-lang \
tesseract \
- tigervnc \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "tigervnc", "", d)} \
tslib \
unclutter-xfixes \
libvdpau \
xcursorgen \
- xscreensaver \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xscreensaver", "", d)} \
yad \
+ ydotool \
parallel-deqp-runner \
${@bb.utils.contains("DISTRO_FEATURES", "opengl", "opengl-es-cts", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "opengl vulkan", "vulkan-cts", "", d)} \
"
-RDEPENDS_packagegroup-meta-oe-graphics_append_x86 = " renderdoc xf86-video-nouveau xf86-video-mga"
-RDEPENDS_packagegroup-meta-oe-graphics_append_x86-64 = " renderdoc xf86-video-nouveau xf86-video-mga"
-RDEPENDS_packagegroup-meta-oe-graphics_append_arm = " renderdoc"
-RDEPENDS_packagegroup-meta-oe-graphics_append_aarch64 = " renderdoc"
+RDEPENDS:packagegroup-meta-oe-graphics:append:x86 = " renderdoc xf86-video-nouveau xf86-video-mga"
+RDEPENDS:packagegroup-meta-oe-graphics:append:x86-64 = " renderdoc xf86-video-nouveau xf86-video-mga"
+RDEPENDS:packagegroup-meta-oe-graphics:append:arm = " renderdoc"
+RDEPENDS:packagegroup-meta-oe-graphics:append:aarch64 = " renderdoc"
-RDEPENDS_packagegroup-meta-oe-graphics_remove_libc-musl = "renderdoc"
+RDEPENDS:packagegroup-meta-oe-graphics:remove:libc-musl = "renderdoc"
-RDEPENDS_packagegroup-meta-oe-kernel ="\
+RDEPENDS:packagegroup-meta-oe-kernel ="\
agent-proxy \
crash \
cpupower \
@@ -605,25 +634,26 @@ RDEPENDS_packagegroup-meta-oe-kernel ="\
oprofile \
spidev-test \
trace-cmd \
+ usbip-tools \
"
-RDEPENDS_packagegroup-meta-oe-kernel_append_x86 = " intel-speed-select ipmiutil pm-graph turbostat"
-RDEPENDS_packagegroup-meta-oe-kernel_append_x86-64 = " intel-speed-select ipmiutil kpatch pm-graph turbostat"
-RDEPENDS_packagegroup-meta-oe-kernel_append_poerpc64 = " libpfm4"
+RDEPENDS:packagegroup-meta-oe-kernel:append:x86 = " intel-speed-select ipmiutil pm-graph turbostat"
+RDEPENDS:packagegroup-meta-oe-kernel:append:x86-64 = " intel-speed-select ipmiutil pm-graph turbostat bpftool"
+RDEPENDS:packagegroup-meta-oe-kernel:append:x86-64:libc-glibc = " kpatch"
+RDEPENDS:packagegroup-meta-oe-kernel:append:powerpc64 = " libpfm4"
# Kernel-selftest does not build with 5.8 and its exluded from build too so until its fixed remove it
-RDEPENDS_packagegroup-meta-oe-kernel_remove = "kernel-selftest"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_libc-musl = "crash intel-speed-select kernel-selftest minicoredumper turbostat"
+RDEPENDS:packagegroup-meta-oe-kernel:remove = "kernel-selftest"
+RDEPENDS:packagegroup-meta-oe-kernel:remove:libc-musl = "bpftool crash intel-speed-select kernel-selftest minicoredumper turbostat"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_mipsarch = "makedumpfile"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64 = "crash"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_mips64el = "crash"
+RDEPENDS:packagegroup-meta-oe-kernel:remove:mipsarcho32 = "makedumpfile"
+RDEPENDS:packagegroup-meta-oe-kernel:remove:mips64 = "crash"
+RDEPENDS:packagegroup-meta-oe-kernel:remove:mips64el = "crash"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv64 = "crash makedumpfile oprofile"
-RDEPENDS_packagegroup-meta-oe-kernel_remove_riscv32 = "crash makedumpfile oprofile"
+RDEPENDS:packagegroup-meta-oe-kernel:remove:riscv64 = "crash oprofile"
+RDEPENDS:packagegroup-meta-oe-kernel:remove:riscv32 = "crash makedumpfile oprofile"
-RDEPENDS_packagegroup-meta-oe-multimedia ="\
- alsa-oss \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "faad2", "", d)} \
+RDEPENDS:packagegroup-meta-oe-multimedia ="\
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "faad2", "", d)} \
dirsplit \
genisoimage \
icedax \
@@ -634,17 +664,15 @@ RDEPENDS_packagegroup-meta-oe-multimedia ="\
jack-server \
jack-utils \
libass \
- libburn \
libcdio-paranoia \
libcdio \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libmad", "", d)} \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "libmad", "", d)} \
libmms \
libdvdread \
libopus \
live555-examples \
live555-mediaserver \
libmikmod \
- opus-tools \
libmodplug \
sound-theme-freedesktop \
yavta \
@@ -652,15 +680,12 @@ RDEPENDS_packagegroup-meta-oe-multimedia ="\
wavpack \
libvpx \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "xsp", "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "mpv", "", d)} \
- pipewire \
+ ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "mpv", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "pavucontrol", "", d)} \
libopusenc \
"
-RDEPENDS_packagegroup-meta-oe-multimedia_remove_libc-musl = "alsa-oss"
-
-RDEPENDS_packagegroup-meta-oe-navigation ="\
+RDEPENDS:packagegroup-meta-oe-navigation ="\
geos \
${@bb.utils.contains("DISTRO_FEATURES", "bluz4", "gpsd-machine-conf gpsd", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "orrery", "", d)} \
@@ -669,33 +694,35 @@ RDEPENDS_packagegroup-meta-oe-navigation ="\
proj \
"
-RDEPENDS_packagegroup-meta-oe-printing ="\
+RDEPENDS:packagegroup-meta-oe-printing ="\
cups-filters \
+ gutenprint \
qpdf \
"
-RDEPENDS_packagegroup-meta-oe-security ="\
+RDEPENDS:packagegroup-meta-oe-security ="\
keyutils \
nmap \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "passwdqc", "", d)} \
softhsm \
tomoyo-tools \
+ auditd \
"
-RDEPENDS_packagegroup-meta-oe-shells ="\
+RDEPENDS:packagegroup-meta-oe-shells ="\
dash \
mksh \
tcsh \
zsh \
"
-RDEPENDS_packagegroup-meta-oe-support ="\
+RDEPENDS:packagegroup-meta-oe-support ="\
anthy \
atop \
ace-cloud-editor \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "driverctl", "", d)} \
frame \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "geis", "", d)} \
- geis \
grail \
asio \
augeas \
@@ -710,8 +737,9 @@ RDEPENDS_packagegroup-meta-oe-support ="\
dfu-util \
dhex \
digitemp \
- dstat \
+ dool \
espeak \
+ evemu-tools \
exiv2 \
libnice \
c-periphery \
@@ -724,12 +752,14 @@ RDEPENDS_packagegroup-meta-oe-support ="\
gpm \
gsoap \
hdf5 \
+ hstr \
htop \
hunspell-dictionaries \
hunspell \
hwdata \
iksemel \
gengetopt \
+ googlebenchmark \
imagemagick \
iniparser \
inotify-tools \
@@ -742,10 +772,12 @@ RDEPENDS_packagegroup-meta-oe-support ="\
libestr \
libfann \
libftdi \
+ libjs-jquery-globalize \
+ libjs-jquery-cookie \
ccid \
zchunk \
libgpiod \
- libgpiod \
+ libmanette \
ckermit \
libcereal \
daemontools \
@@ -786,12 +818,10 @@ RDEPENDS_packagegroup-meta-oe-support ="\
libusbgx \
lockdev \
logwarn \
- libjs-jquery \
libjs-sizzle \
liblinebreak \
mailcap \
liboauth \
- libol \
mg \
monit \
mscgen \
@@ -799,11 +829,11 @@ RDEPENDS_packagegroup-meta-oe-support ="\
remmina \
neon \
nmon \
+ libjs-jquery-icheck \
libtinyxml \
libusbg \
libutempter \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "links-x11", "links", d)} \
- ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "lio-utils", "", d)} \
log4c \
log4cpp \
nspr \
@@ -845,21 +875,23 @@ RDEPENDS_packagegroup-meta-oe-support ="\
raptor2 \
rdfind \
re2 \
+ sdmon \
sdparm \
serial-forward \
read-edid \
spitools \
libsass \
sassc \
+ smarty \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "synergy", "", d)} \
syslog-ng \
system-config-keyboard \
tbb \
satyr \
+ pcp \
pcsc-lite \
pcsc-tools \
sharutils \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "toscoterm", "", d)} \
sg3-utils \
${@bb.utils.contains("DISTRO_FEATURES", "x11", "uim", "", d)} \
uchardet \
@@ -879,14 +911,12 @@ RDEPENDS_packagegroup-meta-oe-support ="\
unixodbc \
daemonize \
upower \
- xxhash \
unicode-ucd \
xdelta3 \
uriparser \
nano \
xdg-user-dirs \
xmlsec1 \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11 pam", "xorgxrdp xrdp", "", d)} \
usb-modeswitch-data \
usb-modeswitch \
liburing \
@@ -894,21 +924,30 @@ RDEPENDS_packagegroup-meta-oe-support ="\
libmicrohttpd \
yaml-cpp \
"
-RDEPENDS_packagegroup-meta-oe-support_append_armv7a = " ne10"
-RDEPENDS_packagegroup-meta-oe-support_append_armv7ve = " ne10"
-RDEPENDS_packagegroup-meta-oe-support_append_aarch64 = " ne10"
-RDEPENDS_packagegroup-meta-oe-support_append_x86 = " mcelog mce-inject mce-test open-vm-tools vboxguestdrivers"
-RDEPENDS_packagegroup-meta-oe-support_append_x86-64 = " mcelog mce-inject mce-test open-vm-tools vboxguestdrivers"
-RDEPENDS_packagegroup-meta-oe-support_remove_arm ="numactl"
-RDEPENDS_packagegroup-meta-oe-support_remove_mipsarch = "gperftools"
-RDEPENDS_packagegroup-meta-oe-support_remove_riscv64 = "gperftools uim"
-RDEPENDS_packagegroup-meta-oe-support_remove_riscv32 = "gperftools uim"
-RDEPENDS_packagegroup-meta-oe-support_remove_powerpc = "ssiapi"
-
-RDEPENDS_packagegroup-meta-oe-test ="\
+RDEPENDS:packagegroup-meta-oe-support:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
+RDEPENDS:packagegroup-meta-oe-support:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
+RDEPENDS:packagegroup-meta-oe-support:append:aarch64 = " ne10"
+RDEPENDS:packagegroup-meta-oe-support:append:x86 = " mcelog mce-inject mce-test vboxguestdrivers"
+RDEPENDS:packagegroup-meta-oe-support:append:x86-64 = " mcelog mce-inject mce-test vboxguestdrivers"
+
+RDEPENDS:packagegroup-meta-oe-support-python2 ="\
+ ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', 'lio-utils', '', d), "", d)} \
+"
+
+RDEPENDS:packagegroup-meta-oe-support:remove:arm ="numactl"
+RDEPENDS:packagegroup-meta-oe-support:remove:mipsarch = "gperftools"
+RDEPENDS:packagegroup-meta-oe-support:remove:riscv64 = "gperftools uim"
+RDEPENDS:packagegroup-meta-oe-support:remove:riscv32 = "gperftools uim"
+RDEPENDS:packagegroup-meta-oe-support:remove:powerpc = "libcereal ssiapi tbb"
+RDEPENDS:packagegroup-meta-oe-support:remove:powerpc64le = "libcereal ssiapi"
+RDEPENDS:packagegroup-meta-oe-support:remove:libc-musl = "pcp"
+RDEPENDS:packagegroup-meta-oe-support:remove:libc-musl:powerpc = "gsl"
+
+RDEPENDS:packagegroup-meta-oe-test ="\
bats \
cmocka \
cppunit \
+ cpputest \
cukinia \
cunit \
cxxtest \
@@ -919,18 +958,17 @@ RDEPENDS_packagegroup-meta-oe-test ="\
pm-qa \
testfloat \
"
-RDEPENDS_packagegroup-meta-oe-test_remove_libc-musl = "pm-qa"
-RDEPENDS_packagegroup-meta-oe-test_remove_arm = "fwts"
-RDEPENDS_packagegroup-meta-oe-test_remove_mipsarch = "fwts"
-RDEPENDS_packagegroup-meta-oe-test_remove_powerpc = "fwts"
-RDEPENDS_packagegroup-meta-oe-test_remove_riscv64 = "fwts"
-RDEPENDS_packagegroup-meta-oe-test_remove_riscv32 = "fwts"
-
-RDEPENDS_packagegroup-meta-oe-ptest-packages = "\
+RDEPENDS:packagegroup-meta-oe-test:remove:libc-musl = "pm-qa"
+RDEPENDS:packagegroup-meta-oe-test:remove:arm = "fwts"
+RDEPENDS:packagegroup-meta-oe-test:remove:mipsarch = "fwts"
+RDEPENDS:packagegroup-meta-oe-test:remove:powerpc = "fwts"
+RDEPENDS:packagegroup-meta-oe-test:remove:riscv64 = "fwts"
+RDEPENDS:packagegroup-meta-oe-test:remove:riscv32 = "fwts"
+
+RDEPENDS:packagegroup-meta-oe-ptest-packages = "\
zeromq-ptest \
leveldb-ptest \
psqlodbc-ptest \
- lua-ptest \
protobuf-ptest \
rsyslog-ptest \
oprofile-ptest \
@@ -939,16 +977,19 @@ RDEPENDS_packagegroup-meta-oe-ptest-packages = "\
libee-ptest \
poco-ptest \
cmocka-ptest \
+ minicoredumper-ptest \
+ hiredis-ptest \
"
-RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86 = " mcelog-ptest"
-RDEPENDS_packagegroup-meta-oe-ptest-packages_append_x86-64 = " mcelog-ptest"
+RDEPENDS:packagegroup-meta-oe-ptest-packages:append:x86 = " mcelog-ptest"
+RDEPENDS:packagegroup-meta-oe-ptest-packages:append:x86-64 = " mcelog-ptest"
-RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_riscv64 = "oprofile-ptest"
-RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_riscv32 = "oprofile-ptest"
-RDEPENDS_packagegroup-meta-oe-ptest-packages_remove_arm = "numactl-ptest"
+RDEPENDS:packagegroup-meta-oe-ptest-packages:remove:riscv64 = "oprofile-ptest"
+RDEPENDS:packagegroup-meta-oe-ptest-packages:remove:riscv32 = "oprofile-ptest"
+RDEPENDS:packagegroup-meta-oe-ptest-packages:remove:arm = "numactl-ptest"
+RDEPENDS:packagegroup-meta-oe-ptest-packages:remove:libc-musl = "minicoredumper-ptest"
-RDEPENDS_packagegroup-meta-oe-fortran-packages = "\
+RDEPENDS:packagegroup-meta-oe-fortran-packages = "\
lapack \
octave \
suitesparse \
@@ -957,7 +998,7 @@ RDEPENDS_packagegroup-meta-oe-fortran-packages = "\
# They wont be built as part of images but might be interesting to include
# with dev-pkgs images
#
-# opencl-headers sdbus-c++-libsystemd boost-url nlohmann-fifo sqlite-orm
+# opencl-headers sdbus-c++-libsystemd nlohmann-fifo sqlite-orm
# nlohmann-json exprtk liblightmodbus p8platform gnome-doc-utils-stub
# glm ttf-mplus xbitmaps ceres-solver cli11 fftw gnulib libeigen ade
# spdlog span-lite uthash websocketpp catch2 properties-cpp cpp-netlib
diff --git a/meta-oe/recipes-core/pim435/pim435_git.bb b/meta-oe/recipes-core/pim435/pim435_git.bb
new file mode 100644
index 0000000000..80e3cc6298
--- /dev/null
+++ b/meta-oe/recipes-core/pim435/pim435_git.bb
@@ -0,0 +1,22 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+HOMEPAGE = "https://booting.oniroproject.org/distro/components/pim435"
+SUMMARY = "A userspace driver application for PIM435 written in C"
+DESCRIPTION = "A userspace driver application for PIM435 (Pimoroni LED matrix) \
+written in C"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663"
+
+SRC_URI = "git://gitlab.eclipse.org/eclipse/oniro-blueprints/core/pim435;protocol=https;branch=main"
+SRCREV = "445ed623ec8d3ecbb1d566900b4ef3fb3031d689"
+S = "${WORKDIR}/git"
+
+DEPENDS = "i2c-tools"
+
+EXTRA_OEMAKE += "DESTDIR=${D}"
+
+do_install() {
+ oe_runmake install
+}
diff --git a/meta-oe/recipes-core/plymouth/files/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch b/meta-oe/recipes-core/plymouth/files/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch
deleted file mode 100644
index 6a86c76d13..0000000000
--- a/meta-oe/recipes-core/plymouth/files/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 746c690f57b52e6fe21cc2a11b5bb71d25af3128 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Wed, 13 Dec 2017 16:15:57 +0100
-Subject: [PATCH] Make full path to systemd-tty-ask-password-agent configurable
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- configure.ac | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index aad673e..6b37179 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -48,7 +48,10 @@ PLYMOUTH_LIBS="-lm -lrt -ldl"
- AC_SUBST(PLYMOUTH_CFLAGS)
- AC_SUBST(PLYMOUTH_LIBS)
-
--AC_PATH_PROG([SYSTEMD_ASK_PASSWORD_AGENT], [systemd-tty-ask-password-agent])
-+AC_ARG_WITH(systemd-tty-ask-password-agent, AS_HELP_STRING([--with-systemd-tty-ask-password-agent],[path of systemd-tty-ask-password-agent]),SYSTEMD_ASK_PASSWORD_AGENT=${withval},SYSTEMD_ASK_PASSWORD_AGENT=/bin/systemd-tty-ask-password-agent)
-+AC_SUBST(SYSTEMD_ASK_PASSWORD_AGENT)
-+
-+# checked: UDEVADM is not used
- AC_PATH_PROG([UDEVADM], [udevadm])
-
- AC_ARG_ENABLE(pango, AS_HELP_STRING([--enable-pango],[enable building with pango, disabled there is no encryption prompts]),enable_pango=$enableval,enable_pango=yes)
---
-2.9.5
-
diff --git a/meta-oe/recipes-core/plymouth/plymouth/0001-Avoid-linking-to-plymouth_logo_file.patch b/meta-oe/recipes-core/plymouth/plymouth/0001-Avoid-linking-to-plymouth_logo_file.patch
new file mode 100644
index 0000000000..77c9fbd964
--- /dev/null
+++ b/meta-oe/recipes-core/plymouth/plymouth/0001-Avoid-linking-to-plymouth_logo_file.patch
@@ -0,0 +1,28 @@
+From 210090a8bddc4d4fae6089449306276a58db7409 Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Wed, 14 Feb 2024 14:45:29 +0100
+Subject: [PATCH] Avoid linking to plymouth_logo_file
+
+Otherwise it would lead to install errors during cross-compilation.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ themes/spinfinity/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/themes/spinfinity/meson.build b/themes/spinfinity/meson.build
+index f48e8e55..da9ea705 100644
+--- a/themes/spinfinity/meson.build
++++ b/themes/spinfinity/meson.build
+@@ -56,5 +56,5 @@ install_data(
+
+ install_symlink('header-image.png',
+ install_dir: plymouth_theme_path / 'spinfinity',
+- pointing_to: plymouth_logo_file,
++ pointing_to: '..' / '..'/ 'bizcom.png',
+ )
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/plymouth/plymouth/0001-Drop-libdl-references.patch b/meta-oe/recipes-core/plymouth/plymouth/0001-Drop-libdl-references.patch
new file mode 100644
index 0000000000..e922f5ce95
--- /dev/null
+++ b/meta-oe/recipes-core/plymouth/plymouth/0001-Drop-libdl-references.patch
@@ -0,0 +1,70 @@
+From c1d5f8265a1974908ae8dd32714d305035939cc7 Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Wed, 14 Feb 2024 12:24:44 +0100
+Subject: [PATCH] Drop libdl references
+
+dl has been integrated into libc since glibc 2.34, dont need to link to
+it any more.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ meson.build | 2 --
+ src/client/meson.build | 1 -
+ src/libply-splash-core/meson.build | 1 -
+ src/libply/meson.build | 1 -
+ 4 files changed, 5 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index c6996aed..91688f73 100644
+--- a/meson.build
++++ b/meson.build
+@@ -24,8 +24,6 @@ cc = meson.get_compiler('c')
+ lm_dep = cc.find_library('m')
+ lrt_dep = cc.find_library('rt')
+
+-ldl_dep = dependency('dl')
+-
+ libpng_dep = dependency('libpng', version: '>= 1.2.16')
+
+ libudev_dep = dependency('libudev', required: get_option('udev'))
+diff --git a/src/client/meson.build b/src/client/meson.build
+index 0506c8b4..272a811c 100644
+--- a/src/client/meson.build
++++ b/src/client/meson.build
+@@ -52,7 +52,6 @@ pkgconfig.generate(libply_boot_client,
+ description: 'Client Library for Boot Splash',
+ libraries: [
+ libply,
+- ldl_dep,
+ ],
+ subdirs: [
+ 'plymouth-1/ply',
+diff --git a/src/libply-splash-core/meson.build b/src/libply-splash-core/meson.build
+index cd22345c..c0f62b4b 100644
+--- a/src/libply-splash-core/meson.build
++++ b/src/libply-splash-core/meson.build
+@@ -81,7 +81,6 @@ pkgconfig.generate(libply_splash_core,
+ description: 'Utility Library for Boot Splash Plugins',
+ libraries: [
+ libply,
+- ldl_dep,
+ ],
+ subdirs: [
+ 'plymouth-1/ply',
+diff --git a/src/libply/meson.build b/src/libply/meson.build
+index 70f72488..77dced75 100644
+--- a/src/libply/meson.build
++++ b/src/libply/meson.build
+@@ -17,7 +17,6 @@ libply_sources = files(
+ )
+
+ libply_deps = [
+- ldl_dep,
+ lm_dep,
+ ]
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/plymouth/plymouth/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch b/meta-oe/recipes-core/plymouth/plymouth/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch
new file mode 100644
index 0000000000..a25aa3b16c
--- /dev/null
+++ b/meta-oe/recipes-core/plymouth/plymouth/0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch
@@ -0,0 +1,63 @@
+From beb9b218f94872e70d02578d4ff016e08abc4717 Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Wed, 14 Feb 2024 12:03:26 +0100
+Subject: [PATCH] Make full path to systemd-tty-ask-password-agent configurable
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ meson.build | 2 +-
+ meson_options.txt | 5 +++++
+ systemd-units/meson.build | 2 +-
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 26789060..c6996aed 100644
+--- a/meson.build
++++ b/meson.build
+@@ -44,7 +44,7 @@ if get_option('systemd-integration')
+ systemd_unit_dir = systemd_dep.get_variable('systemdsystemunitdir',
+ pkgconfig_define: [ 'rootprefix', get_option('prefix') ],
+ )
+- systemd_ask_password_agent = find_program('systemd-tty-ask-password-agent')
++ systemd_ask_password_agent = get_option('systemd-tty-ask-password-agent')
+ endif
+
+ if get_option('upstart-monitoring')
+diff --git a/meson_options.txt b/meson_options.txt
+index 4f601bb0..aac661fc 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -53,6 +53,11 @@ option('systemd-integration',
+ value: true,
+ description: 'Coordinate boot up with systemd',
+ )
++option('systemd-tty-ask-password-agent',
++ type: 'string',
++ value: '/bin/systemd-tty-ask-password-agent',
++ description: 'Path of systemd-tty-ask-password-agent',
++)
+ option('udev',
+ type: 'feature',
+ value: 'auto',
+diff --git a/systemd-units/meson.build b/systemd-units/meson.build
+index 06379312..7adc86ae 100644
+--- a/systemd-units/meson.build
++++ b/systemd-units/meson.build
+@@ -21,7 +21,7 @@ foreach unit_templ : systemd_unit_templates
+ 'PLYMOUTH_CLIENT_DIR': get_option('prefix') / get_option('bindir'),
+ 'PLYMOUTH_DAEMON_DIR': get_option('prefix') / get_option('sbindir'),
+ 'plymouthruntimedir': plymouth_runtime_dir,
+- 'SYSTEMD_ASK_PASSWORD_AGENT': systemd_ask_password_agent.full_path(),
++ 'SYSTEMD_ASK_PASSWORD_AGENT': systemd_ask_password_agent,
+ },
+ install: true,
+ install_dir: systemd_unit_dir,
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/plymouth/plymouth/0001-Make-themes-build-optional.patch b/meta-oe/recipes-core/plymouth/plymouth/0001-Make-themes-build-optional.patch
new file mode 100644
index 0000000000..ab9aa7c39e
--- /dev/null
+++ b/meta-oe/recipes-core/plymouth/plymouth/0001-Make-themes-build-optional.patch
@@ -0,0 +1,120 @@
+From 2caf68370791c7aa48f94628c7f7a012753388c5 Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Wed, 14 Feb 2024 15:07:00 +0100
+Subject: [PATCH] Make themes build optional
+
+The users can choose which themes should be built.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ meson_options.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++
+ themes/meson.build | 38 ++++++++++++++++++++++++++---------
+ 2 files changed, 79 insertions(+), 9 deletions(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 4f601bb0..1cbf6d2b 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -83,3 +83,53 @@ option('docs',
+ value: true,
+ description: 'Build documentation',
+ )
++option('spinfinity-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with spinfinity theme',
++)
++option('fade-in-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with fade-in theme',
++)
++option('text-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with text theme',
++)
++option('details-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with details theme',
++)
++option('solar-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with solar theme',
++)
++option('glow-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with glow theme',
++)
++option('script-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with script theme',
++)
++option('spinner-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with spinner theme',
++)
++option('tribar-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with tribar theme',
++)
++option('bgrt-theme',
++ type: 'boolean',
++ value: true,
++ description: 'Build with bgrt theme',
++)
+diff --git a/themes/meson.build b/themes/meson.build
+index dc2ca6e2..15918472 100644
+--- a/themes/meson.build
++++ b/themes/meson.build
+@@ -1,10 +1,30 @@
+-subdir('spinfinity')
+-subdir('fade-in')
++if get_option('spinfinity-theme')
++ subdir('spinfinity')
++endif
++if get_option('fade-in-theme')
++ subdir('fade-in')
++endif
++if get_option('text-theme')
+ subdir('text')
+-subdir('details')
+-subdir('solar')
+-subdir('glow')
+-subdir('script')
+-subdir('spinner')
+-subdir('tribar')
+-subdir('bgrt')
++endif
++if get_option('details-theme')
++ subdir('details')
++endif
++if get_option('solar-theme')
++ subdir('solar')
++endif
++if get_option('glow-theme')
++ subdir('glow')
++endif
++if get_option('script-theme')
++ subdir('script')
++endif
++if get_option('spinner-theme')
++ subdir('spinner')
++endif
++if get_option('tribar-theme')
++ subdir('tribar')
++endif
++if get_option('bgrt-theme')
++ subdir('bgrt')
++endif
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/plymouth/plymouth/0001-plymouth-Add-the-retain-splash-option.patch b/meta-oe/recipes-core/plymouth/plymouth/0001-plymouth-Add-the-retain-splash-option.patch
new file mode 100644
index 0000000000..58838500bf
--- /dev/null
+++ b/meta-oe/recipes-core/plymouth/plymouth/0001-plymouth-Add-the-retain-splash-option.patch
@@ -0,0 +1,35 @@
+From f270f80d4c36a22a0f7b8de8fb6b1abef6f7b183 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Tue, 15 Feb 2022 16:23:10 +0800
+Subject: [PATCH] plymouth : Add the retain-splash option
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Adding the "retain-splash” option to tell plymouth to keep the boot
+splash’s contents on screen even after plymouth exits to make the
+splash screen show more friendly on the system which boots so fast.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ systemd-units/plymouth-quit.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd-units/plymouth-quit.service.in b/systemd-units/plymouth-quit.service.in
+index ed9f9b9..147e9ee 100644
+--- a/systemd-units/plymouth-quit.service.in
++++ b/systemd-units/plymouth-quit.service.in
+@@ -3,7 +3,7 @@ Description=Terminate Plymouth Boot Screen
+ After=rc-local.service plymouth-start.service systemd-user-sessions.service
+
+ [Service]
+-ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth quit
++ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth quit --retain-splash
+ Type=oneshot
+ RemainAfterExit=yes
+ TimeoutSec=20
+--
+2.17.1
+
diff --git a/meta-oe/recipes-core/plymouth/plymouth/0001-plymouth-start-service-in-add-related-kernel-paramet.patch b/meta-oe/recipes-core/plymouth/plymouth/0001-plymouth-start-service-in-add-related-kernel-paramet.patch
new file mode 100644
index 0000000000..7ba1034e93
--- /dev/null
+++ b/meta-oe/recipes-core/plymouth/plymouth/0001-plymouth-start-service-in-add-related-kernel-paramet.patch
@@ -0,0 +1,31 @@
+From 658eac007d14d836cb002a5675487bac63d50324 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 7 Feb 2022 03:22:12 +0000
+Subject: [PATCH] plymouth-start.service.in: add related kernel parameter
+
+Add extra kernel parameter to make the plymouth splash screen
+display during boot.
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/156]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ systemd-units/plymouth-start.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd-units/plymouth-start.service.in b/systemd-units/plymouth-start.service.in
+index 830a62d..c20aabe 100644
+--- a/systemd-units/plymouth-start.service.in
++++ b/systemd-units/plymouth-start.service.in
+@@ -9,7 +9,7 @@ ConditionVirtualization=!container
+ IgnoreOnIsolate=true
+
+ [Service]
+-ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot --pid-file=@plymouthruntimedir@/pid --attach-to-session
++ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot --kernel-command-line="splash plymouth.ignore-serial-consoles" --pid-file=@plymouthruntimedir@/pid --attach-to-session
+ ExecStartPost=-@PLYMOUTH_CLIENT_DIR@/plymouth show-splash
+ Type=forking
+ RemainAfterExit=yes
+--
+2.31.1
+
diff --git a/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb b/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
deleted file mode 100644
index 04106fcc9b..0000000000
--- a/meta-oe/recipes-core/plymouth/plymouth_0.9.5.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "Plymouth is a project from Fedora providing a flicker-free graphical boot process."
-
-DESCRIPTION = "Plymouth is an application that runs very early in the boot process \
- (even before the root filesystem is mounted!) that provides a \
- graphical boot animation while the boot process happens in the background. \
-"
-
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/Plymouth"
-SECTION = "base"
-
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "libcap libpng cairo dbus udev"
-PROVIDES = "virtual/psplash"
-RPROVIDES_${PN} = "virtual-psplash virtual-psplash-support"
-
-SRC_URI = " \
- http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.xz \
- file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \
- "
-
-SRC_URI[md5sum] = "8a25d23f3ae732af300a56fa33cacff2"
-
-EXTRA_OECONF += " --enable-shared --disable-static --disable-gtk --disable-documentation \
- --with-logo=${LOGO} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-integration --with-systemd-tty-ask-password-agent=${base_bindir}/systemd-tty-ask-password-agent', '--disable-systemd-integration', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge','--without-system-root-install','--with-system-root-install',d)} \
-"
-
-PACKAGECONFIG ??= "pango initrd"
-PACKAGECONFIG_append_x86 = " drm"
-PACKAGECONFIG_append_x86-64 = " drm"
-
-PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
-PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
-PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
-PACKAGECONFIG[initrd] = ",,,"
-
-LOGO ??= "${datadir}/plymouth/bizcom.png"
-
-inherit autotools pkgconfig systemd gettext
-
-do_install_append() {
- # Remove /var/run from package as plymouth will populate it on startup
- rm -fr "${D}${localstatedir}/run"
-
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'initrd', 'true', 'false', d)}; then
- rm -rf "${D}${libexecdir}"
- fi
-}
-
-PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'initrd', '${PN}-initrd ', '', d)}"
-PACKAGES =+ "${PN}-set-default-theme"
-
-FILES_${PN}-initrd = "${libexecdir}/plymouth/*"
-FILES_${PN}-set-default-theme = "${sbindir}/plymouth-set-default-theme"
-
-FILES_${PN} += "${systemd_unitdir}/system/*"
-FILES_${PN}-dbg += "${libdir}/plymouth/renderers/.debug"
-
-
-RDEPENDS_${PN}-initrd = "bash dracut"
-RDEPENDS_${PN}-set-default-theme = "bash"
-
-SYSTEMD_SERVICE_${PN} = "plymouth-start.service"
diff --git a/meta-oe/recipes-core/plymouth/plymouth_24.004.60.bb b/meta-oe/recipes-core/plymouth/plymouth_24.004.60.bb
new file mode 100644
index 0000000000..cdf24477a7
--- /dev/null
+++ b/meta-oe/recipes-core/plymouth/plymouth_24.004.60.bb
@@ -0,0 +1,102 @@
+SUMMARY = "Plymouth is a project from Fedora providing a flicker-free graphical boot process."
+DESCRIPTION = "Plymouth is an application that runs very early in the boot process \
+(even before the root filesystem is mounted!) that provides a \
+graphical boot animation while the boot process happens in the background."
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/Plymouth"
+SECTION = "base"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = " \
+ http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.xz \
+ file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \
+ file://0001-plymouth-start-service-in-add-related-kernel-paramet.patch \
+ file://0001-plymouth-Add-the-retain-splash-option.patch \
+ file://0001-Drop-libdl-references.patch \
+ file://0001-Avoid-linking-to-plymouth_logo_file.patch \
+ file://0001-Make-themes-build-optional.patch \
+"
+
+SRC_URI[sha256sum] = "f3f7841358c98f5e7b06a9eedbdd5e6882fd9f38bbd14a767fb083e3b55b1c34"
+
+PLYMOUTH_RUNSTATEDIR ??= "${base_prefix}/run"
+PLYMOUTH_RELEASE_FILE ??= "${sysconfdir}/system-release"
+
+PLYMOUTH_BACKGROUND_COLOR ??= "0x5d5950"
+PLYMOUTH_BACKGROUND_START_COLOR_STOP ??= "0x807c71"
+PLYMOUTH_BACKGROUND_END_COLOR_STOP ??= "0x3a362f"
+
+PLYMOUTH_BOOT_TTY ??= "/dev/tty1"
+PLYMOUTH_SHUTDOWN_TTY ??= "/dev/tty63"
+
+PLYMOUTH_THEMES ??= "spinfinity fade-in text details solar glow script spinner tribar bgrt"
+
+EXTRA_OEMESON += " \
+ -Drunstatedir=${PLYMOUTH_RUNSTATEDIR} \
+ -Drelease-file=${PLYMOUTH_RELEASE_FILE} \
+ -Dbackground-color=${PLYMOUTH_BACKGROUND_COLOR} \
+ -Dbackground-start-color-stop=${PLYMOUTH_BACKGROUND_START_COLOR_STOP} \
+ -Dbackground-end-color-stop=${PLYMOUTH_BACKGROUND_END_COLOR_STOP} \
+ -Dboot-tty=${PLYMOUTH_BOOT_TTY} \
+ -Dshutdown-tty=${PLYMOUTH_SHUTDOWN_TTY} \
+"
+
+PACKAGECONFIG ??= "initrd freetype pango udev ${PLYMOUTH_THEMES} ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG:append:x86 = " drm"
+PACKAGECONFIG:append:x86-64 = " drm"
+
+PACKAGECONFIG[drm] = "-Ddrm=true,-Ddrm=false,libdrm"
+PACKAGECONFIG[docs] = "-Ddocs=true,-Ddocs=false"
+PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
+PACKAGECONFIG[initrd] = ",,"
+PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
+PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango cairo"
+PACKAGECONFIG[systemd] = "-Dsystemd-integration=true ,-Dsystemd-integration=false,systemd"
+PACKAGECONFIG[tracing] = "-Dtracing=true,-Dtracing=false"
+PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev"
+PACKAGECONFIG[upstart-monitoring] = "-Dupstart-monitoring=true,-Dupstart-monitoring=false,ncurses dbus"
+
+# theme configs
+PACKAGECONFIG[spinfinity] = "-Dspinfinity-theme=true,-Dspinfinity-theme=false"
+PACKAGECONFIG[fade-in] = "-Dfade-in-theme=true,-Dfade-in-theme=false"
+PACKAGECONFIG[text] = "-Dtext-theme=true,-Dtext-theme=false"
+PACKAGECONFIG[details] = "-Ddetails-theme=true,-Ddetails-theme=false"
+PACKAGECONFIG[solar] = "-Dsolar-theme=true,-Dsolar-theme=false"
+PACKAGECONFIG[glow] = "-Dglow-theme=true,-Dglow-theme=false"
+PACKAGECONFIG[script] = "-Dscript-theme=true,-Dscript-theme=false"
+PACKAGECONFIG[spinner] = "-Dspinner-theme=true,-Dspinner-theme=false"
+PACKAGECONFIG[tribar] = "-Dtribar-theme=true,-Dtribar-theme=false"
+PACKAGECONFIG[bgrt] = "-Dbgrt-theme=true,-Dbgrt-theme=false"
+
+inherit meson pkgconfig systemd gettext
+
+do_install:append() {
+ # Remove ${PLYMOUTH_RUNSTATEDIR} from package as plymouth will populate it on startup
+ rm -fr ${D}${PLYMOUTH_RUNSTATEDIR}
+
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'initrd', 'true', 'false', d)}; then
+ rm -rf "${D}${libexecdir}"
+ fi
+}
+
+PROVIDES = "virtual/psplash"
+RPROVIDES:${PN} = "virtual-psplash virtual-psplash-support"
+
+PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'initrd', '${PN}-initrd ', '', d)}"
+PACKAGES =+ "${PN}-set-default-theme"
+
+FILES:${PN}-initrd = "${libexecdir}/plymouth/*"
+FILES:${PN}-set-default-theme = "${sbindir}/plymouth-set-default-theme"
+
+FILES:${PN} += "${systemd_unitdir}/system/*"
+
+DEPENDS = "libcap libpng libxkbcommon xkeyboard-config libevdev"
+DEPENDS:append:libc-musl = " musl-rpmatch"
+
+LDFLAGS:append:libc-musl = " -lrpmatch"
+
+RDEPENDS:${PN}-initrd = "bash dracut"
+RDEPENDS:${PN}-set-default-theme = "bash"
+
+SYSTEMD_SERVICE:${PN} = "plymouth-start.service"
diff --git a/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb b/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
index 68dc804241..247cc4266f 100644
--- a/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
+++ b/meta-oe/recipes-core/proxy-libintl/proxy-libintl_20100902.bb
@@ -1,10 +1,9 @@
SUMMARY = "Proxy libintl"
HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/"
SECTION = "libs"
-LICENSE = "LGPLv2"
+LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://src/proxy-libintl/COPYING.LIB.txt;md5=bc400bc21422f9a92e76ec2c5167ca2e"
-PR = "r1"
PROVIDES = "virtual/libintl"
SRC_URI = " \
@@ -15,10 +14,10 @@ SRC_URI[sha256sum] = "291ac350cc5eb4a01b0d651ca99fae64cee8a1c06b2005277fab5a4356
S = "${WORKDIR}"
PACKAGES = "${PN} ${PN}-dev"
-FILES_${PN}-dev = "${includedir}/libintl.h ${libdir}/libintl.a"
-INSANE_SKIP_${PN}-dev = "staticdev"
-ALLOW_EMPTY_${PN} = "1"
-CFLAGS_append = " -fPIC -Wall -I ../../include ${@['-DSTUB_ONLY', ''][d.getVar('USE_NLS') != 'no']}"
+FILES:${PN}-dev = "${includedir}/libintl.h ${libdir}/libintl.a"
+INSANE_SKIP:${PN}-dev = "staticdev"
+ALLOW_EMPTY:${PN} = "1"
+CFLAGS:append = " -fPIC -Wall -I ../../include ${@['-DSTUB_ONLY', ''][d.getVar('USE_NLS') != 'no']}"
TARGET_CC_ARCH += "${LDFLAGS}"
do_compile() {
diff --git a/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch b/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch
new file mode 100644
index 0000000000..4fd36ab8ab
--- /dev/null
+++ b/meta-oe/recipes-core/safec/safec/0001-strpbrk_s-Remove-unused-variable-len.patch
@@ -0,0 +1,42 @@
+From b1d7cc6495c541cdd99399b4d1a835997376dcbf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 22 Aug 2022 23:42:33 -0700
+Subject: [PATCH] strpbrk_s: Remove unused variable len
+
+Fixes
+error: variable 'len' set but not used [-Werror,-Wunused-but-set-variable]
+
+Upstream-Status: Submitted [https://github.com/rurban/safeclib/pull/123]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/extstr/strpbrk_s.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/extstr/strpbrk_s.c b/src/extstr/strpbrk_s.c
+index 5bb7a0f8..2cf8a8be 100644
+--- a/src/extstr/strpbrk_s.c
++++ b/src/extstr/strpbrk_s.c
+@@ -79,7 +79,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
+ #endif
+ {
+ char *ps;
+- rsize_t len;
+
+ CHK_SRC_NULL("strpbrk_s", firstp)
+ *firstp = NULL;
+@@ -121,7 +120,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
+ while (*dest && dmax) {
+
+ ps = src;
+- len = slen;
+ while (*ps) {
+
+ /* check for a match with the substring */
+@@ -130,7 +128,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
+ return RCNEGATE(EOK);
+ }
+ ps++;
+- len--;
+ }
+ dest++;
+ dmax--;
diff --git a/meta-oe/recipes-core/safec/safec_3.5.1.bb b/meta-oe/recipes-core/safec/safec_3.5.1.bb
deleted file mode 100644
index 91d8fc65a0..0000000000
--- a/meta-oe/recipes-core/safec/safec_3.5.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Safe C Library"
-
-LICENSE = "safec"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164"
-SECTION = "lib"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/git"
-# v08112019
-SRCREV = "ad76c7b1dbd0403b0c9decf54164fcce271c590f"
-SRC_URI = "git://github.com/rurban/safeclib.git \
-"
-
-COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64|mips).*-linux'
-
-PACKAGES =+ "${PN}-check"
-
-FILES_${PN}-check += "${bindir}/check_for_unsafe_apis"
-
-RDEPENDS_${PN}-check += "perl"
diff --git a/meta-oe/recipes-core/safec/safec_3.7.1.bb b/meta-oe/recipes-core/safec/safec_3.7.1.bb
new file mode 100644
index 0000000000..9dd6f1c7cc
--- /dev/null
+++ b/meta-oe/recipes-core/safec/safec_3.7.1.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Safe C Library"
+
+LICENSE = "safec"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164"
+SECTION = "lib"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+SRCREV = "f9add9245b97c7bda6e28cceb0ee37fb7e254fd8"
+SRC_URI = "git://github.com/rurban/safeclib.git;branch=master;protocol=https \
+ file://0001-strpbrk_s-Remove-unused-variable-len.patch \
+ "
+
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64|mips).*-linux'
+
+PACKAGES =+ "${PN}-check"
+
+FILES:${PN}-check += "${bindir}/check_for_unsafe_apis"
+
+RDEPENDS:${PN}-check += "perl"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/run-ptest b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/run-ptest
deleted file mode 100755
index f6ade0c7e4..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-0.8.3/run-ptest
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-set -e
-set -o pipefail
-
-SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
-
-${SCRIPTPATH}/../tests/sdbus-c++-unit-tests 2>&1 | \
-sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \
-sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \
-awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}'
-
-${SCRIPTPATH}/../tests/sdbus-c++-integration-tests 2>&1 | \
-sed -r 's/^\[\s+OK\s+\] (.*) \([0-9]+\sms\)$/OK: \1 /' | \
-sed -r 's/^\[\s+FAILED\s+\] (.*) \([0-9]+\sms\)$/FAILED: \1 /' | \
-awk '{if ($1 == "OK:" || $1 == "FAILED:") {print $0}}'
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch
deleted file mode 100644
index 2f4daf8665..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-do-not-disable-buffer-in-writing-files.patch
+++ /dev/null
@@ -1,413 +0,0 @@
-From 85e3c3046562ec24fc2f09ebfd08bf9f168091d5 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 1 Mar 2019 15:22:15 +0800
-Subject: [PATCH] do not disable buffer in writing files
-
-Do not disable buffer in writing files, otherwise we get
-failure at boot for musl like below.
-
- [!!!!!!] Failed to allocate manager object.
-
-And there will be other failures, critical or not critical.
-This is specific to musl.
-
-Upstream-Status: Inappropriate [musl]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[Rebased for v242]
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-[rebased for systemd 243]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- src/basic/cgroup-util.c | 14 +++++++-------
- src/basic/procfs-util.c | 4 ++--
- src/basic/smack-util.c | 2 +-
- src/basic/util.c | 2 +-
- src/binfmt/binfmt.c | 6 +++---
- src/core/main.c | 4 ++--
- src/core/smack-setup.c | 8 ++++----
- src/hibernate-resume/hibernate-resume.c | 2 +-
- src/libsystemd/sd-device/sd-device.c | 2 +-
- src/login/logind-dbus.c | 2 +-
- src/nspawn/nspawn-cgroup.c | 2 +-
- src/nspawn/nspawn.c | 6 +++---
- src/shared/sysctl-util.c | 2 +-
- src/sleep/sleep.c | 10 +++++-----
- src/udev/udevadm-trigger.c | 2 +-
- src/udev/udevd.c | 2 +-
- src/vconsole/vconsole-setup.c | 2 +-
- 17 files changed, 36 insertions(+), 36 deletions(-)
-
-diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
-index 7b5839ccd6..18f6e8ffc8 100644
---- a/src/basic/cgroup-util.c
-+++ b/src/basic/cgroup-util.c
-@@ -860,7 +860,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
-
- xsprintf(c, PID_FMT "\n", pid);
-
-- r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(fs, c, 0);
- if (r < 0)
- return r;
-
-@@ -1142,7 +1142,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
-
- sc = strstrip(contents);
- if (isempty(sc)) {
-- r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(fs, agent, 0);
- if (r < 0)
- return r;
- } else if (!path_equal(sc, agent))
-@@ -1160,7 +1160,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
-
- sc = strstrip(contents);
- if (streq(sc, "0")) {
-- r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(fs, "1", 0);
- if (r < 0)
- return r;
-
-@@ -1187,7 +1187,7 @@ int cg_uninstall_release_agent(const char *controller) {
- if (r < 0)
- return r;
-
-- r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(fs, "0", 0);
- if (r < 0)
- return r;
-
-@@ -1197,7 +1197,7 @@ int cg_uninstall_release_agent(const char *controller) {
- if (r < 0)
- return r;
-
-- r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(fs, "", 0);
- if (r < 0)
- return r;
-
-@@ -2053,7 +2053,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
- if (r < 0)
- return r;
-
-- return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ return write_string_file(p, value, 0);
- }
-
- int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
-@@ -2697,7 +2697,7 @@ int cg_enable_everywhere(
- return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
- }
-
-- r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_stream(f, s, 0);
- if (r < 0) {
- log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
- FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
-diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
-index 42ce53d5aa..57512532a6 100644
---- a/src/basic/procfs-util.c
-+++ b/src/basic/procfs-util.c
-@@ -86,13 +86,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
- * decrease it, as threads-max is the much more relevant sysctl. */
- if (limit > pid_max-1) {
- sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
-- r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0);
- if (r < 0)
- return r;
- }
-
- sprintf(buffer, "%" PRIu64, limit);
-- r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0);
- if (r < 0) {
- uint64_t threads_max;
-
-diff --git a/src/basic/smack-util.c b/src/basic/smack-util.c
-index 123d00e13e..e7ea78f349 100644
---- a/src/basic/smack-util.c
-+++ b/src/basic/smack-util.c
-@@ -115,7 +115,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
- return 0;
-
- p = procfs_file_alloca(pid, "attr/current");
-- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(p, label, 0);
- if (r < 0)
- return r;
-
-diff --git a/src/basic/util.c b/src/basic/util.c
-index 93d610bc98..97dca64f73 100644
---- a/src/basic/util.c
-+++ b/src/basic/util.c
-@@ -294,7 +294,7 @@ void disable_coredumps(void) {
- if (detect_container() > 0)
- return;
-
-- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
- if (r < 0)
- log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
- }
-diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
-index aa9d811f2e..8c7f2dae7a 100644
---- a/src/binfmt/binfmt.c
-+++ b/src/binfmt/binfmt.c
-@@ -48,7 +48,7 @@ static int delete_rule(const char *rule) {
- if (!fn)
- return log_oom();
-
-- return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ return write_string_file(fn, "-1", 0);
- }
-
- static int apply_rule(const char *rule) {
-@@ -56,7 +56,7 @@ static int apply_rule(const char *rule) {
-
- (void) delete_rule(rule);
-
-- r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0);
- if (r < 0)
- return log_error_errno(r, "Failed to add binary format: %m");
-
-@@ -213,7 +213,7 @@ static int run(int argc, char *argv[]) {
- }
-
- /* Flush out all rules */
-- (void) write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ (void) write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
-
- STRV_FOREACH(f, files) {
- k = apply_file(*f, true);
-diff --git a/src/core/main.c b/src/core/main.c
-index bcce7178a8..4199cedab9 100644
---- a/src/core/main.c
-+++ b/src/core/main.c
-@@ -1285,7 +1285,7 @@ static int bump_unix_max_dgram_qlen(void) {
- if (v >= DEFAULT_UNIX_MAX_DGRAM_QLEN)
- return 0;
-
-- r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", WRITE_STRING_FILE_DISABLE_BUFFER, "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN);
-+ r = write_string_filef("/proc/sys/net/unix/max_dgram_qlen", 0, "%lu", DEFAULT_UNIX_MAX_DGRAM_QLEN);
- if (r < 0)
- return log_full_errno(IN_SET(r, -EROFS, -EPERM, -EACCES) ? LOG_DEBUG : LOG_WARNING, r,
- "Failed to bump AF_UNIX datagram queue length, ignoring: %m");
-@@ -1509,7 +1509,7 @@ static void initialize_core_pattern(bool skip_setup) {
- if (getpid_cached() != 1)
- return;
-
-- r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0);
- if (r < 0)
- log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m", arg_early_core_pattern);
- }
-diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
-index b95e6239d4..fdbdaaaccb 100644
---- a/src/core/smack-setup.c
-+++ b/src/core/smack-setup.c
-@@ -325,17 +325,17 @@ int mac_smack_setup(bool *loaded_policy) {
- }
-
- #ifdef SMACK_RUN_LABEL
-- r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0);
- if (r < 0)
- log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m");
-- r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0);
- if (r < 0)
- log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m");
- r = write_string_file("/sys/fs/smackfs/netlabel",
-- "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ "0.0.0.0/0 " SMACK_RUN_LABEL, 0);
- if (r < 0)
- log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m");
-- r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0);
- if (r < 0)
- log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
- #endif
-diff --git a/src/hibernate-resume/hibernate-resume.c b/src/hibernate-resume/hibernate-resume.c
-index 17e7cd1a00..87a7667716 100644
---- a/src/hibernate-resume/hibernate-resume.c
-+++ b/src/hibernate-resume/hibernate-resume.c
-@@ -45,7 +45,7 @@ int main(int argc, char *argv[]) {
- return EXIT_FAILURE;
- }
-
-- r = write_string_file("/sys/power/resume", major_minor, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/power/resume", major_minor, 0);
- if (r < 0) {
- log_error_errno(r, "Failed to write '%s' to /sys/power/resume: %m", major_minor);
- return EXIT_FAILURE;
-diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
-index c4a7f2f3d3..bcac758284 100644
---- a/src/libsystemd/sd-device/sd-device.c
-+++ b/src/libsystemd/sd-device/sd-device.c
-@@ -1849,7 +1849,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
- if (!value)
- return -ENOMEM;
-
-- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
-+ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
- if (r < 0) {
- if (r == -ELOOP)
- return -EINVAL;
-diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
-index 30b9a66334..cc1d577933 100644
---- a/src/login/logind-dbus.c
-+++ b/src/login/logind-dbus.c
-@@ -1325,7 +1325,7 @@ static int trigger_device(Manager *m, sd_device *d) {
- if (!t)
- return -ENOMEM;
-
-- (void) write_string_file(t, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ (void) write_string_file(t, "change", 0);
- }
-
- return 0;
-diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
-index 0462b46413..7c53d41483 100644
---- a/src/nspawn/nspawn-cgroup.c
-+++ b/src/nspawn/nspawn-cgroup.c
-@@ -123,7 +123,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
- fn = strjoina(tree, cgroup, "/cgroup.procs");
-
- sprintf(pid_string, PID_FMT, pid);
-- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755);
-+ r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755);
- if (r < 0) {
- log_error_errno(r, "Failed to move process: %m");
- goto finish;
-diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
-index 2aec8041f0..841542f2f3 100644
---- a/src/nspawn/nspawn.c
-+++ b/src/nspawn/nspawn.c
-@@ -2357,7 +2357,7 @@ static int reset_audit_loginuid(void) {
- if (streq(p, "4294967295"))
- return 0;
-
-- r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/proc/self/loginuid", "4294967295", 0);
- if (r < 0) {
- log_error_errno(r,
- "Failed to reset audit login UID. This probably means that your kernel is too\n"
-@@ -3566,13 +3566,13 @@ static int setup_uid_map(pid_t pid) {
-
- xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
- xsprintf(line, UID_FMT " " UID_FMT " " UID_FMT "\n", 0, arg_uid_shift, arg_uid_range);
-- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(uid_map, line, 0);
- if (r < 0)
- return log_error_errno(r, "Failed to write UID map: %m");
-
- /* We always assign the same UID and GID ranges */
- xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
-- r = write_string_file(uid_map, line, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(uid_map, line, 0);
- if (r < 0)
- return log_error_errno(r, "Failed to write GID map: %m");
-
-diff --git a/src/shared/sysctl-util.c b/src/shared/sysctl-util.c
-index 93bdcf11bf..68cddb7a9f 100644
---- a/src/shared/sysctl-util.c
-+++ b/src/shared/sysctl-util.c
-@@ -88,7 +88,7 @@ int sysctl_write_ip_property(int af, const char *ifname, const char *property, c
-
- log_debug("Setting '%s' to '%s'", p, value);
-
-- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER);
-+ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | 0);
- }
-
- int sysctl_read(const char *property, char **content) {
-diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
-index b9fe96635d..f168d7f890 100644
---- a/src/sleep/sleep.c
-+++ b/src/sleep/sleep.c
-@@ -54,7 +54,7 @@ static int write_hibernate_location_info(void) {
-
- /* if it's a swap partition, we just write the disk to /sys/power/resume */
- if (streq(type, "partition")) {
-- r = write_string_file("/sys/power/resume", device, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/power/resume", device, 0);
- if (r < 0)
- return log_debug_errno(r, "Failed to write partition device to /sys/power/resume: %m");
-
-@@ -98,14 +98,14 @@ static int write_hibernate_location_info(void) {
-
- offset = fiemap->fm_extents[0].fe_physical / page_size();
- xsprintf(offset_str, "%" PRIu64, offset);
-- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
- if (r < 0)
- return log_debug_errno(r, "Failed to write offset '%s': %m", offset_str);
-
- log_debug("Wrote calculated resume_offset value to /sys/power/resume_offset: %s", offset_str);
-
- xsprintf(device_str, "%lx", (unsigned long)stb.st_dev);
-- r = write_string_file("/sys/power/resume", device_str, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/power/resume", device_str, 0);
- if (r < 0)
- return log_debug_errno(r, "Failed to write device '%s': %m", device_str);
-
-@@ -121,7 +121,7 @@ static int write_mode(char **modes) {
- STRV_FOREACH(mode, modes) {
- int k;
-
-- k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ k = write_string_file("/sys/power/disk", *mode, 0);
- if (k >= 0)
- return 0;
-
-@@ -140,7 +140,7 @@ static int write_state(FILE **f, char **states) {
- STRV_FOREACH(state, states) {
- int k;
-
-- k = write_string_stream(*f, *state, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ k = write_string_stream(*f, *state, 0);
- if (k >= 0)
- return 0;
- log_debug_errno(k, "Failed to write '%s' to /sys/power/state: %m", *state);
-diff --git a/src/udev/udevadm-trigger.c b/src/udev/udevadm-trigger.c
-index 77d95e513f..25ce4abfb1 100644
---- a/src/udev/udevadm-trigger.c
-+++ b/src/udev/udevadm-trigger.c
-@@ -43,7 +43,7 @@ static int exec_list(sd_device_enumerator *e, const char *action, Set *settle_se
- if (!filename)
- return log_oom();
-
-- r = write_string_file(filename, action, WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(filename, action, 0);
- if (r < 0) {
- log_full_errno(r == -ENOENT ? LOG_DEBUG : LOG_ERR, r,
- "Failed to write '%s' to '%s': %m", action, filename);
-diff --git a/src/udev/udevd.c b/src/udev/udevd.c
-index cb5123042a..ea309a9e7f 100644
---- a/src/udev/udevd.c
-+++ b/src/udev/udevd.c
-@@ -1113,7 +1113,7 @@ static int synthesize_change_one(sd_device *dev, const char *syspath) {
-
- filename = strjoina(syspath, "/uevent");
- log_device_debug(dev, "device is closed, synthesising 'change' on %s", syspath);
-- r = write_string_file(filename, "change", WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file(filename, "change", 0);
- if (r < 0)
- return log_device_debug_errno(dev, r, "Failed to write 'change' to %s: %m", filename);
- return 0;
-diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
-index 75d052ae70..5a15c939d8 100644
---- a/src/vconsole/vconsole-setup.c
-+++ b/src/vconsole/vconsole-setup.c
-@@ -117,7 +117,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
- static int toggle_utf8_sysfs(bool utf8) {
- int r;
-
-- r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER);
-+ r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0);
- if (r < 0)
- return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-meson-Fix-reallocarray-check.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-meson-Fix-reallocarray-check.patch
deleted file mode 100644
index d3d339d56d..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0001-meson-Fix-reallocarray-check.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1ebf1a1df17afd8b89f84b1928a89069035bf20b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 12 Dec 2020 16:15:57 -0800
-Subject: [PATCH] meson: Fix reallocarray check
-
-reallocarray() is defined in stdlib.h, so that would be right header to
-check for its presense.
-
-Upstream-Status: Submitted [https://github.com/systemd/systemd/pull/17951]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/meson.build
-+++ b/meson.build
-@@ -501,7 +501,7 @@ foreach ident : [
- #include <sys/stat.h>
- #include <unistd.h>'''],
- ['explicit_bzero' , '''#include <string.h>'''],
-- ['reallocarray', '''#include <malloc.h>'''],
-+ ['reallocarray', '''#include <stdlib.h>'''],
- ['set_mempolicy', '''#include <stdlib.h>
- #include <unistd.h>'''],
- ['get_mempolicy', '''#include <stdlib.h>
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch
deleted file mode 100644
index c6213ab88e..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-don-t-use-glibc-specific-qsort_r.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 1eb84534dea05d41afed1d898cba212ad7d310dd Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 13:41:41 +0800
-Subject: [PATCH 02/24] don't use glibc-specific qsort_r
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[Rebased for v241]
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[Rebased for v242]
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
----
- src/basic/sort-util.h | 14 --------------
- src/libsystemd/sd-hwdb/hwdb-util.c | 19 ++++++++++++++-----
- src/shared/format-table.c | 36 ++++++++++++++++++++++++------------
- 3 files changed, 38 insertions(+), 31 deletions(-)
-
-diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
-index e029f8646e..27d68b341c 100644
---- a/src/basic/sort-util.h
-+++ b/src/basic/sort-util.h
-@@ -54,17 +54,3 @@ static inline void qsort_safe(void *base, size_t nmemb, size_t size, __compar_fn
- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*) = func; \
- qsort_safe((p), (n), sizeof((p)[0]), (__compar_fn_t) _func_); \
- })
--
--static inline void qsort_r_safe(void *base, size_t nmemb, size_t size, __compar_d_fn_t compar, void *userdata) {
-- if (nmemb <= 1)
-- return;
--
-- assert(base);
-- qsort_r(base, nmemb, size, compar, userdata);
--}
--
--#define typesafe_qsort_r(p, n, func, userdata) \
-- ({ \
-- int (*_func_)(const typeof(p[0])*, const typeof(p[0])*, typeof(userdata)) = func; \
-- qsort_r_safe((p), (n), sizeof((p)[0]), (__compar_d_fn_t) _func_, userdata); \
-- })
-diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
-index c83575c7c8..72f8f3a050 100644
---- a/src/libsystemd/sd-hwdb/hwdb-util.c
-+++ b/src/libsystemd/sd-hwdb/hwdb-util.c
-@@ -128,9 +128,13 @@ static void trie_free(struct trie *trie) {
-
- DEFINE_TRIVIAL_CLEANUP_FUNC(struct trie*, trie_free);
-
--static int trie_values_cmp(const struct trie_value_entry *a, const struct trie_value_entry *b, struct trie *trie) {
-- return strcmp(trie->strings->buf + a->key_off,
-- trie->strings->buf + b->key_off);
-+static struct trie *trie_node_add_value_trie;
-+static int trie_values_cmp(const void *v1, const void *v2) {
-+ const struct trie_value_entry *a = v1;
-+ const struct trie_value_entry *b = v2;
-+
-+ return strcmp(trie_node_add_value_trie->strings->buf + a->key_off,
-+ trie_node_add_value_trie->strings->buf + b->key_off);
- }
-
- static int trie_node_add_value(struct trie *trie, struct trie_node *node,
-@@ -158,7 +162,10 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- .value_off = v,
- };
-
-- val = typesafe_bsearch_r(&search, node->values, node->values_count, trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ val = bsearch(&search, node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
-+
- if (val) {
- /* At this point we have 2 identical properties on the same match-string.
- * Since we process files in order, we just replace the previous value. */
-@@ -184,7 +191,9 @@ static int trie_node_add_value(struct trie *trie, struct trie_node *node,
- .line_number = line_number,
- };
- node->values_count++;
-- typesafe_qsort_r(node->values, node->values_count, trie_values_cmp, trie);
-+ trie_node_add_value_trie = trie;
-+ qsort(node->values, node->values_count, sizeof(struct trie_value_entry), trie_values_cmp);
-+ trie_node_add_value_trie = NULL;
- return 0;
- }
-
-diff --git a/src/shared/format-table.c b/src/shared/format-table.c
-index a5c0a99b08..d595cbe372 100644
---- a/src/shared/format-table.c
-+++ b/src/shared/format-table.c
-@@ -850,31 +850,33 @@ static int cell_data_compare(TableData *a, size_t index_a, TableData *b, size_t
- return CMP(index_a, index_b);
- }
-
--static int table_data_compare(const size_t *a, const size_t *b, Table *t) {
-+static Table *user_table;
-+static int table_data_compare(const void *x, const void *y) {
-+ const size_t *a = x, *b=y;
- size_t i;
- int r;
-
-- assert(t);
-- assert(t->sort_map);
-+ assert(user_table);
-+ assert(user_table->sort_map);
-
- /* Make sure the header stays at the beginning */
-- if (*a < t->n_columns && *b < t->n_columns)
-+ if (*a < user_table->n_columns && *b < user_table->n_columns)
- return 0;
-- if (*a < t->n_columns)
-+ if (*a < user_table->n_columns)
- return -1;
-- if (*b < t->n_columns)
-+ if (*b < user_table->n_columns)
- return 1;
-
- /* Order other lines by the sorting map */
-- for (i = 0; i < t->n_sort_map; i++) {
-+ for (i = 0; i < user_table->n_sort_map; i++) {
- TableData *d, *dd;
-
-- d = t->data[*a + t->sort_map[i]];
-- dd = t->data[*b + t->sort_map[i]];
-+ d = user_table->data[*a + user_table->sort_map[i]];
-+ dd = user_table->data[*b + user_table->sort_map[i]];
-
- r = cell_data_compare(d, *a, dd, *b);
- if (r != 0)
-- return t->reverse_map && t->reverse_map[t->sort_map[i]] ? -r : r;
-+ return user_table->reverse_map && user_table->reverse_map[user_table->sort_map[i]] ? -r : r;
- }
-
- /* Order identical lines by the order there were originally added in */
-@@ -1107,7 +1109,12 @@ int table_print(Table *t, FILE *f) {
- for (i = 0; i < n_rows; i++)
- sorted[i] = i * t->n_columns;
-
-- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
-+ if (n_rows <= 1)
-+ return 0;
-+ assert(sorted);
-+ user_table = t;
-+ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
-+ user_table = NULL;
- }
-
- if (t->display_map)
-@@ -1534,7 +1541,12 @@ int table_to_json(Table *t, JsonVariant **ret) {
- for (i = 0; i < n_rows; i++)
- sorted[i] = i * t->n_columns;
-
-- typesafe_qsort_r(sorted, n_rows, table_data_compare, t);
-+ if (n_rows <= 1)
-+ return 0;
-+ assert(sorted);
-+ user_table = t;
-+ qsort(sorted, n_rows, sizeof(size_t), table_data_compare);
-+ user_table = NULL;
- }
-
- if (t->display_map)
---
-2.11.0
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch
deleted file mode 100644
index dcae668dcb..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0002-src-login-brightness.c-include-sys-wait.h.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Include sys/wait.h
-
-Fixes:
-src/login/logind-brightness.c:158:85: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'?
- 158 | r = sd_event_add_child(w->manager->event, &w->child_event_source, w->child, WEXITED, on_brightness_writer_exit, w);
- | ^~~~~~~
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- src/login/logind-brightness.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/login/logind-brightness.c b/src/login/logind-brightness.c
-index 8dfa97d7ae..bddd4a2727 100644
---- a/src/login/logind-brightness.c
-+++ b/src/login/logind-brightness.c
-@@ -1,5 +1,6 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <sys/wait.h>
- #include "bus-util.h"
- #include "device-util.h"
- #include "hash-funcs.h"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
deleted file mode 100644
index 2e39f7a2e1..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From a9421d55102fc84f77f7c21a2479fcd00652b896 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 13:55:12 +0800
-Subject: [PATCH 03/24] missing_type.h: add __compare_fn_t and comparison_fn_t
-
-Make it work with musl where comparison_fn_t and __compare_fn_t
-is not provided.
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[Rebased for v242]
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
----
- src/basic/missing_type.h | 9 +++++++++
- src/basic/sort-util.h | 1 +
- src/journal/catalog.c | 1 +
- 3 files changed, 11 insertions(+)
-
-diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
-index bf8a6caa1b..2134fe5095 100644
---- a/src/basic/missing_type.h
-+++ b/src/basic/missing_type.h
-@@ -10,3 +10,12 @@
- #if !HAVE_CHAR16_T
- #define char16_t uint16_t
- #endif
-+
-+#ifndef __GLIBC__
-+typedef int (*comparison_fn_t)(const void *, const void *);
-+#endif
-+
-+#ifndef __COMPAR_FN_T
-+#define __COMPAR_FN_T
-+typedef int (*__compar_fn_t)(const void *, const void *);
-+#endif
-diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
-index e029f86..7247d40 100644
---- a/src/basic/sort-util.h
-+++ b/src/basic/sort-util.h
-@@ -4,6 +4,7 @@
- #include <stdlib.h>
-
- #include "macro.h"
-+#include "missing.h"
-
- void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
- __compar_d_fn_t compar, void *arg);
-diff --git a/src/journal/catalog.c b/src/journal/catalog.c
-index 7beffc1e1a..4818a2e5cc 100644
---- a/src/journal/catalog.c
-+++ b/src/journal/catalog.c
-@@ -29,6 +29,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "tmpfile-util.h"
-+#include "missing.h"
-
- const char * const catalog_file_dirs[] = {
- "/usr/local/lib/systemd/catalog/",
---
-2.11.0
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch
deleted file mode 100644
index 7ee0d48fa6..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0003-src-basic-copy.c-include-signal.h.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Include signal.h
-
-Fixes several signal set related errors:
-src/basic/copy.c:92:19: error: implicit declaration of function 'sigemptyset' [-Werror=implicit-function-declaration]
-src/basic/copy.c:93:19: error: implicit declaration of function 'sigaddset' [-Werror=implicit-function-declaration]
-src/basic/copy.c:93:34: error: 'SIGINT' undeclared (first use in this function)
-src/basic/copy.c:95:13: error: implicit declaration of function 'sigtimedwait' [-Werror=implicit-function-declaration]
-
-Upstream-Status: Pending
-
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- src/basic/copy.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/basic/copy.c b/src/basic/copy.c
-index ca311e021e..3cf7fc1697 100644
---- a/src/basic/copy.c
-+++ b/src/basic/copy.c
-@@ -12,6 +12,7 @@
- #include <sys/xattr.h>
- #include <time.h>
- #include <unistd.h>
-+#include <signal.h>
-
- #include "alloc-util.h"
- #include "btrfs-util.h"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch
deleted file mode 100644
index a2aad40ac2..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-add-fallback-parse_printf_format-implementation.patch
+++ /dev/null
@@ -1,432 +0,0 @@
-From 7bcf3b166694090497a0acd2c5299e4e04fcc9b6 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 14:04:21 +0800
-Subject: [PATCH 04/24] add fallback parse_printf_format implementation
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[rebased for systemd 243]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- meson.build | 1 +
- src/basic/meson.build | 5 +
- src/basic/parse-printf-format.c | 273 ++++++++++++++++++++++++++++++++++++++++
- src/basic/parse-printf-format.h | 57 +++++++++
- src/basic/stdio-util.h | 2 +-
- src/journal/journal-send.c | 2 +-
- 6 files changed, 338 insertions(+), 2 deletions(-)
- create mode 100644 src/basic/parse-printf-format.c
- create mode 100644 src/basic/parse-printf-format.h
-
-diff --git a/meson.build b/meson.build
-index 79b762faeb..7f8c679411 100644
---- a/meson.build
-+++ b/meson.build
-@@ -613,6 +613,7 @@ endif
- foreach header : ['crypt.h',
- 'linux/memfd.h',
- 'linux/vm_sockets.h',
-+ 'printf.h',
- 'sys/auxv.h',
- 'valgrind/memcheck.h',
- 'valgrind/valgrind.h',
-diff --git a/src/basic/meson.build b/src/basic/meson.build
-index d6caf28f14..32c1acf349 100644
---- a/src/basic/meson.build
-+++ b/src/basic/meson.build
-@@ -312,6 +312,11 @@ foreach item : [['af', af_list_txt, 'af', ''],
- endforeach
-
- basic_sources += generated_gperf_headers
-+
-+if conf.get('HAVE_PRINTF_H') != 1
-+ basic_sources += [files('parse-printf-format.c')]
-+endif
-+
- basic_gcrypt_sources = files(
- 'gcrypt-util.c',
- 'gcrypt-util.h')
-diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
-new file mode 100644
-index 0000000000..49437e5445
---- /dev/null
-+++ b/src/basic/parse-printf-format.c
-@@ -0,0 +1,273 @@
-+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-+
-+/***
-+ This file is part of systemd.
-+
-+ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
-+
-+ With parts from the musl C library
-+ Copyright 2005-2014 Rich Felker, et al.
-+
-+ systemd is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU Lesser General Public License as published by
-+ the Free Software Foundation; either version 2.1 of the License, or
-+ (at your option) any later version.
-+
-+ systemd is distributed in the hope that it will be useful, but
-+ WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public License
-+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
-+***/
-+
-+#include <stddef.h>
-+#include <string.h>
-+
-+#include "parse-printf-format.h"
-+
-+static const char *consume_nonarg(const char *fmt)
-+{
-+ do {
-+ if (*fmt == '\0')
-+ return fmt;
-+ } while (*fmt++ != '%');
-+ return fmt;
-+}
-+
-+static const char *consume_num(const char *fmt)
-+{
-+ for (;*fmt >= '0' && *fmt <= '9'; fmt++)
-+ /* do nothing */;
-+ return fmt;
-+}
-+
-+static const char *consume_argn(const char *fmt, size_t *arg)
-+{
-+ const char *p = fmt;
-+ size_t val = 0;
-+
-+ if (*p < '1' || *p > '9')
-+ return fmt;
-+ do {
-+ val = 10*val + (*p++ - '0');
-+ } while (*p >= '0' && *p <= '9');
-+
-+ if (*p != '$')
-+ return fmt;
-+ *arg = val;
-+ return p+1;
-+}
-+
-+static const char *consume_flags(const char *fmt)
-+{
-+ while (1) {
-+ switch (*fmt) {
-+ case '#':
-+ case '0':
-+ case '-':
-+ case ' ':
-+ case '+':
-+ case '\'':
-+ case 'I':
-+ fmt++;
-+ continue;
-+ }
-+ return fmt;
-+ }
-+}
-+
-+enum state {
-+ BARE,
-+ LPRE,
-+ LLPRE,
-+ HPRE,
-+ HHPRE,
-+ BIGLPRE,
-+ ZTPRE,
-+ JPRE,
-+ STOP
-+};
-+
-+enum type {
-+ NONE,
-+ PTR,
-+ INT,
-+ UINT,
-+ ULLONG,
-+ LONG,
-+ ULONG,
-+ SHORT,
-+ USHORT,
-+ CHAR,
-+ UCHAR,
-+ LLONG,
-+ SIZET,
-+ IMAX,
-+ UMAX,
-+ PDIFF,
-+ UIPTR,
-+ DBL,
-+ LDBL,
-+ MAXTYPE
-+};
-+
-+static const short pa_types[MAXTYPE] = {
-+ [NONE] = PA_INT,
-+ [PTR] = PA_POINTER,
-+ [INT] = PA_INT,
-+ [UINT] = PA_INT,
-+ [ULLONG] = PA_INT | PA_FLAG_LONG_LONG,
-+ [LONG] = PA_INT | PA_FLAG_LONG,
-+ [ULONG] = PA_INT | PA_FLAG_LONG,
-+ [SHORT] = PA_INT | PA_FLAG_SHORT,
-+ [USHORT] = PA_INT | PA_FLAG_SHORT,
-+ [CHAR] = PA_CHAR,
-+ [UCHAR] = PA_CHAR,
-+ [LLONG] = PA_INT | PA_FLAG_LONG_LONG,
-+ [SIZET] = PA_INT | PA_FLAG_LONG,
-+ [IMAX] = PA_INT | PA_FLAG_LONG_LONG,
-+ [UMAX] = PA_INT | PA_FLAG_LONG_LONG,
-+ [PDIFF] = PA_INT | PA_FLAG_LONG_LONG,
-+ [UIPTR] = PA_INT | PA_FLAG_LONG,
-+ [DBL] = PA_DOUBLE,
-+ [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE
-+};
-+
-+#define S(x) [(x)-'A']
-+#define E(x) (STOP + (x))
-+
-+static const unsigned char states[]['z'-'A'+1] = {
-+ { /* 0: bare types */
-+ S('d') = E(INT), S('i') = E(INT),
-+ S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT),
-+ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
-+ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
-+ S('c') = E(CHAR),S('C') = E(INT),
-+ S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR),
-+ S('m') = E(NONE),
-+ S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE,
-+ S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE
-+ }, { /* 1: l-prefixed */
-+ S('d') = E(LONG), S('i') = E(LONG),
-+ S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG),
-+ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
-+ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
-+ S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR),
-+ S('l') = LLPRE
-+ }, { /* 2: ll-prefixed */
-+ S('d') = E(LLONG), S('i') = E(LLONG),
-+ S('o') = E(ULLONG),S('u') = E(ULLONG),
-+ S('x') = E(ULLONG),S('X') = E(ULLONG),
-+ S('n') = E(PTR)
-+ }, { /* 3: h-prefixed */
-+ S('d') = E(SHORT), S('i') = E(SHORT),
-+ S('o') = E(USHORT),S('u') = E(USHORT),
-+ S('x') = E(USHORT),S('X') = E(USHORT),
-+ S('n') = E(PTR),
-+ S('h') = HHPRE
-+ }, { /* 4: hh-prefixed */
-+ S('d') = E(CHAR), S('i') = E(CHAR),
-+ S('o') = E(UCHAR),S('u') = E(UCHAR),
-+ S('x') = E(UCHAR),S('X') = E(UCHAR),
-+ S('n') = E(PTR)
-+ }, { /* 5: L-prefixed */
-+ S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL),
-+ S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL),
-+ S('n') = E(PTR)
-+ }, { /* 6: z- or t-prefixed (assumed to be same size) */
-+ S('d') = E(PDIFF),S('i') = E(PDIFF),
-+ S('o') = E(SIZET),S('u') = E(SIZET),
-+ S('x') = E(SIZET),S('X') = E(SIZET),
-+ S('n') = E(PTR)
-+ }, { /* 7: j-prefixed */
-+ S('d') = E(IMAX), S('i') = E(IMAX),
-+ S('o') = E(UMAX), S('u') = E(UMAX),
-+ S('x') = E(UMAX), S('X') = E(UMAX),
-+ S('n') = E(PTR)
-+ }
-+};
-+
-+size_t parse_printf_format(const char *fmt, size_t n, int *types)
-+{
-+ size_t i = 0;
-+ size_t last = 0;
-+
-+ memset(types, 0, n);
-+
-+ while (1) {
-+ size_t arg;
-+ unsigned int state;
-+
-+ fmt = consume_nonarg(fmt);
-+ if (*fmt == '\0')
-+ break;
-+ if (*fmt == '%') {
-+ fmt++;
-+ continue;
-+ }
-+ arg = 0;
-+ fmt = consume_argn(fmt, &arg);
-+ /* flags */
-+ fmt = consume_flags(fmt);
-+ /* width */
-+ if (*fmt == '*') {
-+ size_t warg = 0;
-+ fmt = consume_argn(fmt+1, &warg);
-+ if (warg == 0)
-+ warg = ++i;
-+ if (warg > last)
-+ last = warg;
-+ if (warg <= n && types[warg-1] == NONE)
-+ types[warg-1] = INT;
-+ } else
-+ fmt = consume_num(fmt);
-+ /* precision */
-+ if (*fmt == '.') {
-+ fmt++;
-+ if (*fmt == '*') {
-+ size_t parg = 0;
-+ fmt = consume_argn(fmt+1, &parg);
-+ if (parg == 0)
-+ parg = ++i;
-+ if (parg > last)
-+ last = parg;
-+ if (parg <= n && types[parg-1] == NONE)
-+ types[parg-1] = INT;
-+ } else {
-+ if (*fmt == '-')
-+ fmt++;
-+ fmt = consume_num(fmt);
-+ }
-+ }
-+ /* length modifier and conversion specifier */
-+ state = BARE;
-+ do {
-+ unsigned char c = *fmt++;
-+
-+ if (c < 'A' || c > 'z')
-+ continue;
-+ state = states[state]S(c);
-+ if (state == 0)
-+ continue;
-+ } while (state < STOP);
-+
-+ if (state == E(NONE))
-+ continue;
-+
-+ if (arg == 0)
-+ arg = ++i;
-+ if (arg > last)
-+ last = arg;
-+ if (arg <= n)
-+ types[arg-1] = state - STOP;
-+ }
-+
-+ if (last > n)
-+ last = n;
-+ for (i = 0; i < last; i++)
-+ types[i] = pa_types[types[i]];
-+
-+ return last;
-+}
-diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
-new file mode 100644
-index 0000000000..47be7522d7
---- /dev/null
-+++ b/src/basic/parse-printf-format.h
-@@ -0,0 +1,57 @@
-+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-+
-+/***
-+ This file is part of systemd.
-+
-+ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
-+
-+ With parts from the GNU C Library
-+ Copyright 1991-2014 Free Software Foundation, Inc.
-+
-+ systemd is free software; you can redistribute it and/or modify it
-+ under the terms of the GNU Lesser General Public License as published by
-+ the Free Software Foundation; either version 2.1 of the License, or
-+ (at your option) any later version.
-+
-+ systemd is distributed in the hope that it will be useful, but
-+ WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public License
-+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
-+***/
-+
-+#pragma once
-+
-+#include "config.h"
-+
-+#if HAVE_PRINTF_H
-+#include <printf.h>
-+#else
-+
-+#include <stddef.h>
-+
-+enum { /* C type: */
-+ PA_INT, /* int */
-+ PA_CHAR, /* int, cast to char */
-+ PA_WCHAR, /* wide char */
-+ PA_STRING, /* const char *, a '\0'-terminated string */
-+ PA_WSTRING, /* const wchar_t *, wide character string */
-+ PA_POINTER, /* void * */
-+ PA_FLOAT, /* float */
-+ PA_DOUBLE, /* double */
-+ PA_LAST
-+};
-+
-+/* Flag bits that can be set in a type returned by `parse_printf_format'. */
-+#define PA_FLAG_MASK 0xff00
-+#define PA_FLAG_LONG_LONG (1 << 8)
-+#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG
-+#define PA_FLAG_LONG (1 << 9)
-+#define PA_FLAG_SHORT (1 << 10)
-+#define PA_FLAG_PTR (1 << 11)
-+
-+size_t parse_printf_format(const char *fmt, size_t n, int *types);
-+
-+#endif /* HAVE_PRINTF_H */
-diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
-index c3b9448d4f..2937aa13b1 100644
---- a/src/basic/stdio-util.h
-+++ b/src/basic/stdio-util.h
-@@ -1,13 +1,13 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
- #pragma once
-
--#include <printf.h>
- #include <stdarg.h>
- #include <stdio.h>
- #include <sys/types.h>
-
- #include "macro.h"
- #include "memory-util.h"
-+#include "parse-printf-format.h"
-
- #define snprintf_ok(buf, len, fmt, ...) \
- ((size_t) snprintf(buf, len, fmt, __VA_ARGS__) < (len))
-diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
-index 5ef11fa1a4..6384ab620c 100644
---- a/src/journal/journal-send.c
-+++ b/src/journal/journal-send.c
-@@ -2,7 +2,6 @@
-
- #include <errno.h>
- #include <fcntl.h>
--#include <printf.h>
- #include <stddef.h>
- #include <sys/socket.h>
- #include <sys/un.h>
-@@ -21,6 +20,7 @@
- #include "stdio-util.h"
- #include "string-util.h"
- #include "tmpfile-util.h"
-+#include "parse-printf-format.h"
-
- #define SNDBUF_SIZE (8*1024*1024)
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
deleted file mode 100644
index 0f75e8c12d..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Handle __cpu_mask usage
-
-Fixes errors:
-
-src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function)
-src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function)
-
-__cpu_mask is an internal type of glibc's cpu_set implementation, not
-part of the POSIX definition, which is problematic when building with
-musl, which does not define a matching type. From inspection of musl's
-sched.h, however, it is clear that the corresponding type would be
-unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So,
-add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- src/shared/cpu-set-util.h | 2 ++
- src/test/test-sizeof.c | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h
-index 27812dfd59..f698f9df83 100644
---- a/src/shared/cpu-set-util.h
-+++ b/src/shared/cpu-set-util.h
-@@ -6,6 +6,8 @@
- #include "macro.h"
- #include "missing_syscall.h"
-
-+typedef unsigned long __cpu_mask;
-+
- /* This wraps the libc interface with a variable to keep the allocated size. */
- typedef struct CPUSet {
- cpu_set_t *set;
-diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
-index a710db5370..d1601ad929 100644
---- a/src/test/test-sizeof.c
-+++ b/src/test/test-sizeof.c
-@@ -1,6 +1,5 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
--#include <sched.h>
- #include <stdio.h>
- #include <string.h>
-
-@@ -8,6 +7,7 @@
- #include <float.h>
-
- #include "time-util.h"
-+#include "cpu-set-util.h"
-
- /* Print information about various types. Useful when diagnosing
- * gcc diagnostics on an unfamiliar architecture. */
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch
deleted file mode 100644
index adfc3b7861..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0005-src-basic-missing.h-check-for-missing-strndupa.patch
+++ /dev/null
@@ -1,442 +0,0 @@
-From 399fd3eda3045636a70da438a0fd1406cc332ed1 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 14:18:21 +0800
-Subject: [PATCH 05/24] src/basic/missing.h: check for missing strndupa
-
-include missing.h for definition of strndupa
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[Rebased for v242]
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-[rebased for systemd 243]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- meson.build | 1 +
- src/backlight/backlight.c | 1 +
- src/basic/env-util.c | 1 +
- src/basic/missing_stdlib.h | 12 ++++++++++++
- src/basic/mkdir.c | 1 +
- src/basic/parse-util.c | 1 +
- src/basic/proc-cmdline.c | 1 +
- src/basic/procfs-util.c | 1 +
- src/basic/time-util.c | 1 +
- src/core/dbus-cgroup.c | 1 +
- src/core/dbus-util.c | 1 +
- src/core/kmod-setup.c | 1 +
- src/core/service.c | 1 +
- src/journal/journalctl.c | 1 +
- src/libsystemd/sd-bus/bus-message.c | 1 +
- src/libsystemd/sd-bus/bus-objects.c | 1 +
- src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
- src/locale/keymap-util.c | 1 +
- src/login/pam_systemd.c | 1 +
- src/network/generator/network-generator.c | 1 +
- src/nspawn/nspawn-settings.c | 1 +
- src/shared/dns-domain.c | 1 +
- src/shared/journal-importer.c | 1 +
- src/shared/logs-show.c | 1 +
- src/shared/pager.c | 1 +
- src/shared/path-lookup.c | 1 +
- src/shared/uid-range.c | 1 +
- src/socket-proxy/socket-proxyd.c | 1 +
- src/test/test-hexdecoct.c | 1 +
- src/udev/udev-builtin-path_id.c | 1 +
- src/udev/udev-event.c | 1 +
- src/udev/udev-rules.c | 1 +
- 32 files changed, 43 insertions(+)
-
-diff --git a/meson.build b/meson.build
-index 7f8c679411..81c061b768 100644
---- a/meson.build
-+++ b/meson.build
-@@ -506,6 +506,7 @@ foreach ident : [
- #include <unistd.h>'''],
- ['get_mempolicy', '''#include <stdlib.h>
- #include <unistd.h>'''],
-+ ['strndupa' , '''#include <string.h>'''],
- ]
-
- have = cc.has_function(ident[0], prefix : ident[1], args : '-D_GNU_SOURCE')
-diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
-index dfd6805398..c2b2ace6ec 100644
---- a/src/backlight/backlight.c
-+++ b/src/backlight/backlight.c
-@@ -17,6 +17,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "util.h"
-+#include "missing.h"
-
- static int find_pci_or_platform_parent(sd_device *device, sd_device **ret) {
- const char *subsystem, *sysname, *value;
-diff --git a/src/basic/env-util.c b/src/basic/env-util.c
-index a6503cf2b6..ceef9a62c8 100644
---- a/src/basic/env-util.c
-+++ b/src/basic/env-util.c
-@@ -16,6 +16,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "utf8.h"
-+#include "missing.h"
-
- #define VALID_CHARS_ENV_NAME \
- DIGITS LETTERS \
-diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
-index 188a8d4406..1e16ec287a 100644
---- a/src/basic/missing_stdlib.h
-+++ b/src/basic/missing_stdlib.h
-@@ -11,3 +11,15 @@
- # error "neither secure_getenv nor __secure_getenv are available"
- # endif
- #endif
-+
-+/* string.h */
-+#if ! HAVE_STRNDUPA
-+#define strndupa(s, n) \
-+ ({ \
-+ const char *__old = (s); \
-+ size_t __len = strnlen(__old, (n)); \
-+ char *__new = (char *)alloca(__len + 1); \
-+ __new[__len] = '\0'; \
-+ (char *)memcpy(__new, __old, __len); \
-+ })
-+#endif
-diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
-index 6b82eab640..51c6b78615 100644
---- a/src/basic/mkdir.c
-+++ b/src/basic/mkdir.c
-@@ -14,6 +14,7 @@
- #include "stat-util.h"
- #include "stdio-util.h"
- #include "user-util.h"
-+#include "missing.h"
-
- int mkdir_safe_internal(const char *path, mode_t mode, uid_t uid, gid_t gid, MkdirFlags flags, mkdir_func_t _mkdir) {
- struct stat st;
-diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
-index 115a1494a2..07a34bfd53 100644
---- a/src/basic/parse-util.c
-+++ b/src/basic/parse-util.c
-@@ -20,6 +20,7 @@
- #include "process-util.h"
- #include "stat-util.h"
- #include "string-util.h"
-+#include "missing.h"
-
- int parse_boolean(const char *v) {
- if (!v)
-diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
-index 09169cf963..f411ba897f 100644
---- a/src/basic/proc-cmdline.c
-+++ b/src/basic/proc-cmdline.c
-@@ -15,6 +15,7 @@
- #include "string-util.h"
- #include "util.h"
- #include "virt.h"
-+#include "missing.h"
-
- int proc_cmdline(char **ret) {
- const char *e;
-diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
-index 7aaf95bfce..42ce53d5aa 100644
---- a/src/basic/procfs-util.c
-+++ b/src/basic/procfs-util.c
-@@ -11,6 +11,7 @@
- #include "procfs-util.h"
- #include "stdio-util.h"
- #include "string-util.h"
-+#include "missing.h"
-
- int procfs_tasks_get_limit(uint64_t *ret) {
- _cleanup_free_ char *value = NULL;
-diff --git a/src/basic/time-util.c b/src/basic/time-util.c
-index 3018e81acb..4e2b3b66c1 100644
---- a/src/basic/time-util.c
-+++ b/src/basic/time-util.c
-@@ -28,6 +28,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "time-util.h"
-+#include "missing.h"
-
- static clockid_t map_clock_id(clockid_t c) {
-
-diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
-index 2f2313c599..c9937f9d62 100644
---- a/src/core/dbus-cgroup.c
-+++ b/src/core/dbus-cgroup.c
-@@ -15,6 +15,7 @@
- #include "fileio.h"
- #include "limits-util.h"
- #include "path-util.h"
-+#include "missing.h"
-
- static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_cgroup_device_policy, cgroup_device_policy, CGroupDevicePolicy);
-
-diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
-index 7862beaacb..19f6968cfe 100644
---- a/src/core/dbus-util.c
-+++ b/src/core/dbus-util.c
-@@ -7,6 +7,7 @@
- #include "unit-printf.h"
- #include "user-util.h"
- #include "unit.h"
-+#include "missing.h"
-
- int bus_property_get_triggered_unit(
- sd_bus *bus,
-diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
-index a91cfebc67..a45961013f 100644
---- a/src/core/kmod-setup.c
-+++ b/src/core/kmod-setup.c
-@@ -11,6 +11,7 @@
- #include "kmod-setup.h"
- #include "macro.h"
- #include "string-util.h"
-+#include "missing.h"
-
- #if HAVE_KMOD
- #include <libkmod.h>
-diff --git a/src/core/service.c b/src/core/service.c
-index 73b3c9c316..ef74f00a08 100644
---- a/src/core/service.c
-+++ b/src/core/service.c
-@@ -43,6 +43,7 @@
- #include "unit.h"
- #include "utf8.h"
- #include "util.h"
-+#include "missing.h"
-
- static const UnitActiveState state_translation_table[_SERVICE_STATE_MAX] = {
- [SERVICE_DEAD] = UNIT_INACTIVE,
-diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
-index 6d6bb1cf63..6666349a35 100644
---- a/src/journal/journalctl.c
-+++ b/src/journal/journalctl.c
-@@ -70,6 +70,7 @@
- #include "unit-name.h"
- #include "user-util.h"
- #include "varlink.h"
-+#include "missing.h"
-
- #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
-
-diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
-index eb029e4453..f31fe9d5a8 100644
---- a/src/libsystemd/sd-bus/bus-message.c
-+++ b/src/libsystemd/sd-bus/bus-message.c
-@@ -21,6 +21,7 @@
- #include "strv.h"
- #include "time-util.h"
- #include "utf8.h"
-+#include "missing.h"
-
- static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
-
-diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
-index ae643cacc7..1b752271a5 100644
---- a/src/libsystemd/sd-bus/bus-objects.c
-+++ b/src/libsystemd/sd-bus/bus-objects.c
-@@ -13,6 +13,7 @@
- #include "set.h"
- #include "string-util.h"
- #include "strv.h"
-+#include "missing.h"
-
- static int node_vtable_get_userdata(
- sd_bus *bus,
-diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
-index 8de0a859ee..4fd0a2e692 100644
---- a/src/libsystemd/sd-bus/test-bus-benchmark.c
-+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
-@@ -14,6 +14,7 @@
- #include "missing_resource.h"
- #include "time-util.h"
- #include "util.h"
-+#include "missing.h"
-
- #define MAX_SIZE (2*1024*1024)
-
-diff --git a/src/locale/keymap-util.c b/src/locale/keymap-util.c
-index f8c36c94f5..41f5606aea 100644
---- a/src/locale/keymap-util.c
-+++ b/src/locale/keymap-util.c
-@@ -22,6 +22,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "tmpfile-util.h"
-+#include "missing.h"
-
- static bool startswith_comma(const char *s, const char *prefix) {
- s = startswith(s, prefix);
-diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
-index 3f762cbbc3..005cfea658 100644
---- a/src/login/pam_systemd.c
-+++ b/src/login/pam_systemd.c
-@@ -28,6 +28,7 @@
- #include "hostname-util.h"
- #include "login-util.h"
- #include "macro.h"
-+#include "missing.h"
- #include "parse-util.h"
- #include "path-util.h"
- #include "process-util.h"
-diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
-index 0b5af33566..9c808cd014 100644
---- a/src/network/generator/network-generator.c
-+++ b/src/network/generator/network-generator.c
-@@ -13,6 +13,7 @@
- #include "string-table.h"
- #include "string-util.h"
- #include "strv.h"
-+#include "missing.h"
-
- /*
- # .network
-diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
-index 3a99736813..279fea4d88 100644
---- a/src/nspawn/nspawn-settings.c
-+++ b/src/nspawn/nspawn-settings.c
-@@ -16,6 +16,7 @@
- #include "strv.h"
- #include "user-util.h"
- #include "util.h"
-+#include "missing.h"
-
- Settings *settings_new(void) {
- Settings *s;
-diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
-index f62ad0a0f5..f1a27e158d 100644
---- a/src/shared/dns-domain.c
-+++ b/src/shared/dns-domain.c
-@@ -24,6 +24,7 @@
- #include "string-util.h"
- #include "strv.h"
- #include "utf8.h"
-+#include "missing.h"
-
- int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
- const char *n;
-diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
-index 7c4fc7021d..a6ff2214df 100644
---- a/src/shared/journal-importer.c
-+++ b/src/shared/journal-importer.c
-@@ -14,6 +14,7 @@
- #include "parse-util.h"
- #include "string-util.h"
- #include "unaligned.h"
-+#include "missing.h"
-
- enum {
- IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
-diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
-index b615c70dff..75b26e9c21 100644
---- a/src/shared/logs-show.c
-+++ b/src/shared/logs-show.c
-@@ -39,6 +39,7 @@
- #include "time-util.h"
- #include "utf8.h"
- #include "util.h"
-+#include "missing.h"
-
- /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
- #define PRINT_LINE_THRESHOLD 3
-diff --git a/src/shared/pager.c b/src/shared/pager.c
-index 7c20b100b4..e4209d3a95 100644
---- a/src/shared/pager.c
-+++ b/src/shared/pager.c
-@@ -25,6 +25,7 @@
- #include "strv.h"
- #include "terminal-util.h"
- #include "util.h"
-+#include "missing.h"
-
- static pid_t pager_pid = 0;
-
-diff --git a/src/shared/path-lookup.c b/src/shared/path-lookup.c
-index 6bf0ff0316..f6c8009cd2 100644
---- a/src/shared/path-lookup.c
-+++ b/src/shared/path-lookup.c
-@@ -20,6 +20,7 @@
- #include "tmpfile-util.h"
- #include "user-util.h"
- #include "util.h"
-+#include "missing.h"
-
- int xdg_user_runtime_dir(char **ret, const char *suffix) {
- const char *e;
-diff --git a/src/shared/uid-range.c b/src/shared/uid-range.c
-index 7cb7d8a477..8b12b91084 100644
---- a/src/shared/uid-range.c
-+++ b/src/shared/uid-range.c
-@@ -9,6 +9,7 @@
- #include "sort-util.h"
- #include "uid-range.h"
- #include "user-util.h"
-+#include "missing.h"
-
- static bool uid_range_intersect(UidRange *range, uid_t start, uid_t nr) {
- assert(range);
-diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
-index abbbc9f2d6..6179b5851e 100644
---- a/src/socket-proxy/socket-proxyd.c
-+++ b/src/socket-proxy/socket-proxyd.c
-@@ -28,6 +28,7 @@
- #include "socket-util.h"
- #include "string-util.h"
- #include "util.h"
-+#include "missing.h"
-
- #define BUFFER_SIZE (256 * 1024)
-
-diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
-index 52217429b1..a05e7782f6 100644
---- a/src/test/test-hexdecoct.c
-+++ b/src/test/test-hexdecoct.c
-@@ -6,6 +6,7 @@
- #include "hexdecoct.h"
- #include "macro.h"
- #include "string-util.h"
-+#include "missing.h"
-
- static void test_hexchar(void) {
- assert_se(hexchar(0xa) == 'a');
-diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
-index e8f1ce1354..8693cb02a4 100644
---- a/src/udev/udev-builtin-path_id.c
-+++ b/src/udev/udev-builtin-path_id.c
-@@ -23,6 +23,7 @@
- #include "strv.h"
- #include "sysexits.h"
- #include "udev-builtin.h"
-+#include "missing.h"
-
- _printf_(2,3)
- static void path_prepend(char **path, const char *fmt, ...) {
-diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
-index 8cfa2cdf23..b0670c77ec 100644
---- a/src/udev/udev-event.c
-+++ b/src/udev/udev-event.c
-@@ -35,6 +35,7 @@
- #include "udev-util.h"
- #include "udev-watch.h"
- #include "user-util.h"
-+#include "missing.h"
-
- typedef struct Spawn {
- sd_device *device;
-diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
-index 1642f10535..fe2aa75478 100644
---- a/src/udev/udev-rules.c
-+++ b/src/udev/udev-rules.c
-@@ -28,6 +28,7 @@
- #include "udev-event.h"
- #include "udev-rules.h"
- #include "user-util.h"
-+#include "missing.h"
-
- #define RULES_DIRS (const char* const*) CONF_PATHS_STRV("udev/rules.d")
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch
deleted file mode 100644
index 6d73d715ce..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0006-Include-netinet-if_ether.h.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-Include netinet/if_ether.h
-
-Fixes
-/path/to/systemd/recipe-sysroot/usr/include/netinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
- struct ethhdr {
- ^~~~~~
-
-and related arphdr, arpreq, and arpreq_old errors
-/path/to/systemd/recipe-sysroot/usr/include/net/if_arp.h:22:8: error: redefinition of 'struct arphdr'
- struct arphdr {
- ^~~~~~
-
-The latter requires removing some includes of net/if_arp.h to avoid
-conflicting with netinet/if_ether.h.
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[rebased for systemd 243]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[rebased for systemd 243]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- src/libsystemd-network/sd-dhcp6-client.c | 1 -
- src/libsystemd/sd-netlink/netlink-types.c | 1 +
- src/machine/machine-dbus.c | 1 +
- src/network/netdev/macsec.c | 1 +
- src/network/netdev/netdev.c | 1 +
- src/network/networkd-brvlan.c | 1 +
- src/network/networkd-dhcp-common.c | 1 +
- src/network/networkd-dhcp4.c | 2 +-
- src/network/networkd-dhcp6.c | 2 +-
- src/network/networkd-link.c | 2 +-
- src/network/networkd-network.c | 1 +
- src/shared/ethtool-util.c | 1 +
- src/shared/ethtool-util.h | 1 +
- src/udev/net/link-config.c | 1 +
- src/udev/udev-builtin-net_setup_link.c | 1 +
- 15 files changed, 14 insertions(+), 4 deletions(-)
-
-diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
-index d7a5349c70..68b41dfb6c 100644
---- a/src/libsystemd-network/sd-dhcp6-client.c
-+++ b/src/libsystemd-network/sd-dhcp6-client.c
-@@ -6,7 +6,6 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/ioctl.h>
--#include <linux/if_arp.h>
- #include <linux/if_infiniband.h>
-
- #include "sd-dhcp6-client.h"
-diff --git a/src/libsystemd/sd-netlink/netlink-types.c b/src/libsystemd/sd-netlink/netlink-types.c
-index de9b8b21ab..f64f6500f7 100644
---- a/src/libsystemd/sd-netlink/netlink-types.c
-+++ b/src/libsystemd/sd-netlink/netlink-types.c
-@@ -3,6 +3,7 @@
- #include <netinet/in.h>
- #include <stdint.h>
- #include <sys/socket.h>
-+#include <netinet/if_ether.h>
- #include <linux/can/vxcan.h>
- #include <linux/netlink.h>
- #include <linux/rtnetlink.h>
-diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
-index 0d58b5eb8b..01093c1f62 100644
---- a/src/machine/machine-dbus.c
-+++ b/src/machine/machine-dbus.c
-@@ -4,6 +4,7 @@
- #include <string.h>
- #include <sys/mount.h>
- #include <sys/wait.h>
-+#include <netinet/if_ether.h>
-
- /* When we include libgen.h because we need dirname() we immediately
- * undefine basename() since libgen.h defines it as a macro to the POSIX
-diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
-index cf281e75a6..269dc618ff 100644
---- a/src/network/netdev/macsec.c
-+++ b/src/network/netdev/macsec.c
-@@ -1,5 +1,6 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <netinet/if_ether.h>
- #include <netinet/in.h>
- #include <linux/if_ether.h>
- #include <linux/if_macsec.h>
-diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
-index 7735b455b7..ed4eda4a44 100644
---- a/src/network/netdev/netdev.c
-+++ b/src/network/netdev/netdev.c
-@@ -1,5 +1,6 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <netinet/if_ether.h>
- #include <net/if.h>
- #include <netinet/in.h>
-
-diff --git a/src/network/networkd-brvlan.c b/src/network/networkd-brvlan.c
-index c3c5d535ac..ebea408c89 100644
---- a/src/network/networkd-brvlan.c
-+++ b/src/network/networkd-brvlan.c
-@@ -4,6 +4,7 @@
- ***/
-
- #include <netinet/in.h>
-+#include <netinet/if_ether.h>
- #include <linux/if_bridge.h>
- #include <stdbool.h>
-
-diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
-index 626b975839..42fe92f320 100644
---- a/src/network/networkd-dhcp-common.c
-+++ b/src/network/networkd-dhcp-common.c
-@@ -1,6 +1,7 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
- #include "networkd-dhcp-common.h"
-+#include <netinet/if_ether.h>
- #include "networkd-network.h"
- #include "parse-util.h"
- #include "string-table.h"
-diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
-index 662770b50e..c6ab62a94d 100644
---- a/src/network/networkd-dhcp4.c
-+++ b/src/network/networkd-dhcp4.c
-@@ -1,8 +1,8 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <netinet/if_ether.h>
- #include <netinet/in.h>
- #include <linux/if.h>
--#include <linux/if_arp.h>
-
- #include "alloc-util.h"
- #include "hostname-util.h"
-diff --git a/src/network/networkd-dhcp6.c b/src/network/networkd-dhcp6.c
-index 8ad736a82b..f41b4d834e 100644
---- a/src/network/networkd-dhcp6.c
-+++ b/src/network/networkd-dhcp6.c
-@@ -3,9 +3,9 @@
- Copyright © 2014 Intel Corporation. All rights reserved.
- ***/
-
-+#include <netinet/if_ether.h>
- #include <netinet/in.h>
- #include <linux/if.h>
--#include <linux/if_arp.h>
- #include "sd-radv.h"
-
- #include "sd-dhcp6-client.h"
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index f5bb78890a..f13a36b791 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -1,8 +1,8 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <netinet/if_ether.h>
- #include <netinet/in.h>
- #include <linux/if.h>
--#include <linux/if_arp.h>
- #include <unistd.h>
-
- #include "alloc-util.h"
-diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
-index 2b8d0eb2fb..2f79ef25cd 100644
---- a/src/network/networkd-network.c
-+++ b/src/network/networkd-network.c
-@@ -1,5 +1,6 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <netinet/if_ether.h>
- #include <net/if.h>
- #include <netinet/in.h>
- #include <linux/netdevice.h>
-diff --git a/src/shared/ethtool-util.c b/src/shared/ethtool-util.c
-index b0961df72e..53fcbbd84b 100644
---- a/src/shared/ethtool-util.c
-+++ b/src/shared/ethtool-util.c
-@@ -1,5 +1,6 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <netinet/if_ether.h>
- #include <net/if.h>
- #include <sys/ioctl.h>
- #include <linux/ethtool.h>
-diff --git a/src/shared/ethtool-util.h b/src/shared/ethtool-util.h
-index 8b32b243f3..262b819976 100644
---- a/src/shared/ethtool-util.h
-+++ b/src/shared/ethtool-util.h
-@@ -2,6 +2,7 @@
- #pragma once
-
- #include <macro.h>
-+#include <netinet/if_ether.h>
- #include <linux/ethtool.h>
-
- #include "conf-parser.h"
-diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
-index d44af64d5e..fd052f1591 100644
---- a/src/udev/net/link-config.c
-+++ b/src/udev/net/link-config.c
-@@ -1,5 +1,6 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <netinet/if_ether.h>
- #include <linux/netdevice.h>
- #include <netinet/ether.h>
-
-diff --git a/src/udev/udev-builtin-net_setup_link.c b/src/udev/udev-builtin-net_setup_link.c
-index ee3ca9fa38..9aa4e82874 100644
---- a/src/udev/udev-builtin-net_setup_link.c
-+++ b/src/udev/udev-builtin-net_setup_link.c
-@@ -1,5 +1,6 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
-
-+#include <netinet/if_ether.h>
- #include "device-util.h"
- #include "alloc-util.h"
- #include "link-config.h"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
deleted file mode 100644
index 34f7f5fb74..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From f8a239b182158ca0a537ba053cb0e6bad9c3a2fb Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 14:56:21 +0800
-Subject: [PATCH 07/24] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
- defined
-
-If the standard library doesn't provide brace
-expansion users just won't get it.
-
-Dont use GNU GLOB extentions on non-glibc systems
-
-Conditionalize use of GLOB_ALTDIRFUNC
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[rebased for systemd 243]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- src/basic/glob-util.c | 12 ++++++++++++
- src/test/test-glob-util.c | 16 ++++++++++++++++
- src/tmpfiles/tmpfiles.c | 10 ++++++++++
- 3 files changed, 38 insertions(+)
-
-diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
-index b335af8d97..2cdfc11f16 100644
---- a/src/basic/glob-util.c
-+++ b/src/basic/glob-util.c
-@@ -14,6 +14,12 @@
- #include "path-util.h"
- #include "strv.h"
-
-+/* Don't fail if the standard library
-+ * doesn't provide brace expansion */
-+#ifndef GLOB_BRACE
-+#define GLOB_BRACE 0
-+#endif
-+
- static void closedir_wrapper(void* v) {
- (void) closedir(v);
- }
-@@ -21,6 +27,7 @@ static void closedir_wrapper(void* v) {
- int safe_glob(const char *path, int flags, glob_t *pglob) {
- int k;
-
-+#ifdef GLOB_ALTDIRFUNC
- /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
- assert(!(flags & GLOB_ALTDIRFUNC));
-
-@@ -34,9 +41,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
- pglob->gl_lstat = lstat;
- if (!pglob->gl_stat)
- pglob->gl_stat = stat;
-+#endif
-
- errno = 0;
-+#ifdef GLOB_ALTDIRFUNC
- k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob);
-+#else
-+ k = glob(path, flags, NULL, pglob);
-+#endif
- if (k == GLOB_NOMATCH)
- return -ENOENT;
- if (k == GLOB_NOSPACE)
-diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
-index b4f41445fe..f0d474ed14 100644
---- a/src/test/test-glob-util.c
-+++ b/src/test/test-glob-util.c
-@@ -13,6 +13,12 @@
- #include "rm-rf.h"
- #include "tmpfile-util.h"
-
-+/* Don't fail if the standard library
-+ * doesn't provide brace expansion */
-+#ifndef GLOB_BRACE
-+#define GLOB_BRACE 0
-+#endif
-+
- static void test_glob_exists(void) {
- char name[] = "/tmp/test-glob_exists.XXXXXX";
- int fd = -1;
-@@ -40,11 +46,13 @@ static void test_glob_no_dot(void) {
- const char *fn;
-
- _cleanup_globfree_ glob_t g = {
-+#ifdef GLOB_ALTDIRFUNC
- .gl_closedir = closedir_wrapper,
- .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot,
- .gl_opendir = (void *(*)(const char *)) opendir,
- .gl_lstat = lstat,
- .gl_stat = stat,
-+#endif
- };
-
- int r;
-@@ -52,11 +60,19 @@ static void test_glob_no_dot(void) {
- assert_se(mkdtemp(template));
-
- fn = strjoina(template, "/*");
-+#ifdef GLOB_ALTDIRFUNC
- r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
-+#else
-+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
-+#endif
- assert_se(r == GLOB_NOMATCH);
-
- fn = strjoina(template, "/.*");
-+#ifdef GLOB_ALTDIRFUNC
- r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
-+#else
-+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
-+#endif
- assert_se(r == GLOB_NOMATCH);
-
- (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
-diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
-index 3c30612af1..14bc428085 100644
---- a/src/tmpfiles/tmpfiles.c
-+++ b/src/tmpfiles/tmpfiles.c
-@@ -63,6 +63,12 @@
- #include "umask-util.h"
- #include "user-util.h"
-
-+/* Don't fail if the standard library
-+ * doesn't provide brace expansion */
-+#ifndef GLOB_BRACE
-+#define GLOB_BRACE 0
-+#endif
-+
- /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
- * them in the file system. This is intended to be used to create
- * properly owned directories beneath /tmp, /var/tmp, /run, which are
-@@ -1853,7 +1859,9 @@ finish:
-
- static int glob_item(Item *i, action_t action) {
- _cleanup_globfree_ glob_t g = {
-+#ifdef GLOB_ALTDIRFUNC
- .gl_opendir = (void *(*)(const char *)) opendir_nomod,
-+#endif
- };
- int r = 0, k;
- char **fn;
-@@ -1873,7 +1881,9 @@ static int glob_item(Item *i, action_t action) {
-
- static int glob_item_recursively(Item *i, fdaction_t action) {
- _cleanup_globfree_ glob_t g = {
-+#ifdef GLOB_ALTDIRFUNC
- .gl_opendir = (void *(*)(const char *)) opendir_nomod,
-+#endif
- };
- int r = 0, k;
- char **fn;
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch
deleted file mode 100644
index d5f2349f2b..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0008-add-missing-FTW_-macros-for-musl.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 6cd17c753d2c0a90fc791f69bbc694cbc8556a4f Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:00:06 +0800
-Subject: [PATCH 08/24] add missing FTW_ macros for musl
-
-This is to avoid build failures like below for musl.
-
- locale-util.c:296:24: error: 'FTW_STOP' undeclared
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing_type.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
-index c487e65..23602eb 100644
---- a/src/basic/missing_type.h
-+++ b/src/basic/missing_type.h
-@@ -19,3 +19,23 @@ typedef int (*comparison_fn_t)(const void *, const void *);
- #define __COMPAR_FN_T
- typedef int (*__compar_fn_t)(const void *, const void *);
- #endif
-+
-+#ifndef FTW_ACTIONRETVAL
-+#define FTW_ACTIONRETVAL 16
-+#endif
-+
-+#ifndef FTW_CONTINUE
-+#define FTW_CONTINUE 0
-+#endif
-+
-+#ifndef FTW_STOP
-+#define FTW_STOP 1
-+#endif
-+
-+#ifndef FTW_SKIP_SUBTREE
-+#define FTW_SKIP_SUBTREE 2
-+#endif
-+
-+#ifndef FTW_SKIP_SIBLINGS
-+#define FTW_SKIP_SIBLINGS 3
-+#endif
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch
deleted file mode 100644
index 8bacd0289d..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From f1f4b4f9684fed185bfa8b9ed409cdf241657e99 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:03:47 +0800
-Subject: [PATCH 10/24] fix missing of __register_atfork for non-glibc builds
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/process-util.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index 78ce43b..aec2daf 100644
---- a/src/basic/process-util.c
-+++ b/src/basic/process-util.c
-@@ -22,6 +22,9 @@
- #if HAVE_VALGRIND_VALGRIND_H
- #include <valgrind/valgrind.h>
- #endif
-+#ifndef __GLIBC__
-+#include <pthread.h>
-+#endif
-
- #include "alloc-util.h"
- #include "architecture.h"
-@@ -1160,11 +1163,15 @@ void reset_cached_pid(void) {
- cached_pid = CACHED_PID_UNSET;
- }
-
-+#ifdef __GLIBC__
- /* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
- * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
- * libpthread, as it is part of glibc anyway. */
- extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void *dso_handle);
- extern void* __dso_handle _weak_;
-+#else
-+#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child)
-+#endif
-
- pid_t getpid_cached(void) {
- static bool installed = false;
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch
deleted file mode 100644
index d6eda9c038..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0011-Use-uintmax_t-for-handling-rlim_t.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From e3f847bd0338d27aff3335b42661d8a4b66b965e Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:12:41 +0800
-Subject: [PATCH 11/24] Use uintmax_t for handling rlim_t
-
-PRIu{32,64} is not right format to represent rlim_t type
-therefore use %ju and typecast the rlim_t variables to
-uintmax_t.
-
-Fixes portablility errors like
-
-execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=]
-| fprintf(f, "%s%s: " RLIM_FMT "\n",
-| ^~~~~~~~
-| prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
-| ~~~~~~~~~~~~~~~~~~~~~~
-
-Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[Rebased for v241]
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/format-util.h | 8 +-------
- src/basic/rlimit-util.c | 10 +++++-----
- src/core/execute.c | 4 ++--
- 3 files changed, 8 insertions(+), 14 deletions(-)
-
-diff --git a/src/basic/format-util.h b/src/basic/format-util.h
-index dece5d3..dbb87bc 100644
---- a/src/basic/format-util.h
-+++ b/src/basic/format-util.h
-@@ -42,13 +42,7 @@
- # define PRI_TIMEX "li"
- #endif
-
--#if SIZEOF_RLIM_T == 8
--# define RLIM_FMT "%" PRIu64
--#elif SIZEOF_RLIM_T == 4
--# define RLIM_FMT "%" PRIu32
--#else
--# error Unknown rlim_t size
--#endif
-+#define RLIM_FMT "%ju"
-
- #if SIZEOF_DEV_T == 8
- # define DEV_FMT "%" PRIu64
-diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
-index 74b3a02..b02c03c 100644
---- a/src/basic/rlimit-util.c
-+++ b/src/basic/rlimit-util.c
-@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
- if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
- s = strdup("infinity");
- else if (rl->rlim_cur >= RLIM_INFINITY)
-- (void) asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max);
-+ (void) asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max);
- else if (rl->rlim_max >= RLIM_INFINITY)
-- (void) asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur);
-+ (void) asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur);
- else if (rl->rlim_cur == rl->rlim_max)
-- (void) asprintf(&s, RLIM_FMT, rl->rlim_cur);
-+ (void) asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur);
- else
-- (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max);
-+ (void) asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max);
-
- if (!s)
- return -ENOMEM;
-@@ -404,7 +404,7 @@ int rlimit_nofile_safe(void) {
-
- rl.rlim_cur = FD_SETSIZE;
- if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
-- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur);
-+ return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur);
-
- return 1;
- }
-diff --git a/src/core/execute.c b/src/core/execute.c
-index a708231..e2b8748 100644
---- a/src/core/execute.c
-+++ b/src/core/execute.c
-@@ -4220,9 +4220,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
- for (i = 0; i < RLIM_NLIMITS; i++)
- if (c->rlimit[i]) {
- fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
-- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
-+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max);
- fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n",
-- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur);
-+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur);
- }
-
- if (c->ioprio_set) {
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
deleted file mode 100644
index 914589dbd3..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From d3d65d4036670cbd5129fe55c09ca391286ef4b3 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 28 Feb 2018 21:25:22 -0800
-Subject: [PATCH 14/24] test-sizeof.c: Disable tests for missing typedefs in
- musl
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/test/test-sizeof.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
-index 35b0876..e78e7ca 100644
---- a/src/test/test-sizeof.c
-+++ b/src/test/test-sizeof.c
-@@ -41,8 +41,10 @@ int main(void) {
- info(unsigned);
- info(long unsigned);
- info(long long unsigned);
-+#ifdef __GLIBC__
- info(__syscall_ulong_t);
- info(__syscall_slong_t);
-+#endif
-
- info(float);
- info(double);
-@@ -60,7 +62,9 @@ int main(void) {
- info(ssize_t);
- info(time_t);
- info(usec_t);
-+#ifdef __GLIBC__
- info(__time_t);
-+#endif
- info(pid_t);
- info(uid_t);
- info(gid_t);
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
deleted file mode 100644
index fd407f604d..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 48c628f532f6025c2d1646b6819cd81eb789d7fb Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 10 Oct 2017 14:33:30 -0700
-Subject: [PATCH 15/24] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
-
-Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
-thing to do and it's not portable (not supported by musl). See:
-
- http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
- http://www.openwall.com/lists/musl/2015/02/05/2
-
-Note that laccess() is never passing AT_EACCESS so a lot of the
-discussion in the links above doesn't apply. Note also that
-(currently) all systemd callers of laccess() pass mode as F_OK, so
-only check for existence of a file, not access permissions.
-Therefore, in this case, the only distiction between faccessat()
-with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour
-for broken symlinks; laccess() on a broken symlink will succeed with
-(flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
-
-The laccess() macros was added to systemd some time ago and it's not
-clear if or why it needs to return success for broken symlinks. Maybe
-just historical and not actually necessary or desired behaviour?
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- src/basic/fs-util.h | 22 +++++++++++++++++++++-
- src/shared/base-filesystem.c | 6 +++---
- 2 files changed, 24 insertions(+), 4 deletions(-)
-
-diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
-index 7ad030b..d4cb1e9 100644
---- a/src/basic/fs-util.h
-+++ b/src/basic/fs-util.h
-@@ -32,7 +32,27 @@ int fchmod_opath(int fd, mode_t m);
-
- int fd_warn_permissions(const char *path, int fd);
-
--#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW)
-+/*
-+ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
-+ do and it's not portable (not supported by musl). See:
-+
-+ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
-+ http://www.openwall.com/lists/musl/2015/02/05/2
-+
-+ Note that laccess() is never passing AT_EACCESS so a lot of the discussion in
-+ the links above doesn't apply. Note also that (currently) all systemd callers
-+ of laccess() pass mode as F_OK, so only check for existence of a file, not
-+ access permissions. Therefore, in this case, the only distiction between
-+ faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the
-+ behaviour for broken symlinks; laccess() on a broken symlink will succeed
-+ with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
-+
-+ The laccess() macros was added to systemd some time ago and it's not clear if
-+ or why it needs to return success for broken symlinks. Maybe just historical
-+ and not actually necessary or desired behaviour?
-+*/
-+
-+#define laccess(path, mode) faccessat(AT_FDCWD, (path), (mode), 0)
-
- int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
- int touch(const char *path);
-diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
-index 89d7a7d..34b4ad5 100644
---- a/src/shared/base-filesystem.c
-+++ b/src/shared/base-filesystem.c
-@@ -53,7 +53,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
- return log_error_errno(errno, "Failed to open root file system: %m");
-
- for (i = 0; i < ELEMENTSOF(table); i ++) {
-- if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
-+ if (faccessat(fd, table[i].dir, F_OK, 0) >= 0)
- continue;
-
- if (table[i].target) {
-@@ -61,7 +61,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
-
- /* check if one of the targets exists */
- NULSTR_FOREACH(s, table[i].target) {
-- if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
-+ if (faccessat(fd, s, F_OK, 0) < 0)
- continue;
-
- /* check if a specific file exists at the target path */
-@@ -72,7 +72,7 @@ int base_filesystem_create(const char *root, uid_t uid, gid_t gid) {
- if (!p)
- return log_oom();
-
-- if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
-+ if (faccessat(fd, p, F_OK, 0) < 0)
- continue;
- }
-
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch
deleted file mode 100644
index d5565698aa..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From af76c973e41929360a6e021f2ff9a7fc1d7994e9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 27 May 2018 08:36:44 -0700
-Subject: [PATCH 16/24] Define glibc compatible basename() for non-glibc
- systems
-
-Fixes builds with musl, even though systemd is adamant about
-using non-posix basename implementation, we have a way out
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/machine/machine-dbus.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/machine/machine-dbus.c b/src/machine/machine-dbus.c
-index 7a558df..eca7d4b 100644
---- a/src/machine/machine-dbus.c
-+++ b/src/machine/machine-dbus.c
-@@ -11,6 +11,10 @@
- #include <libgen.h>
- #undef basename
-
-+#if !defined(__GLIBC__)
-+#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
-+#endif
-+
- #include "alloc-util.h"
- #include "bus-common-errors.h"
- #include "bus-internal.h"
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
deleted file mode 100644
index 24e24e8e5a..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From c7a4efb8bccb52e1714c151929c23e12bde59b82 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Wed, 4 Jul 2018 15:00:44 +0800
-Subject: [PATCH 17/24] Do not disable buffering when writing to oom_score_adj
-
-On musl, disabling buffering when writing to oom_score_adj will
-cause the following error.
-
- Failed to adjust OOM setting: Invalid argument
-
-This error appears for systemd-udevd.service and dbus.service.
-This is because kernel receives '-' instead of the whole '-900'
-if buffering is disabled.
-
-This is libc implementation specific, as glibc does not have this issue.
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
-[rebased for systemd 243]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- src/basic/process-util.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/basic/process-util.c b/src/basic/process-util.c
-index b1c08fcade..0a7a1f7d89 100644
---- a/src/basic/process-util.c
-+++ b/src/basic/process-util.c
-@@ -1474,7 +1474,7 @@ int set_oom_score_adjust(int value) {
- sprintf(t, "%i", value);
-
- return write_string_file("/proc/self/oom_score_adj", t,
-- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
-+ WRITE_STRING_FILE_VERIFY_ON_FAILURE);
- }
-
- static const char *const ioprio_class_table[] = {
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
deleted file mode 100644
index 5901772998..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From fffb2810611b4a26f5c6c0958093b5b3b7d4cd99 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Tue, 10 Jul 2018 15:40:17 +0800
-Subject: [PATCH 18/24] distinguish XSI-compliant strerror_r from GNU-specifi
- strerror_r
-
-XSI-compliant strerror_r and GNU-specifi strerror_r are different.
-
- int strerror_r(int errnum, char *buf, size_t buflen);
- /* XSI-compliant */
-
- char *strerror_r(int errnum, char *buf, size_t buflen);
- /* GNU-specific */
-
-We need to distinguish between them. Otherwise, we'll get an int value
-assigned to (char *) variable, resulting in segment fault.
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/journal/journal-send.c | 5 +++++
- src/libsystemd/sd-bus/bus-error.c | 5 +++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c
-index 3fea912..4f1e592 100644
---- a/src/journal/journal-send.c
-+++ b/src/journal/journal-send.c
-@@ -337,7 +337,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
- char* j;
-
- errno = 0;
-+#ifndef __GLIBC__
-+ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
-+ j = buffer + 8 + k;
-+#else
- j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
-+#endif
- if (errno == 0) {
- char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
-
-diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
-index dc95237..bdda30f 100644
---- a/src/libsystemd/sd-bus/bus-error.c
-+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -379,7 +379,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
- return;
-
- errno = 0;
-+#ifndef __GLIBC__
-+ strerror_r(error, m, k);
-+ x = m;
-+#else
- x = strerror_r(error, m, k);
-+#endif
- if (errno == ERANGE || strlen(x) >= k - 1) {
- free(m);
- k *= 2;
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
deleted file mode 100644
index 35cc66ff66..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 969ab9e68249fd383f4b513b1c9306bdac4ae9b2 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:18:00 +0800
-Subject: [PATCH 19/24] Hide __start_BUS_ERROR_MAP and __stop_BUS_ERROR_MAP
-
-for currently unknown reasons they get exported to the shared libries
-even without being listed in the sym file
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-[Rebased for v241]
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/libsystemd/sd-bus/bus-error.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
-index bdda30f..e21853c 100644
---- a/src/libsystemd/sd-bus/bus-error.c
-+++ b/src/libsystemd/sd-bus/bus-error.c
-@@ -54,8 +54,8 @@ BUS_ERROR_MAP_ELF_REGISTER const sd_bus_error_map bus_standard_errors[] = {
- };
-
- /* GCC maps this magically to the beginning and end of the BUS_ERROR_MAP section */
--extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[];
--extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[];
-+extern const sd_bus_error_map __start_SYSTEMD_BUS_ERROR_MAP[] _hidden_;
-+extern const sd_bus_error_map __stop_SYSTEMD_BUS_ERROR_MAP[] _hidden_;
-
- /* Additional maps registered with sd_bus_error_add_map() are in this
- * NULL terminated array */
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch
deleted file mode 100644
index 753d5116ac..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0020-missing_type.h-add-__compar_d_fn_t-definition.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 75c06e3e2a4760b36fffd95cdf5535b8ad73c481 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:27:54 +0800
-Subject: [PATCH 20/24] missing_type.h: add __compar_d_fn_t definition
-
-Fix the following compile failure:
-src/basic/util.h:71:18: error: unknown type name '__compar_d_fn_t'; did you mean '__compar_fn_t'?
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing_type.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
-index 7d7c1e4..85902ab 100644
---- a/src/basic/missing_type.h
-+++ b/src/basic/missing_type.h
-@@ -13,6 +13,7 @@
-
- #ifndef __GLIBC__
- typedef int (*comparison_fn_t)(const void *, const void *);
-+typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
- #endif
-
- #ifndef __COMPAR_FN_T
---
-2.7.4
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
deleted file mode 100644
index cdddf83890..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0021-avoid-redefinition-of-prctl_mm_map-structure.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3fbf61d54b82fc9bf21d8039bfd89dc9efc5bbcd Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 15:44:54 +0800
-Subject: [PATCH 21/24] avoid redefinition of prctl_mm_map structure
-
-Fix the following compile failure:
-error: redefinition of 'struct prctl_mm_map'
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/basic/missing_prctl.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h
-index f80cd17..47e4893 100644
---- a/src/basic/missing_prctl.h
-+++ b/src/basic/missing_prctl.h
-@@ -1,7 +1,9 @@
- /* SPDX-License-Identifier: LGPL-2.1+ */
- #pragma once
-
-+#ifdef __GLIBC__
- #include <linux/prctl.h>
-+#endif
-
- /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
- #ifndef PR_CAP_AMBIENT
---
-2.11.0
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch
deleted file mode 100644
index 0e5629d37b..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/0024-test-json.c-define-M_PIl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 902412c271e0c5d9cb93b10ec0fb5b119b393474 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Mon, 25 Feb 2019 16:53:06 +0800
-Subject: [PATCH 24/24] test-json.c: define M_PIl
-
-Fix the following compile failure:
-src/test/test-json.c:305:50: error: 'M_PIl' undeclared (first use in this function); did you mean 'M_PI'?
-
-Upstream-Status: Inappropriate [musl specific]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- src/test/test-json.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/test/test-json.c b/src/test/test-json.c
-index 9b8a2a9..efc746c 100644
---- a/src/test/test-json.c
-+++ b/src/test/test-json.c
-@@ -11,6 +11,10 @@
- #include "tests.h"
- #include "util.h"
-
-+#ifndef M_PIl
-+#define M_PIl 3.141592653589793238462643383279502884L
-+#endif
-+
- static void test_tokenizer(const char *data, ...) {
- unsigned line = 0, column = 0;
- void *state = NULL;
---
-2.11.0
-
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch
deleted file mode 100644
index eb018bbcc4..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd-243/static-libsystemd-pkgconfig.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: git/src/libsystemd/libsystemd.pc.in
-===================================================================
---- git.orig/src/libsystemd/libsystemd.pc.in
-+++ git/src/libsystemd/libsystemd.pc.in
-@@ -16,5 +16,5 @@ Name: systemd
- Description: systemd Library
- URL: @PROJECT_URL@
- Version: @PROJECT_VERSION@
--Libs: -L${libdir} -lsystemd
-+Libs: -L${libdir} -lsystemd -lrt -lmount -lcap
- Cflags: -I${includedir}
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
new file mode 100644
index 0000000000..2aa5dee6b5
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0001-missing_type.h-add-comparison_fn_t.patch
@@ -0,0 +1,61 @@
+From 01195eb9f7d59139fb45df506ac6b3968c14a57f Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 13:55:12 +0800
+Subject: [PATCH 01/22] missing_type.h: add comparison_fn_t
+
+Make it work with musl where comparison_fn_t and is not provided.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+[Rebased for v244]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+[Rebased for v250, Drop __compare_fn_t]
+Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
+---
+ src/basic/missing_type.h | 4 ++++
+ src/basic/sort-util.h | 1 +
+ src/libsystemd/sd-journal/catalog.c | 1 +
+ 3 files changed, 6 insertions(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index f6233090a9..6c0456349d 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -10,3 +10,7 @@
+ #if !HAVE_CHAR16_T
+ #define char16_t uint16_t
+ #endif
++
++#ifndef __GLIBC__
++typedef int (*comparison_fn_t)(const void *, const void *);
++#endif
+diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
+index 9c818bd747..ef10c8be2c 100644
+--- a/src/basic/sort-util.h
++++ b/src/basic/sort-util.h
+@@ -4,6 +4,7 @@
+ #include <stdlib.h>
+
+ #include "macro.h"
++#include "missing_type.h"
+
+ /* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the
+ * external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that
+diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
+index ae91534198..7f67eea38b 100644
+--- a/src/libsystemd/sd-journal/catalog.c
++++ b/src/libsystemd/sd-journal/catalog.c
+@@ -28,6 +28,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "tmpfile-util.h"
++#include "missing_type.h"
+
+ const char * const catalog_file_dirs[] = {
+ "/usr/local/lib/systemd/catalog/",
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch
new file mode 100644
index 0000000000..900a931632
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-add-fallback-parse_printf_format-implementation.patch
@@ -0,0 +1,434 @@
+From 872b72739e62123867ce6c4f82aa37de24cc3f75 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Sat, 22 May 2021 20:26:24 +0200
+Subject: [PATCH 02/22] add fallback parse_printf_format implementation
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ meson.build | 1 +
+ src/basic/meson.build | 5 +
+ src/basic/parse-printf-format.c | 273 +++++++++++++++++++++++
+ src/basic/parse-printf-format.h | 57 +++++
+ src/basic/stdio-util.h | 2 +-
+ src/libsystemd/sd-journal/journal-send.c | 2 +-
+ 6 files changed, 338 insertions(+), 2 deletions(-)
+ create mode 100644 src/basic/parse-printf-format.c
+ create mode 100644 src/basic/parse-printf-format.h
+
+diff --git a/meson.build b/meson.build
+index 7419e2b0b0..01fd3ffc19 100644
+--- a/meson.build
++++ b/meson.build
+@@ -725,6 +725,7 @@ endif
+ foreach header : ['crypt.h',
+ 'linux/memfd.h',
+ 'linux/vm_sockets.h',
++ 'printf.h',
+ 'sys/auxv.h',
+ 'threads.h',
+ 'valgrind/memcheck.h',
+diff --git a/src/basic/meson.build b/src/basic/meson.build
+index d7450d8b44..c3e3daf4bd 100644
+--- a/src/basic/meson.build
++++ b/src/basic/meson.build
+@@ -183,6 +183,11 @@ endforeach
+
+ basic_sources += generated_gperf_headers
+
++if conf.get('HAVE_PRINTF_H') != 1
++ basic_sources += [files('parse-printf-format.c')]
++endif
++
++
+ ############################################################
+
+ arch_list = [
+diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
+new file mode 100644
+index 0000000000..49437e5445
+--- /dev/null
++++ b/src/basic/parse-printf-format.c
+@@ -0,0 +1,273 @@
++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
++
++/***
++ This file is part of systemd.
++
++ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
++
++ With parts from the musl C library
++ Copyright 2005-2014 Rich Felker, et al.
++
++ systemd is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
++
++ systemd is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with systemd; If not, see <http://www.gnu.org/licenses/>.
++***/
++
++#include <stddef.h>
++#include <string.h>
++
++#include "parse-printf-format.h"
++
++static const char *consume_nonarg(const char *fmt)
++{
++ do {
++ if (*fmt == '\0')
++ return fmt;
++ } while (*fmt++ != '%');
++ return fmt;
++}
++
++static const char *consume_num(const char *fmt)
++{
++ for (;*fmt >= '0' && *fmt <= '9'; fmt++)
++ /* do nothing */;
++ return fmt;
++}
++
++static const char *consume_argn(const char *fmt, size_t *arg)
++{
++ const char *p = fmt;
++ size_t val = 0;
++
++ if (*p < '1' || *p > '9')
++ return fmt;
++ do {
++ val = 10*val + (*p++ - '0');
++ } while (*p >= '0' && *p <= '9');
++
++ if (*p != '$')
++ return fmt;
++ *arg = val;
++ return p+1;
++}
++
++static const char *consume_flags(const char *fmt)
++{
++ while (1) {
++ switch (*fmt) {
++ case '#':
++ case '0':
++ case '-':
++ case ' ':
++ case '+':
++ case '\'':
++ case 'I':
++ fmt++;
++ continue;
++ }
++ return fmt;
++ }
++}
++
++enum state {
++ BARE,
++ LPRE,
++ LLPRE,
++ HPRE,
++ HHPRE,
++ BIGLPRE,
++ ZTPRE,
++ JPRE,
++ STOP
++};
++
++enum type {
++ NONE,
++ PTR,
++ INT,
++ UINT,
++ ULLONG,
++ LONG,
++ ULONG,
++ SHORT,
++ USHORT,
++ CHAR,
++ UCHAR,
++ LLONG,
++ SIZET,
++ IMAX,
++ UMAX,
++ PDIFF,
++ UIPTR,
++ DBL,
++ LDBL,
++ MAXTYPE
++};
++
++static const short pa_types[MAXTYPE] = {
++ [NONE] = PA_INT,
++ [PTR] = PA_POINTER,
++ [INT] = PA_INT,
++ [UINT] = PA_INT,
++ [ULLONG] = PA_INT | PA_FLAG_LONG_LONG,
++ [LONG] = PA_INT | PA_FLAG_LONG,
++ [ULONG] = PA_INT | PA_FLAG_LONG,
++ [SHORT] = PA_INT | PA_FLAG_SHORT,
++ [USHORT] = PA_INT | PA_FLAG_SHORT,
++ [CHAR] = PA_CHAR,
++ [UCHAR] = PA_CHAR,
++ [LLONG] = PA_INT | PA_FLAG_LONG_LONG,
++ [SIZET] = PA_INT | PA_FLAG_LONG,
++ [IMAX] = PA_INT | PA_FLAG_LONG_LONG,
++ [UMAX] = PA_INT | PA_FLAG_LONG_LONG,
++ [PDIFF] = PA_INT | PA_FLAG_LONG_LONG,
++ [UIPTR] = PA_INT | PA_FLAG_LONG,
++ [DBL] = PA_DOUBLE,
++ [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE
++};
++
++#define S(x) [(x)-'A']
++#define E(x) (STOP + (x))
++
++static const unsigned char states[]['z'-'A'+1] = {
++ { /* 0: bare types */
++ S('d') = E(INT), S('i') = E(INT),
++ S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT),
++ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
++ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
++ S('c') = E(CHAR),S('C') = E(INT),
++ S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR),
++ S('m') = E(NONE),
++ S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE,
++ S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE
++ }, { /* 1: l-prefixed */
++ S('d') = E(LONG), S('i') = E(LONG),
++ S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG),
++ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
++ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
++ S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR),
++ S('l') = LLPRE
++ }, { /* 2: ll-prefixed */
++ S('d') = E(LLONG), S('i') = E(LLONG),
++ S('o') = E(ULLONG),S('u') = E(ULLONG),
++ S('x') = E(ULLONG),S('X') = E(ULLONG),
++ S('n') = E(PTR)
++ }, { /* 3: h-prefixed */
++ S('d') = E(SHORT), S('i') = E(SHORT),
++ S('o') = E(USHORT),S('u') = E(USHORT),
++ S('x') = E(USHORT),S('X') = E(USHORT),
++ S('n') = E(PTR),
++ S('h') = HHPRE
++ }, { /* 4: hh-prefixed */
++ S('d') = E(CHAR), S('i') = E(CHAR),
++ S('o') = E(UCHAR),S('u') = E(UCHAR),
++ S('x') = E(UCHAR),S('X') = E(UCHAR),
++ S('n') = E(PTR)
++ }, { /* 5: L-prefixed */
++ S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL),
++ S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL),
++ S('n') = E(PTR)
++ }, { /* 6: z- or t-prefixed (assumed to be same size) */
++ S('d') = E(PDIFF),S('i') = E(PDIFF),
++ S('o') = E(SIZET),S('u') = E(SIZET),
++ S('x') = E(SIZET),S('X') = E(SIZET),
++ S('n') = E(PTR)
++ }, { /* 7: j-prefixed */
++ S('d') = E(IMAX), S('i') = E(IMAX),
++ S('o') = E(UMAX), S('u') = E(UMAX),
++ S('x') = E(UMAX), S('X') = E(UMAX),
++ S('n') = E(PTR)
++ }
++};
++
++size_t parse_printf_format(const char *fmt, size_t n, int *types)
++{
++ size_t i = 0;
++ size_t last = 0;
++
++ memset(types, 0, n);
++
++ while (1) {
++ size_t arg;
++ unsigned int state;
++
++ fmt = consume_nonarg(fmt);
++ if (*fmt == '\0')
++ break;
++ if (*fmt == '%') {
++ fmt++;
++ continue;
++ }
++ arg = 0;
++ fmt = consume_argn(fmt, &arg);
++ /* flags */
++ fmt = consume_flags(fmt);
++ /* width */
++ if (*fmt == '*') {
++ size_t warg = 0;
++ fmt = consume_argn(fmt+1, &warg);
++ if (warg == 0)
++ warg = ++i;
++ if (warg > last)
++ last = warg;
++ if (warg <= n && types[warg-1] == NONE)
++ types[warg-1] = INT;
++ } else
++ fmt = consume_num(fmt);
++ /* precision */
++ if (*fmt == '.') {
++ fmt++;
++ if (*fmt == '*') {
++ size_t parg = 0;
++ fmt = consume_argn(fmt+1, &parg);
++ if (parg == 0)
++ parg = ++i;
++ if (parg > last)
++ last = parg;
++ if (parg <= n && types[parg-1] == NONE)
++ types[parg-1] = INT;
++ } else {
++ if (*fmt == '-')
++ fmt++;
++ fmt = consume_num(fmt);
++ }
++ }
++ /* length modifier and conversion specifier */
++ state = BARE;
++ do {
++ unsigned char c = *fmt++;
++
++ if (c < 'A' || c > 'z')
++ continue;
++ state = states[state]S(c);
++ if (state == 0)
++ continue;
++ } while (state < STOP);
++
++ if (state == E(NONE))
++ continue;
++
++ if (arg == 0)
++ arg = ++i;
++ if (arg > last)
++ last = arg;
++ if (arg <= n)
++ types[arg-1] = state - STOP;
++ }
++
++ if (last > n)
++ last = n;
++ for (i = 0; i < last; i++)
++ types[i] = pa_types[types[i]];
++
++ return last;
++}
+diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
+new file mode 100644
+index 0000000000..47be7522d7
+--- /dev/null
++++ b/src/basic/parse-printf-format.h
+@@ -0,0 +1,57 @@
++/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
++
++/***
++ This file is part of systemd.
++
++ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
++
++ With parts from the GNU C Library
++ Copyright 1991-2014 Free Software Foundation, Inc.
++
++ systemd is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
++
++ systemd is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with systemd; If not, see <http://www.gnu.org/licenses/>.
++***/
++
++#pragma once
++
++#include "config.h"
++
++#if HAVE_PRINTF_H
++#include <printf.h>
++#else
++
++#include <stddef.h>
++
++enum { /* C type: */
++ PA_INT, /* int */
++ PA_CHAR, /* int, cast to char */
++ PA_WCHAR, /* wide char */
++ PA_STRING, /* const char *, a '\0'-terminated string */
++ PA_WSTRING, /* const wchar_t *, wide character string */
++ PA_POINTER, /* void * */
++ PA_FLOAT, /* float */
++ PA_DOUBLE, /* double */
++ PA_LAST
++};
++
++/* Flag bits that can be set in a type returned by `parse_printf_format'. */
++#define PA_FLAG_MASK 0xff00
++#define PA_FLAG_LONG_LONG (1 << 8)
++#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG
++#define PA_FLAG_LONG (1 << 9)
++#define PA_FLAG_SHORT (1 << 10)
++#define PA_FLAG_PTR (1 << 11)
++
++size_t parse_printf_format(const char *fmt, size_t n, int *types);
++
++#endif /* HAVE_PRINTF_H */
+diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
+index 4e93ac90c9..f9deb6f662 100644
+--- a/src/basic/stdio-util.h
++++ b/src/basic/stdio-util.h
+@@ -1,12 +1,12 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ #pragma once
+
+-#include <printf.h>
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <sys/types.h>
+
+ #include "macro.h"
++#include "parse-printf-format.h"
+
+ _printf_(3, 4)
+ static inline char *snprintf_ok(char *buf, size_t len, const char *format, ...) {
+diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
+index be23b2fe75..69a2eb6404 100644
+--- a/src/libsystemd/sd-journal/journal-send.c
++++ b/src/libsystemd/sd-journal/journal-send.c
+@@ -2,7 +2,6 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
+-#include <printf.h>
+ #include <stddef.h>
+ #include <sys/un.h>
+ #include <unistd.h>
+@@ -28,6 +27,7 @@
+ #include "stdio-util.h"
+ #include "string-util.h"
+ #include "tmpfile-util.h"
++#include "parse-printf-format.h"
+
+ #define SNDBUF_SIZE (8*1024*1024)
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch
new file mode 100644
index 0000000000..be231cf6b2
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch
@@ -0,0 +1,79 @@
+From 29a58009a172e369ad7166e16dab2f4945c6b0d2 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Thu, 21 Feb 2019 16:23:24 +0800
+Subject: [PATCH 1/2] binfmt: Don't install dependency links at install time
+ for the binfmt services
+
+use [Install] blocks so that they get created when the service is enabled
+like a traditional service.
+
+The [Install] blocks were rejected upstream as they don't have a way to
+"enable" it on install without static symlinks which can't be disabled,
+only masked. We however can do that in a postinst.
+
+Upstream-Status: Denied
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ units/meson.build | 2 --
+ units/proc-sys-fs-binfmt_misc.automount | 3 +++
+ units/systemd-binfmt.service.in | 4 ++++
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/units/meson.build b/units/meson.build
+index e7bfb7f838..1d5ec4b178 100644
+--- a/units/meson.build
++++ b/units/meson.build
+@@ -154,7 +154,6 @@ units = [
+ {
+ 'file' : 'proc-sys-fs-binfmt_misc.automount',
+ 'conditions' : ['ENABLE_BINFMT'],
+- 'symlinks' : ['sysinit.target.wants/'],
+ },
+ {
+ 'file' : 'proc-sys-fs-binfmt_misc.mount',
+@@ -251,7 +250,6 @@ units = [
+ {
+ 'file' : 'systemd-binfmt.service.in',
+ 'conditions' : ['ENABLE_BINFMT'],
+- 'symlinks' : ['sysinit.target.wants/'],
+ },
+ {
+ 'file' : 'systemd-bless-boot.service.in',
+diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
+index 5d212015a5..6c2900ca77 100644
+--- a/units/proc-sys-fs-binfmt_misc.automount
++++ b/units/proc-sys-fs-binfmt_misc.automount
+@@ -22,3 +22,6 @@ Before=shutdown.target
+
+ [Automount]
+ Where=/proc/sys/fs/binfmt_misc
++
++[Install]
++WantedBy=sysinit.target
+diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
+index 6861c76674..531e9fbd90 100644
+--- a/units/systemd-binfmt.service.in
++++ b/units/systemd-binfmt.service.in
+@@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html
+ Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
+ DefaultDependencies=no
+ Conflicts=shutdown.target
++Wants=proc-sys-fs-binfmt_misc.automount
+ After=proc-sys-fs-binfmt_misc.automount
+ After=proc-sys-fs-binfmt_misc.mount
+ After=local-fs.target
+@@ -31,3 +32,6 @@ RemainAfterExit=yes
+ ExecStart={{LIBEXECDIR}}/systemd-binfmt
+ ExecStop={{LIBEXECDIR}}/systemd-binfmt --unregister
+ TimeoutSec=90s
++
++[Install]
++WantedBy=sysinit.target
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch
new file mode 100644
index 0000000000..5595b5bc23
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch
@@ -0,0 +1,699 @@
+From 87f1d38f40c5fe9cadf2b2de442473e4e5605788 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 14:18:21 +0800
+Subject: [PATCH 03/22] src/basic/missing.h: check for missing strndupa
+
+include missing.h for definition of strndupa
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+[rebased for systemd 244]
+[Rebased for v247]
+Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+[Rebased for v254]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v255.1]
+---
+ meson.build | 1 +
+ src/backlight/backlight.c | 1 +
+ src/basic/cgroup-util.c | 1 +
+ src/basic/env-util.c | 1 +
+ src/basic/log.c | 1 +
+ src/basic/missing_stdlib.h | 12 ++++++++++++
+ src/basic/mkdir.c | 1 +
+ src/basic/mountpoint-util.c | 1 +
+ src/basic/parse-util.c | 1 +
+ src/basic/path-lookup.c | 1 +
+ src/basic/percent-util.c | 1 +
+ src/basic/proc-cmdline.c | 1 +
+ src/basic/procfs-util.c | 1 +
+ src/basic/time-util.c | 1 +
+ src/boot/bless-boot.c | 1 +
+ src/core/dbus-cgroup.c | 1 +
+ src/core/dbus-execute.c | 1 +
+ src/core/dbus-util.c | 1 +
+ src/core/execute.c | 1 +
+ src/core/kmod-setup.c | 1 +
+ src/core/service.c | 1 +
+ src/coredump/coredump-vacuum.c | 1 +
+ src/fstab-generator/fstab-generator.c | 1 +
+ src/journal-remote/journal-remote-main.c | 1 +
+ src/journal/journalctl.c | 1 +
+ src/libsystemd/sd-bus/bus-message.c | 1 +
+ src/libsystemd/sd-bus/bus-objects.c | 1 +
+ src/libsystemd/sd-bus/bus-socket.c | 1 +
+ src/libsystemd/sd-bus/sd-bus.c | 1 +
+ src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
+ src/libsystemd/sd-journal/sd-journal.c | 1 +
+ src/login/pam_systemd.c | 1 +
+ src/network/generator/network-generator.c | 1 +
+ src/nspawn/nspawn-settings.c | 1 +
+ src/nss-mymachines/nss-mymachines.c | 1 +
+ src/portable/portable.c | 1 +
+ src/resolve/resolvectl.c | 1 +
+ src/shared/bus-get-properties.c | 1 +
+ src/shared/bus-unit-procs.c | 1 +
+ src/shared/bus-unit-util.c | 1 +
+ src/shared/bus-util.c | 1 +
+ src/shared/dns-domain.c | 1 +
+ src/shared/journal-importer.c | 1 +
+ src/shared/logs-show.c | 1 +
+ src/shared/pager.c | 1 +
+ src/socket-proxy/socket-proxyd.c | 1 +
+ src/test/test-hexdecoct.c | 1 +
+ src/udev/udev-builtin-net_id.c | 1 +
+ src/udev/udev-builtin-path_id.c | 1 +
+ src/udev/udev-event.c | 1 +
+ src/udev/udev-rules.c | 1 +
+ 51 files changed, 62 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index 01fd3ffc19..61a872b753 100644
+--- a/meson.build
++++ b/meson.build
+@@ -567,6 +567,7 @@ foreach ident : ['secure_getenv', '__secure_getenv']
+ endforeach
+
+ foreach ident : [
++ ['strndupa' , '''#include <string.h>'''],
+ ['memfd_create', '''#include <sys/mman.h>'''],
+ ['gettid', '''#include <sys/types.h>
+ #include <unistd.h>'''],
+diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
+index 5ac9f904a9..99d5122dd7 100644
+--- a/src/backlight/backlight.c
++++ b/src/backlight/backlight.c
+@@ -20,6 +20,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "terminal-util.h"
++#include "missing_stdlib.h"
+
+ #define PCI_CLASS_GRAPHICS_CARD 0x30000
+
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index 18b16ecc0e..d2be79622f 100644
+--- a/src/basic/cgroup-util.c
++++ b/src/basic/cgroup-util.c
+@@ -38,6 +38,7 @@
+ #include "unit-name.h"
+ #include "user-util.h"
+ #include "xattr-util.h"
++#include "missing_stdlib.h"
+
+ static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) {
+ _cleanup_free_ char *fs = NULL;
+diff --git a/src/basic/env-util.c b/src/basic/env-util.c
+index d3bf73385f..16b17358ca 100644
+--- a/src/basic/env-util.c
++++ b/src/basic/env-util.c
+@@ -19,6 +19,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "utf8.h"
++#include "missing_stdlib.h"
+
+ /* We follow bash for the character set. Different shells have different rules. */
+ #define VALID_BASH_ENV_NAME_CHARS \
+diff --git a/src/basic/log.c b/src/basic/log.c
+index 1470611a75..9924ec2b9a 100644
+--- a/src/basic/log.c
++++ b/src/basic/log.c
+@@ -40,6 +40,7 @@
+ #include "terminal-util.h"
+ #include "time-util.h"
+ #include "utf8.h"
++#include "missing_stdlib.h"
+
+ #define SNDBUF_SIZE (8*1024*1024)
+ #define IOVEC_MAX 256U
+diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
+index 8c76f93eb2..9068bfb4f0 100644
+--- a/src/basic/missing_stdlib.h
++++ b/src/basic/missing_stdlib.h
+@@ -11,3 +11,15 @@
+ # error "neither secure_getenv nor __secure_getenv are available"
+ # endif
+ #endif
++
++/* string.h */
++#if ! HAVE_STRNDUPA
++#define strndupa(s, n) \
++ ({ \
++ const char *__old = (s); \
++ size_t __len = strnlen(__old, (n)); \
++ char *__new = (char *)alloca(__len + 1); \
++ __new[__len] = '\0'; \
++ (char *)memcpy(__new, __old, __len); \
++ })
++#endif
+diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
+index c770e5ed32..1fd8816cd0 100644
+--- a/src/basic/mkdir.c
++++ b/src/basic/mkdir.c
+@@ -16,6 +16,7 @@
+ #include "stat-util.h"
+ #include "stdio-util.h"
+ #include "user-util.h"
++#include "missing_stdlib.h"
+
+ int mkdirat_safe_internal(
+ int dir_fd,
+diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
+index bf67f7e01a..409f8d8a73 100644
+--- a/src/basic/mountpoint-util.c
++++ b/src/basic/mountpoint-util.c
+@@ -18,6 +18,7 @@
+ #include "missing_stat.h"
+ #include "missing_syscall.h"
+ #include "mkdir.h"
++#include "missing_stdlib.h"
+ #include "mountpoint-util.h"
+ #include "nulstr-util.h"
+ #include "parse-util.h"
+diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
+index 0430e33e40..f3728de026 100644
+--- a/src/basic/parse-util.c
++++ b/src/basic/parse-util.c
+@@ -18,6 +18,7 @@
+ #include "stat-util.h"
+ #include "string-util.h"
+ #include "strv.h"
++#include "missing_stdlib.h"
+
+ int parse_boolean(const char *v) {
+ if (!v)
+diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
+index 4e3d59fc56..726e240df0 100644
+--- a/src/basic/path-lookup.c
++++ b/src/basic/path-lookup.c
+@@ -16,6 +16,7 @@
+ #include "strv.h"
+ #include "tmpfile-util.h"
+ #include "user-util.h"
++#include "missing_stdlib.h"
+
+ int xdg_user_runtime_dir(char **ret, const char *suffix) {
+ const char *e;
+diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c
+index cab9d0eaea..5f6ca258e9 100644
+--- a/src/basic/percent-util.c
++++ b/src/basic/percent-util.c
+@@ -3,6 +3,7 @@
+ #include "percent-util.h"
+ #include "string-util.h"
+ #include "parse-util.h"
++#include "missing_stdlib.h"
+
+ static int parse_parts_value_whole(const char *p, const char *symbol) {
+ const char *pc, *n;
+diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
+index 522d8de1f4..7c129dc0fc 100644
+--- a/src/basic/proc-cmdline.c
++++ b/src/basic/proc-cmdline.c
+@@ -16,6 +16,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "virt.h"
++#include "missing_stdlib.h"
+
+ int proc_cmdline_filter_pid1_args(char **argv, char ***ret) {
+ enum {
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index d7cfcd9105..6cb0ddf575 100644
+--- a/src/basic/procfs-util.c
++++ b/src/basic/procfs-util.c
+@@ -12,6 +12,7 @@
+ #include "procfs-util.h"
+ #include "stdio-util.h"
+ #include "string-util.h"
++#include "missing_stdlib.h"
+
+ int procfs_get_pid_max(uint64_t *ret) {
+ _cleanup_free_ char *value = NULL;
+diff --git a/src/basic/time-util.c b/src/basic/time-util.c
+index f9014dc560..1d7840a5b5 100644
+--- a/src/basic/time-util.c
++++ b/src/basic/time-util.c
+@@ -27,6 +27,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "time-util.h"
++#include "missing_stdlib.h"
+
+ static clockid_t map_clock_id(clockid_t c) {
+
+diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
+index 0c0b4f23c7..68fe5ca509 100644
+--- a/src/boot/bless-boot.c
++++ b/src/boot/bless-boot.c
+@@ -22,6 +22,7 @@
+ #include "terminal-util.h"
+ #include "verbs.h"
+ #include "virt.h"
++#include "missing_stdlib.h"
+
+ static char **arg_path = NULL;
+
+diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
+index 4237e694c0..05f9d9d9a9 100644
+--- a/src/core/dbus-cgroup.c
++++ b/src/core/dbus-cgroup.c
+@@ -25,6 +25,7 @@
+ #include "parse-util.h"
+ #include "path-util.h"
+ #include "percent-util.h"
++#include "missing_stdlib.h"
+ #include "socket-util.h"
+
+ BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve);
+diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
+index 4daa1cefd3..2c77901471 100644
+--- a/src/core/dbus-execute.c
++++ b/src/core/dbus-execute.c
+@@ -42,6 +42,7 @@
+ #include "unit-printf.h"
+ #include "user-util.h"
+ #include "utf8.h"
++#include "missing_stdlib.h"
+
+ BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
+ static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
+diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
+index d680a64268..e59f48103e 100644
+--- a/src/core/dbus-util.c
++++ b/src/core/dbus-util.c
+@@ -9,6 +9,7 @@
+ #include "unit-printf.h"
+ #include "user-util.h"
+ #include "unit.h"
++#include "missing_stdlib.h"
+
+ int bus_property_get_triggered_unit(
+ sd_bus *bus,
+diff --git a/src/core/execute.c b/src/core/execute.c
+index ef0bf88687..bd3da0c401 100644
+--- a/src/core/execute.c
++++ b/src/core/execute.c
+@@ -72,6 +72,7 @@
+ #include "unit-serialize.h"
+ #include "user-util.h"
+ #include "utmp-wtmp.h"
++#include "missing_stdlib.h"
+
+ static bool is_terminal_input(ExecInput i) {
+ return IN_SET(i,
+diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
+index b8e3f7aadd..8ce8ca68d8 100644
+--- a/src/core/kmod-setup.c
++++ b/src/core/kmod-setup.c
+@@ -13,6 +13,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "virt.h"
++#include "missing_stdlib.h"
+
+ #if HAVE_KMOD
+ #include "module-util.h"
+diff --git a/src/core/service.c b/src/core/service.c
+index b9eb40c555..268fe7573b 100644
+--- a/src/core/service.c
++++ b/src/core/service.c
+@@ -45,6 +45,7 @@
+ #include "unit-name.h"
+ #include "unit.h"
+ #include "utf8.h"
++#include "missing_stdlib.h"
+
+ #define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__)
+
+diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
+index 7e0c98cb7d..978a7f5874 100644
+--- a/src/coredump/coredump-vacuum.c
++++ b/src/coredump/coredump-vacuum.c
+@@ -17,6 +17,7 @@
+ #include "string-util.h"
+ #include "time-util.h"
+ #include "user-util.h"
++#include "missing_stdlib.h"
+
+ #define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
+ #define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
+diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
+index 016f3baa7f..b1def81313 100644
+--- a/src/fstab-generator/fstab-generator.c
++++ b/src/fstab-generator/fstab-generator.c
+@@ -37,6 +37,7 @@
+ #include "unit-name.h"
+ #include "virt.h"
+ #include "volatile-util.h"
++#include "missing_stdlib.h"
+
+ typedef enum MountPointFlags {
+ MOUNT_NOAUTO = 1 << 0,
+diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
+index da0f20d3ce..f22ce41908 100644
+--- a/src/journal-remote/journal-remote-main.c
++++ b/src/journal-remote/journal-remote-main.c
+@@ -27,6 +27,7 @@
+ #include "stat-util.h"
+ #include "string-table.h"
+ #include "strv.h"
++#include "missing_stdlib.h"
+
+ #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
+ #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
+diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
+index 7f3dcd56a4..41b7cbaaf1 100644
+--- a/src/journal/journalctl.c
++++ b/src/journal/journalctl.c
+@@ -77,6 +77,7 @@
+ #include "unit-name.h"
+ #include "user-util.h"
+ #include "varlink.h"
++#include "missing_stdlib.h"
+
+ #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
+ #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
+diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
+index ff0228081f..9066fcb133 100644
+--- a/src/libsystemd/sd-bus/bus-message.c
++++ b/src/libsystemd/sd-bus/bus-message.c
+@@ -19,6 +19,7 @@
+ #include "strv.h"
+ #include "time-util.h"
+ #include "utf8.h"
++#include "missing_stdlib.h"
+
+ static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
+ static int message_parse_fields(sd_bus_message *m);
+diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
+index c25c40ff37..57a5da704f 100644
+--- a/src/libsystemd/sd-bus/bus-objects.c
++++ b/src/libsystemd/sd-bus/bus-objects.c
+@@ -11,6 +11,7 @@
+ #include "missing_capability.h"
+ #include "string-util.h"
+ #include "strv.h"
++#include "missing_stdlib.h"
+
+ static int node_vtable_get_userdata(
+ sd_bus *bus,
+diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
+index 3c59d0d615..746922d46f 100644
+--- a/src/libsystemd/sd-bus/bus-socket.c
++++ b/src/libsystemd/sd-bus/bus-socket.c
+@@ -29,6 +29,7 @@
+ #include "string-util.h"
+ #include "user-util.h"
+ #include "utf8.h"
++#include "missing_stdlib.h"
+
+ #define SNDBUF_SIZE (8*1024*1024)
+
+diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
+index 4a0259f8bb..aaa90d2223 100644
+--- a/src/libsystemd/sd-bus/sd-bus.c
++++ b/src/libsystemd/sd-bus/sd-bus.c
+@@ -46,6 +46,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "user-util.h"
++#include "missing_stdlib.h"
+
+ #define log_debug_bus_message(m) \
+ do { \
+diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
+index d988588de0..458df8df9a 100644
+--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
++++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
+@@ -14,6 +14,7 @@
+ #include "string-util.h"
+ #include "tests.h"
+ #include "time-util.h"
++#include "missing_stdlib.h"
+
+ #define MAX_SIZE (2*1024*1024)
+
+diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
+index 6b9ff0a4ed..4a5027ad0f 100644
+--- a/src/libsystemd/sd-journal/sd-journal.c
++++ b/src/libsystemd/sd-journal/sd-journal.c
+@@ -44,6 +44,7 @@
+ #include "strv.h"
+ #include "syslog-util.h"
+ #include "uid-alloc-range.h"
++#include "missing_stdlib.h"
+
+ #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC)
+
+diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
+index b8da266e27..4bb8dd9496 100644
+--- a/src/login/pam_systemd.c
++++ b/src/login/pam_systemd.c
+@@ -35,6 +35,7 @@
+ #include "login-util.h"
+ #include "macro.h"
+ #include "missing_syscall.h"
++#include "missing_stdlib.h"
+ #include "pam-util.h"
+ #include "parse-util.h"
+ #include "path-util.h"
+diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
+index 48527a2c73..9777fe0561 100644
+--- a/src/network/generator/network-generator.c
++++ b/src/network/generator/network-generator.c
+@@ -14,6 +14,7 @@
+ #include "string-table.h"
+ #include "string-util.h"
+ #include "strv.h"
++#include "missing_stdlib.h"
+
+ /*
+ # .network
+diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
+index 161b1c1c70..ba1c459f78 100644
+--- a/src/nspawn/nspawn-settings.c
++++ b/src/nspawn/nspawn-settings.c
+@@ -16,6 +16,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "user-util.h"
++#include "missing_stdlib.h"
+
+ Settings *settings_new(void) {
+ Settings *s;
+diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
+index c64e79bdff..eda26b0b9a 100644
+--- a/src/nss-mymachines/nss-mymachines.c
++++ b/src/nss-mymachines/nss-mymachines.c
+@@ -21,6 +21,7 @@
+ #include "nss-util.h"
+ #include "signal-util.h"
+ #include "string-util.h"
++#include "missing_stdlib.h"
+
+ static void setup_logging_once(void) {
+ static pthread_once_t once = PTHREAD_ONCE_INIT;
+diff --git a/src/portable/portable.c b/src/portable/portable.c
+index d4b448a627..bb26623565 100644
+--- a/src/portable/portable.c
++++ b/src/portable/portable.c
+@@ -40,6 +40,7 @@
+ #include "strv.h"
+ #include "tmpfile-util.h"
+ #include "user-util.h"
++#include "missing_stdlib.h"
+
+ /* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was
+ * dropped there by the portable service logic and b) for which image it was dropped there. */
+diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
+index afa537f160..32ccee4ae5 100644
+--- a/src/resolve/resolvectl.c
++++ b/src/resolve/resolvectl.c
+@@ -48,6 +48,7 @@
+ #include "varlink.h"
+ #include "verb-log-control.h"
+ #include "verbs.h"
++#include "missing_stdlib.h"
+
+ static int arg_family = AF_UNSPEC;
+ static int arg_ifindex = 0;
+diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
+index 53e5d6b99f..851ecd5644 100644
+--- a/src/shared/bus-get-properties.c
++++ b/src/shared/bus-get-properties.c
+@@ -4,6 +4,7 @@
+ #include "rlimit-util.h"
+ #include "stdio-util.h"
+ #include "string-util.h"
++#include "missing_stdlib.h"
+
+ int bus_property_get_bool(
+ sd_bus *bus,
+diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
+index 8b462b5627..183ce1c18e 100644
+--- a/src/shared/bus-unit-procs.c
++++ b/src/shared/bus-unit-procs.c
+@@ -11,6 +11,7 @@
+ #include "sort-util.h"
+ #include "string-util.h"
+ #include "terminal-util.h"
++#include "missing_stdlib.h"
+
+ struct CGroupInfo {
+ char *cgroup_path;
+diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
+index 4ee9706847..30c8084847 100644
+--- a/src/shared/bus-unit-util.c
++++ b/src/shared/bus-unit-util.c
+@@ -50,6 +50,7 @@
+ #include "unit-def.h"
+ #include "user-util.h"
+ #include "utf8.h"
++#include "missing_stdlib.h"
+
+ int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
+ assert(message);
+diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
+index 4123152d93..74f148c8b4 100644
+--- a/src/shared/bus-util.c
++++ b/src/shared/bus-util.c
+@@ -24,6 +24,7 @@
+ #include "path-util.h"
+ #include "socket-util.h"
+ #include "stdio-util.h"
++#include "missing_stdlib.h"
+
+ static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
+ sd_event *e = ASSERT_PTR(userdata);
+diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
+index b41c9b06ca..e69050a507 100644
+--- a/src/shared/dns-domain.c
++++ b/src/shared/dns-domain.c
+@@ -18,6 +18,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "utf8.h"
++#include "missing_stdlib.h"
+
+ int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
+ const char *n;
+diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
+index 83e9834bbf..74eaae6f5e 100644
+--- a/src/shared/journal-importer.c
++++ b/src/shared/journal-importer.c
+@@ -16,6 +16,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "unaligned.h"
++#include "missing_stdlib.h"
+
+ enum {
+ IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
+diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
+index a5d04003bd..10392c132d 100644
+--- a/src/shared/logs-show.c
++++ b/src/shared/logs-show.c
+@@ -41,6 +41,7 @@
+ #include "time-util.h"
+ #include "utf8.h"
+ #include "web-util.h"
++#include "missing_stdlib.h"
+
+ /* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
+ #define PRINT_LINE_THRESHOLD 3
+diff --git a/src/shared/pager.c b/src/shared/pager.c
+index 19deefab56..6b6d0af1a0 100644
+--- a/src/shared/pager.c
++++ b/src/shared/pager.c
+@@ -25,6 +25,7 @@
+ #include "string-util.h"
+ #include "strv.h"
+ #include "terminal-util.h"
++#include "missing_stdlib.h"
+
+ static pid_t pager_pid = 0;
+
+diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
+index 287fd6c181..8f8d5493da 100644
+--- a/src/socket-proxy/socket-proxyd.c
++++ b/src/socket-proxy/socket-proxyd.c
+@@ -27,6 +27,7 @@
+ #include "set.h"
+ #include "socket-util.h"
+ #include "string-util.h"
++#include "missing_stdlib.h"
+
+ #define BUFFER_SIZE (256 * 1024)
+
+diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
+index f884008660..987e180697 100644
+--- a/src/test/test-hexdecoct.c
++++ b/src/test/test-hexdecoct.c
+@@ -7,6 +7,7 @@
+ #include "macro.h"
+ #include "random-util.h"
+ #include "string-util.h"
++#include "missing_stdlib.h"
+ #include "tests.h"
+
+ TEST(hexchar) {
+diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
+index 91b40088f4..f528a46b8e 100644
+--- a/src/udev/udev-builtin-net_id.c
++++ b/src/udev/udev-builtin-net_id.c
+@@ -39,6 +39,7 @@
+ #include "strv.h"
+ #include "strxcpyx.h"
+ #include "udev-builtin.h"
++#include "missing_stdlib.h"
+
+ #define ONBOARD_14BIT_INDEX_MAX ((1U << 14) - 1)
+ #define ONBOARD_16BIT_INDEX_MAX ((1U << 16) - 1)
+diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
+index 467c9a6ad3..f74dae60af 100644
+--- a/src/udev/udev-builtin-path_id.c
++++ b/src/udev/udev-builtin-path_id.c
+@@ -24,6 +24,7 @@
+ #include "sysexits.h"
+ #include "udev-builtin.h"
+ #include "udev-util.h"
++#include "missing_stdlib.h"
+
+ _printf_(2,3)
+ static void path_prepend(char **path, const char *fmt, ...) {
+diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
+index ed22c8b679..19ebe20237 100644
+--- a/src/udev/udev-event.c
++++ b/src/udev/udev-event.c
+@@ -16,6 +16,7 @@
+ #include "udev-util.h"
+ #include "udev-watch.h"
+ #include "user-util.h"
++#include "missing_stdlib.h"
+
+ UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) {
+ UdevEvent *event;
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index 5f12002394..febe345b4c 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -41,6 +41,7 @@
+ #include "udev-util.h"
+ #include "user-util.h"
+ #include "virt.h"
++#include "missing_stdlib.h"
+
+ #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d"))
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
new file mode 100644
index 0000000000..15877bea88
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch
@@ -0,0 +1,156 @@
+From 5325ab5813617f35f03806ec420829dde7104387 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 14:56:21 +0800
+Subject: [PATCH 04/22] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
+ defined
+
+If the standard library doesn't provide brace
+expansion users just won't get it.
+
+Dont use GNU GLOB extentions on non-glibc systems
+
+Conditionalize use of GLOB_ALTDIRFUNC
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/basic/glob-util.c | 12 ++++++++++++
+ src/test/test-glob-util.c | 16 ++++++++++++++++
+ src/tmpfiles/tmpfiles.c | 10 ++++++++++
+ 3 files changed, 38 insertions(+)
+
+diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
+index 802ca8c655..23818a67c6 100644
+--- a/src/basic/glob-util.c
++++ b/src/basic/glob-util.c
+@@ -12,6 +12,12 @@
+ #include "path-util.h"
+ #include "strv.h"
+
++/* Don't fail if the standard library
++ * doesn't provide brace expansion */
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ static void closedir_wrapper(void* v) {
+ (void) closedir(v);
+ }
+@@ -19,6 +25,7 @@ static void closedir_wrapper(void* v) {
+ int safe_glob(const char *path, int flags, glob_t *pglob) {
+ int k;
+
++#ifdef GLOB_ALTDIRFUNC
+ /* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
+ assert(!(flags & GLOB_ALTDIRFUNC));
+
+@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
+ pglob->gl_lstat = lstat;
+ if (!pglob->gl_stat)
+ pglob->gl_stat = stat;
++#endif
+
+ errno = 0;
++#ifdef GLOB_ALTDIRFUNC
+ k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob);
++#else
++ k = glob(path, flags, NULL, pglob);
++#endif
+ if (k == GLOB_NOMATCH)
+ return -ENOENT;
+ if (k == GLOB_NOSPACE)
+diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
+index 9b3e73cce0..3790ba3be5 100644
+--- a/src/test/test-glob-util.c
++++ b/src/test/test-glob-util.c
+@@ -34,6 +34,12 @@ TEST(glob_first) {
+ assert_se(first == NULL);
+ }
+
++/* Don't fail if the standard library
++ * doesn't provide brace expansion */
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ TEST(glob_exists) {
+ char name[] = "/tmp/test-glob_exists.XXXXXX";
+ int fd = -EBADF;
+@@ -61,11 +67,13 @@ TEST(glob_no_dot) {
+ const char *fn;
+
+ _cleanup_globfree_ glob_t g = {
++#ifdef GLOB_ALTDIRFUNC
+ .gl_closedir = closedir_wrapper,
+ .gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot,
+ .gl_opendir = (void *(*)(const char *)) opendir,
+ .gl_lstat = lstat,
+ .gl_stat = stat,
++#endif
+ };
+
+ int r;
+@@ -73,11 +81,19 @@ TEST(glob_no_dot) {
+ assert_se(mkdtemp(template));
+
+ fn = strjoina(template, "/*");
++#ifdef GLOB_ALTDIRFUNC
+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
++#else
++ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
++#endif
+ assert_se(r == GLOB_NOMATCH);
+
+ fn = strjoina(template, "/.*");
++#ifdef GLOB_ALTDIRFUNC
+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
++#else
++ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
++#endif
+ assert_se(r == GLOB_NOMATCH);
+
+ (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
+diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
+index 230ec09b97..2cc5f391d7 100644
+--- a/src/tmpfiles/tmpfiles.c
++++ b/src/tmpfiles/tmpfiles.c
+@@ -73,6 +73,12 @@
+ #include "user-util.h"
+ #include "virt.h"
+
++/* Don't fail if the standard library
++ * doesn't provide brace expansion */
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
+ * them in the file system. This is intended to be used to create
+ * properly owned directories beneath /tmp, /var/tmp, /run, which are
+@@ -2434,7 +2440,9 @@ finish:
+
+ static int glob_item(Context *c, Item *i, action_t action) {
+ _cleanup_globfree_ glob_t g = {
++#ifdef GLOB_ALTDIRFUNC
+ .gl_opendir = (void *(*)(const char *)) opendir_nomod,
++#endif
+ };
+ int r = 0, k;
+
+@@ -2461,7 +2469,9 @@ static int glob_item_recursively(
+ fdaction_t action) {
+
+ _cleanup_globfree_ glob_t g = {
++#ifdef GLOB_ALTDIRFUNC
+ .gl_opendir = (void *(*)(const char *)) opendir_nomod,
++#endif
+ };
+ int r = 0, k;
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch
new file mode 100644
index 0000000000..a1dfca22cd
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0005-add-missing-FTW_-macros-for-musl.patch
@@ -0,0 +1,44 @@
+From dad7f897c0de654fa5592fda3e90f874639849f9 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:00:06 +0800
+Subject: [PATCH 05/22] add missing FTW_ macros for musl
+
+This is to avoid build failures like below for musl.
+
+ locale-util.c:296:24: error: 'FTW_STOP' undeclared
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_type.h | 4 ++++
+ src/test/test-recurse-dir.c | 1 +
+ 2 files changed, 5 insertions(+)
+
+diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
+index 6c0456349d..73a5b90e3c 100644
+--- a/src/basic/missing_type.h
++++ b/src/basic/missing_type.h
+@@ -14,3 +14,7 @@
+ #ifndef __GLIBC__
+ typedef int (*comparison_fn_t)(const void *, const void *);
+ #endif
++
++#ifndef FTW_CONTINUE
++#define FTW_CONTINUE 0
++#endif
+diff --git a/src/test/test-recurse-dir.c b/src/test/test-recurse-dir.c
+index 8684d064ec..70fc2b5376 100644
+--- a/src/test/test-recurse-dir.c
++++ b/src/test/test-recurse-dir.c
+@@ -8,6 +8,7 @@
+ #include "recurse-dir.h"
+ #include "strv.h"
+ #include "tests.h"
++#include "missing_type.h"
+
+ static char **list_nftw = NULL;
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch
new file mode 100644
index 0000000000..4be14b72ec
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0006-Use-uintmax_t-for-handling-rlim_t.patch
@@ -0,0 +1,106 @@
+From 96e975a2412a20e5f80bd3ab144057d275eb8597 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:12:41 +0800
+Subject: [PATCH 06/22] Use uintmax_t for handling rlim_t
+
+PRIu{32,64} is not right format to represent rlim_t type
+therefore use %ju and typecast the rlim_t variables to
+uintmax_t.
+
+Fixes portablility errors like
+
+execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=]
+| fprintf(f, "%s%s: " RLIM_FMT "\n",
+| ^~~~~~~~
+| prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
+| ~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+[Rebased for v241]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/format-util.h | 8 +-------
+ src/basic/rlimit-util.c | 12 ++++++------
+ src/core/execute.c | 4 ++--
+ 3 files changed, 9 insertions(+), 15 deletions(-)
+
+diff --git a/src/basic/format-util.h b/src/basic/format-util.h
+index 8719df3e29..9becc96066 100644
+--- a/src/basic/format-util.h
++++ b/src/basic/format-util.h
+@@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t));
+ # error Unknown timex member size
+ #endif
+
+-#if SIZEOF_RLIM_T == 8
+-# define RLIM_FMT "%" PRIu64
+-#elif SIZEOF_RLIM_T == 4
+-# define RLIM_FMT "%" PRIu32
+-#else
+-# error Unknown rlim_t size
+-#endif
++#define RLIM_FMT "%ju"
+
+ #if SIZEOF_DEV_T == 8
+ # define DEV_FMT "%" PRIu64
+diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
+index c1f0b2b974..61c5412582 100644
+--- a/src/basic/rlimit-util.c
++++ b/src/basic/rlimit-util.c
+@@ -44,7 +44,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) {
+ fixed.rlim_max == highest.rlim_max)
+ return 0;
+
+- log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", rlim->rlim_max, rlimit_to_string(resource), fixed.rlim_max);
++ log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", (uintmax_t)rlim->rlim_max, rlimit_to_string(resource), (uintmax_t)fixed.rlim_max);
+
+ return RET_NERRNO(setrlimit(resource, &fixed));
+ }
+@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
+ if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
+ r = free_and_strdup(&s, "infinity");
+ else if (rl->rlim_cur >= RLIM_INFINITY)
+- r = asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max);
++ r = asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max);
+ else if (rl->rlim_max >= RLIM_INFINITY)
+- r = asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur);
++ r = asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur);
+ else if (rl->rlim_cur == rl->rlim_max)
+- r = asprintf(&s, RLIM_FMT, rl->rlim_cur);
++ r = asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur);
+ else
+- r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max);
++ r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max);
+ if (r < 0)
+ return -ENOMEM;
+
+@@ -422,7 +422,7 @@ int rlimit_nofile_safe(void) {
+ rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open());
+ rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max);
+ if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
+- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur);
++ return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur);
+
+ return 1;
+ }
+diff --git a/src/core/execute.c b/src/core/execute.c
+index bd3da0c401..df1870fd2f 100644
+--- a/src/core/execute.c
++++ b/src/core/execute.c
+@@ -1045,9 +1045,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
+ for (unsigned i = 0; i < RLIM_NLIMITS; i++)
+ if (c->rlimit[i]) {
+ fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
+- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
++ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max);
+ fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n",
+- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur);
++ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur);
+ }
+
+ if (c->ioprio_set) {
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
new file mode 100644
index 0000000000..8d6084239e
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch
@@ -0,0 +1,99 @@
+From 4842cff4f1329f0b5034b529d56f8ad1f234ac4c Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Tue, 10 Oct 2017 14:33:30 -0700
+Subject: [PATCH 07/22] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
+
+Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
+thing to do and it's not portable (not supported by musl). See:
+
+ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
+ http://www.openwall.com/lists/musl/2015/02/05/2
+
+Note that laccess() is never passing AT_EACCESS so a lot of the
+discussion in the links above doesn't apply. Note also that
+(currently) all systemd callers of laccess() pass mode as F_OK, so
+only check for existence of a file, not access permissions.
+Therefore, in this case, the only distiction between faccessat()
+with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour
+for broken symlinks; laccess() on a broken symlink will succeed with
+(flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
+
+The laccess() macros was added to systemd some time ago and it's not
+clear if or why it needs to return success for broken symlinks. Maybe
+just historical and not actually necessary or desired behaviour?
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ src/basic/fs-util.h | 21 ++++++++++++++++++++-
+ src/shared/base-filesystem.c | 6 +++---
+ 2 files changed, 23 insertions(+), 4 deletions(-)
+
+diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
+index 1023ab73ca..c78ff6f27f 100644
+--- a/src/basic/fs-util.h
++++ b/src/basic/fs-util.h
+@@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
+ int fd_warn_permissions(const char *path, int fd);
+ int stat_warn_permissions(const char *path, const struct stat *st);
+
++/*
++ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
++ do and it's not portable (not supported by musl). See:
++
++ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
++ http://www.openwall.com/lists/musl/2015/02/05/2
++
++ Note that laccess() is never passing AT_EACCESS so a lot of the discussion in
++ the links above doesn't apply. Note also that (currently) all systemd callers
++ of laccess() pass mode as F_OK, so only check for existence of a file, not
++ access permissions. Therefore, in this case, the only distiction between
++ faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the
++ behaviour for broken symlinks; laccess() on a broken symlink will succeed
++ with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
++
++ The laccess() macros was added to systemd some time ago and it's not clear if
++ or why it needs to return success for broken symlinks. Maybe just historical
++ and not actually necessary or desired behaviour?
++*/
+ #define laccess(path, mode) \
+- RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW))
++ RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0))
+
+ int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
+
+diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
+index 569ef466c3..7ae921a113 100644
+--- a/src/shared/base-filesystem.c
++++ b/src/shared/base-filesystem.c
+@@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
+ /* The "root" parameter is decoration only – it's only used as part of log messages */
+
+ for (size_t i = 0; i < ELEMENTSOF(table); i++) {
+- if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
++ if (faccessat(fd, table[i].dir, F_OK, 0) >= 0)
+ continue;
+
+ if (table[i].target) { /* Create as symlink? */
+@@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
+
+ /* check if one of the targets exists */
+ NULSTR_FOREACH(s, table[i].target) {
+- if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
++ if (faccessat(fd, s, F_OK, 0) < 0)
+ continue;
+
+ /* check if a specific file exists at the target path */
+@@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
+ if (!p)
+ return log_oom();
+
+- if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
++ if (faccessat(fd, p, F_OK, 0) < 0)
+ continue;
+ }
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch
new file mode 100644
index 0000000000..c1a8bb19fe
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch
@@ -0,0 +1,34 @@
+From bab07e779ff23d5593bb118efaaa31b60a6dce87 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 27 May 2018 08:36:44 -0700
+Subject: [PATCH 08/22] Define glibc compatible basename() for non-glibc
+ systems
+
+Fixes builds with musl, even though systemd is adamant about
+using non-posix basename implementation, we have a way out
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/basic/string-util.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/basic/string-util.h b/src/basic/string-util.h
+index b6d8be3083..0a29036c4c 100644
+--- a/src/basic/string-util.h
++++ b/src/basic/string-util.h
+@@ -26,6 +26,10 @@
+ #define URI_UNRESERVED ALPHANUMERICAL "-._~" /* [RFC3986] */
+ #define URI_VALID URI_RESERVED URI_UNRESERVED /* [RFC3986] */
+
++#if !defined(__GLIBC__)
++#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
++#endif
++
+ static inline char* strstr_ptr(const char *haystack, const char *needle) {
+ if (!haystack || !needle)
+ return NULL;
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch
new file mode 100644
index 0000000000..acff18dc43
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0008-implment-systemd-sysv-install-for-OE.patch
@@ -0,0 +1,43 @@
+From 5712d56f1cd654d2e5d2e9117ff77fe4c299f76b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 5 Sep 2015 06:31:47 +0000
+Subject: [PATCH] implment systemd-sysv-install for OE
+
+Use update-rc.d for enabling/disabling and status command
+to check the status of the sysv service
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/systemctl/systemd-sysv-install.SKELETON | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON
+index cb58d8243b..000bdf6165 100755
+--- a/src/systemctl/systemd-sysv-install.SKELETON
++++ b/src/systemctl/systemd-sysv-install.SKELETON
+@@ -34,17 +34,17 @@ case "$1" in
+ enable)
+ # call the command to enable SysV init script $NAME here
+ # (consider optional $ROOT)
+- echo "IMPLEMENT ME: enabling SysV init.d script $NAME"
++ update-rc.d -f $NAME defaults
+ ;;
+ disable)
+ # call the command to disable SysV init script $NAME here
+ # (consider optional $ROOT)
+- echo "IMPLEMENT ME: disabling SysV init.d script $NAME"
++ update-rc.d -f $NAME remove
+ ;;
+ is-enabled)
+ # exit with 0 if $NAME is enabled, non-zero if it is disabled
+ # (consider optional $ROOT)
+- echo "IMPLEMENT ME: checking SysV init.d script $NAME"
++ /etc/init.d/$NAME status
+ ;;
+ *)
+ usage ;;
+--
+2.39.2
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
new file mode 100644
index 0000000000..3ff0177ae3
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch
@@ -0,0 +1,41 @@
+From 25093c5017725b8577c444dfea0f42ad85b43522 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 4 Jul 2018 15:00:44 +0800
+Subject: [PATCH 09/22] Do not disable buffering when writing to oom_score_adj
+
+On musl, disabling buffering when writing to oom_score_adj will
+cause the following error.
+
+ Failed to adjust OOM setting: Invalid argument
+
+This error appears for systemd-udevd.service and dbus.service.
+This is because kernel receives '-' instead of the whole '-900'
+if buffering is disabled.
+
+This is libc implementation specific, as glibc does not have this issue.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/basic/process-util.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/basic/process-util.c b/src/basic/process-util.c
+index 201c5596ae..ea51595b6c 100644
+--- a/src/basic/process-util.c
++++ b/src/basic/process-util.c
+@@ -1716,7 +1716,7 @@ int set_oom_score_adjust(int value) {
+ xsprintf(t, "%i", value);
+
+ return write_string_file("/proc/self/oom_score_adj", t,
+- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
++ WRITE_STRING_FILE_VERIFY_ON_FAILURE);
+ }
+
+ int get_oom_score_adjust(int *ret) {
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
new file mode 100644
index 0000000000..cf59ac7d06
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch
@@ -0,0 +1,76 @@
+From 2adbe9773cd65c48eec9df96868d4a738927c8d9 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 10 Jul 2018 15:40:17 +0800
+Subject: [PATCH 10/22] distinguish XSI-compliant strerror_r from GNU-specifi
+ strerror_r
+
+XSI-compliant strerror_r and GNU-specifi strerror_r are different.
+
+ int strerror_r(int errnum, char *buf, size_t buflen);
+ /* XSI-compliant */
+
+ char *strerror_r(int errnum, char *buf, size_t buflen);
+ /* GNU-specific */
+
+We need to distinguish between them. Otherwise, we'll get an int value
+assigned to (char *) variable, resulting in segment fault.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/libsystemd/sd-bus/bus-error.c | 11 ++++++++++-
+ src/libsystemd/sd-journal/journal-send.c | 5 +++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
+index 77b2e1a0fd..fdba0e0142 100644
+--- a/src/libsystemd/sd-bus/bus-error.c
++++ b/src/libsystemd/sd-bus/bus-error.c
+@@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
+ return;
+
+ errno = 0;
++#ifndef __GLIBC__
++ strerror_r(error, m, k);
++ x = m;
++#else
+ x = strerror_r(error, m, k);
++#endif
+ if (errno == ERANGE || strlen(x) >= k - 1) {
+ free(m);
+ k *= 2;
+@@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static
+
+ if (e && e->message)
+ return e->message;
+-
++#ifndef __GLIBC__
++ strerror_r(abs(error), buf, ERRNO_BUF_LEN);
++ return buf;
++#else
+ return strerror_r(abs(error), buf, ERRNO_BUF_LEN);
++#endif
+ }
+
+ static bool map_ok(const sd_bus_error_map *map) {
+diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
+index 69a2eb6404..1561859650 100644
+--- a/src/libsystemd/sd-journal/journal-send.c
++++ b/src/libsystemd/sd-journal/journal-send.c
+@@ -361,7 +361,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
+ char* j;
+
+ errno = 0;
++#ifndef __GLIBC__
++ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++ j = buffer + 8 + k;
++#else
+ j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
++#endif
+ if (errno == 0) {
+ char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch
new file mode 100644
index 0000000000..e481b2e2e4
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch
@@ -0,0 +1,32 @@
+From 49c446cfb78cf74a909bed8c3798b77a5469866a Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 25 Feb 2019 15:44:54 +0800
+Subject: [PATCH 11/22] avoid redefinition of prctl_mm_map structure
+
+Fix the following compile failure:
+error: redefinition of 'struct prctl_mm_map'
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/basic/missing_prctl.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h
+index 7d9e395c92..88c2d7dfac 100644
+--- a/src/basic/missing_prctl.h
++++ b/src/basic/missing_prctl.h
+@@ -1,7 +1,9 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+ #pragma once
+
++#ifdef __GLIBC__
+ #include <linux/prctl.h>
++#endif
+
+ /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
+ #ifndef PR_CAP_AMBIENT
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch
new file mode 100644
index 0000000000..66be79077e
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0012-do-not-disable-buffer-in-writing-files.patch
@@ -0,0 +1,562 @@
+From e4885a8e60f883d9217e26e1db3754c2906aca31 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Fri, 1 Mar 2019 15:22:15 +0800
+Subject: [PATCH 12/22] do not disable buffer in writing files
+
+Do not disable buffer in writing files, otherwise we get
+failure at boot for musl like below.
+
+ [!!!!!!] Failed to allocate manager object.
+
+And there will be other failures, critical or not critical.
+This is specific to musl.
+
+Upstream-Status: Inappropriate [musl]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[Rebased for v242]
+Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
+[rebased for systemd 243]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+[rebased for systemd 254]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+[rebased for systemd 255.1]
+---
+ src/basic/cgroup-util.c | 12 ++++++------
+ src/basic/namespace-util.c | 4 ++--
+ src/basic/procfs-util.c | 4 ++--
+ src/basic/sysctl-util.c | 2 +-
+ src/binfmt/binfmt.c | 6 +++---
+ src/core/cgroup.c | 2 +-
+ src/core/main.c | 2 +-
+ src/core/smack-setup.c | 8 ++++----
+ src/home/homework.c | 2 +-
+ src/libsystemd/sd-device/sd-device.c | 2 +-
+ src/nspawn/nspawn-cgroup.c | 2 +-
+ src/nspawn/nspawn.c | 6 +++---
+ src/shared/binfmt-util.c | 2 +-
+ src/shared/cgroup-setup.c | 4 ++--
+ src/shared/coredump-util.c | 4 ++--
+ src/shared/hibernate-util.c | 4 ++--
+ src/shared/smack-util.c | 2 +-
+ src/shared/watchdog.c | 2 +-
+ src/sleep/sleep.c | 4 ++--
+ src/storagetm/storagetm.c | 24 ++++++++++++------------
+ src/udev/udev-rules.c | 1 -
+ src/vconsole/vconsole-setup.c | 2 +-
+ 22 files changed, 50 insertions(+), 51 deletions(-)
+
+diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
+index d2be79622f..e65fecb68d 100644
+--- a/src/basic/cgroup-util.c
++++ b/src/basic/cgroup-util.c
+@@ -417,7 +417,7 @@ int cg_kill_kernel_sigkill(const char *path) {
+ if (r < 0)
+ return r;
+
+- r = write_string_file(killfile, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(killfile, "1", 0);
+ if (r < 0)
+ return r;
+
+@@ -843,7 +843,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+
+ sc = strstrip(contents);
+ if (isempty(sc)) {
+- r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, agent, 0);
+ if (r < 0)
+ return r;
+ } else if (!path_equal(sc, agent))
+@@ -861,7 +861,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
+
+ sc = strstrip(contents);
+ if (streq(sc, "0")) {
+- r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "1", 0);
+ if (r < 0)
+ return r;
+
+@@ -888,7 +888,7 @@ int cg_uninstall_release_agent(const char *controller) {
+ if (r < 0)
+ return r;
+
+- r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "0", 0);
+ if (r < 0)
+ return r;
+
+@@ -898,7 +898,7 @@ int cg_uninstall_release_agent(const char *controller) {
+ if (r < 0)
+ return r;
+
+- r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, "", 0);
+ if (r < 0)
+ return r;
+
+@@ -1814,7 +1814,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
+ if (r < 0)
+ return r;
+
+- return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER);
++ return write_string_file(p, value, 0);
+ }
+
+ int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
+diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c
+index 2101f617ad..63817bae17 100644
+--- a/src/basic/namespace-util.c
++++ b/src/basic/namespace-util.c
+@@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
+ freeze();
+
+ xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
+- r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(path, uid_map, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write UID map: %m");
+
+ xsprintf(path, "/proc/" PID_FMT "/gid_map", pid);
+- r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(path, gid_map, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write GID map: %m");
+
+diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
+index 6cb0ddf575..247cf9e1d1 100644
+--- a/src/basic/procfs-util.c
++++ b/src/basic/procfs-util.c
+@@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
+ * decrease it, as threads-max is the much more relevant sysctl. */
+ if (limit > pid_max-1) {
+ sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
+- r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0);
+ if (r < 0)
+ return r;
+ }
+
+ sprintf(buffer, "%" PRIu64, limit);
+- r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0);
+ if (r < 0) {
+ uint64_t threads_max;
+
+diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
+index b66a6622ae..8d1c93008a 100644
+--- a/src/basic/sysctl-util.c
++++ b/src/basic/sysctl-util.c
+@@ -58,7 +58,7 @@ int sysctl_write(const char *property, const char *value) {
+
+ log_debug("Setting '%s' to '%s'", p, value);
+
+- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL);
++ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL);
+ }
+
+ int sysctl_writef(const char *property, const char *format, ...) {
+diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
+index d21f3f79ff..258607cc7e 100644
+--- a/src/binfmt/binfmt.c
++++ b/src/binfmt/binfmt.c
+@@ -30,7 +30,7 @@ static bool arg_unregister = false;
+
+ static int delete_rule(const char *rulename) {
+ const char *fn = strjoina("/proc/sys/fs/binfmt_misc/", rulename);
+- return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ return write_string_file(fn, "-1", 0);
+ }
+
+ static int apply_rule(const char *filename, unsigned line, const char *rule) {
+@@ -58,7 +58,7 @@ static int apply_rule(const char *filename, unsigned line, const char *rule) {
+ if (r >= 0)
+ log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename);
+
+- r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0);
+ if (r < 0)
+ return log_error_errno(r, "%s:%u: Failed to add binary format '%s': %m",
+ filename, line, rulename);
+@@ -248,7 +248,7 @@ static int run(int argc, char *argv[]) {
+ return r;
+
+ /* Flush out all rules */
+- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m");
+ else
+diff --git a/src/core/cgroup.c b/src/core/cgroup.c
+index 61ac4df1a6..ea18970196 100644
+--- a/src/core/cgroup.c
++++ b/src/core/cgroup.c
+@@ -4578,7 +4578,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
+ u->freezer_state = FREEZER_THAWING;
+ }
+
+- r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0);
+ if (r < 0)
+ return r;
+
+diff --git a/src/core/main.c b/src/core/main.c
+index 3f71cc0947..0e5aec3e9e 100644
+--- a/src/core/main.c
++++ b/src/core/main.c
+@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) {
+ if (getpid_cached() != 1)
+ return;
+
+- r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m",
+ arg_early_core_pattern);
+diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
+index 7ea902b6f9..1aef2988d0 100644
+--- a/src/core/smack-setup.c
++++ b/src/core/smack-setup.c
+@@ -321,17 +321,17 @@ int mac_smack_setup(bool *loaded_policy) {
+ }
+
+ #if HAVE_SMACK_RUN_LABEL
+- r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m");
+- r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m");
+ r = write_string_file("/sys/fs/smackfs/netlabel",
+- "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
++ "0.0.0.0/0 " SMACK_RUN_LABEL, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m");
+- r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
+ #endif
+diff --git a/src/home/homework.c b/src/home/homework.c
+index 066483e342..5f92dd7064 100644
+--- a/src/home/homework.c
++++ b/src/home/homework.c
+@@ -278,7 +278,7 @@ static void drop_caches_now(void) {
+ * for details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but
+ * not more. */
+
+- r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to drop caches, ignoring: %m");
+ else
+diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
+index 2fbc619a34..09d9591e37 100644
+--- a/src/libsystemd/sd-device/sd-device.c
++++ b/src/libsystemd/sd-device/sd-device.c
+@@ -2516,7 +2516,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+ if (!value)
+ return -ENOMEM;
+
+- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
++ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
+ if (r < 0) {
+ /* On failure, clear cache entry, as we do not know how it fails. */
+ device_remove_cached_sysattr_value(device, sysattr);
+diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
+index a5002437c6..b12e6cd9c9 100644
+--- a/src/nspawn/nspawn-cgroup.c
++++ b/src/nspawn/nspawn-cgroup.c
+@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
+ fn = strjoina(tree, cgroup, "/cgroup.procs");
+
+ sprintf(pid_string, PID_FMT, pid);
+- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755);
++ r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755);
+ if (r < 0) {
+ log_error_errno(r, "Failed to move process: %m");
+ goto finish;
+diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
+index 6ab604d3dc..bbec6b686c 100644
+--- a/src/nspawn/nspawn.c
++++ b/src/nspawn/nspawn.c
+@@ -2688,7 +2688,7 @@ static int reset_audit_loginuid(void) {
+ if (streq(p, "4294967295"))
+ return 0;
+
+- r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/self/loginuid", "4294967295", 0);
+ if (r < 0) {
+ log_error_errno(r,
+ "Failed to reset audit login UID. This probably means that your kernel is too\n"
+@@ -4141,7 +4141,7 @@ static int setup_uid_map(
+ return log_oom();
+
+ xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
+- r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(uid_map, s, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write UID map: %m");
+
+@@ -4151,7 +4151,7 @@ static int setup_uid_map(
+ return log_oom();
+
+ xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
+- r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(uid_map, s, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write GID map: %m");
+
+diff --git a/src/shared/binfmt-util.c b/src/shared/binfmt-util.c
+index a26175474b..1413a9c72c 100644
+--- a/src/shared/binfmt-util.c
++++ b/src/shared/binfmt-util.c
+@@ -46,7 +46,7 @@ int disable_binfmt(void) {
+ return 0;
+ }
+
+- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
+ if (r < 0)
+ return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m");
+
+diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c
+index 934a16eaf3..c921ced861 100644
+--- a/src/shared/cgroup-setup.c
++++ b/src/shared/cgroup-setup.c
+@@ -351,7 +351,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
+
+ xsprintf(c, PID_FMT "\n", pid);
+
+- r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(fs, c, 0);
+ if (r == -EOPNOTSUPP && cg_is_threaded(path) > 0)
+ /* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */
+ return -EUCLEAN;
+@@ -966,7 +966,7 @@ int cg_enable_everywhere(
+ return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
+ }
+
+- r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_stream(f, s, 0);
+ if (r < 0) {
+ log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
+ FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
+diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c
+index 805503f366..01a7ccb291 100644
+--- a/src/shared/coredump-util.c
++++ b/src/shared/coredump-util.c
+@@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) {
+ xsprintf(t, "0x%"PRIx64, value);
+
+ return write_string_file("/proc/self/coredump_filter", t,
+- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
++ 0);
+ }
+
+ /* Turn off core dumps but only if we're running outside of a container. */
+@@ -173,7 +173,7 @@ void disable_coredumps(void) {
+ if (detect_container() > 0)
+ return;
+
+- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
+ if (r < 0)
+ log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
+ }
+diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c
+index 3eb13d48f6..d09b901be1 100644
+--- a/src/shared/hibernate-util.c
++++ b/src/shared/hibernate-util.c
+@@ -481,7 +481,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
+
+ /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so
+ * fail gracefully if it doesn't exist and we're only overwriting it with 0. */
+- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
+ if (r == -ENOENT) {
+ if (offset != 0)
+ return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
+@@ -497,7 +497,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
+ log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.",
+ offset_str, device);
+
+- r = write_string_file("/sys/power/resume", devno_str, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/power/resume", devno_str, 0);
+ if (r < 0)
+ return log_error_errno(r,
+ "Failed to write device '%s' (%s) to /sys/power/resume: %m",
+diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c
+index 1f88e724d0..feb18b320a 100644
+--- a/src/shared/smack-util.c
++++ b/src/shared/smack-util.c
+@@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
+ return 0;
+
+ p = procfs_file_alloca(pid, "attr/current");
+- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file(p, label, 0);
+ if (r < 0)
+ return r;
+
+diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c
+index 4c1a968718..6faf6806a5 100644
+--- a/src/shared/watchdog.c
++++ b/src/shared/watchdog.c
+@@ -93,7 +93,7 @@ static int set_pretimeout_governor(const char *governor) {
+
+ r = write_string_file(sys_fn,
+ governor,
+- WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
++ WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
+ if (r < 0)
+ return log_error_errno(r, "Failed to set pretimeout_governor to '%s': %m", governor);
+
+diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
+index 21af3e9e52..6d4b84b5d5 100644
+--- a/src/sleep/sleep.c
++++ b/src/sleep/sleep.c
+@@ -137,7 +137,7 @@ static int write_state(int fd, char * const *states) {
+ if (k < 0)
+ return RET_GATHER(r, k);
+
+- k = write_string_stream(f, *state, WRITE_STRING_FILE_DISABLE_BUFFER);
++ k = write_string_stream(f, *state, 0);
+ if (k >= 0) {
+ log_debug("Using sleep state '%s'.", *state);
+ return 0;
+@@ -155,7 +155,7 @@ static int write_mode(char * const *modes) {
+ STRV_FOREACH(mode, modes) {
+ int k;
+
+- k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER);
++ k = write_string_file("/sys/power/disk", *mode, 0);
+ if (k >= 0) {
+ log_debug("Using sleep disk mode '%s'.", *mode);
+ return 0;
+diff --git a/src/storagetm/storagetm.c b/src/storagetm/storagetm.c
+index ae63baaf79..82eeca479a 100644
+--- a/src/storagetm/storagetm.c
++++ b/src/storagetm/storagetm.c
+@@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSubsystem *s) {
+ if (!enable_fn)
+ return log_oom();
+
+- r = write_string_file_at(namespaces_fd, enable_fn, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(namespaces_fd, enable_fn, "0", 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to disable namespace '%s' of NVME subsystem '%s', ignoring: %m", e->d_name, s->name);
+
+@@ -254,7 +254,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
+ _cleanup_free_ char *truncated = strndup(w, 40); /* kernel refuses more than 40 chars (as per nvme spec) */
+
+ /* The default string stored in 'attr_model' is "Linux" btw. */
+- r = write_string_file_at(subsystem_fd, "attr_model", truncated, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(subsystem_fd, "attr_model", truncated, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", w);
+ }
+@@ -268,7 +268,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
+ return log_oom();
+
+ /* The default string stored in 'attr_firmware' is `uname -r` btw, but truncated to 8 chars. */
+- r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", truncated);
+ }
+@@ -295,7 +295,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
+ if (!truncated)
+ return log_oom();
+
+- r = write_string_file_at(subsystem_fd, "attr_serial", truncated, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(subsystem_fd, "attr_serial", truncated, 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set serial of subsystem to '%s', ignoring: %m", truncated);
+ }
+@@ -345,7 +345,7 @@ static int nvme_namespace_write_metadata(int namespace_fd, sd_device *device, co
+ id = id128_digest(j, l);
+ }
+
+- r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), 0);
+ if (r < 0)
+ log_warning_errno(r, "Failed to set uuid of namespace to '%s', ignoring: %m", SD_ID128_TO_UUID_STRING(id));
+
+@@ -408,7 +408,7 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi
+ if (subsystem_fd < 0)
+ return log_error_errno(subsystem_fd, "Failed to create NVME subsystem '%s': %m", j);
+
+- r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to set 'attr_allow_any_host' flag: %m");
+
+@@ -423,11 +423,11 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi
+
+ /* We use /proc/$PID/fd/$FD rather than /proc/self/fd/$FD, because this string is visible to others
+ * via configfs, and by including the PID it's clear to who the stuff belongs. */
+- r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write 'device_path' attribute: %m");
+
+- r = write_string_file_at(namespace_fd, "enable", "1", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(namespace_fd, "enable", "1", 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to write 'enable' attribute: %m");
+
+@@ -557,19 +557,19 @@ static int nvme_port_add_portnr(
+ return 0;
+ }
+
+- r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to set address family on NVME port %" PRIu16 ": %m", portnr);
+
+- r = write_string_file_at(port_fd, "addr_trtype", "tcp", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(port_fd, "addr_trtype", "tcp", 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to set transport type on NVME port %" PRIu16 ": %m", portnr);
+
+- r = write_string_file_at(port_fd, "addr_trsvcid", fname, WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(port_fd, "addr_trsvcid", fname, 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to set IP port on NVME port %" PRIu16 ": %m", portnr);
+
+- r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", 0);
+ if (r < 0)
+ return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr);
+
+diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
+index febe345b4c..a90b610ba1 100644
+--- a/src/udev/udev-rules.c
++++ b/src/udev/udev-rules.c
+@@ -2711,7 +2711,6 @@ static int udev_rule_apply_token_to_event(
+ log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value);
+ r = write_string_file(buf, value,
+ WRITE_STRING_FILE_VERIFY_ON_FAILURE |
+- WRITE_STRING_FILE_DISABLE_BUFFER |
+ WRITE_STRING_FILE_AVOID_NEWLINE |
+ WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
+ if (r < 0)
+diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
+index 4d82c65f0a..3a3d861b83 100644
+--- a/src/vconsole/vconsole-setup.c
++++ b/src/vconsole/vconsole-setup.c
+@@ -261,7 +261,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
+ static int toggle_utf8_sysfs(bool utf8) {
+ int r;
+
+- r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER);
++ r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0);
+ if (r < 0)
+ return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
+
+--
+2.34.1
+
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
new file mode 100644
index 0000000000..43f75373a6
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0013-Handle-__cpu_mask-usage.patch
@@ -0,0 +1,60 @@
+From 2f90f8463423cfbb7e83fcef42f1071018c3b56e Mon Sep 17 00:00:00 2001
+From: Scott Murray <scott.murray@konsulko.com>
+Date: Fri, 13 Sep 2019 19:26:27 -0400
+Subject: [PATCH 13/22] Handle __cpu_mask usage
+
+Fixes errors:
+
+src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function)
+src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function)
+
+__cpu_mask is an internal type of glibc's cpu_set implementation, not
+part of the POSIX definition, which is problematic when building with
+musl, which does not define a matching type. From inspection of musl's
+sched.h, however, it is clear that the corresponding type would be
+unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So,
+add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ src/shared/cpu-set-util.h | 2 ++
+ src/test/test-sizeof.c | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h
+index 3c63a58826..4c2d4347fc 100644
+--- a/src/shared/cpu-set-util.h
++++ b/src/shared/cpu-set-util.h
+@@ -6,6 +6,8 @@
+ #include "macro.h"
+ #include "missing_syscall.h"
+
++typedef unsigned long __cpu_mask;
++
+ /* This wraps the libc interface with a variable to keep the allocated size. */
+ typedef struct CPUSet {
+ cpu_set_t *set;
+diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
+index ea0c58770e..b65c0bd370 100644
+--- a/src/test/test-sizeof.c
++++ b/src/test/test-sizeof.c
+@@ -1,6 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <sched.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <sys/resource.h>
+@@ -12,6 +11,7 @@
+ #include <float.h>
+
+ #include "time-util.h"
++#include "cpu-set-util.h"
+
+ /* Print information about various types. Useful when diagnosing
+ * gcc diagnostics on an unfamiliar architecture. */
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch
new file mode 100644
index 0000000000..a751e1ba6f
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0014-Handle-missing-gshadow.patch
@@ -0,0 +1,173 @@
+From b7c827bb44edbb6251c9fcdb80aa03982c0e7bf3 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Tue, 10 Mar 2020 11:05:20 +0000
+Subject: [PATCH 14/22] Handle missing gshadow
+
+gshadow usage is now present in the userdb code. Mask all uses of it to
+allow compilation on musl
+
+Upstream-Status: Inappropriate [musl specific]
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+[Rebased for v247]
+Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
+---
+ src/shared/user-record-nss.c | 20 ++++++++++++++++++++
+ src/shared/user-record-nss.h | 4 ++++
+ src/shared/userdb.c | 7 ++++++-
+ 3 files changed, 30 insertions(+), 1 deletion(-)
+
+diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c
+index 414a49331b..1a4e1b628c 100644
+--- a/src/shared/user-record-nss.c
++++ b/src/shared/user-record-nss.c
+@@ -329,8 +329,10 @@ int nss_group_to_group_record(
+ if (isempty(grp->gr_name))
+ return -EINVAL;
+
++#if ENABLE_GSHADOW
+ if (sgrp && !streq_ptr(sgrp->sg_namp, grp->gr_name))
+ return -EINVAL;
++#endif
+
+ g = group_record_new();
+ if (!g)
+@@ -346,6 +348,7 @@ int nss_group_to_group_record(
+
+ g->gid = grp->gr_gid;
+
++#if ENABLE_GSHADOW
+ if (sgrp) {
+ if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) {
+ g->hashed_password = strv_new(sgrp->sg_passwd);
+@@ -361,6 +364,7 @@ int nss_group_to_group_record(
+ if (r < 0)
+ return r;
+ }
++#endif
+
+ r = json_build(&g->json, JSON_BUILD_OBJECT(
+ JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)),
+@@ -387,6 +391,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
+ assert(ret_sgrp);
+ assert(ret_buffer);
+
++#if ENABLE_GSHADOW
+ for (;;) {
+ _cleanup_free_ char *buf = NULL;
+ struct sgrp sgrp, *result;
+@@ -415,6 +420,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
+ buflen *= 2;
+ buf = mfree(buf);
+ }
++#else
++ return -ESRCH;
++#endif
+ }
+
+ int nss_group_record_by_name(
+@@ -426,7 +434,9 @@ int nss_group_record_by_name(
+ struct group grp, *result;
+ bool incomplete = false;
+ size_t buflen = 4096;
++#if ENABLE_GSHADOW
+ struct sgrp sgrp, *sresult = NULL;
++#endif
+ int r;
+
+ assert(name);
+@@ -455,6 +465,7 @@ int nss_group_record_by_name(
+ buf = mfree(buf);
+ }
+
++#if ENABLE_GSHADOW
+ if (with_shadow) {
+ r = nss_sgrp_for_group(result, &sgrp, &sbuf);
+ if (r < 0) {
+@@ -466,6 +477,9 @@ int nss_group_record_by_name(
+ incomplete = true;
+
+ r = nss_group_to_group_record(result, sresult, ret);
++#else
++ r = nss_group_to_group_record(result, NULL, ret);
++#endif
+ if (r < 0)
+ return r;
+
+@@ -483,7 +497,9 @@ int nss_group_record_by_gid(
+ struct group grp, *result;
+ bool incomplete = false;
+ size_t buflen = 4096;
++#if ENABLE_GSHADOW
+ struct sgrp sgrp, *sresult = NULL;
++#endif
+ int r;
+
+ for (;;) {
+@@ -509,6 +525,7 @@ int nss_group_record_by_gid(
+ buf = mfree(buf);
+ }
+
++#if ENABLE_GSHADOW
+ if (with_shadow) {
+ r = nss_sgrp_for_group(result, &sgrp, &sbuf);
+ if (r < 0) {
+@@ -520,6 +537,9 @@ int nss_group_record_by_gid(
+ incomplete = true;
+
+ r = nss_group_to_group_record(result, sresult, ret);
++#else
++ r = nss_group_to_group_record(result, NULL, ret);
++#endif
+ if (r < 0)
+ return r;
+
+diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h
+index 22ab04d6ee..4e52e7a911 100644
+--- a/src/shared/user-record-nss.h
++++ b/src/shared/user-record-nss.h
+@@ -2,7 +2,11 @@
+ #pragma once
+
+ #include <grp.h>
++#if ENABLE_GSHADOW
+ #include <gshadow.h>
++#else
++struct sgrp;
++#endif
+ #include <pwd.h>
+ #include <shadow.h>
+
+diff --git a/src/shared/userdb.c b/src/shared/userdb.c
+index f60d48ace4..e878199a28 100644
+--- a/src/shared/userdb.c
++++ b/src/shared/userdb.c
+@@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+ if (gr) {
+ _cleanup_free_ char *buffer = NULL;
+ bool incomplete = false;
++#if ENABLE_GSHADOW
+ struct sgrp sgrp;
+-
++#endif
+ if (streq_ptr(gr->gr_name, "root"))
+ iterator->synthesize_root = false;
+ if (gr->gr_gid == GID_NOBODY)
+ iterator->synthesize_nobody = false;
+
++#if ENABLE_GSHADOW
+ if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
+ r = nss_sgrp_for_group(gr, &sgrp, &buffer);
+ if (r < 0) {
+@@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+ }
+
+ r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
++#else
++ r = nss_group_to_group_record(gr, NULL, ret);
++#endif
+ if (r < 0)
+ return r;
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
new file mode 100644
index 0000000000..e112766a9b
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch
@@ -0,0 +1,49 @@
+From 3dc9d9d410bcce54fddfd94f43f7f77f3aa8e281 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 12 Apr 2021 23:44:53 -0700
+Subject: [PATCH 15/22] missing_syscall.h: Define MIPS ABI defines for musl
+
+musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64
+unlike glibc where these are provided by libc headers, therefore define
+them here in case they are undefined
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/basic/missing_syscall.h | 6 ++++++
+ src/shared/base-filesystem.c | 1 +
+ 2 files changed, 7 insertions(+)
+
+diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
+index d795efd8f2..d6729d3c1d 100644
+--- a/src/basic/missing_syscall.h
++++ b/src/basic/missing_syscall.h
+@@ -20,6 +20,12 @@
+ #include <asm/sgidefs.h>
+ #endif
+
++#ifndef _MIPS_SIM_ABI32
++#define _MIPS_SIM_ABI32 1
++#define _MIPS_SIM_NABI32 2
++#define _MIPS_SIM_ABI64 3
++#endif
++
+ #include "macro.h"
+ #include "missing_keyctl.h"
+ #include "missing_stat.h"
+diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
+index 7ae921a113..0ef9d1fd39 100644
+--- a/src/shared/base-filesystem.c
++++ b/src/shared/base-filesystem.c
+@@ -20,6 +20,7 @@
+ #include "string-util.h"
+ #include "umask-util.h"
+ #include "user-util.h"
++#include "missing_syscall.h"
+
+ typedef struct BaseFilesystem {
+ const char *dir; /* directory or symlink to create */
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch
new file mode 100644
index 0000000000..0be817e62d
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0016-pass-correct-parameters-to-getdents64.patch
@@ -0,0 +1,37 @@
+From 0994b59dba9f248ad31cb7087046dc00b72cb4ea Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 21 Jan 2022 15:15:11 -0800
+Subject: [PATCH 16/22] pass correct parameters to getdents64
+
+Fixes
+../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
+ n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+../git/src/basic/stat-util.c:102:28: error: incompatible pointer types passing 'union (unnamed union at ../git/src/basic/stat-util.c:78:9) *' to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
+ n = getdents64(fd, &buffer, sizeof(buffer));
+ ^~~~~~~
+
+Upstream-Status: Inappropriate [musl specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
+---
+ src/basic/recurse-dir.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c
+index 5e98b7a5d8..aef065047b 100644
+--- a/src/basic/recurse-dir.c
++++ b/src/basic/recurse-dir.c
+@@ -55,7 +55,7 @@ int readdir_all(int dir_fd,
+ bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX);
+ assert(bs > de->buffer_size);
+
+- n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
++ n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size);
+ if (n < 0)
+ return -errno;
+ if (n == 0)
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch
new file mode 100644
index 0000000000..4176522a1c
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0017-Adjust-for-musl-headers.patch
@@ -0,0 +1,572 @@
+From 3c094d443ca30f19114392fd8ef274af6eabc12d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 21 Jan 2022 22:19:37 -0800
+Subject: [PATCH 17/22] Adjust for musl headers
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+[Rebased for v255.1]
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/libsystemd-network/sd-dhcp6-client.c | 2 +-
+ src/network/netdev/bareudp.c | 2 +-
+ src/network/netdev/batadv.c | 2 +-
+ src/network/netdev/bond.c | 2 +-
+ src/network/netdev/bridge.c | 2 +-
+ src/network/netdev/dummy.c | 2 +-
+ src/network/netdev/geneve.c | 2 +-
+ src/network/netdev/ifb.c | 2 +-
+ src/network/netdev/ipoib.c | 2 +-
+ src/network/netdev/ipvlan.c | 2 +-
+ src/network/netdev/macsec.c | 2 +-
+ src/network/netdev/macvlan.c | 2 +-
+ src/network/netdev/netdev.c | 2 +-
+ src/network/netdev/netdevsim.c | 2 +-
+ src/network/netdev/nlmon.c | 2 +-
+ src/network/netdev/tunnel.c | 2 +-
+ src/network/netdev/vcan.c | 2 +-
+ src/network/netdev/veth.c | 2 +-
+ src/network/netdev/vlan.c | 2 +-
+ src/network/netdev/vrf.c | 2 +-
+ src/network/netdev/vxcan.c | 2 +-
+ src/network/netdev/vxlan.c | 2 +-
+ src/network/netdev/wireguard.c | 2 +-
+ src/network/netdev/xfrm.c | 2 +-
+ src/network/networkd-bridge-mdb.c | 4 ++--
+ src/network/networkd-dhcp-common.c | 3 ++-
+ src/network/networkd-dhcp-prefix-delegation.c | 3 ++-
+ src/network/networkd-dhcp-server.c | 2 +-
+ src/network/networkd-dhcp4.c | 2 +-
+ src/network/networkd-ipv6ll.c | 2 +-
+ src/network/networkd-link.c | 2 +-
+ src/network/networkd-ndisc.c | 2 +-
+ src/network/networkd-route.c | 8 ++++----
+ src/network/networkd-setlink.c | 2 +-
+ src/network/networkd-sysctl.c | 2 +-
+ src/shared/linux/ethtool.h | 3 ++-
+ src/shared/netif-util.c | 2 +-
+ src/udev/udev-builtin-net_id.c | 2 +-
+ 38 files changed, 45 insertions(+), 42 deletions(-)
+
+diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
+index c20367dfc9..b8d4cd8c2a 100644
+--- a/src/libsystemd-network/sd-dhcp6-client.c
++++ b/src/libsystemd-network/sd-dhcp6-client.c
+@@ -5,7 +5,7 @@
+
+ #include <errno.h>
+ #include <sys/ioctl.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if_infiniband.h>
+
+ #include "sd-dhcp6-client.h"
+diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c
+index 1df886573b..c8b6714726 100644
+--- a/src/network/netdev/bareudp.c
++++ b/src/network/netdev/bareudp.c
+@@ -2,7 +2,7 @@
+ * Copyright © 2020 VMware, Inc. */
+
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "bareudp.h"
+ #include "netlink-util.h"
+diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c
+index 26da0231d4..2e8002af8c 100644
+--- a/src/network/netdev/batadv.c
++++ b/src/network/netdev/batadv.c
+@@ -3,7 +3,7 @@
+ #include <inttypes.h>
+ #include <netinet/in.h>
+ #include <linux/genetlink.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "batadv.h"
+ #include "fileio.h"
+diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
+index 4d75a0d6bf..985b3197e0 100644
+--- a/src/network/netdev/bond.c
++++ b/src/network/netdev/bond.c
+@@ -1,7 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "alloc-util.h"
+ #include "bond.h"
+diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
+index 3e394edadf..f12f667687 100644
+--- a/src/network/netdev/bridge.c
++++ b/src/network/netdev/bridge.c
+@@ -2,7 +2,7 @@
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if_bridge.h>
+
+ #include "bridge.h"
+diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c
+index 00df1d2787..77b506b422 100644
+--- a/src/network/netdev/dummy.c
++++ b/src/network/netdev/dummy.c
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "dummy.h"
+
+diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c
+index bc655ec7ff..a77e8e17e4 100644
+--- a/src/network/netdev/geneve.c
++++ b/src/network/netdev/geneve.c
+@@ -2,7 +2,7 @@
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "alloc-util.h"
+ #include "conf-parser.h"
+diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c
+index d7ff44cb9e..e037629ae4 100644
+--- a/src/network/netdev/ifb.c
++++ b/src/network/netdev/ifb.c
+@@ -1,7 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later
+ * Copyright © 2019 VMware, Inc. */
+
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "ifb.h"
+
+diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c
+index d5fe299b7b..c9c8002eac 100644
+--- a/src/network/netdev/ipoib.c
++++ b/src/network/netdev/ipoib.c
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if_link.h>
+
+ #include "ipoib.h"
+diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c
+index 05d5d010f6..d440f49537 100644
+--- a/src/network/netdev/ipvlan.c
++++ b/src/network/netdev/ipvlan.c
+@@ -2,7 +2,7 @@
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "conf-parser.h"
+ #include "ipvlan.h"
+diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
+index 17d6acefb6..679d0984f9 100644
+--- a/src/network/netdev/macsec.c
++++ b/src/network/netdev/macsec.c
+@@ -1,7 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if_ether.h>
+ #include <linux/if_macsec.h>
+ #include <linux/genetlink.h>
+diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c
+index 203807e3a5..8ab09a387e 100644
+--- a/src/network/netdev/macvlan.c
++++ b/src/network/netdev/macvlan.c
+@@ -2,7 +2,7 @@
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "conf-parser.h"
+ #include "macvlan.h"
+diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
+index 57127a861a..7f787d0b9f 100644
+--- a/src/network/netdev/netdev.c
++++ b/src/network/netdev/netdev.c
+@@ -2,7 +2,7 @@
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <unistd.h>
+
+ #include "alloc-util.h"
+diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c
+index 15d5c132f9..a3ffa48b15 100644
+--- a/src/network/netdev/netdevsim.c
++++ b/src/network/netdev/netdevsim.c
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "netdevsim.h"
+
+diff --git a/src/network/netdev/nlmon.c b/src/network/netdev/nlmon.c
+index ff372092e6..eef66811f4 100644
+--- a/src/network/netdev/nlmon.c
++++ b/src/network/netdev/nlmon.c
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "nlmon.h"
+
+diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c
+index db84e7cf6e..93d5642962 100644
+--- a/src/network/netdev/tunnel.c
++++ b/src/network/netdev/tunnel.c
+@@ -2,7 +2,7 @@
+
+ #include <netinet/in.h>
+ #include <linux/fou.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if_tunnel.h>
+ #include <linux/ip.h>
+ #include <linux/ip6_tunnel.h>
+diff --git a/src/network/netdev/vcan.c b/src/network/netdev/vcan.c
+index 380547ee1e..137c1adf8a 100644
+--- a/src/network/netdev/vcan.c
++++ b/src/network/netdev/vcan.c
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "vcan.h"
+
+diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c
+index e0f5b4ebb1..8a424ed03d 100644
+--- a/src/network/netdev/veth.c
++++ b/src/network/netdev/veth.c
+@@ -3,7 +3,7 @@
+ #include <errno.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/veth.h>
+
+ #include "netlink-util.h"
+diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c
+index 2390206993..efec630e30 100644
+--- a/src/network/netdev/vlan.c
++++ b/src/network/netdev/vlan.c
+@@ -2,7 +2,7 @@
+
+ #include <errno.h>
+ #include <net/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if_vlan.h>
+
+ #include "parse-util.h"
+diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c
+index b75ec2bcc6..6aeeea640b 100644
+--- a/src/network/netdev/vrf.c
++++ b/src/network/netdev/vrf.c
+@@ -2,7 +2,7 @@
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "vrf.h"
+
+diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c
+index c0343f45b6..f9e718f40b 100644
+--- a/src/network/netdev/vxcan.c
++++ b/src/network/netdev/vxcan.c
+@@ -1,7 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <linux/can/vxcan.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "vxcan.h"
+
+diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c
+index b11fdbbd0d..a971a917f0 100644
+--- a/src/network/netdev/vxlan.c
++++ b/src/network/netdev/vxlan.c
+@@ -2,7 +2,7 @@
+
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "conf-parser.h"
+ #include "alloc-util.h"
+diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c
+index 4c7d837c41..6df6dfb816 100644
+--- a/src/network/netdev/wireguard.c
++++ b/src/network/netdev/wireguard.c
+@@ -6,7 +6,7 @@
+ #include <sys/ioctl.h>
+ #include <net/if.h>
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/ipv6_route.h>
+
+ #include "sd-resolve.h"
+diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c
+index 905bfc0bdf..39e34dbb3b 100644
+--- a/src/network/netdev/xfrm.c
++++ b/src/network/netdev/xfrm.c
+@@ -1,6 +1,6 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "missing_network.h"
+ #include "xfrm.h"
+diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c
+index bd1a9745dc..949d3da029 100644
+--- a/src/network/networkd-bridge-mdb.c
++++ b/src/network/networkd-bridge-mdb.c
+@@ -1,7 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <net/if.h>
+-#include <linux/if_bridge.h>
+
+ #include "netlink-util.h"
+ #include "networkd-bridge-mdb.h"
+@@ -11,6 +9,8 @@
+ #include "networkd-queue.h"
+ #include "string-util.h"
+ #include "vlan-util.h"
++#include <net/if.h>
++#include <linux/if_bridge.h>
+
+ #define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U
+
+diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
+index 080b15387c..efe8283957 100644
+--- a/src/network/networkd-dhcp-common.c
++++ b/src/network/networkd-dhcp-common.c
+@@ -1,7 +1,8 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
++#include <net/if.h>
+
+ #include "bus-error.h"
+ #include "bus-locator.h"
+diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c
+index af2fe9efcd..511565700f 100644
+--- a/src/network/networkd-dhcp-prefix-delegation.c
++++ b/src/network/networkd-dhcp-prefix-delegation.c
+@@ -1,6 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <linux/ipv6_route.h>
+
+ #include "dhcp6-lease-internal.h"
+ #include "hashmap.h"
+@@ -20,6 +19,8 @@
+ #include "strv.h"
+ #include "tunnel.h"
+
++#include <linux/ipv6_route.h>
++
+ bool link_dhcp_pd_is_enabled(Link *link) {
+ assert(link);
+
+diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
+index 607fe0053c..9ce4005874 100644
+--- a/src/network/networkd-dhcp-server.c
++++ b/src/network/networkd-dhcp-server.c
+@@ -1,7 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <netinet/in.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if.h>
+
+ #include "sd-dhcp-server.h"
+diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
+index efbae6d868..1ea2151d50 100644
+--- a/src/network/networkd-dhcp4.c
++++ b/src/network/networkd-dhcp4.c
+@@ -3,7 +3,7 @@
+ #include <netinet/in.h>
+ #include <netinet/ip.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "alloc-util.h"
+ #include "dhcp-client-internal.h"
+diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c
+index 32229a3fc7..662a345d6e 100644
+--- a/src/network/networkd-ipv6ll.c
++++ b/src/network/networkd-ipv6ll.c
+@@ -1,7 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "in-addr-util.h"
+ #include "networkd-address.h"
+diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
+index ee5f0f2c0a..ea5269a2de 100644
+--- a/src/network/networkd-link.c
++++ b/src/network/networkd-link.c
+@@ -3,7 +3,7 @@
+ #include <net/if.h>
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if_link.h>
+ #include <linux/netdevice.h>
+ #include <sys/socket.h>
+diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
+index ab9eeb13a5..dd96fe7483 100644
+--- a/src/network/networkd-ndisc.c
++++ b/src/network/networkd-ndisc.c
+@@ -6,7 +6,7 @@
+ #include <arpa/inet.h>
+ #include <netinet/icmp6.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "sd-ndisc.h"
+
+diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
+index 7218d799fc..30d5574eae 100644
+--- a/src/network/networkd-route.c
++++ b/src/network/networkd-route.c
+@@ -1,9 +1,5 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+-#include <linux/icmpv6.h>
+-#include <linux/ipv6_route.h>
+-#include <linux/nexthop.h>
+-
+ #include "alloc-util.h"
+ #include "event-util.h"
+ #include "netlink-util.h"
+@@ -21,6 +17,10 @@
+ #include "vrf.h"
+ #include "wireguard.h"
+
++#include <linux/icmpv6.h>
++#include <linux/ipv6_route.h>
++#include <linux/nexthop.h>
++
+ int route_new(Route **ret) {
+ _cleanup_(route_freep) Route *route = NULL;
+
+diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c
+index 2298f9ea3a..7d5f87de53 100644
+--- a/src/network/networkd-setlink.c
++++ b/src/network/networkd-setlink.c
+@@ -2,7 +2,7 @@
+
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/if_bridge.h>
+
+ #include "missing_network.h"
+diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c
+index 2b226b2e2a..f12a474e2f 100644
+--- a/src/network/networkd-sysctl.c
++++ b/src/network/networkd-sysctl.c
+@@ -2,7 +2,7 @@
+
+ #include <netinet/in.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "missing_network.h"
+ #include "networkd-link.h"
+diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h
+index 3d1da515c0..3fca9a4faf 100644
+--- a/src/shared/linux/ethtool.h
++++ b/src/shared/linux/ethtool.h
+@@ -16,7 +16,8 @@
+
+ #include <linux/const.h>
+ #include <linux/types.h>
+-#include <linux/if_ether.h>
++#include <netinet/if_ether.h>
++//#include <linux/if_ether.h>
+
+ #include <limits.h> /* for INT_MAX */
+
+diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c
+index f56c5646c1..5af28ff119 100644
+--- a/src/shared/netif-util.c
++++ b/src/shared/netif-util.c
+@@ -1,7 +1,7 @@
+ /* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+
+ #include "arphrd-util.h"
+ #include "device-util.h"
+diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
+index f528a46b8e..830318cda5 100644
+--- a/src/udev/udev-builtin-net_id.c
++++ b/src/udev/udev-builtin-net_id.c
+@@ -18,7 +18,7 @@
+ #include <stdarg.h>
+ #include <unistd.h>
+ #include <linux/if.h>
+-#include <linux/if_arp.h>
++//#include <linux/if_arp.h>
+ #include <linux/netdevice.h>
+ #include <linux/pci_regs.h>
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
new file mode 100644
index 0000000000..75f6b9094a
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch
@@ -0,0 +1,52 @@
+From be02bd0876a061728661535a709d313e39fe1ac3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Nov 2022 13:31:34 -0800
+Subject: [PATCH 18/22] test-bus-error: strerror() is assumed to be GNU
+ specific version mark it so
+
+Upstream-Status: Inappropriate [Upstream systemd only supports glibc]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libsystemd/sd-bus/test-bus-error.c | 2 ++
+ src/test/test-errno-util.c | 3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c
+index a55f3f9856..4123bf3da0 100644
+--- a/src/libsystemd/sd-bus/test-bus-error.c
++++ b/src/libsystemd/sd-bus/test-bus-error.c
+@@ -99,7 +99,9 @@ TEST(error) {
+ assert_se(!sd_bus_error_is_set(&error));
+ assert_se(sd_bus_error_set_errno(&error, EBUSY) == -EBUSY);
+ assert_se(streq(error.name, "System.Error.EBUSY"));
++#ifdef __GLIBC__
+ assert_se(streq(error.message, STRERROR(EBUSY)));
++#endif
+ assert_se(sd_bus_error_has_name(&error, "System.Error.EBUSY"));
+ assert_se(sd_bus_error_get_errno(&error) == EBUSY);
+ assert_se(sd_bus_error_is_set(&error));
+diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c
+index 376d532281..967cfd4d67 100644
+--- a/src/test/test-errno-util.c
++++ b/src/test/test-errno-util.c
+@@ -4,7 +4,7 @@
+ #include "stdio-util.h"
+ #include "string-util.h"
+ #include "tests.h"
+-
++#ifdef __GLIBC__
+ TEST(strerror_not_threadsafe) {
+ /* Just check that strerror really is not thread-safe. */
+ log_info("strerror(%d) → %s", 200, strerror(200));
+@@ -46,6 +46,7 @@ TEST(STRERROR_OR_ELSE) {
+ log_info("STRERROR_OR_ELSE(EPERM, \"EOF\") → %s", STRERROR_OR_EOF(EPERM));
+ log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM));
+ }
++#endif /* __GLIBC__ */
+
+ TEST(PROTECT_ERRNO) {
+ errno = 12;
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch
new file mode 100644
index 0000000000..e038b73678
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch
@@ -0,0 +1,42 @@
+From 46d80840bfe37e67d4f18c37a77751ea1fe63a07 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 Jan 2023 23:39:46 -0800
+Subject: [PATCH 19/22] errno-util: Make STRERROR portable for musl
+
+Sadly, systemd has decided to use yet another GNU extention in a macro
+lets make this such that we can use XSI compliant strerror_r() for
+non-glibc hosts
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/basic/errno-util.h | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
+index 27804e6382..274c1c6ef1 100644
+--- a/src/basic/errno-util.h
++++ b/src/basic/errno-util.h
+@@ -15,8 +15,16 @@
+ * https://stackoverflow.com/questions/34880638/compound-literal-lifetime-and-if-blocks
+ *
+ * Note that we use the GNU variant of strerror_r() here. */
+-#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN)
+-
++static inline const char * STRERROR(int errnum);
++
++static inline const char * STRERROR(int errnum) {
++#ifdef __GLIBC__
++ return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN);
++#else
++ static __thread char buf[ERRNO_BUF_LEN];
++ return strerror_r(abs(errnum), buf, ERRNO_BUF_LEN) ? "unknown error" : buf;
++#endif
++}
+ /* A helper to print an error message or message for functions that return 0 on EOF.
+ * Note that we can't use ({ … }) to define a temporary variable, so errnum is
+ * evaluated twice. */
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch
new file mode 100644
index 0000000000..b83fffe793
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch
@@ -0,0 +1,39 @@
+From 9eb4867b4e2dbdb2484ae854022aff97e2f0feb3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 12:06:27 -0700
+Subject: [PATCH 20/22] sd-event: Make malloc_trim() conditional on glibc
+
+musl does not have this API
+
+Upstream-Status: Inappropriate [musl-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libsystemd/sd-event/sd-event.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
+index 288798a0dc..6419a7f216 100644
+--- a/src/libsystemd/sd-event/sd-event.c
++++ b/src/libsystemd/sd-event/sd-event.c
+@@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit(
+ }
+
+ _public_ int sd_event_trim_memory(void) {
+- int r;
++ int r = 0;
+
+ /* A default implementation of a memory pressure callback. Simply releases our own allocation caches
+ * and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a
+@@ -1888,7 +1888,9 @@ _public_ int sd_event_trim_memory(void) {
+
+ usec_t before_timestamp = now(CLOCK_MONOTONIC);
+ hashmap_trim_pools();
++#ifdef __GLIBC__
+ r = malloc_trim(0);
++#endif
+ usec_t after_timestamp = now(CLOCK_MONOTONIC);
+
+ if (r > 0)
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch
new file mode 100644
index 0000000000..7eff069bb7
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0021-shared-Do-not-use-malloc_info-on-musl.patch
@@ -0,0 +1,57 @@
+From 502597b9ddd6b145541b23fadca0b1d3ca9f6367 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Aug 2023 12:20:40 -0700
+Subject: [PATCH 21/22] shared: Do not use malloc_info on musl
+
+Upstream-Status: Inappropriate [musl-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/shared/bus-util.c | 5 +++--
+ src/shared/common-signal.c | 4 ++--
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
+index 74f148c8b4..2d862a123d 100644
+--- a/src/shared/bus-util.c
++++ b/src/shared/bus-util.c
+@@ -611,15 +611,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat
+ _cleanup_close_ int fd = -EBADF;
+ size_t dump_size;
+ FILE *f;
+- int r;
++ int r = 0;
+
+ assert(message);
+
+ f = memstream_init(&m);
+ if (!f)
+ return -ENOMEM;
+-
++#ifdef __GLIBC__
+ r = RET_NERRNO(malloc_info(/* options= */ 0, f));
++#endif
+ if (r < 0)
+ return r;
+
+diff --git a/src/shared/common-signal.c b/src/shared/common-signal.c
+index 8e70e365dd..9e782caec9 100644
+--- a/src/shared/common-signal.c
++++ b/src/shared/common-signal.c
+@@ -65,12 +65,12 @@ int sigrtmin18_handler(sd_event_source *s, const struct signalfd_siginfo *si, vo
+ log_oom();
+ break;
+ }
+-
++#ifdef __GLIBC__
+ if (malloc_info(0, f) < 0) {
+ log_error_errno(errno, "Failed to invoke malloc_info(): %m");
+ break;
+ }
+-
++#endif
+ (void) memstream_dump(LOG_INFO, &m);
+ break;
+ }
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch
new file mode 100644
index 0000000000..24f3bf74a0
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/0022-avoid-missing-LOCK_EX-declaration.patch
@@ -0,0 +1,43 @@
+From fd52f1764647e03a35e8f0ed0ef952049073ccbd Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Tue, 2 Jan 2024 11:03:27 +0800
+Subject: [PATCH 22/22] avoid missing LOCK_EX declaration
+
+This only happens on MUSL. Include sys/file.h to avoid compilation
+error about missing LOCK_EX declaration.
+
+Upstream-Status: Inappropriate [musl specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/core/exec-invoke.c | 1 +
+ src/shared/dev-setup.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c
+index 70d963e269..7084811439 100644
+--- a/src/core/exec-invoke.c
++++ b/src/core/exec-invoke.c
+@@ -4,6 +4,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/mount.h>
+ #include <sys/prctl.h>
++#include <sys/file.h>
+
+ #if HAVE_PAM
+ #include <security/pam_appl.h>
+diff --git a/src/shared/dev-setup.h b/src/shared/dev-setup.h
+index 5339bc4e5e..0697495f23 100644
+--- a/src/shared/dev-setup.h
++++ b/src/shared/dev-setup.h
+@@ -2,6 +2,7 @@
+ #pragma once
+
+ #include <sys/types.h>
++#include <sys/file.h>
+
+ int lock_dev_console(void);
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/static-libsystemd-pkgconfig.patch b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/static-libsystemd-pkgconfig.patch
new file mode 100644
index 0000000000..4f42308471
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd/static-libsystemd-pkgconfig.patch
@@ -0,0 +1,11 @@
+Upstream-Status: Pending
+
+--- a/src/libsystemd/libsystemd.pc.in
++++ b/src/libsystemd/libsystemd.pc.in
+@@ -16,5 +16,5 @@ Name: systemd
+ Description: systemd Library
+ URL: {{PROJECT_URL}}
+ Version: {{PROJECT_VERSION}}
+-Libs: -L${libdir} -lsystemd
++Libs: -L${libdir} -lsystemd -lrt -lmount -lcap
+ Cflags: -I${includedir}
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb
deleted file mode 100644
index 4b93087f4f..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_243.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-SUMMARY = "libsystemd static library"
-DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++"
-
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-
-inherit meson pkgconfig
-
-DEPENDS += "gperf-native gettext-native util-linux libcap"
-
-SRCREV = "efb536d0cbe2e58f80e501d19999928c75e08f6a"
-SRCBRANCH = "v243-stable"
-SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=git;branch=${SRCBRANCH}"
-
-SRC_URI += "file://static-libsystemd-pkgconfig.patch"
-
-# patches needed by musl
-SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}"
-SRC_URI_MUSL = "\
- file://0002-don-t-use-glibc-specific-qsort_r.patch \
- file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \
- file://0004-add-fallback-parse_printf_format-implementation.patch \
- file://0005-src-basic-missing.h-check-for-missing-strndupa.patch \
- file://0006-Include-netinet-if_ether.h.patch \
- file://0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not.patch \
- file://0008-add-missing-FTW_-macros-for-musl.patch \
- file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \
- file://0011-Use-uintmax_t-for-handling-rlim_t.patch \
- file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \
- file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
- file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
- file://0017-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
- file://0018-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
- file://0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \
- file://0020-missing_type.h-add-__compar_d_fn_t-definition.patch \
- file://0021-avoid-redefinition-of-prctl_mm_map-structure.patch \
- file://0024-test-json.c-define-M_PIl.patch \
- file://0001-do-not-disable-buffer-in-writing-files.patch \
- file://0002-src-login-brightness.c-include-sys-wait.h.patch \
- file://0003-src-basic-copy.c-include-signal.h.patch \
- file://0004-src-shared-cpu-set-util.h-add-__cpu_mask-definition.patch \
- file://0001-meson-Fix-reallocarray-check.patch \
- "
-
-PACKAGECONFIG ??= "gshadow idn"
-PACKAGECONFIG_remove_libc-musl = " gshadow idn"
-PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
-PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
-
-EXTRA_OEMESON += "-Dstatic-libsystemd=pic"
-
-S = "${WORKDIR}/git"
-
-do_compile() {
- ninja -v ${PARALLEL_MAKE} version.h
- ninja -v ${PARALLEL_MAKE} libsystemd.a
-}
-
-do_install () {
- install -d ${D}${libdir}
- install ${B}/libsystemd.a ${D}${libdir}
-
- install -d ${D}${includedir}/systemd
- install ${S}/src/systemd/*.h ${D}${includedir}/systemd
-
- install -d ${D}${libdir}/pkgconfig
- install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig
-}
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.4.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.4.bb
new file mode 100644
index 0000000000..3b44e02376
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-libsystemd_255.4.bb
@@ -0,0 +1,77 @@
+SUMMARY = "libsystemd static library"
+DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++"
+
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
+
+inherit meson pkgconfig
+
+DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native"
+
+SRCREV = "387a14a7b67b8b76adaed4175e14bb7e39b2f738"
+SRCBRANCH = "v255-stable"
+SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
+ file://static-libsystemd-pkgconfig.patch \
+ "
+
+# patches needed by musl
+SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}"
+
+SRC_URI_MUSL = "\
+ file://0001-missing_type.h-add-comparison_fn_t.patch \
+ file://0002-add-fallback-parse_printf_format-implementation.patch \
+ file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
+ file://0003-src-basic-missing.h-check-for-missing-strndupa.patch \
+ file://0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
+ file://0005-add-missing-FTW_-macros-for-musl.patch \
+ file://0006-Use-uintmax_t-for-handling-rlim_t.patch \
+ file://0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
+ file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
+ file://0008-implment-systemd-sysv-install-for-OE.patch \
+ file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
+ file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
+ file://0011-avoid-redefinition-of-prctl_mm_map-structure.patch \
+ file://0012-do-not-disable-buffer-in-writing-files.patch \
+ file://0013-Handle-__cpu_mask-usage.patch \
+ file://0014-Handle-missing-gshadow.patch \
+ file://0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \
+ file://0016-pass-correct-parameters-to-getdents64.patch \
+ file://0017-Adjust-for-musl-headers.patch \
+ file://0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \
+ file://0019-errno-util-Make-STRERROR-portable-for-musl.patch \
+ file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \
+ file://0021-shared-Do-not-use-malloc_info-on-musl.patch \
+ file://0022-avoid-missing-LOCK_EX-declaration.patch \
+"
+
+PACKAGECONFIG ??= "gshadow idn"
+PACKAGECONFIG:remove:libc-musl = " gshadow idn"
+PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
+PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
+
+CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
+
+EXTRA_OEMESON += "-Dstatic-libsystemd=pic"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN}-dev = ""
+
+do_compile() {
+ ninja -v ${PARALLEL_MAKE} version.h
+ ninja -v ${PARALLEL_MAKE} libsystemd.a
+ ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc
+}
+
+do_install () {
+ install -d ${D}${libdir}
+ install ${B}/libsystemd.a ${D}${libdir}
+
+ install -d ${D}${includedir}/systemd
+ install ${S}/src/systemd/*.h ${D}${includedir}/systemd
+
+ install -d ${D}${libdir}/pkgconfig
+ install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig
+}
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.3.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.3.bb
deleted file mode 100644
index 3b87c22653..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_0.8.3.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "sdbus-c++ native tools"
-DESCRIPTION = "Native interface code generator for development with sdbus-c++"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
-
-inherit cmake
-
-DEPENDS += "expat"
-
-SRCREV = "6e8e5aadb674cccea5bdd55141db5dad887fbacd"
-SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools"
-
-S = "${WORKDIR}/tools"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.5.0.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.5.0.bb
new file mode 100644
index 0000000000..6b1af25280
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.5.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "sdbus-c++ native tools"
+DESCRIPTION = "Native interface code generator for development with sdbus-c++"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+inherit cmake
+
+DEPENDS += "expat"
+
+SRCREV = "30d9f1d46258c2be4ce29b7f7f168ecdf6d4f328"
+SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools"
+
+S = "${WORKDIR}/tools"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++/run-ptest b/meta-oe/recipes-core/sdbus-c++/sdbus-c++/run-ptest
new file mode 100755
index 0000000000..5e285b39e0
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++/run-ptest
@@ -0,0 +1,6 @@
+#!/bin/sh
+set -e
+
+./sdbus-c++-unit-tests 2>&1 && echo "PASS: sdbus-c++-unit-tests" || echo "FAIL: sdbus-c++-unit-tests"
+
+./sdbus-c++-integration-tests 2>&1 && echo "PASS: sdbus-c++-integration-tests" || echo "FAIL: sdbus-c++-integration-tests"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb
deleted file mode 100644
index 98829765c2..0000000000
--- a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_0.8.3.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "sdbus-c++"
-DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++"
-
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
-
-inherit cmake pkgconfig systemd ptest
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
-PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap"
-PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
-PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DTESTS_INSTALL_PATH=${libdir}/${BPN}/tests,-DBUILD_TESTS=OFF"
-
-DEPENDS += "expat"
-
-SRCREV = "6e8e5aadb674cccea5bdd55141db5dad887fbacd"
-SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master"
-SRC_URI += "file://run-ptest"
-
-EXTRA_OECMAKE = "-DBUILD_CODE_GEN=ON \
- -DBUILD_DOC=ON \
- -DBUILD_DOXYGEN_DOC=OFF"
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
- if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
- rm -rf ${D}${sysconfdir}/dbus-1
- fi
-}
-
-PTEST_PATH = "${libdir}/${BPN}/tests"
-FILES_${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
-FILES_${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
diff --git a/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.5.0.bb b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.5.0.bb
new file mode 100644
index 0000000000..5422e08dd1
--- /dev/null
+++ b/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.5.0.bb
@@ -0,0 +1,51 @@
+SUMMARY = "sdbus-c++"
+DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++"
+
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+inherit cmake pkgconfig systemd ptest
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
+PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap,basu"
+PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
+PACKAGECONFIG[with-tests] = "-DBUILD_TESTS=ON -DINSTALL_TESTS=ON -DTESTS_INSTALL_PATH=${PTEST_PATH},-DBUILD_TESTS=OFF,googletest gmock"
+
+DEPENDS += "expat"
+
+PV .= "+git"
+SRCREV = "334fcb8833afb298270531dde369135e4b5b88fd"
+SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master \
+ file://run-ptest"
+
+EXTRA_OECMAKE = "-DBUILD_CODE_GEN=OFF \
+ -DBUILD_DOC=ON \
+ -DBUILD_DOXYGEN_DOC=OFF"
+
+S = "${WORKDIR}/git"
+
+# Link libatomic on architectures without 64bit atomics fixes
+# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
+LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+
+do_install:append() {
+ if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
+ rm -rf ${D}${sysconfdir}/dbus-1
+ fi
+}
+
+do_install_ptest() {
+ DESTDIR='${D}' cmake_runcmake_build --target tests/install
+}
+
+FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
+FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
+
+RDEPENDS:${PN}-ptest += "dbus"
+# It adds -isystem which is spurious, no idea where it gets it from
+CCACHE_DISABLE = "1"
diff --git a/meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb b/meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb
index f82f8e9ce2..4cad7dce11 100644
--- a/meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb
+++ b/meta-oe/recipes-core/toybox/toybox-inittab_0.8.2.bb
@@ -1,6 +1,6 @@
SUMMARY = "Toybox Inittab Configuration"
-LICENSE = "BSD-0-Clause"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-0-Clause;md5=81eeb0083e31f11ab1e33ded846d521c"
+LICENSE = "0BSD"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/0BSD;md5=f667a3c3830a55a17ec3067709f4526c"
# Unpack to ${S}/orig
#
@@ -12,7 +12,7 @@ SRC_URI = "\
PACKAGE_ARCH = "${MACHINE_ARCH}"
-RCONFLICTS_${PN} = "\
+RCONFLICTS:${PN} = "\
busybox-inittab \
sysvinit-inittab \
"
@@ -34,7 +34,7 @@ do_configure() {
cp orig/* .
for config in ${PACKAGECONFIG_CONFARGS}; do
- if [[ ${config} == "enable_getty" ]]; then
+ if [ "${config}" = "enable_getty" ]; then
echo "# generated by bitbake recipe ${PN}" >> ${S}/inittab
for console in "${SERIAL_CONSOLES}"; do
param=$(echo ${console} | sed s/\;/\ /g)
@@ -56,7 +56,7 @@ do_install() {
install -D -m 0744 ${S}/rcS ${D}${sysconfdir}/init.d/rcS
}
-FILES_${PN} = "\
+FILES:${PN} = "\
${sysconfdir}/inittab \
${sysconfdir}/init.d/rcK \
${sysconfdir}/init.d/rcS \
diff --git a/meta-oe/recipes-core/toybox/toybox_0.8.11.bb b/meta-oe/recipes-core/toybox/toybox_0.8.11.bb
new file mode 100644
index 0000000000..db071a1995
--- /dev/null
+++ b/meta-oe/recipes-core/toybox/toybox_0.8.11.bb
@@ -0,0 +1,113 @@
+SUMMARY = "Toybox combines common utilities together into a single executable."
+HOMEPAGE = "http://www.landley.net/toybox/"
+DEPENDS = "attr virtual/crypt"
+
+LICENSE = "0BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7"
+
+inherit cml1 update-alternatives
+
+SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "15aa3f832f4ec1874db761b9950617f99e1e38144c22da39a71311093bfe67dc"
+
+SECTION = "base"
+
+RDEPENDS:${PN} = "${@["", "toybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'toybox')]}"
+
+TOYBOX_BIN = "generated/unstripped/toybox"
+
+# Toybox is strict on what CC, CFLAGS and CROSS_COMPILE variables should contain.
+# Fix CC, CFLAGS, CROSS_COMPILE to match expectations.
+# CC = compiler name
+# CFLAGS = only compiler flags
+# CROSS_COMPILE = compiler prefix
+CFLAGS += "${TOOLCHAIN_OPTIONS} ${TUNE_CCARGS}"
+
+COMPILER:toolchain-clang = "clang"
+COMPILER ?= "gcc"
+
+PACKAGECONFIG ??= "no-iconv no-getconf"
+
+PACKAGECONFIG[no-iconv] = ",,"
+PACKAGECONFIG[no-getconf] = ",,"
+
+EXTRA_OEMAKE = 'CROSS_COMPILE="${HOST_PREFIX}" \
+ CC="${COMPILER}" \
+ STRIP="strip" \
+ CFLAGS="${CFLAGS}" \
+ HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()} V=1'
+
+do_configure() {
+ # allow user to define their own defconfig in bbappend, taken from kernel.bbclass
+ if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
+ mv "${S}/.config" "${B}/.config"
+ fi
+
+ # Copy defconfig to .config if .config does not exist. This allows
+ # recipes to manage the .config themselves in do_configure:prepend().
+ if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
+ cp "${WORKDIR}/defconfig" "${B}/.config"
+ fi
+
+ oe_runmake oldconfig || oe_runmake defconfig
+
+ # Disable killall5 as it isn't managed by update-alternatives
+ sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
+
+ # Disable swapon as it doesn't handle the '-a' argument used during boot
+ sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
+
+ # Enable init if toybox was set as init manager
+ if ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','toybox','true','false',d)}; then
+ sed -e 's/# CONFIG_INIT is not set/CONFIG_INIT=y/' -i .config
+ fi
+}
+
+do_compile() {
+ oe_runmake ${TOYBOX_BIN}
+
+ # Create a list of links needed
+ ${BUILD_CC} -I . scripts/install.c -o generated/instlist
+ ./generated/instlist long | sed -e 's#^#/#' > toybox.links
+ if ${@bb.utils.contains('PACKAGECONFIG','no-iconv','true','false',d)}; then
+ sed -i -e '/iconv$/d' toybox.links
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG','no-getconf','true','false',d)}; then
+ sed -i -e '/getconf$/d' toybox.links
+ fi
+}
+
+do_install() {
+ # Install manually instead of using 'make install'
+ install -d ${D}${base_bindir}
+ if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
+ install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
+ else
+ install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
+ fi
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
+}
+
+# If you've chosen to install toybox you probably want it to take precedence
+# over busybox where possible but not over other packages
+ALTERNATIVE_PRIORITY = "60"
+
+python do_package:prepend () {
+ # Read links from /etc/toybox.links and create appropriate
+ # update-alternatives variables
+
+ dvar = d.getVar('D')
+ pn = d.getVar('PN')
+ target = d.expand("${base_bindir}/toybox")
+
+ f = open('%s/etc/toybox.links' % (dvar), 'r')
+ for alt_link_name in f:
+ alt_link_name = alt_link_name.strip()
+ alt_name = os.path.basename(alt_link_name)
+ d.appendVar('ALTERNATIVE:%s' % (pn), ' ' + alt_name)
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
+ d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
+ f.close()
+}
diff --git a/meta-oe/recipes-core/toybox/toybox_0.8.4.bb b/meta-oe/recipes-core/toybox/toybox_0.8.4.bb
deleted file mode 100644
index cc98b9ec07..0000000000
--- a/meta-oe/recipes-core/toybox/toybox_0.8.4.bb
+++ /dev/null
@@ -1,114 +0,0 @@
-SUMMARY = "Toybox combines common utilities together into a single executable."
-HOMEPAGE = "http://www.landley.net/toybox/"
-DEPENDS = "attr virtual/crypt"
-
-LICENSE = "BSD-0-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7"
-
-inherit cml1 update-alternatives
-
-SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
- "
-SRC_URI[sha256sum] = "cb2a565a8d30015d08d73628795dca51a85b99b149aeabbbecd9e8dbdbd8fddc"
-
-SECTION = "base"
-
-RDEPENDS_${PN} = "${@["", "toybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'toybox')]}"
-
-TOYBOX_BIN = "generated/unstripped/toybox"
-
-# Toybox is strict on what CC, CFLAGS and CROSS_COMPILE variables should contain.
-# Fix CC, CFLAGS, CROSS_COMPILE to match expectations.
-# CC = compiler name
-# CFLAGS = only compiler flags
-# CROSS_COMPILE = compiler prefix
-CFLAGS += "${TOOLCHAIN_OPTIONS} ${TUNE_CCARGS}"
-
-COMPILER_toolchain-clang = "clang"
-COMPILER ?= "gcc"
-
-PACKAGECONFIG ??= "no-iconv no-getconf"
-
-PACKAGECONFIG[no-iconv] = ",,"
-PACKAGECONFIG[no-getconf] = ",,"
-
-EXTRA_OEMAKE = 'CROSS_COMPILE="${HOST_PREFIX}" \
- CC="${COMPILER}" \
- STRIP="strip" \
- CFLAGS="${CFLAGS}" \
- HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()} V=1'
-
-do_configure() {
- # allow user to define their own defconfig in bbappend, taken from kernel.bbclass
- if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
- mv "${S}/.config" "${B}/.config"
- fi
-
- # Copy defconfig to .config if .config does not exist. This allows
- # recipes to manage the .config themselves in do_configure_prepend().
- if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
- cp "${WORKDIR}/defconfig" "${B}/.config"
- fi
-
- oe_runmake oldconfig || oe_runmake defconfig
-
- # Disable killall5 as it isn't managed by update-alternatives
- sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
-
- # Disable swapon as it doesn't handle the '-a' argument used during boot
- sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
-
- # Enable init if toybox was set as init manager
- if ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','toybox','true','false',d)}; then
- sed -e 's/# CONFIG_INIT is not set/CONFIG_INIT=y/' -i .config
- fi
-}
-
-do_compile() {
- oe_runmake ${TOYBOX_BIN}
-
- # Create a list of links needed
- ${BUILD_CC} -I . scripts/install.c -o generated/instlist
- ./generated/instlist long | sed -e 's#^#/#' > toybox.links
- if ${@bb.utils.contains('PACKAGECONFIG','no-iconv','true','false',d)}; then
- sed -i -e '/iconv$/d' toybox.links
- fi
- if ${@bb.utils.contains('PACKAGECONFIG','no-getconf','true','false',d)}; then
- sed -i -e '/getconf$/d' toybox.links
- fi
-}
-
-do_install() {
- # Install manually instead of using 'make install'
- install -d ${D}${base_bindir}
- if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
- install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
- else
- install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
- fi
-
- install -d ${D}${sysconfdir}
- install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
-}
-
-# If you've chosen to install toybox you probably want it to take precedence
-# over busybox where possible but not over other packages
-ALTERNATIVE_PRIORITY = "60"
-
-python do_package_prepend () {
- # Read links from /etc/toybox.links and create appropriate
- # update-alternatives variables
-
- dvar = d.getVar('D')
- pn = d.getVar('PN')
- target = d.expand("${base_bindir}/toybox")
-
- f = open('%s/etc/toybox.links' % (dvar), 'r')
- for alt_link_name in f:
- alt_link_name = alt_link_name.strip()
- alt_name = os.path.basename(alt_link_name)
- d.appendVar('ALTERNATIVE_%s' % (pn), ' ' + alt_name)
- d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
- d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
- f.close()
-}
diff --git a/meta-oe/recipes-core/usleep/usleep_1.0.bb b/meta-oe/recipes-core/usleep/usleep_1.0.bb
deleted file mode 100644
index 370dd4ae68..0000000000
--- a/meta-oe/recipes-core/usleep/usleep_1.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "A user tool to support sleeping some number of microseconds"
-SECTION = "base"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-S = "${WORKDIR}"
-DEPENDS = "popt"
-
-SRC_URI = "file://usleep.c \
- file://usleep.1 \
- file://GPLv2.patch \
-"
-
-do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt
-}
-
-do_install() {
- install -d ${D}${base_bindir}
- install -d ${D}${mandir}/man1
-
- install -m 0755 ${WORKDIR}/usleep ${D}${base_bindir}
- install -m 0644 ${WORKDIR}/usleep.1 ${D}${mandir}/man1
-}
-
-inherit update-alternatives
-
-ALTERNATIVE_${PN} = "usleep"
-ALTERNATIVE_PRIORITY = "80"
-ALTERNATIVE_LINK_NAME[usleep] = "${base_bindir}/usleep"
-
-ALTERNATIVE_${PN}-doc = "usleep.1"
-ALTERNATIVE_LINK_NAME[usleep.1] = "${mandir}/man1/usleep.1"
diff --git a/meta-oe/recipes-core/usleep/usleep_1.2.bb b/meta-oe/recipes-core/usleep/usleep_1.2.bb
new file mode 100644
index 0000000000..a529032aad
--- /dev/null
+++ b/meta-oe/recipes-core/usleep/usleep_1.2.bb
@@ -0,0 +1,33 @@
+SUMMARY = "A user tool to support sleeping some number of microseconds"
+SECTION = "base"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+S = "${WORKDIR}"
+DEPENDS = "popt"
+
+SRC_URI = "file://usleep.c \
+ file://usleep.1 \
+ file://GPLv2.patch \
+"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt
+}
+
+do_install() {
+ install -d ${D}${base_bindir}
+ install -d ${D}${mandir}/man1
+
+ install -m 0755 ${WORKDIR}/usleep ${D}${base_bindir}
+ install -m 0644 ${WORKDIR}/usleep.1 ${D}${mandir}/man1
+}
+
+inherit update-alternatives
+
+ALTERNATIVE:${PN} = "usleep"
+ALTERNATIVE_PRIORITY = "80"
+ALTERNATIVE_LINK_NAME[usleep] = "${base_bindir}/usleep"
+
+ALTERNATIVE:${PN}-doc = "usleep.1"
+ALTERNATIVE_LINK_NAME[usleep.1] = "${mandir}/man1/usleep.1"
diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc
new file mode 100644
index 0000000000..58d8325628
--- /dev/null
+++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils-crates.inc
@@ -0,0 +1,562 @@
+# Autogenerated with 'bitbake -c update_crates uutils-coreutils'
+
+# from Cargo.lock
+SRC_URI += " \
+ crate://crates.io/adler/1.0.2 \
+ crate://crates.io/aho-corasick/1.0.4 \
+ crate://crates.io/android-tzdata/0.1.1 \
+ crate://crates.io/android_system_properties/0.1.5 \
+ crate://crates.io/anstream/0.5.0 \
+ crate://crates.io/anstyle/1.0.0 \
+ crate://crates.io/anstyle-parse/0.2.0 \
+ crate://crates.io/anstyle-query/1.0.0 \
+ crate://crates.io/anstyle-wincon/2.1.0 \
+ crate://crates.io/arrayref/0.3.6 \
+ crate://crates.io/arrayvec/0.7.4 \
+ crate://crates.io/autocfg/1.1.0 \
+ crate://crates.io/bigdecimal/0.4.0 \
+ crate://crates.io/binary-heap-plus/0.5.0 \
+ crate://crates.io/bindgen/0.63.0 \
+ crate://crates.io/bitflags/1.3.2 \
+ crate://crates.io/bitflags/2.4.2 \
+ crate://crates.io/blake2b_simd/1.0.2 \
+ crate://crates.io/blake3/1.5.1 \
+ crate://crates.io/block-buffer/0.10.3 \
+ crate://crates.io/bstr/1.9.1 \
+ crate://crates.io/bumpalo/3.11.1 \
+ crate://crates.io/bytecount/0.6.7 \
+ crate://crates.io/byteorder/1.5.0 \
+ crate://crates.io/cc/1.0.79 \
+ crate://crates.io/cexpr/0.6.0 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/cfg_aliases/0.1.1 \
+ crate://crates.io/chrono/0.4.35 \
+ crate://crates.io/clang-sys/1.4.0 \
+ crate://crates.io/clap/4.4.2 \
+ crate://crates.io/clap_builder/4.4.2 \
+ crate://crates.io/clap_complete/4.4.0 \
+ crate://crates.io/clap_lex/0.5.0 \
+ crate://crates.io/clap_mangen/0.2.9 \
+ crate://crates.io/colorchoice/1.0.0 \
+ crate://crates.io/compare/0.1.0 \
+ crate://crates.io/console/0.15.8 \
+ crate://crates.io/const-random/0.1.16 \
+ crate://crates.io/const-random-macro/0.1.16 \
+ crate://crates.io/constant_time_eq/0.3.0 \
+ crate://crates.io/conv/0.3.3 \
+ crate://crates.io/core-foundation-sys/0.8.3 \
+ crate://crates.io/coz/0.1.3 \
+ crate://crates.io/cpp/0.5.9 \
+ crate://crates.io/cpp_build/0.5.9 \
+ crate://crates.io/cpp_common/0.5.9 \
+ crate://crates.io/cpp_macros/0.5.9 \
+ crate://crates.io/cpufeatures/0.2.5 \
+ crate://crates.io/crc32fast/1.3.2 \
+ crate://crates.io/crossbeam-channel/0.5.10 \
+ crate://crates.io/crossbeam-deque/0.8.4 \
+ crate://crates.io/crossbeam-epoch/0.9.17 \
+ crate://crates.io/crossbeam-utils/0.8.18 \
+ crate://crates.io/crossterm/0.27.0 \
+ crate://crates.io/crossterm_winapi/0.9.1 \
+ crate://crates.io/crunchy/0.2.2 \
+ crate://crates.io/crypto-common/0.1.6 \
+ crate://crates.io/ctrlc/3.4.4 \
+ crate://crates.io/custom_derive/0.1.7 \
+ crate://crates.io/data-encoding/2.5.0 \
+ crate://crates.io/data-encoding-macro/0.1.14 \
+ crate://crates.io/data-encoding-macro-internal/0.1.12 \
+ crate://crates.io/diff/0.1.13 \
+ crate://crates.io/digest/0.10.7 \
+ crate://crates.io/dlv-list/0.5.0 \
+ crate://crates.io/dns-lookup/2.0.4 \
+ crate://crates.io/dunce/1.0.4 \
+ crate://crates.io/either/1.8.0 \
+ crate://crates.io/encode_unicode/0.3.6 \
+ crate://crates.io/env_logger/0.8.4 \
+ crate://crates.io/errno/0.3.8 \
+ crate://crates.io/exacl/0.12.0 \
+ crate://crates.io/fastrand/2.0.1 \
+ crate://crates.io/file_diff/1.0.0 \
+ crate://crates.io/filetime/0.2.23 \
+ crate://crates.io/flate2/1.0.24 \
+ crate://crates.io/fnv/1.0.7 \
+ crate://crates.io/fs_extra/1.3.0 \
+ crate://crates.io/fsevent-sys/4.1.0 \
+ crate://crates.io/fts-sys/0.2.4 \
+ crate://crates.io/fundu/2.0.0 \
+ crate://crates.io/fundu-core/0.3.0 \
+ crate://crates.io/futures/0.3.28 \
+ crate://crates.io/futures-channel/0.3.28 \
+ crate://crates.io/futures-core/0.3.28 \
+ crate://crates.io/futures-executor/0.3.28 \
+ crate://crates.io/futures-io/0.3.28 \
+ crate://crates.io/futures-macro/0.3.28 \
+ crate://crates.io/futures-sink/0.3.28 \
+ crate://crates.io/futures-task/0.3.28 \
+ crate://crates.io/futures-timer/3.0.2 \
+ crate://crates.io/futures-util/0.3.28 \
+ crate://crates.io/gcd/2.3.0 \
+ crate://crates.io/generic-array/0.14.6 \
+ crate://crates.io/getrandom/0.2.9 \
+ crate://crates.io/glob/0.3.1 \
+ crate://crates.io/half/2.4.0 \
+ crate://crates.io/hashbrown/0.13.2 \
+ crate://crates.io/hermit-abi/0.3.2 \
+ crate://crates.io/hex/0.4.3 \
+ crate://crates.io/hex-literal/0.4.1 \
+ crate://crates.io/hostname/0.3.1 \
+ crate://crates.io/iana-time-zone/0.1.53 \
+ crate://crates.io/iana-time-zone-haiku/0.1.2 \
+ crate://crates.io/indicatif/0.17.3 \
+ crate://crates.io/inotify/0.9.6 \
+ crate://crates.io/inotify-sys/0.1.5 \
+ crate://crates.io/io-lifetimes/1.0.11 \
+ crate://crates.io/itertools/0.12.1 \
+ crate://crates.io/itoa/1.0.4 \
+ crate://crates.io/js-sys/0.3.64 \
+ crate://crates.io/keccak/0.1.4 \
+ crate://crates.io/kqueue/1.0.7 \
+ crate://crates.io/kqueue-sys/1.0.3 \
+ crate://crates.io/lazy_static/1.4.0 \
+ crate://crates.io/lazycell/1.3.0 \
+ crate://crates.io/libc/0.2.153 \
+ crate://crates.io/libloading/0.7.4 \
+ crate://crates.io/libm/0.2.7 \
+ crate://crates.io/linux-raw-sys/0.3.8 \
+ crate://crates.io/linux-raw-sys/0.4.12 \
+ crate://crates.io/lock_api/0.4.9 \
+ crate://crates.io/log/0.4.20 \
+ crate://crates.io/lscolors/0.16.0 \
+ crate://crates.io/match_cfg/0.1.0 \
+ crate://crates.io/md-5/0.10.6 \
+ crate://crates.io/memchr/2.7.1 \
+ crate://crates.io/memmap2/0.9.0 \
+ crate://crates.io/minimal-lexical/0.2.1 \
+ crate://crates.io/miniz_oxide/0.5.4 \
+ crate://crates.io/mio/0.8.11 \
+ crate://crates.io/nix/0.28.0 \
+ crate://crates.io/nom/7.1.3 \
+ crate://crates.io/notify/6.0.1 \
+ crate://crates.io/nu-ansi-term/0.49.0 \
+ crate://crates.io/num-bigint/0.4.4 \
+ crate://crates.io/num-integer/0.1.45 \
+ crate://crates.io/num-traits/0.2.18 \
+ crate://crates.io/num_threads/0.1.6 \
+ crate://crates.io/number_prefix/0.4.0 \
+ crate://crates.io/once_cell/1.19.0 \
+ crate://crates.io/onig/6.4.0 \
+ crate://crates.io/onig_sys/69.8.1 \
+ crate://crates.io/ordered-multimap/0.6.0 \
+ crate://crates.io/os_display/0.1.3 \
+ crate://crates.io/parking_lot/0.12.1 \
+ crate://crates.io/parking_lot_core/0.9.9 \
+ crate://crates.io/parse_datetime/0.5.0 \
+ crate://crates.io/peeking_take_while/0.1.2 \
+ crate://crates.io/phf/0.11.2 \
+ crate://crates.io/phf_codegen/0.11.2 \
+ crate://crates.io/phf_generator/0.11.1 \
+ crate://crates.io/phf_shared/0.11.2 \
+ crate://crates.io/pin-project-lite/0.2.9 \
+ crate://crates.io/pin-utils/0.1.0 \
+ crate://crates.io/pkg-config/0.3.26 \
+ crate://crates.io/platform-info/2.0.2 \
+ crate://crates.io/portable-atomic/0.3.15 \
+ crate://crates.io/ppv-lite86/0.2.17 \
+ crate://crates.io/pretty_assertions/1.4.0 \
+ crate://crates.io/proc-macro2/1.0.63 \
+ crate://crates.io/procfs/0.16.0 \
+ crate://crates.io/procfs-core/0.16.0 \
+ crate://crates.io/quick-error/2.0.1 \
+ crate://crates.io/quickcheck/1.0.3 \
+ crate://crates.io/quote/1.0.29 \
+ crate://crates.io/rand/0.8.5 \
+ crate://crates.io/rand_chacha/0.3.1 \
+ crate://crates.io/rand_core/0.6.4 \
+ crate://crates.io/rand_pcg/0.3.1 \
+ crate://crates.io/rayon/1.9.0 \
+ crate://crates.io/rayon-core/1.12.1 \
+ crate://crates.io/redox_syscall/0.4.1 \
+ crate://crates.io/redox_syscall/0.5.0 \
+ crate://crates.io/reference-counted-singleton/0.1.2 \
+ crate://crates.io/regex/1.10.4 \
+ crate://crates.io/regex-automata/0.4.4 \
+ crate://crates.io/regex-syntax/0.8.2 \
+ crate://crates.io/relative-path/1.8.0 \
+ crate://crates.io/rlimit/0.10.1 \
+ crate://crates.io/roff/0.2.1 \
+ crate://crates.io/rstest/0.18.2 \
+ crate://crates.io/rstest_macros/0.18.2 \
+ crate://crates.io/rust-ini/0.19.0 \
+ crate://crates.io/rustc-hash/1.1.0 \
+ crate://crates.io/rustc_version/0.4.0 \
+ crate://crates.io/rustix/0.37.26 \
+ crate://crates.io/rustix/0.38.31 \
+ crate://crates.io/same-file/1.0.6 \
+ crate://crates.io/scopeguard/1.2.0 \
+ crate://crates.io/self_cell/1.0.3 \
+ crate://crates.io/selinux/0.4.0 \
+ crate://crates.io/selinux-sys/0.6.2 \
+ crate://crates.io/semver/1.0.14 \
+ crate://crates.io/serde/1.0.193 \
+ crate://crates.io/serde_derive/1.0.193 \
+ crate://crates.io/sha1/0.10.6 \
+ crate://crates.io/sha2/0.10.8 \
+ crate://crates.io/sha3/0.10.8 \
+ crate://crates.io/shlex/1.3.0 \
+ crate://crates.io/signal-hook/0.3.17 \
+ crate://crates.io/signal-hook-mio/0.2.3 \
+ crate://crates.io/signal-hook-registry/1.4.0 \
+ crate://crates.io/siphasher/0.3.10 \
+ crate://crates.io/slab/0.4.7 \
+ crate://crates.io/sm3/0.4.2 \
+ crate://crates.io/smallvec/1.13.1 \
+ crate://crates.io/smawk/0.3.1 \
+ crate://crates.io/socket2/0.5.3 \
+ crate://crates.io/strsim/0.10.0 \
+ crate://crates.io/syn/1.0.109 \
+ crate://crates.io/syn/2.0.32 \
+ crate://crates.io/tempfile/3.10.1 \
+ crate://crates.io/terminal_size/0.2.6 \
+ crate://crates.io/terminal_size/0.3.0 \
+ crate://crates.io/textwrap/0.16.1 \
+ crate://crates.io/thiserror/1.0.37 \
+ crate://crates.io/thiserror-impl/1.0.37 \
+ crate://crates.io/time/0.3.20 \
+ crate://crates.io/time-core/0.1.0 \
+ crate://crates.io/time-macros/0.2.8 \
+ crate://crates.io/tiny-keccak/2.0.2 \
+ crate://crates.io/typenum/1.15.0 \
+ crate://crates.io/unicode-ident/1.0.5 \
+ crate://crates.io/unicode-linebreak/0.1.5 \
+ crate://crates.io/unicode-segmentation/1.11.0 \
+ crate://crates.io/unicode-width/0.1.11 \
+ crate://crates.io/unicode-xid/0.2.4 \
+ crate://crates.io/unindent/0.2.1 \
+ crate://crates.io/utf8parse/0.2.1 \
+ crate://crates.io/uuid/1.7.0 \
+ crate://crates.io/uutils_term_grid/0.3.0 \
+ crate://crates.io/version_check/0.9.4 \
+ crate://crates.io/walkdir/2.5.0 \
+ crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
+ crate://crates.io/wasm-bindgen/0.2.87 \
+ crate://crates.io/wasm-bindgen-backend/0.2.87 \
+ crate://crates.io/wasm-bindgen-macro/0.2.87 \
+ crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
+ crate://crates.io/wasm-bindgen-shared/0.2.87 \
+ crate://crates.io/which/4.3.0 \
+ crate://crates.io/wild/2.2.1 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-util/0.1.6 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/windows-sys/0.45.0 \
+ crate://crates.io/windows-sys/0.48.0 \
+ crate://crates.io/windows-sys/0.52.0 \
+ crate://crates.io/windows-targets/0.42.2 \
+ crate://crates.io/windows-targets/0.48.0 \
+ crate://crates.io/windows-targets/0.52.0 \
+ crate://crates.io/windows_aarch64_gnullvm/0.42.2 \
+ crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
+ crate://crates.io/windows_aarch64_gnullvm/0.52.0 \
+ crate://crates.io/windows_aarch64_msvc/0.42.2 \
+ crate://crates.io/windows_aarch64_msvc/0.48.0 \
+ crate://crates.io/windows_aarch64_msvc/0.52.0 \
+ crate://crates.io/windows_i686_gnu/0.42.2 \
+ crate://crates.io/windows_i686_gnu/0.48.0 \
+ crate://crates.io/windows_i686_gnu/0.52.0 \
+ crate://crates.io/windows_i686_msvc/0.42.2 \
+ crate://crates.io/windows_i686_msvc/0.48.0 \
+ crate://crates.io/windows_i686_msvc/0.52.0 \
+ crate://crates.io/windows_x86_64_gnu/0.42.2 \
+ crate://crates.io/windows_x86_64_gnu/0.48.0 \
+ crate://crates.io/windows_x86_64_gnu/0.52.0 \
+ crate://crates.io/windows_x86_64_gnullvm/0.42.2 \
+ crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
+ crate://crates.io/windows_x86_64_gnullvm/0.52.0 \
+ crate://crates.io/windows_x86_64_msvc/0.42.2 \
+ crate://crates.io/windows_x86_64_msvc/0.48.0 \
+ crate://crates.io/windows_x86_64_msvc/0.52.0 \
+ crate://crates.io/xattr/1.3.1 \
+ crate://crates.io/yansi/0.5.1 \
+ crate://crates.io/z85/3.0.5 \
+ crate://crates.io/zip/0.6.6 \
+"
+
+SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+SRC_URI[aho-corasick-1.0.4.sha256sum] = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
+SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+SRC_URI[anstream-0.5.0.sha256sum] = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
+SRC_URI[anstyle-1.0.0.sha256sum] = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
+SRC_URI[anstyle-parse-0.2.0.sha256sum] = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
+SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+SRC_URI[anstyle-wincon-2.1.0.sha256sum] = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
+SRC_URI[arrayref-0.3.6.sha256sum] = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+SRC_URI[arrayvec-0.7.4.sha256sum] = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+SRC_URI[bigdecimal-0.4.0.sha256sum] = "5274a6b6e0ee020148397245b973e30163b7bffbc6d473613f850cb99888581e"
+SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296"
+SRC_URI[bindgen-0.63.0.sha256sum] = "36d860121800b2a9a94f9b5604b332d5cffb234ce17609ea479d723dbc9d3885"
+SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[bitflags-2.4.2.sha256sum] = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+SRC_URI[blake2b_simd-1.0.2.sha256sum] = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780"
+SRC_URI[blake3-1.5.1.sha256sum] = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52"
+SRC_URI[block-buffer-0.10.3.sha256sum] = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
+SRC_URI[bstr-1.9.1.sha256sum] = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
+SRC_URI[bumpalo-3.11.1.sha256sum] = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+SRC_URI[bytecount-0.6.7.sha256sum] = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205"
+SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+SRC_URI[cc-1.0.79.sha256sum] = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[cfg_aliases-0.1.1.sha256sum] = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
+SRC_URI[chrono-0.4.35.sha256sum] = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a"
+SRC_URI[clang-sys-1.4.0.sha256sum] = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
+SRC_URI[clap-4.4.2.sha256sum] = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6"
+SRC_URI[clap_builder-4.4.2.sha256sum] = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
+SRC_URI[clap_complete-4.4.0.sha256sum] = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5"
+SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+SRC_URI[clap_mangen-0.2.9.sha256sum] = "bb0f09a0ca8f0dd8ac92c546b426f466ef19828185c6d504c80c48c9c2768ed9"
+SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3"
+SRC_URI[console-0.15.8.sha256sum] = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+SRC_URI[const-random-0.1.16.sha256sum] = "11df32a13d7892ec42d51d3d175faba5211ffe13ed25d4fb348ac9e9ce835593"
+SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
+SRC_URI[constant_time_eq-0.3.0.sha256sum] = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
+SRC_URI[conv-0.3.3.sha256sum] = "78ff10625fd0ac447827aa30ea8b861fead473bb60aeb73af6c1c58caf0d1299"
+SRC_URI[core-foundation-sys-0.8.3.sha256sum] = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+SRC_URI[coz-0.1.3.sha256sum] = "cef55b3fe2f5477d59e12bc792e8b3c95a25bd099eadcfae006ecea136de76e2"
+SRC_URI[cpp-0.5.9.sha256sum] = "bfa65869ef853e45c60e9828aa08cdd1398cb6e13f3911d9cb2a079b144fcd64"
+SRC_URI[cpp_build-0.5.9.sha256sum] = "0e361fae2caf9758164b24da3eedd7f7d7451be30d90d8e7b5d2be29a2f0cf5b"
+SRC_URI[cpp_common-0.5.9.sha256sum] = "3e1a2532e4ed4ea13031c13bc7bc0dbca4aae32df48e9d77f0d1e743179f2ea1"
+SRC_URI[cpp_macros-0.5.9.sha256sum] = "47ec9cc90633446f779ef481a9ce5a0077107dd5b87016440448d908625a83fd"
+SRC_URI[cpufeatures-0.2.5.sha256sum] = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
+SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+SRC_URI[crossbeam-channel-0.5.10.sha256sum] = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2"
+SRC_URI[crossbeam-deque-0.8.4.sha256sum] = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
+SRC_URI[crossbeam-epoch-0.9.17.sha256sum] = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
+SRC_URI[crossbeam-utils-0.8.18.sha256sum] = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
+SRC_URI[crossterm-0.27.0.sha256sum] = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
+SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
+SRC_URI[crunchy-0.2.2.sha256sum] = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+SRC_URI[ctrlc-3.4.4.sha256sum] = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345"
+SRC_URI[custom_derive-0.1.7.sha256sum] = "ef8ae57c4978a2acd8b869ce6b9ca1dfe817bff704c220209fdef2c0b75a01b9"
+SRC_URI[data-encoding-2.5.0.sha256sum] = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
+SRC_URI[data-encoding-macro-0.1.14.sha256sum] = "20c01c06f5f429efdf2bae21eb67c28b3df3cf85b7dd2d8ef09c0838dac5d33e"
+SRC_URI[data-encoding-macro-internal-0.1.12.sha256sum] = "0047d07f2c89b17dd631c80450d69841a6b5d7fb17278cbc43d7e4cfcf2576f3"
+SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
+SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+SRC_URI[dlv-list-0.5.0.sha256sum] = "d529fd73d344663edfd598ccb3f344e46034db51ebd103518eae34338248ad73"
+SRC_URI[dns-lookup-2.0.4.sha256sum] = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc"
+SRC_URI[dunce-1.0.4.sha256sum] = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
+SRC_URI[either-1.8.0.sha256sum] = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
+SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+SRC_URI[exacl-0.12.0.sha256sum] = "22be12de19decddab85d09f251ec8363f060ccb22ec9c81bc157c0c8433946d8"
+SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+SRC_URI[file_diff-1.0.0.sha256sum] = "31a7a908b8f32538a2143e59a6e4e2508988832d5d4d6f7c156b3cbc762643a5"
+SRC_URI[filetime-0.2.23.sha256sum] = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
+SRC_URI[flate2-1.0.24.sha256sum] = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+SRC_URI[fs_extra-1.3.0.sha256sum] = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
+SRC_URI[fsevent-sys-4.1.0.sha256sum] = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
+SRC_URI[fts-sys-0.2.4.sha256sum] = "9a66c0a21e344f20c87b4ca12643cf4f40a7018f132c98d344e989b959f49dd1"
+SRC_URI[fundu-2.0.0.sha256sum] = "6c04cb831a8dccadfe3774b07cba4574a1ec24974d761510e65d8a543c2d7cb4"
+SRC_URI[fundu-core-0.3.0.sha256sum] = "76a889e633afd839fb5b04fe53adfd588cefe518e71ec8d3c929698c6daf2acd"
+SRC_URI[futures-0.3.28.sha256sum] = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+SRC_URI[futures-channel-0.3.28.sha256sum] = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+SRC_URI[futures-core-0.3.28.sha256sum] = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+SRC_URI[futures-executor-0.3.28.sha256sum] = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+SRC_URI[futures-io-0.3.28.sha256sum] = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+SRC_URI[futures-macro-0.3.28.sha256sum] = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+SRC_URI[futures-sink-0.3.28.sha256sum] = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+SRC_URI[futures-task-0.3.28.sha256sum] = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+SRC_URI[futures-timer-3.0.2.sha256sum] = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
+SRC_URI[futures-util-0.3.28.sha256sum] = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a"
+SRC_URI[generic-array-0.14.6.sha256sum] = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
+SRC_URI[getrandom-0.2.9.sha256sum] = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+SRC_URI[half-2.4.0.sha256sum] = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e"
+SRC_URI[hashbrown-0.13.2.sha256sum] = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+SRC_URI[hex-literal-0.4.1.sha256sum] = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
+SRC_URI[hostname-0.3.1.sha256sum] = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
+SRC_URI[iana-time-zone-0.1.53.sha256sum] = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
+SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+SRC_URI[indicatif-0.17.3.sha256sum] = "cef509aa9bc73864d6756f0d34d35504af3cf0844373afe9b8669a5b8005a729"
+SRC_URI[inotify-0.9.6.sha256sum] = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
+SRC_URI[inotify-sys-0.1.5.sha256sum] = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
+SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+SRC_URI[itoa-1.0.4.sha256sum] = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+SRC_URI[keccak-0.1.4.sha256sum] = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940"
+SRC_URI[kqueue-1.0.7.sha256sum] = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98"
+SRC_URI[kqueue-sys-1.0.3.sha256sum] = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
+SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+SRC_URI[libc-0.2.153.sha256sum] = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+SRC_URI[libloading-0.7.4.sha256sum] = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
+SRC_URI[libm-0.2.7.sha256sum] = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
+SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+SRC_URI[linux-raw-sys-0.4.12.sha256sum] = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
+SRC_URI[lock_api-0.4.9.sha256sum] = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+SRC_URI[lscolors-0.16.0.sha256sum] = "ab0b209ec3976527806024406fe765474b9a1750a0ed4b8f0372364741f50e7b"
+SRC_URI[match_cfg-0.1.0.sha256sum] = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
+SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
+SRC_URI[memchr-2.7.1.sha256sum] = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+SRC_URI[memmap2-0.9.0.sha256sum] = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375"
+SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+SRC_URI[miniz_oxide-0.5.4.sha256sum] = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
+SRC_URI[mio-0.8.11.sha256sum] = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
+SRC_URI[nix-0.28.0.sha256sum] = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
+SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+SRC_URI[notify-6.0.1.sha256sum] = "5738a2795d57ea20abec2d6d76c6081186709c0024187cd5977265eda6598b51"
+SRC_URI[nu-ansi-term-0.49.0.sha256sum] = "c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68"
+SRC_URI[num-bigint-0.4.4.sha256sum] = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0"
+SRC_URI[num-integer-0.1.45.sha256sum] = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+SRC_URI[num-traits-0.2.18.sha256sum] = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+SRC_URI[num_threads-0.1.6.sha256sum] = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
+SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+SRC_URI[onig-6.4.0.sha256sum] = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
+SRC_URI[onig_sys-69.8.1.sha256sum] = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7"
+SRC_URI[ordered-multimap-0.6.0.sha256sum] = "4ed8acf08e98e744e5384c8bc63ceb0364e68a6854187221c18df61c4797690e"
+SRC_URI[os_display-0.1.3.sha256sum] = "7a6229bad892b46b0dcfaaeb18ad0d2e56400f5aaea05b768bde96e73676cf75"
+SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+SRC_URI[parse_datetime-0.5.0.sha256sum] = "3bbf4e25b13841080e018a1e666358adfe5e39b6d353f986ca5091c210b586a1"
+SRC_URI[peeking_take_while-0.1.2.sha256sum] = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
+SRC_URI[phf-0.11.2.sha256sum] = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
+SRC_URI[phf_codegen-0.11.2.sha256sum] = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
+SRC_URI[phf_generator-0.11.1.sha256sum] = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
+SRC_URI[phf_shared-0.11.2.sha256sum] = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
+SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+SRC_URI[pkg-config-0.3.26.sha256sum] = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+SRC_URI[platform-info-2.0.2.sha256sum] = "d6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f"
+SRC_URI[portable-atomic-0.3.15.sha256sum] = "15eb2c6e362923af47e13c23ca5afb859e83d54452c55b0b9ac763b8f7c1ac16"
+SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+SRC_URI[pretty_assertions-1.4.0.sha256sum] = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
+SRC_URI[proc-macro2-1.0.63.sha256sum] = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
+SRC_URI[procfs-0.16.0.sha256sum] = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4"
+SRC_URI[procfs-core-0.16.0.sha256sum] = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29"
+SRC_URI[quick-error-2.0.1.sha256sum] = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
+SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
+SRC_URI[quote-1.0.29.sha256sum] = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
+SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+SRC_URI[rand_pcg-0.3.1.sha256sum] = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
+SRC_URI[rayon-1.9.0.sha256sum] = "e4963ed1bc86e4f3ee217022bd855b297cef07fb9eac5dfa1f788b220b49b3bd"
+SRC_URI[rayon-core-1.12.1.sha256sum] = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
+SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+SRC_URI[redox_syscall-0.5.0.sha256sum] = "13c178f952cc7eac391f3124bd9851d1ac0bdbc4c9de2d892ccd5f0d8b160e96"
+SRC_URI[reference-counted-singleton-0.1.2.sha256sum] = "f1bfbf25d7eb88ddcbb1ec3d755d0634da8f7657b2cb8b74089121409ab8228f"
+SRC_URI[regex-1.10.4.sha256sum] = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
+SRC_URI[regex-automata-0.4.4.sha256sum] = "3b7fa1134405e2ec9353fd416b17f8dacd46c473d7d3fd1cf202706a14eb792a"
+SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+SRC_URI[relative-path-1.8.0.sha256sum] = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698"
+SRC_URI[rlimit-0.10.1.sha256sum] = "3560f70f30a0f16d11d01ed078a07740fe6b489667abc7c7b029155d9f21c3d8"
+SRC_URI[roff-0.2.1.sha256sum] = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
+SRC_URI[rstest-0.18.2.sha256sum] = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
+SRC_URI[rstest_macros-0.18.2.sha256sum] = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
+SRC_URI[rust-ini-0.19.0.sha256sum] = "7e2a3bcec1f113553ef1c88aae6c020a369d03d55b58de9869a0908930385091"
+SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+SRC_URI[rustix-0.37.26.sha256sum] = "84f3f8f960ed3b5a59055428714943298bf3fa2d4a1d53135084e0544829d995"
+SRC_URI[rustix-0.38.31.sha256sum] = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+SRC_URI[self_cell-1.0.3.sha256sum] = "58bf37232d3bb9a2c4e641ca2a11d83b5062066f88df7fed36c28772046d65ba"
+SRC_URI[selinux-0.4.0.sha256sum] = "a00576725d21b588213fbd4af84cd7e4cc4304e8e9bd6c0f5a1498a3e2ca6a51"
+SRC_URI[selinux-sys-0.6.2.sha256sum] = "806d381649bb85347189d2350728817418138d11d738e2482cb644ec7f3c755d"
+SRC_URI[semver-1.0.14.sha256sum] = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
+SRC_URI[serde-1.0.193.sha256sum] = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
+SRC_URI[serde_derive-1.0.193.sha256sum] = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
+SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
+SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
+SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
+SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+SRC_URI[signal-hook-0.3.17.sha256sum] = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
+SRC_URI[signal-hook-mio-0.2.3.sha256sum] = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
+SRC_URI[signal-hook-registry-1.4.0.sha256sum] = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+SRC_URI[siphasher-0.3.10.sha256sum] = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
+SRC_URI[slab-0.4.7.sha256sum] = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
+SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860"
+SRC_URI[smallvec-1.13.1.sha256sum] = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+SRC_URI[smawk-0.3.1.sha256sum] = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
+SRC_URI[socket2-0.5.3.sha256sum] = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
+SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+SRC_URI[syn-2.0.32.sha256sum] = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
+SRC_URI[tempfile-3.10.1.sha256sum] = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
+SRC_URI[terminal_size-0.2.6.sha256sum] = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
+SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
+SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
+SRC_URI[thiserror-1.0.37.sha256sum] = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+SRC_URI[thiserror-impl-1.0.37.sha256sum] = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+SRC_URI[time-0.3.20.sha256sum] = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
+SRC_URI[time-core-0.1.0.sha256sum] = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+SRC_URI[time-macros-0.2.8.sha256sum] = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
+SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+SRC_URI[typenum-1.15.0.sha256sum] = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+SRC_URI[unicode-ident-1.0.5.sha256sum] = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
+SRC_URI[unicode-segmentation-1.11.0.sha256sum] = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+SRC_URI[unicode-xid-0.2.4.sha256sum] = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+SRC_URI[unindent-0.2.1.sha256sum] = "5aa30f5ea51ff7edfc797c6d3f9ec8cbd8cfedef5371766b7181d33977f4814f"
+SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+SRC_URI[uuid-1.7.0.sha256sum] = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
+SRC_URI[uutils_term_grid-0.3.0.sha256sum] = "b389452a568698688dda38802068378a16c15c4af9b153cdd99b65391292bbc7"
+SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+SRC_URI[which-4.3.0.sha256sum] = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b"
+SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1"
+SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+SRC_URI[winapi-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+SRC_URI[windows-targets-0.48.0.sha256sum] = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+SRC_URI[xattr-1.3.1.sha256sum] = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+SRC_URI[yansi-0.5.1.sha256sum] = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
+SRC_URI[z85-3.0.5.sha256sum] = "2a599daf1b507819c1121f0bf87fa37eb19daac6aff3aefefd4e6e2e0f2020fc"
+SRC_URI[zip-0.6.6.sha256sum] = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261"
diff --git a/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.25.bb b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.25.bb
new file mode 100644
index 0000000000..61f2dc2987
--- /dev/null
+++ b/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.25.bb
@@ -0,0 +1,73 @@
+# Copyright (c) 2022, Snap Inc.
+# Released under the MIT license (see COPYING.MIT for the terms)
+SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust"
+HOMEPAGE = "https://github.com/uutils/coreutils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e74349878141b240070458d414ab3b64"
+
+inherit cargo cargo-update-recipe-crates
+
+SRC_URI += "git://github.com/uutils/coreutils.git;protocol=https;branch=main"
+
+# musl not supported because the libc crate does not support functions like "endutxent" at the moment,
+# so src/uucore/src/lib/features.rs disables utmpx when targetting musl.
+COMPATIBLE_HOST:libc-musl = "null"
+
+SRCREV = "68c77b4bd129bdc12d03cc74fe0f817d2df75894"
+S = "${WORKDIR}/git"
+
+require ${BPN}-crates.inc
+
+PROVIDES = "coreutils"
+RPROVIDES:${PN} = "coreutils"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+
+CARGO_BUILD_FLAGS += "--features unix"
+CARGO_BUILD_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', '--features feat_selinux', '', d)}"
+
+DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'clang-native libselinux-native', '', d)}"
+
+export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}"
+export SELINUX_LIB_DIR = "${WORKDIR}/recipe-sysroot-native${libdir}"
+export SELINUX_INCLUDE_DIR = "${WORKDIR}/recipe-sysroot-native${includedir}"
+
+# The code which follows is strongly inspired from the GNU coreutils bitbake recipe:
+
+# [ df mktemp nice printenv base64 gets a special treatment and is not included in this
+bindir_progs = "[ arch basename cksum comm csplit cut dir dircolors dirname du \
+ env expand expr factor fmt fold groups head hostid id install \
+ join link logname md5sum mkfifo nl nohup nproc od paste pathchk \
+ pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \
+ sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \
+ tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes"
+
+bindir_progs += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'chcon runcon', '', d)}"
+
+base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \
+ mknod mv pwd rm rmdir sleep stty sync touch true uname stat"
+
+sbindir_progs= "chroot"
+
+inherit update-alternatives
+
+# Higher than busybox (which uses 50)
+ALTERNATIVE_PRIORITY = "100"
+
+# Higher than net-tools (which uses 100)
+ALTERNATIVE_PRIORITY[hostname] = "110"
+
+ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df"
+
+# Use the multicall binary named "coreutils" for symlinks
+ALTERNATIVE_TARGET = "${bindir}/coreutils"
+
+python __anonymous() {
+ for prog in d.getVar('base_bindir_progs').split():
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
+
+ for prog in d.getVar('sbindir_progs').split():
+ d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog))
+}
diff --git a/meta-oe/recipes-crypto/botan/botan_2.14.0.bb b/meta-oe/recipes-crypto/botan/botan_2.14.0.bb
deleted file mode 100644
index 13b2c6649b..0000000000
--- a/meta-oe/recipes-crypto/botan/botan_2.14.0.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Crypto and TLS for C++11"
-HOMEPAGE = "https://botan.randombit.net"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://license.txt;md5=a02e03c8fa2c5e7b9b3fcc1b9811fd3b"
-SECTION = "libs"
-
-SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
-SRC_URI[md5sum] = "ebc68c08b99bbc4b4fc9bdbfad398b02"
-SRC_URI[sha256sum] = "0c10f12b424a40ee19bde00292098e201d7498535c062d8d5b586d07861a54b5"
-
-S = "${WORKDIR}/Botan-${PV}"
-
-inherit python3native siteinfo lib_package
-
-CPU ?= "${TARGET_ARCH}"
-CPU_x86 = "x86_32"
-CPU_armv7a = "armv7"
-CPU_armv7ve = "armv7"
-
-do_configure() {
- python3 ${S}/configure.py \
- --prefix="${D}${exec_prefix}" \
- --libdir="${D}${libdir}" \
- --cpu="${CPU}" \
- --cc-bin="${CXX}" \
- --cxxflags="${CXXFLAGS}" \
- --ldflags="${LDFLAGS}" \
- --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
- ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \
- --with-sysroot-dir=${STAGING_DIR_HOST} \
- --with-build-dir="${B}" \
- --optimize-for-size \
- --with-stack-protector \
- --enable-shared-library \
- --with-python-versions=3 \
- ${EXTRA_OECONF}
-}
-
-do_compile() {
- oe_runmake
-}
-do_install() {
- oe_runmake install
- sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-2.pc
-}
-
-PACKAGES += "${PN}-python3"
-
-FILES_${PN}-python3 = "${libdir}/python3"
-
-RDEPENDS_${PN}-python3 += "python3"
-
-COMPATIBLE_HOST_riscv32 = "null"
diff --git a/meta-oe/recipes-crypto/botan/botan_3.2.0.bb b/meta-oe/recipes-crypto/botan/botan_3.2.0.bb
new file mode 100644
index 0000000000..5eff2d383e
--- /dev/null
+++ b/meta-oe/recipes-crypto/botan/botan_3.2.0.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Crypto and TLS for C++11"
+HOMEPAGE = "https://botan.randombit.net"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://license.txt;md5=f5254d3abe90ec5bb82c5694ff751546"
+SECTION = "libs"
+
+SRC_URI = "https://botan.randombit.net/releases/Botan-${PV}.tar.xz"
+SRC_URI[sha256sum] = "049c847835fcf6ef3a9e206b33de05dd38999c325e247482772a5598d9e5ece3"
+
+S = "${WORKDIR}/Botan-${PV}"
+
+inherit python3native siteinfo lib_package
+
+CPU ?= "${TARGET_ARCH}"
+CPU:x86 = "x86_32"
+CPU:armv7a = "armv7"
+CPU:armv7ve = "armv7"
+
+do_configure() {
+ python3 ${S}/configure.py \
+ --prefix="${D}${exec_prefix}" \
+ --libdir="${D}${libdir}" \
+ --cpu="${CPU}" \
+ --cc-bin="${CXX}" \
+ --cxxflags="${CXXFLAGS}" \
+ --ldflags="${LDFLAGS}" \
+ --with-endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+ ${@bb.utils.contains("TUNE_FEATURES","neon","","--disable-neon",d)} \
+ --with-sysroot-dir=${STAGING_DIR_HOST} \
+ --with-build-dir="${B}" \
+ --optimize-for-size \
+ --with-stack-protector \
+ --enable-shared-library \
+ --with-python-versions=3 \
+ ${EXTRA_OECONF}
+}
+
+do_compile() {
+ oe_runmake
+}
+do_install() {
+ oe_runmake install
+ sed -i -e "s|${D}||g" ${D}${libdir}/pkgconfig/botan-3.pc
+}
+
+PACKAGES += "${PN}-python3"
+
+FILES:${PN}-python3 = "${libdir}/python3"
+
+RDEPENDS:${PN}-python3 += "python3"
+
+COMPATIBLE_HOST:riscv32 = "null"
diff --git a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb
deleted file mode 100644
index b9a6b71793..0000000000
--- a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.3.4.bb
+++ /dev/null
@@ -1,92 +0,0 @@
-SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
-DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
-device-mapper mappings. These include plain dm-crypt volumes and \
-LUKS volumes. The difference is that LUKS uses a metadata header \
-and can hence offer more features than plain dm-crypt. On the other \
-hand, the header is visible and vulnerable to damage."
-HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup"
-SECTION = "console"
-LICENSE = "GPL-2.0-with-OpenSSL-exception"
-LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
-
-DEPENDS = " \
- json-c \
- libdevmapper \
- popt \
- util-linux \
-"
-
-RDEPENDS_${PN} = " \
- libdevmapper \
-"
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
-SRC_URI[md5sum] = "911272e73181fdc850bb4d25103a9f83"
-SRC_URI[sha256sum] = "9d16eebb96b53b514778e813019b8dd15fea9fec5aafde9fae5febf59df83773"
-
-inherit autotools gettext pkgconfig
-
-# Use openssl because libgcrypt drops root privileges
-# if libgcrypt is linked with libcap support
-PACKAGECONFIG ??= " \
- keyring \
- cryptsetup \
- veritysetup \
- cryptsetup-reencrypt \
- integritysetup \
- ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
- kernel_crypto \
- internal-argon2 \
- blkid \
- luks-adjust-xts-keysize \
- openssl \
-"
-PACKAGECONFIG_append_class-target = " \
- udev \
-"
-
-PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring"
-PACKAGECONFIG[fips] = "--enable-fips,--disable-fips"
-PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality"
-PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc"
-PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup"
-PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup"
-PACKAGECONFIG[cryptsetup-reencrypt] = "--enable-cryptsetup-reencrypt,--disable-cryptsetup-reencrypt"
-PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux"
-PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,udev"
-PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto"
-# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't
-# recognized.
-PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2"
-PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2"
-PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2"
-PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
-PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random"
-PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize"
-PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
-PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
-PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss"
-PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel"
-PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle"
-PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1"
-
-RRECOMMENDS_${PN} = "kernel-module-aes-generic \
- kernel-module-dm-crypt \
- kernel-module-md5 \
- kernel-module-cbc \
- kernel-module-sha256-generic \
- kernel-module-xts \
-"
-
-EXTRA_OECONF = "--enable-static"
-# Building without largefile is not supported by upstream
-EXTRA_OECONF += "--enable-largefile"
-# Requires a static popt library
-EXTRA_OECONF += "--disable-static-cryptsetup"
-# There's no recipe for libargon2 yet
-EXTRA_OECONF += "--disable-libargon2"
-
-FILES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.7.2.bb b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.7.2.bb
new file mode 100644
index 0000000000..504c718b96
--- /dev/null
+++ b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.7.2.bb
@@ -0,0 +1,117 @@
+SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
+DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
+device-mapper mappings. These include plain dm-crypt volumes and \
+LUKS volumes. The difference is that LUKS uses a metadata header \
+and can hence offer more features than plain dm-crypt. On the other \
+hand, the header is visible and vulnerable to damage."
+HOMEPAGE = "https://gitlab.com/cryptsetup/cryptsetup"
+SECTION = "console"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
+
+DEPENDS = " \
+ json-c \
+ libdevmapper \
+ popt \
+ util-linux-libuuid \
+"
+
+DEPENDS:append:libc-musl = " argp-standalone"
+LDFLAGS:append:libc-musl = " -largp"
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "219ebf74e8eddf96624a0376477e5a6f8f350a67aaf36e7dadb114d94b3afef4"
+
+inherit autotools gettext pkgconfig
+
+# Use openssl because libgcrypt drops root privileges
+# if libgcrypt is linked with libcap support
+PACKAGECONFIG ??= " \
+ keyring \
+ cryptsetup \
+ veritysetup \
+ luks2-reencryption \
+ integritysetup \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
+ kernel_crypto \
+ internal-argon2 \
+ blkid \
+ luks-adjust-xts-keysize \
+ openssl \
+ ssh-token \
+"
+PACKAGECONFIG:append:class-target = " \
+ udev \
+"
+
+PACKAGECONFIG[keyring] = "--enable-keyring,--disable-keyring"
+PACKAGECONFIG[fips] = "--enable-fips,--disable-fips"
+PACKAGECONFIG[pwquality] = "--enable-pwquality,--disable-pwquality,libpwquality"
+PACKAGECONFIG[passwdqc] = "--enable-passwdqc,--disable-passwdqc,passwdqc"
+PACKAGECONFIG[cryptsetup] = "--enable-cryptsetup,--disable-cryptsetup"
+PACKAGECONFIG[veritysetup] = "--enable-veritysetup,--disable-veritysetup"
+PACKAGECONFIG[luks2-reencryption] = "--enable-luks2-reencryption,--disable-luks2-reencryption"
+PACKAGECONFIG[integritysetup] = "--enable-integritysetup,--disable-integritysetup"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,,udev lvm2-udevrules"
+PACKAGECONFIG[kernel_crypto] = "--enable-kernel_crypto,--disable-kernel_crypto"
+# gcrypt-pkbdf2 requries --with-crypto_backend=gcrypt or the flag isn't
+# recognized.
+PACKAGECONFIG[gcrypt-pbkdf2] = "--enable-gcrypt-pbkdf2"
+PACKAGECONFIG[internal-argon2] = "--enable-internal-argon2,--disable-internal-argon2"
+PACKAGECONFIG[internal-sse-argon2] = "--enable-internal-sse-argon2,--disable-internal-sse-argon2"
+PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
+PACKAGECONFIG[dev-random] = "--enable-dev-random,--disable-dev-random"
+PACKAGECONFIG[luks-adjust-xts-keysize] = "--enable-luks-adjust-xts-keysize,--disable-luks-adjust-xts-keysize"
+PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
+PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
+PACKAGECONFIG[nss] = "--with-crypto_backend=nss,,nss"
+PACKAGECONFIG[kernel] = "--with-crypto_backend=kernel"
+PACKAGECONFIG[nettle] = "--with-crypto_backend=nettle,,nettle"
+PACKAGECONFIG[luks2] = "--with-default-luks-format=LUKS2,--with-default-luks-format=LUKS1"
+PACKAGECONFIG[ssh-token] = "--enable-ssh-token,--disable-ssh-token,libssh"
+
+EXTRA_OECONF = "--enable-static"
+# Building without largefile is not supported by upstream
+EXTRA_OECONF += "--enable-largefile"
+# Requires a static popt library
+EXTRA_OECONF += "--disable-static-cryptsetup"
+# There's no recipe for libargon2 yet
+EXTRA_OECONF += "--disable-libargon2"
+# Disable documentation, there is no asciidoctor-native available in OE
+EXTRA_OECONF += "--disable-asciidoc"
+# libcryptsetup default PBKDF algorithm, Argon2 memory cost (KB), parallel threads and iteration time (ms)
+LUKS2_PBKDF ?= "argon2i"
+LUKS2_MEMORYKB ?= "1048576"
+LUKS2_PARALLEL_THREADS ?= "4"
+LUKS2_ITERTIME ?= "2000"
+
+EXTRA_OECONF += "--with-luks2-pbkdf=${LUKS2_PBKDF} \
+ --with-luks2-memory-kb=${LUKS2_MEMORYKB} \
+ --with-luks2-parallel-threads=${LUKS2_PARALLEL_THREADS} \
+ --with-luks2-iter-time=${LUKS2_ITERTIME}"
+
+do_install:append() {
+ # The /usr/lib/cryptsetup directory is always created, even when ssh-token
+ # is disabled. In that case it is empty and causes a packaging error. Since
+ # there is no reason to distribute the empty directory, the easiest solution
+ # is to remove it if it is empty.
+ rmdir -p --ignore-fail-on-non-empty ${D}${libdir}/${BPN}
+}
+
+FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/cryptsetup.conf', '', d)}"
+
+RDEPENDS:${PN} = " \
+ libdevmapper \
+"
+
+RRECOMMENDS:${PN}:class-target = " \
+ kernel-module-aes-generic \
+ kernel-module-dm-crypt \
+ kernel-module-md5 \
+ kernel-module-cbc \
+ kernel-module-sha256-generic \
+ kernel-module-xts \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.3.bb b/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.3.bb
deleted file mode 100644
index 9b1ba4f2ea..0000000000
--- a/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.3.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Userspace utilities for fs-verity"
-DESCRIPTION = "fs-verity is a Linux kernel feature that does transparent \
-on-demand integrity/authenticity verification of the contents of read-only \
-files, using a hidden Merkle tree (hash tree) associated with the file. The \
-mechanism is similar to dm-verity, but implemented at the file level rather \
-than at the block device level."
-HOMEPAGE = "https://www.kernel.org/doc/html/latest/filesystems/fsverity.html"
-SECTION = "console"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bc974d217b525ea216a336adb73e1220"
-
-SRCREV = "a92b1a54b003879322c044adf0ae3ea3e95e7348"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/fsverity-utils.git"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "openssl"
-
-EXTRA_OEMAKE_append = "PREFIX=${prefix} USE_SHARED_LIB=1"
-# We want to statically link the binary to libfsverity on native Windows
-EXTRA_OEMAKE_remove_mingw32_class-nativesdk = "USE_SHARED_LIB=1"
-EXTRA_OEMAKE_remove_mingw32_class-native = "USE_SHARED_LIB=1"
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-PACKAGES =+ "libfsverity"
-FILES_libfsverity = "${libdir}/libfsverity*${SOLIBS}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.5.bb b/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.5.bb
new file mode 100644
index 0000000000..1c2c6e21e0
--- /dev/null
+++ b/meta-oe/recipes-crypto/fsverity-utils/fsverity-utils_1.5.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Userspace utilities for fs-verity"
+DESCRIPTION = "fs-verity is a Linux kernel feature that does transparent \
+on-demand integrity/authenticity verification of the contents of read-only \
+files, using a hidden Merkle tree (hash tree) associated with the file. The \
+mechanism is similar to dm-verity, but implemented at the file level rather \
+than at the block device level."
+HOMEPAGE = "https://www.kernel.org/doc/html/latest/filesystems/fsverity.html"
+SECTION = "console"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bc974d217b525ea216a336adb73e1220"
+
+SRCREV = "20e87c13075a8e5660a8d69fd6c93d4f7c5f01a5"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/fsverity-utils.git;branch=master"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "openssl"
+
+EXTRA_OEMAKE:append = " PREFIX=${prefix} LIBDIR=${libdir} USE_SHARED_LIB=1"
+# We want to statically link the binary to libfsverity on native Windows
+EXTRA_OEMAKE:remove:mingw32:class-nativesdk = "USE_SHARED_LIB=1"
+EXTRA_OEMAKE:remove:mingw32:class-native = "USE_SHARED_LIB=1"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+PACKAGES =+ "libfsverity"
+FILES:libfsverity = "${libdir}/libfsverity*${SOLIBS}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch b/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch
deleted file mode 100644
index 9d9f63e34d..0000000000
--- a/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 771dd6aa45dd0bbbb7d7c7a7b116e1b5666fbd7a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Nov 2020 18:05:48 -0800
-Subject: [PATCH] Disable use of __NR_io_getevents when not defined
-
-Architectures like riscv32 do not define this syscall, therefore return
-ENOSYS on such architectures
-
-Upstream-Status: Submitted [https://github.com/smuellerDD/libkcapi/pull/100]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/internal.h | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
---- a/lib/internal.h
-+++ b/lib/internal.h
-@@ -325,10 +325,17 @@ static inline int io_submit(aio_context_
- return syscall(__NR_io_submit, ctx, n, iocb);
- }
-
--static inline int io_getevents(aio_context_t ctx, long min, long max,
-- struct io_event *events, struct timespec *timeout)
-+static inline int io_getevents(__attribute__((unused)) aio_context_t ctx,
-+ __attribute__((unused)) long min,
-+ __attribute__((unused)) long max,
-+ __attribute__((unused)) struct io_event *events,
-+ __attribute__((unused)) struct timespec *timeout)
- {
-+#ifdef __NR_io_getevents
- return syscall(__NR_io_getevents, ctx, min, max, events, timeout);
-+#else
-+ return -ENOSYS;
-+#endif
- }
-
- /************************************************************
diff --git a/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb b/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb
deleted file mode 100644
index e76fba09c3..0000000000
--- a/meta-oe/recipes-crypto/libkcapi/libkcapi_1.2.1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Linux Kernel Crypto API User Space Interface Library"
-HOMEPAGE = "http://www.chronox.de/libkcapi.html"
-LICENSE = "BSD | GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c78be93ed8d1637f2a3f4a83ff9d5f54"
-
-DEPENDS = "libtool"
-
-S = "${WORKDIR}/git"
-SRCREV = "d41284525ec8960e9a828979cfe269012b7df8db"
-SRC_URI = "git://github.com/smuellerDD/libkcapi.git \
- file://0001-Disable-use-of-__NR_io_getevents-when-not-defined.patch \
- "
-
-inherit autotools
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash"
-PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,,"
-
-do_install_append() {
- # bindir contains testapp and apps. However it is always created, even
- # when no binaries are installed (empty bin_PROGRAMS in Makefile.am),
- rmdir --ignore-fail-on-non-empty ${D}${bindir}
-
- # Remove the generated binary checksum files
- rm -f ${D}${bindir}/.*.hmac
- rm -f ${D}${libdir}/.*.hmac
-}
-
-CPPFLAGS_append_libc-musl_toolchain-clang = " -Wno-error=sign-compare"
diff --git a/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb b/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb
new file mode 100644
index 0000000000..a34614dd9d
--- /dev/null
+++ b/meta-oe/recipes-crypto/libkcapi/libkcapi_1.5.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Linux Kernel Crypto API User Space Interface Library"
+HOMEPAGE = "https://www.chronox.de/libkcapi/index.html"
+LICENSE = "BSD-3-Clause | GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3d8a091d797491204567185a6efce70f"
+
+S = "${WORKDIR}/git"
+SRCREV = "fc937358e71253a6efaa3ba74885364976b040ea"
+SRC_URI = "git://github.com/smuellerDD/libkcapi.git;branch=master;protocol=https \
+ "
+
+inherit autotools
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[testapp] = "--enable-kcapi-test,,,bash"
+PACKAGECONFIG[apps] = "--enable-kcapi-speed --enable-kcapi-hasher --enable-kcapi-rngapp --enable-kcapi-encapp --enable-kcapi-dgstapp,,,"
+PACKAGECONFIG[hasher_only] = "--enable-kcapi-hasher --disable-lib-kdf --disable-lib-sym --disable-lib-aead --disable-lib-rng,,,"
+
+do_install:append() {
+ # bindir contains testapp and apps. However it is always created, even
+ # when no binaries are installed (empty bin_PROGRAMS in Makefile.am),
+ rmdir --ignore-fail-on-non-empty ${D}${bindir}
+
+ # Remove the generated binary checksum files
+ rm -f ${D}${bindir}/.*.hmac
+ rm -f ${D}${libdir}/.*.hmac
+}
+
+CPPFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare"
+CPPFLAGS:remove:libc-musl:toolchain-clang = "-Wno-error=sign-conversion"
+CPPFLAGS:append:libc-musl = " -Wno-error=sign-conversion"
+
+BBCLASSEXTEND = "native"
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 0c5fc93190..cfa056d71d 100644
--- a/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
+++ b/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
@@ -1,6 +1,6 @@
SUMMARY = "Replacement for the old crypt() package and crypt(1) command, with extensions"
HOMEPAGE = "http://mcrypt.sourceforge.net/"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff"
DEPENDS = "libtool"
@@ -12,7 +12,9 @@ SRC_URI[sha256sum] = "e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d2
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/mcrypt/files/Libmcrypt/"
UPSTREAM_CHECK_REGEX = "Libmcrypt/(?P<pver>\d+(\.\d+)+)/"
-inherit autotools-brokensep gettext binconfig
+inherit autotools-brokensep gettext binconfig multilib_script
+
+CFLAGS += "-Wno-error=implicit-int"
do_configure() {
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
@@ -26,3 +28,5 @@ do_configure() {
}
CLEANBROKEN = "1"
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/libmcrypt-config"
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch b/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch
new file mode 100644
index 0000000000..7a6fae7997
--- /dev/null
+++ b/meta-oe/recipes-crypto/libsodium/libsodium/0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch
@@ -0,0 +1,49 @@
+From d3253310f7c0fc0f1aad6864e3b57958ea1bb9c5 Mon Sep 17 00:00:00 2001
+From: tux3 <barrdetwix@gmail.com>
+Date: Mon, 16 Oct 2023 16:42:04 +0200
+Subject: [PATCH] fix(aarch64): Move target #pragma after arm_neon.h include
+
+Fix per https://github.com/android/ndk/issues/1945
+
+If the pragma is done before the header include,
+in NDK 26 the attribute may apply to the functions in arm_neon.h
+
+Upstream-Status: Backport [https://github.com/jedisct1/libsodium/pull/1321]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
+index 0a5a128..aa76f5c 100644
+--- a/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
++++ b/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
+@@ -19,12 +19,6 @@
+ #define __vectorcall
+ #endif
+
+-#ifdef __clang__
+-#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
+-#elif defined(__GNUC__)
+-#pragma GCC target("+simd+crypto")
+-#endif
+-
+ #ifndef __ARM_FEATURE_CRYPTO
+ #define __ARM_FEATURE_CRYPTO 1
+ #endif
+@@ -34,6 +28,12 @@
+
+ #include <arm_neon.h>
+
++#ifdef __clang__
++#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
++#elif defined(__GNUC__)
++#pragma GCC target("+simd+crypto")
++#endif
++
+ #define ABYTES crypto_aead_aes256gcm_ABYTES
+ #define NPUBBYTES crypto_aead_aes256gcm_NPUBBYTES
+ #define KEYBYTES crypto_aead_aes256gcm_KEYBYTES
+--
+2.42.1
+
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb
deleted file mode 100644
index 53b3ddc26f..0000000000
--- a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.18.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "The Sodium crypto library"
-HOMEPAGE = "http://libsodium.org/"
-BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=47203c753972e855179dfffe15188bee"
-
-SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "3ca9ebc13b6b4735acae0a6a4c4f9a95"
-SRC_URI[sha256sum] = "6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1"
-
-inherit autotools
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb
new file mode 100644
index 0000000000..2e678f3f0f
--- /dev/null
+++ b/meta-oe/recipes-crypto/libsodium/libsodium_1.0.19.bb
@@ -0,0 +1,14 @@
+SUMMARY = "The Sodium crypto library"
+HOMEPAGE = "http://libsodium.org/"
+BUGTRACKER = "https://github.com/jedisct1/libsodium/issues"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=49ce3b426e6a002e23a1387248e6dbe9"
+
+SRC_URI = "https://download.libsodium.org/libsodium/releases/${BPN}-${PV}.tar.gz \
+ file://0001-fix-aarch64-Move-target-pragma-after-arm_neon.h-incl.patch"
+SRC_URI[sha256sum] = "018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea"
+
+inherit autotools
+
+S = "${WORKDIR}/libsodium-stable"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt/CVE-2019-17362.patch b/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt/CVE-2019-17362.patch
new file mode 100644
index 0000000000..8b7348a11f
--- /dev/null
+++ b/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt/CVE-2019-17362.patch
@@ -0,0 +1,25 @@
+From 25c26a3b7a9ad8192ccc923e15cf62bf0108ef94 Mon Sep 17 00:00:00 2001
+From: werew <werew@ret2libc.com>
+Date: Thu, 3 Oct 2019 19:57:10 +0200
+Subject: [PATCH] Fixes #507
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+Upstream-Status: Backport [https://github.com/libtom/libtomcrypt/commit/64d1153e5a515740ab56f39c46baf4cf6991a9d3]
+
+ src/pk/asn1/der/utf8/der_decode_utf8_string.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pk/asn1/der/utf8/der_decode_utf8_string.c b/src/pk/asn1/der/utf8/der_decode_utf8_string.c
+index 94555b99f..d3ed82bea 100644
+--- a/src/pk/asn1/der/utf8/der_decode_utf8_string.c
++++ b/src/pk/asn1/der/utf8/der_decode_utf8_string.c
+@@ -65,7 +65,7 @@ int der_decode_utf8_string(const unsigned char *in, unsigned long inlen,
+ /* count number of bytes */
+ for (z = 0; (tmp & 0x80) && (z <= 4); z++, tmp = (tmp << 1) & 0xFF);
+
+- if (z > 4 || (x + (z - 1) > inlen)) {
++ if (z == 1 || z > 4 || (x + (z - 1) > inlen)) {
+ return CRYPT_INVALID_PACKET;
+ }
+
diff --git a/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb b/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
new file mode 100644
index 0000000000..5479007d92
--- /dev/null
+++ b/meta-oe/recipes-crypto/libtomcrypt/libtomcrypt_1.18.2.bb
@@ -0,0 +1,41 @@
+SUMMARY = "LibTomCrypt is a public domain open source cryptographic toolkit"
+HOMEPAGE = "https://www.libtom.net/LibTomCrypt"
+SECTION = "libs"
+# Unlicense isn't very accurate for this revision, it was WTFPL in 0.18.0-rc1:
+# https://github.com/libtom/libtomcrypt/commit/77e31fb6a980212e90b9a50f116dc5a7bd91e527
+# then updated to dual license PD and WTFPL also in 0.18.0-rc1:
+# https://github.com/libtom/libtomcrypt/commit/412b2ee1fccc3a0df58f93f372c90d6d0f93bfc9
+# and then updated again to Unlicense after the 0.18.2 tag (it's only in develop branch):
+# https://github.com/libtom/libtomcrypt/commit/3630bee6fc0f73dd9c7923fd43f8ae15a2c0fb70
+# but keep using Unlicense to avoid triggering people with WTFPL license:
+# https://groups.google.com/g/libtom/c/17Z7xkECULM
+# and this comment can be removed next time libtomcrypt is updated
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=71baacc459522324ef3e2b9e052e8180"
+
+DEPENDS = "libtool-cross"
+
+SRC_URI = "git://github.com/libtom/libtomcrypt.git;protocol=https;branch=master \
+ file://CVE-2019-17362.patch \
+"
+
+SRCREV = "7e7eb695d581782f04b24dc444cbfde86af59853"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+PACKAGECONFIG ??= "ltm"
+PACKAGECONFIG[ltm] = ",,libtommath"
+
+CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'ltm', '-DUSE_LTM -DLTM_DESC', '', d)}"
+
+EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'LIBPATH=${libdir}' 'CFLAGS=${CFLAGS}'"
+
+do_compile() {
+ oe_runmake -f makefile.shared
+}
+
+do_install() {
+ oe_runmake -f makefile.shared install
+}
diff --git a/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb b/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb
new file mode 100644
index 0000000000..813c6ec4c8
--- /dev/null
+++ b/meta-oe/recipes-crypto/monocypher/monocypher_4.0.2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Monocypher is an easy-to-use crypto library"
+DESCRIPTION = "Monocypher is an easy to use, easy to deploy, \
+auditable crypto library written in portable C. It approaches the size of TweetNaCl and the speed of libsodium."
+HOMEPAGE = "https://monocypher.org/"
+SECTION = "libs"
+LICENSE = "BSD-2-Clause | CC0-1.0"
+LIC_FILES_CHKSUM = "file://LICENCE.md;md5=ff30a1c41dfd9e6fa559a9e45ee98302"
+
+SRC_URI = "https://monocypher.org/download/${BPN}-${PV}.tar.gz"
+SRC_URI[sha512sum] = "bf275d4c53ff94af6cdc723a4e002e9f080f4d1436c86c76bb37870b34807f1d7b32331d8ff8a1aeb369e946f3769021e03e63efac25b82efc5abf54dc084714"
+
+MIRRORS = "https://.*/.* https://github.com/LoupVaillant/Monocypher/releases/download/${PV}/${BPN}-${PV}.tar.gz "
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+CFLAGS += "-pedantic -Wall -Wextra -O3"
+EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'CFLAGS=${CFLAGS}' 'LIBDIR=${libdir}'"
+
+do_compile() {
+ oe_runmake library
+}
+
+do_install() {
+ oe_runmake install-lib
+ oe_runmake install-pc
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.27.bb b/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.27.bb
deleted file mode 100644
index a7365f193a..0000000000
--- a/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.27.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "A library for using PKCS"
-DESCRIPTION = "pkcs11-helper is a library that simplifies the interaction with PKCS \
-providers for end-user applications using a simple API and optional OpenSSL \
-engine. The library allows using multiple PKCS enumerating available token \
-certificates, or selecting a certificate directly by serialized id, handling \
-card removal and card insert events, handling card ie-insert to a different \
-slot, supporting session expiration and much more all using a simple API."
-
-HOMEPAGE = "http://www.opensc-project.org/pkcs11-helper/"
-SECTION = "Development/Libraries"
-
-LICENSE = "GPLv2 & BSD"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=30f10d22cfb1ba98ccd714a41ad3311a \
- file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \
- file://COPYING.BSD;md5=66b7a37c3c10483c1fd86007726104d7 \
-"
-SRC_URI = "git://github.com/OpenSC/${BPN}.git"
-
-S = "${WORKDIR}/git"
-# v1.27
-SRCREV = "564a582d600c7eec7b8e303a22b575fd52622174"
-
-UPSTREAM_CHECK_GITTAGREGEX = "pkcs11-helper-(?P<pver>\d+(\.\d+)+)"
-
-DEPENDS = "zlib nettle gnutls gmp openssl nss nspr"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-static"
diff --git a/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.30.0.bb b/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.30.0.bb
new file mode 100644
index 0000000000..d3922cf79e
--- /dev/null
+++ b/meta-oe/recipes-crypto/pkcs11-helper/pkcs11-helper_1.30.0.bb
@@ -0,0 +1,31 @@
+SUMMARY = "A library for using PKCS"
+DESCRIPTION = "pkcs11-helper is a library that simplifies the interaction with PKCS \
+providers for end-user applications using a simple API and optional OpenSSL \
+engine. The library allows using multiple PKCS enumerating available token \
+certificates, or selecting a certificate directly by serialized id, handling \
+card removal and card insert events, handling card ie-insert to a different \
+slot, supporting session expiration and much more all using a simple API."
+
+HOMEPAGE = "https://github.com/OpenSC/pkcs11-helper"
+SECTION = "Development/Libraries"
+
+LICENSE = "GPL-2.0-only & BSD-3-Clause"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=30f10d22cfb1ba98ccd714a41ad3311a \
+ file://COPYING.GPL;md5=8a71d0475d08eee76d8b6d0c6dbec543 \
+ file://COPYING.BSD;md5=66b7a37c3c10483c1fd86007726104d7 \
+"
+SRC_URI = "git://github.com/OpenSC/${BPN}.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+# master
+SRCREV = "8bed16034f629a0361fa8ff89deed2b43dc45d8b"
+PV .= "+1.30.0+git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "pkcs11-helper-(?P<pver>\d+(\.\d+)+)"
+
+DEPENDS = "zlib nettle gnutls gmp openssl nss nspr"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-static"
diff --git a/meta-oe/recipes-dbs/influxdb/influxdb/0001-Use-v2.1.2-xxhash-to-fix-build-with-go-1.17.patch b/meta-oe/recipes-dbs/influxdb/influxdb/0001-Use-v2.1.2-xxhash-to-fix-build-with-go-1.17.patch
new file mode 100644
index 0000000000..e31c7be1ec
--- /dev/null
+++ b/meta-oe/recipes-dbs/influxdb/influxdb/0001-Use-v2.1.2-xxhash-to-fix-build-with-go-1.17.patch
@@ -0,0 +1,39 @@
+From 4ca405e9763fd0ba747ef00edd30648b66992fbb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 30 Nov 2021 15:14:39 -0800
+Subject: [PATCH] Use v2.1.2 xxhash to fix build with go 1.17
+
+Fixes
+| # github.com/cespare/xxhash
+| asm: xxhash_amd64.s:120: when dynamic linking, R15 is clobbered by a global variable access and is used here: 000
+92 (/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux/influxdb/1.8.10-r0/build/pkg/mod/github.com/cespare/xxhash@
+v1.1.0/xxhash_amd64.s:120) ADDQ R15, AX
+| asm: assembly failed
+
+Upstream-Status: Backport [https://github.com/cespare/xxhash/commit/e7a6b52374f7e2abfb8abb27249d53a1997b09a7]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ go.mod | 3 ++-
+ go.sum | 2 ++
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+--- a/go.mod
++++ b/go.mod
+@@ -55,3 +55,5 @@ require (
+ gonum.org/v1/gonum v0.6.0 // indirect
+ google.golang.org/grpc v1.26.0
+ )
++
++replace github.com/cespare/xxhash => github.com/kraj/xxhash v1.1.1-0.20211201014032-8254a11eab56
+--- a/go.sum
++++ b/go.sum
+@@ -188,6 +188,8 @@ github.com/kr/pretty v0.1.0/go.mod h1:dA
+ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
+ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
++github.com/kraj/xxhash v1.1.1-0.20211201014032-8254a11eab56 h1:hCQ0jTkNInQ7PpNeGlSV9s+QMi6nUyyMuz37Bg3TduE=
++github.com/kraj/xxhash v1.1.1-0.20211201014032-8254a11eab56/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+ github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
+ github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
+ github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=
diff --git a/meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch b/meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch
index 6e87b9d91e..b05fd3666b 100644
--- a/meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch
+++ b/meta-oe/recipes-dbs/influxdb/influxdb/0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch
@@ -3,7 +3,7 @@ From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 11 Jan 2021 15:16:57 -0800
Subject: [PATCH] patch term module for mips ispeed/ospeed termios absense
-Upstream-Status: OE-Specific [needed on mips]
+Upstream-Status: Inappropriate [OE-Specific needed on mips]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
@@ -12,20 +12,20 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/go.mod
+++ b/go.mod
-@@ -54,3 +54,5 @@ require (
- gonum.org/v1/gonum v0.6.0 // indirect
+@@ -56,4 +56,5 @@ require (
google.golang.org/grpc v1.26.0
)
-+
+
+replace github.com/pkg/term => github.com/kraj/term v0.0.0-20210111231523-7c42fcb0e627
+ replace github.com/cespare/xxhash => github.com/kraj/xxhash v1.1.1-0.20211201014032-8254a11eab56
--- a/go.sum
+++ b/go.sum
-@@ -215,6 +215,8 @@ github.com/kr/pretty v0.1.0/go.mod h1:dA
+@@ -188,6 +188,8 @@ github.com/kr/pretty v0.1.0/go.mod h1:dA
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/kraj/term v0.0.0-20210111231523-7c42fcb0e627 h1:3/XXm86KqrOZEJvEmFlzl3NTFA99n5Pd/cSXl60LmuA=
+github.com/kraj/term v0.0.0-20210111231523-7c42fcb0e627/go.mod h1:BYR4E+NOQrH+NhXE71KuBNmyR1lQ+yDvP+O3IIHO5bM=
+ github.com/kraj/xxhash v1.1.1-0.20211201014032-8254a11eab56 h1:hCQ0jTkNInQ7PpNeGlSV9s+QMi6nUyyMuz37Bg3TduE=
+ github.com/kraj/xxhash v1.1.1-0.20211201014032-8254a11eab56/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A=
- github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
- github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4=
diff --git a/meta-oe/recipes-dbs/influxdb/influxdb_1.7.10.bb b/meta-oe/recipes-dbs/influxdb/influxdb_1.7.10.bb
deleted file mode 100644
index 06f7947642..0000000000
--- a/meta-oe/recipes-dbs/influxdb/influxdb_1.7.10.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-DESCRIPTION = "InfluxDB is a time series database designed to handle high write and query loads."
-HOMEPAGE = "https://www.influxdata.com/products/influxdb-overview/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=ba8146ad9cc2a128209983265136e06a"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-RDEPENDS_${PN} = "bash"
-RDEPENDS_${PN}-dev = "bash"
-
-GO_IMPORT = "github.com/influxdata/influxdb"
-
-GO_INSTALL = "\
- ${GO_IMPORT}/cmd/influx \
- ${GO_IMPORT}/cmd/influxd \
-"
-
-SRC_URI = "\
- git://${GO_IMPORT};protocol=https;branch=1.7;destsuffix=${BPN}-${PV}/src/${GO_IMPORT} \
- file://influxdb \
- file://influxdb.conf \
-"
-
-SRC_URI_append_mipsarch = " file://0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch;patchdir=src/${GO_IMPORT}"
-
-SRCREV = "c958f436b2e538a88a7815aad721c7774a0b8f63"
-
-inherit go-mod systemd update-rc.d useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system -d /var/lib/influxdb -m -s /bin/nologin influxdb"
-
-do_install_prepend() {
- rm ${B}/src/${GO_IMPORT}/build.py
- rm ${B}/src/${GO_IMPORT}/build.sh
- rm ${B}/src/${GO_IMPORT}/Dockerfile*
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/influxdb
- install -m 0644 ${WORKDIR}/influxdb.conf ${D}${sysconfdir}/influxdb
- chown -R root.influxdb ${D}${sysconfdir}/influxdb
-
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/influxdb ${D}${sysconfdir}/init.d/influxdb
-
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ] ; then
- install -d ${D}${sysconfdir}/logrotate.d
- install -m 0644 ${S}/src/${GO_IMPORT}/scripts/logrotate ${D}${sysconfdir}/logrotate.d/influxdb
- fi
-
- if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ] ; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/src/${GO_IMPORT}/scripts/influxdb.service ${D}${systemd_system_unitdir}/influxdb.service
- fi
-
- # TODO chown
-}
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME = "influxdb"
-INITSCRIPT_PARAMS = "defaults"
-
-SYSTEMD_SERVICE_${PN} = "influxdb.service"
diff --git a/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb b/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb
new file mode 100644
index 0000000000..5301071516
--- /dev/null
+++ b/meta-oe/recipes-dbs/influxdb/influxdb_1.8.10.bb
@@ -0,0 +1,76 @@
+DESCRIPTION = "InfluxDB is a time series database designed to handle high write and query loads."
+HOMEPAGE = "https://www.influxdata.com/products/influxdb-overview/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=f39a8d10930fb37bd59adabb3b9d0bd6"
+
+RDEPENDS:${PN} = "bash"
+RDEPENDS:${PN}-dev = "bash"
+
+GO_IMPORT = "github.com/influxdata/influxdb"
+
+GO_INSTALL = "\
+ ${GO_IMPORT}/cmd/influx \
+ ${GO_IMPORT}/cmd/influxd \
+"
+
+SRC_URI = "\
+ git://${GO_IMPORT};protocol=https;branch=1.8;destsuffix=${BPN}-${PV}/src/${GO_IMPORT} \
+ file://0001-Use-v2.1.2-xxhash-to-fix-build-with-go-1.17.patch;patchdir=src/${GO_IMPORT} \
+ file://influxdb \
+ file://influxdb.conf \
+"
+
+SRC_URI:append:mipsarch = " file://0001-patch-term-module-for-mips-ispeed-ospeed-termios-abs.patch;patchdir=src/${GO_IMPORT}"
+
+SRCREV = "688e697c51fd5353725da078555adbeff0363d01"
+
+inherit go-mod pkgconfig systemd update-rc.d useradd
+
+export GOPROXY = "https://proxy.golang.org,direct"
+
+# Workaround for network access issue during compile step
+# this needs to be fixed in the recipes buildsystem to move
+# this such that it can be accomplished during do_fetch task
+do_compile[network] = "1"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system -d /var/lib/influxdb -m -s /bin/nologin influxdb"
+
+do_install:prepend() {
+ rm ${B}/src/${GO_IMPORT}/build.py
+ rm ${B}/src/${GO_IMPORT}/build.sh
+ rm ${B}/src/${GO_IMPORT}/Dockerfile*
+ sed -i -e "s#usr/bin/sh#bin/sh#g" ${B}/src/${GO_IMPORT}/scripts/ci/run_perftest.sh
+}
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/influxdb
+ install -m 0644 ${WORKDIR}/influxdb.conf ${D}${sysconfdir}/influxdb
+ chown -R root:influxdb ${D}${sysconfdir}/influxdb
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/influxdb ${D}${sysconfdir}/init.d/influxdb
+
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ] ; then
+ install -d ${D}${sysconfdir}/logrotate.d
+ install -m 0644 ${S}/src/${GO_IMPORT}/scripts/logrotate ${D}${sysconfdir}/logrotate.d/influxdb
+ fi
+
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ] ; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/src/${GO_IMPORT}/scripts/influxdb.service ${D}${systemd_system_unitdir}/influxdb.service
+ install -d ${D}${libdir}/influxdb/scripts
+ install -m 0755 ${S}/src/${GO_IMPORT}/scripts/influxd-systemd-start.sh ${D}${libdir}/influxdb/scripts/influxd-systemd-start.sh
+ fi
+
+ # TODO chown
+}
+
+FILES:${PN} += "${libdir}/influxdb/scripts/influxd-systemd-start.sh"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME = "influxdb"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_SERVICE:${PN} = "influxdb.service"
diff --git a/meta-oe/recipes-dbs/leveldb/leveldb/0001-CMakeLists.txt-fix-googletest-related-options.patch b/meta-oe/recipes-dbs/leveldb/leveldb/0001-CMakeLists.txt-fix-googletest-related-options.patch
new file mode 100644
index 0000000000..b0bfb8bf16
--- /dev/null
+++ b/meta-oe/recipes-dbs/leveldb/leveldb/0001-CMakeLists.txt-fix-googletest-related-options.patch
@@ -0,0 +1,55 @@
+From 77da477840f89da7ced29da315de77571e8f190e Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Fri, 20 Oct 2023 22:57:48 +0200
+Subject: [PATCH] CMakeLists.txt: fix googletest related options
+
+* https://cmake.org/cmake/help/book/mastering-cmake/chapter/Writing%20CMakeLists%20Files.html
+ says that CMake options are case-sensitive and I don't see lower-case version in
+ currently used googletest submodules and gtest is indeed installed with leveldb
+
+* install_gmock option I don't see at all, so I've kept it as is, INSTALL_GTEST, BUILD_GMOCK
+ do exist as upper-case
+
+$ grep -Ri install_.*mock .
+./CMakeLists.txt: set(install_gmock OFF)
+./third_party/googletest/googlemock/CMakeLists.txt:install_project(gmock gmock_main)
+$ grep -Ri build_gmock .
+./CMakeLists.txt: set(BUILD_GMOCK ON)
+./third_party/googletest/googletest/README.md:cmake .. -DBUILD_GMOCK=OFF
+./third_party/googletest/CMakeLists.txt:option(BUILD_GMOCK "Builds the googlemock subproject" ON)
+./third_party/googletest/CMakeLists.txt:if(BUILD_GMOCK)
+$ grep -Ri install_gtest .
+./CMakeLists.txt: set(INSTALL_GTEST OFF)
+./third_party/googletest/googletest/cmake/internal_utils.cmake: if(INSTALL_GTEST)
+./third_party/googletest/googletest/CMakeLists.txt:if (INSTALL_GTEST)
+./third_party/googletest/CMakeLists.txt:option(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" ON)
+
+* also use CACHE and FORCE as sugested in:
+ https://cmake.org/cmake/help/latest/command/set.html
+ https://stackoverflow.com/questions/20239334/cmake-set-subdirectory-options
+ for the value to correctly propagate into third_party/googletest subdirectory
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/google/leveldb/pull/1152]
+
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fda9e01..f8a2629 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -295,9 +295,9 @@ if(LEVELDB_BUILD_TESTS)
+
+ # Prevent overriding the parent project's compiler/linker settings on Windows.
+ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
+- set(install_gtest OFF)
+- set(install_gmock OFF)
+- set(build_gmock ON)
++ set(INSTALL_GTEST OFF CACHE BOOL "" FORCE)
++ set(install_gmock OFF CACHE BOOL "" FORCE)
++ set(BUILD_GMOCK ON CACHE BOOL "" FORCE)
+
+ # This project is tested using GoogleTest.
+ add_subdirectory("third_party/googletest")
diff --git a/meta-oe/recipes-dbs/leveldb/leveldb/0001-Fix-printing-64-bit-integer-types.patch b/meta-oe/recipes-dbs/leveldb/leveldb/0001-Fix-printing-64-bit-integer-types.patch
new file mode 100644
index 0000000000..b9f45e773d
--- /dev/null
+++ b/meta-oe/recipes-dbs/leveldb/leveldb/0001-Fix-printing-64-bit-integer-types.patch
@@ -0,0 +1,43 @@
+From 1ccdb7513a7a0f24b8ce3b6766e52e690874bc64 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 17 Oct 2023 19:08:12 -0700
+Subject: [PATCH] Fix printing 64-bit integer types
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ db/db_impl.cc | 5 +++--
+ db/version_edit.h | 1 +
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+--- a/db/db_impl.cc
++++ b/db/db_impl.cc
+@@ -5,6 +5,7 @@
+ #include "db/db_impl.h"
+
+ #include <algorithm>
++#include <cinttypes>
+ #include <atomic>
+ #include <cstdint>
+ #include <cstdio>
+@@ -520,8 +521,8 @@ Status DBImpl::WriteLevel0Table(MemTable
+ mutex_.Lock();
+ }
+
+- Log(options_.info_log, "Level-0 table #%llu: %lld bytes %s",
+- (unsigned long long)meta.number, (unsigned long long)meta.file_size,
++ Log(options_.info_log, "Level-0 table #%" PRIu64 " : %" PRIu64 " bytes %s",
++ meta.number, meta.file_size,
+ s.ToString().c_str());
+ delete iter;
+ pending_outputs_.erase(meta.number);
+--- a/db/version_edit.h
++++ b/db/version_edit.h
+@@ -5,6 +5,7 @@
+ #ifndef STORAGE_LEVELDB_DB_VERSION_EDIT_H_
+ #define STORAGE_LEVELDB_DB_VERSION_EDIT_H_
+
++#include <cstdint>
+ #include <set>
+ #include <utility>
+ #include <vector>
diff --git a/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb b/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
deleted file mode 100644
index b597ef1ea8..0000000000
--- a/meta-oe/recipes-dbs/leveldb/leveldb_1.22.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "LevelDB is a fast key-value storage library"
-DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values"
-HOMEPAGE = "https://github.com/google/leveldb"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
-
-SRC_URI = "git://github.com/google/${BPN}.git \
- file://run-ptest"
-
-SRCREV = "78b39d68c15ba020c0d60a3906fb66dbf1697595"
-S = "${WORKDIR}/git"
-
-inherit cmake ptest
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[benchmarks] = "-DLEVELDB_BUILD_BENCHMARKS=ON,-DLEVELDB_BUILD_BENCHMARKS=OFF,sqlite"
-PACKAGECONFIG[snappy] = ",,snappy"
-PACKAGECONFIG[tcmalloc] = ",,gperftools"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON \
- -DLEVELDB_BUILD_TESTS=${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ON', 'OFF', d)}"
-
-do_install_append() {
- install -D -m 0755 ${B}/leveldbutil ${D}${bindir}/leveldbutil
-}
-
-do_install_ptest() {
- install -m 0755 ${B}/*_test ${D}${PTEST_PATH}
-}
-
-# Do not try to build lib32-leveldb for mips64, but allow libn32-leveldb.
-#
-COMPATIBLE_HOST_mipsarcho32_pn-lib32-leveldb = "null"
diff --git a/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb b/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb
new file mode 100644
index 0000000000..60b486df78
--- /dev/null
+++ b/meta-oe/recipes-dbs/leveldb/leveldb_1.23.bb
@@ -0,0 +1,35 @@
+SUMMARY = "LevelDB is a fast key-value storage library"
+DESCRIPTION = "LevelDB is a fast key-value storage library that provides an ordered mapping from string keys to string values"
+HOMEPAGE = "https://github.com/google/leveldb"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=92d1b128950b11ba8495b64938fc164d"
+
+SRC_URI = "gitsm://github.com/google/${BPN}.git;branch=main;protocol=https \
+ file://0001-CMakeLists.txt-fix-googletest-related-options.patch \
+ file://0001-Fix-printing-64-bit-integer-types.patch \
+ file://run-ptest \
+"
+
+SRCREV = "068d5ee1a3ac40dabd00d211d5013af44be55bea"
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[benchmarks] = "-DLEVELDB_BUILD_BENCHMARKS=ON,-DLEVELDB_BUILD_BENCHMARKS=OFF,sqlite"
+PACKAGECONFIG[snappy] = ",,snappy"
+PACKAGECONFIG[tcmalloc] = ",,gperftools"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON \
+ -DLEVELDB_BUILD_TESTS=${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'ON', 'OFF', d)}"
+
+do_install:append() {
+ install -D -m 0755 ${B}/leveldbutil ${D}${bindir}/leveldbutil
+}
+
+do_install_ptest() {
+ install -m 0755 ${B}/*_test ${D}${PTEST_PATH}
+}
+
+# Do not try to build lib32-leveldb for mips64, but allow libn32-leveldb.
+#
+COMPATIBLE_HOST:mipsarcho32:pn-lib32-leveldb = "null"
diff --git a/meta-oe/recipes-dbs/libdbi/libdbi.inc b/meta-oe/recipes-dbs/libdbi/libdbi.inc
index cea2838e36..0aba91b5db 100644
--- a/meta-oe/recipes-dbs/libdbi/libdbi.inc
+++ b/meta-oe/recipes-dbs/libdbi/libdbi.inc
@@ -4,7 +4,7 @@
DESCRIPTION = "Database Independent Abstraction Layer for C"
HOMEPAGE = "http://libdbi.sourceforge.net/"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
SECTION = "libs"
diff --git a/meta-oe/recipes-dbs/libdbi/libdbi_0.9.0.bb b/meta-oe/recipes-dbs/libdbi/libdbi_0.9.0.bb
index 24eae28501..7322916499 100644
--- a/meta-oe/recipes-dbs/libdbi/libdbi_0.9.0.bb
+++ b/meta-oe/recipes-dbs/libdbi/libdbi_0.9.0.bb
@@ -1,6 +1,5 @@
require ${PN}.inc
-PR = "${INC_PR}.0"
SRC_URI[md5sum] = "05e2ceeac4bc85fbe40de8b4b22d9ab3"
SRC_URI[sha256sum] = "dafb6cdca524c628df832b6dd0bf8fabceb103248edb21762c02d3068fca4503"
diff --git a/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch b/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch
new file mode 100644
index 0000000000..3017bcede1
--- /dev/null
+++ b/meta-oe/recipes-dbs/lmdb/files/0001-Makefile-use-libprefix-instead-of-libdir.patch
@@ -0,0 +1,35 @@
+From 4a11d4d03ef66729d302cc122fa0c693299a7776 Mon Sep 17 00:00:00 2001
+From: Sakib Sajal <sakib.sajal@windriver.com>
+Date: Wed, 18 Aug 2021 10:49:38 -0400
+Subject: [PATCH] Makefile: use libprefix instead of libdir
+
+libdir expands to "$(exec_prefix)/lib" where "lib" is hardcoded.
+This is a problem for builds that enable MULTILIB since libraries
+are to be installed in "lib64" directory. Hence allow the directory
+to be configurable.
+
+Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
+---
+Upstream-Status: Pending
+
+ libraries/liblmdb/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f254511..1ec74e6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -46,11 +46,11 @@ all: $(ILIBS) $(PROGS)
+
+ install: $(ILIBS) $(IPROGS) $(IHDRS)
+ mkdir -p $(DESTDIR)$(bindir)
+- mkdir -p $(DESTDIR)$(libdir)
++ mkdir -p $(DESTDIR)$(libprefix)
+ mkdir -p $(DESTDIR)$(includedir)
+ mkdir -p $(DESTDIR)$(mandir)/man1
+ for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done
+- for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done
++ for f in $(ILIBS); do cp $$f $(DESTDIR)$(libprefix); done
+ for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done
+ for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done
+
diff --git a/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch b/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch
new file mode 100644
index 0000000000..3dde46573f
--- /dev/null
+++ b/meta-oe/recipes-dbs/lmdb/files/0001-make-set-soname-on-liblmdb.patch
@@ -0,0 +1,24 @@
+From b4d418bf3f78748d84e3cfb110833443eef34284 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@cold-front.org>
+Date: Thu, 25 Aug 2022 17:22:20 -0400
+Subject: [PATCH] make: set soname on liblmdb
+
+---
+Upstream-Status: Pending
+
+ libraries/liblmdb/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
+index 1ec74e6..ea08cd6 100644
+--- a/libraries/liblmdb/Makefile
++++ b/libraries/liblmdb/Makefile
+@@ -66,7 +66,7 @@ liblmdb.a: mdb.o midl.o
+
+ liblmdb$(SOEXT): mdb.lo midl.lo
+ # $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS)
+- $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS)
++ $(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,$@ -o $@ mdb.lo midl.lo $(SOLIBS)
+
+ mdb_stat: mdb_stat.o liblmdb.a
+ mdb_copy: mdb_copy.o liblmdb.a
diff --git a/meta-oe/recipes-dbs/lmdb/files/run-ptest b/meta-oe/recipes-dbs/lmdb/files/run-ptest
new file mode 100644
index 0000000000..a6a7549b9e
--- /dev/null
+++ b/meta-oe/recipes-dbs/lmdb/files/run-ptest
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+cd tests
+
+retval=0
+for t in mtest*
+do
+ mkdir testdb
+ ./$t > /dev/null && ./mdb_stat testdb > /dev/null
+ if [ $? -ne 0 ]; then
+ echo "FAIL: $t"
+ retval=$(( ${retval} + 1))
+ else
+ echo "PASS: $t"
+ fi
+ rm -rf testdb
+done
+
+if [ $retval -eq 0 ] ; then
+ echo "PASS: lmdb"
+else
+ echo "FAIL: lmdb"
+fi
+
+exit $retval \ No newline at end of file
diff --git a/meta-oe/recipes-dbs/lmdb/lmdb_0.9.31.bb b/meta-oe/recipes-dbs/lmdb/lmdb_0.9.31.bb
new file mode 100644
index 0000000000..b2f1920f6b
--- /dev/null
+++ b/meta-oe/recipes-dbs/lmdb/lmdb_0.9.31.bb
@@ -0,0 +1,39 @@
+# SPDX-FileCopyrightText: 2017-2019 Volker Krause <vkrause@kde.org>
+# SPDX-FileCopyrightText: 2019 Hannah Kiekens <hannahkiekens@gmail.com>
+#
+# SPDX-License-Identifier: MIT
+
+SUMMARY = "Lightning Memory-Mapped Database (LMDB)"
+HOMEPAGE = "https://symas.com/lightning-memory-mapped-database/"
+LICENSE = "OLDAP-2.8"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972"
+
+SRC_URI = "git://github.com/LMDB/lmdb.git;nobranch=1;protocol=https \
+ file://run-ptest \
+ file://0001-Makefile-use-libprefix-instead-of-libdir.patch \
+ file://0001-make-set-soname-on-liblmdb.patch;patchdir=../.. \
+ "
+
+SRCREV = "ce201088de95d26fc0da36ba805bf2ddc2ba74ff"
+
+inherit ptest
+
+S = "${WORKDIR}/git/libraries/liblmdb"
+
+do_compile() {
+ oe_runmake CC="${CC}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" XCFLAGS="${CFLAGS}"
+}
+
+do_install() {
+ oe_runmake CC="${CC}" DESTDIR="${D}" prefix="${prefix}" libprefix="${libdir}" manprefix="${mandir}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" XCFLAGS="${CFLAGS}" install
+ cd ${D}${libdir}
+ ln -s liblmdb.so.${PV} liblmdb.so
+ rm liblmdb.a
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ for test in mtest mtest2 mtest3 mtest4 mtest5 mdb_stat; do
+ install -m 755 ${S}/$test ${D}${PTEST_PATH}/tests
+ done
+}
diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.7.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.7.bb
new file mode 100644
index 0000000000..578357b480
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.7.bb
@@ -0,0 +1,23 @@
+require mariadb.inc
+inherit native
+
+PROVIDES += "mysql5-native"
+DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native \
+gnutls-native fmt-native \
+"
+
+RDEPENDS:${PN} = ""
+PACKAGES = ""
+EXTRA_OEMAKE = ""
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+
+ install -d ${D}${bindir}
+ install -m 0755 sql/gen_lex_hash ${D}${bindir}/
+ install -m 0755 sql/gen_lex_token ${D}${bindir}/
+ install -m 0755 extra/comp_err ${D}${bindir}/
+ install -m 0755 scripts/comp_sql ${D}${bindir}/
+ install -m 0755 strings/uca-dump ${D}${bindir}/
+}
+
diff --git a/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.8.bb b/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.8.bb
deleted file mode 100644
index 73b2a0980d..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb-native_10.5.8.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require mariadb.inc
-inherit native
-
-PROVIDES += "mysql5-native"
-DEPENDS = "ncurses-native zlib-native bison-native libpcre2-native"
-
-RDEPENDS_${PN} = ""
-PACKAGES = ""
-EXTRA_OEMAKE = ""
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-
- install -d ${D}${bindir}
- install -m 0755 sql/gen_lex_hash ${D}${bindir}/
- install -m 0755 sql/gen_lex_token ${D}${bindir}/
- install -m 0755 extra/comp_err ${D}${bindir}/
- install -m 0755 scripts/comp_sql ${D}${bindir}/
-}
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-oe/recipes-dbs/mysql/mariadb.inc
index 27eede6c30..33da32fb28 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -1,28 +1,33 @@
SUMMARY = "A robust, scalable, and reliable SQL server"
HOMEPAGE = "http://mariadb.org"
SECTION = "libs"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b1becf0cfa3366e0f4d854d1d264f311"
-SRC_URI = "https://downloads.mariadb.org/interstitial/${BP}/source/${BP}.tar.gz \
+SRC_URI = "https://archive.mariadb.org/${BP}/source/${BP}.tar.gz \
file://my.cnf \
file://mysqld.service \
file://install_db.service \
file://install_db \
file://mysql-systemd-start \
file://configure.cmake-fix-valgrind.patch \
- file://fix-a-building-failure.patch \
file://support-files-CMakeLists.txt-fix-do_populate_sysroot.patch \
- file://sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \
- file://0001-disable-ucontext-on-musl.patch \
- file://c11_atomics.patch \
- file://clang_version_header_conflict.patch \
file://fix-arm-atomic.patch \
file://0001-Fix-library-LZ4-lookup.patch \
file://0001-innobase-Define-__NR_futex-if-it-does-not-exist.patch \
- file://0001-stacktrace-t.c-make-the-test-conditional.patch \
+ file://0001-aio_linux-Check-if-syscall-exists-before-using-it.patch \
+ file://ssize_t.patch \
+ file://mm_malloc.patch \
+ file://sys_futex.patch \
+ file://cross-compiling.patch \
+ file://0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \
+ file://lfs64.patch \
+ file://0001-Add-missing-includes-cstdint-and-cstdio.patch \
+ file://0001-Remove-the-compile_time_assert-lines.patch \
+ file://0001-MDEV-33439-Fix-build-with-libxml2-2.12.patch \
"
-SRC_URI[sha256sum] = "eb4824f6f2c532cd3fc6a6bce7bf78ea7c6b949f8bdd07656b2c84344e757be8"
+SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
+SRC_URI[sha256sum] = "5239a245ed90517e96396605cd01ccd8f73cd7442d1b3076b6ffe258110e5157"
UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
@@ -30,48 +35,52 @@ S = "${WORKDIR}/mariadb-${PV}"
BINCONFIG_GLOB = "mysql_config"
-inherit cmake gettext binconfig update-rc.d useradd systemd multilib_script
+inherit cmake gettext binconfig update-rc.d systemd multilib_script pkgconfig
MULTILIB_SCRIPTS = "${PN}-server:${bindir}/mariadbd-safe \
- ${PN}-server:${bindir}/mariadb-install-db"
+ ${PN}-setupdb:${bindir}/mariadb-install-db"
INITSCRIPT_PACKAGES = "${PN}-server ${PN}-setupdb"
-INITSCRIPT_NAME_${PN}-server = "mysqld"
-INITSCRIPT_PARAMS_${PN}-server ?= "start 45 5 . stop 45 0 6 1 ."
+INITSCRIPT_NAME:${PN}-server = "mysqld"
+INITSCRIPT_PARAMS:${PN}-server ?= "start 45 5 . stop 45 0 6 1 ."
-USERADD_PACKAGES = "${PN}-server"
-USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
-GROUPADD_PARAM_${PN}-server = "--system mysql"
-
-INITSCRIPT_NAME_${PN}-setupdb = "install_db"
-INITSCRIPT_PARAMS_${PN}-setupdb ?= "defaults 44 44"
+INITSCRIPT_NAME:${PN}-setupdb = "install_db"
+INITSCRIPT_PARAMS:${PN}-setupdb ?= "defaults 44 44"
SYSTEMD_PACKAGES = "${PN}-server ${PN}-setupdb"
-SYSTEMD_SERVICE_${PN}-server = "mysqld.service"
-SYSTEMD_AUTO_ENABLE_${PN}-server ?= "disable"
-
-SYSTEMD_SERVICE_${PN}-setupdb = "install_db.service"
-SYSTEMD_AUTO_ENABLE_${PN}-setupdb ?= "enable"
-ALLOW_EMPTY_${PN}-setupdb ?= "1"
-FILES_${PN}-setupdb = "${sysconfdir}/init.d/install_db"
-
+SYSTEMD_SERVICE:${PN}-server = "mysqld.service"
+SYSTEMD_AUTO_ENABLE:${PN}-server ?= "disable"
+
+SYSTEMD_SERVICE:${PN}-setupdb = "install_db.service"
+SYSTEMD_AUTO_ENABLE:${PN}-setupdb ?= "enable"
+ALLOW_EMPTY:${PN}-setupdb ?= "1"
+FILES:${PN}-setupdb = "${sysconfdir}/init.d/install_db \
+ ${bindir}/mariadb-install-db \
+ ${bindir}/my_print_defaults \
+ ${bindir}/mysql_install_db \
+ ${bindir}/mysql-systemd-start \
+ "
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} lz4 openssl"
EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} setupdb"
-PACKAGECONFIG_class-native = ""
-PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
+PACKAGECONFIG:class-native = ""
+PACKAGECONFIG[pam] = "-DPLUGIN_AUTH_PAM=YES,-DPLUGIN_AUTH_PAM=NO,libpam"
PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
PACKAGECONFIG[krb5] = ", ,krb5"
-PACKAGECONFIG[setupdb] = ", ,,${PN}-setupdb"
-PACKAGECONFIG[zstd] = "-DWITH_ROCKSDB_ZSTD=ON,-DWITH_ROCKSDB_ZSTD=OFF,zstd"
+PACKAGECONFIG[lz4] = ", ,lz4"
+PACKAGECONFIG[openssl] = "-DWITH_SSL='system',-DWITH_SSL='bundled',openssl"
# MariaDB doesn't link properly with gold
# https://mariadb.atlassian.net/browse/MDEV-5982
TARGET_CFLAGS += "-fuse-ld=bfd"
LDFLAGS += " -pthread"
+
BUILD_CFLAGS += "-fuse-ld=bfd"
BUILD_CXXFLAGS += "-fuse-ld=bfd"
+LDFLAGS:x86:toolchain-clang = "-latomic"
+
EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
-DWITH_JEMALLOC=no \
-DWITHOUT_TOKUDB=TRUE \
@@ -88,16 +97,24 @@ EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \
-DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \
-DMYSQL_DATADIR:PATH=/var/mysql \
-DCAT_EXECUTABLE=`which cat` \
+ -DSTACK_DIRECTION=1 \
+ -DHAVE_SYSTEM_LIBFMT_EXITCODE=0 \
-DCMAKE_AR:FILEPATH=${AR}"
+
# With Ninja it fails with:
# make: *** No rule to make target `install'. Stop.
OECMAKE_GENERATOR = "Unix Makefiles"
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+
+do_compile:prepend:class-target () {
+ # remove the buildpath
+ sed -i -e "s:CMAKE_SYSROOT:CMAKE_SYSROOT_PLACE_HOLDER:g" ${S}/libmariadb/mariadb_config/mariadb_config.c.in
+}
-do_configure_append() {
+do_configure:append() {
# handle distros with different values of ${libexecdir}
libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'`
sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh
@@ -105,19 +122,19 @@ do_configure_append() {
sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh
}
-do_generate_toolchain_file_append_class-native () {
+do_generate_toolchain_file:append:class-native () {
# If these are set cmake will assume we're cross-compiling, which will
# result in certain things we want being disabled
sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake
sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake
}
-do_compile_prepend_class-target () {
+
+do_compile:prepend:class-target () {
# These need to be in-tree or make will think they need to be built,
# and since we're cross-compiling that is disabled
cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra
cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts
-
if [ "${@bb.utils.contains('PACKAGECONFIG', 'krb5', 'yes', 'no', d)}" = "no" ]; then
if ! [ -e ${B}/include/openssl/kssl.h ] ; then
mkdir -p ${B}/include/openssl
@@ -127,11 +144,7 @@ do_compile_prepend_class-target () {
echo "#endif" >>${B}/include/openssl/kssl.h
fi
fi
- # workaround to handle out-of-source build from source package
- yacc_files="sql_yacc.hh sql_yacc.cc sql_yacc_ora.hh sql_yacc_ora.cc"
- for yacc_file in ${yacc_files}; do
- cp ${S}/sql/${yacc_file} ${B}/sql/${yacc_file}
- done
+ install -D ${RECIPE_SYSROOT_NATIVE}/usr/bin/uca-dump ${B}/strings/uca-dump
}
SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess"
@@ -160,17 +173,19 @@ do_install() {
sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service \
${D}${systemd_unitdir}/system/install_db.service
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d
- echo "f /var/log/mysqld.err 0640 mysql mysql -" \
- > ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf
- fi
install -d ${D}${bindir}
install -m 755 ${WORKDIR}/mysql-systemd-start ${D}${bindir}
install -d ${D}${datadir}/doc/${PN}
if [ -f ${D}${datadir}/doc/README ]; then
mv ${D}${datadir}/doc/README ${D}${datadir}/doc/${PN}/
fi
+
+ # mini-benchmark used for Gitlab-CI to run on every commit to catch
+ # if there are severe performance regressions.
+ # remove it to avoid introducing bash dependency
+ if [ -f ${D}${datadir}/mysql/mini-benchmark ]; then
+ rm -rf ${D}${datadir}/mysql/mini-benchmark
+ fi
if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
pam_so=$(find ${D} -name pam_user_map.so)
if [ x"${pam_so}" != x ]; then
@@ -181,69 +196,80 @@ do_install() {
fi
}
-PACKAGES = "${PN}-dbg ${PN} \
+PACKAGES = "${PN}-dbg ${PN}-setupdb ${PN} \
libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev \
libmysqlclient libmysqlclient-dev libmysqlclient-staticdev \
- libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-setupdb ${PN}-leftovers"
-CONFFILES_${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf"
-CONFFILES_${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf"
-CONFFILES_libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf"
+ libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers"
+CONFFILES:${PN}-server += "${sysconfdir}/my.cnf ${sysconfdir}/my.cnf.d/server.cnf"
+CONFFILES:${PN}-client += "${sysconfdir}/my.cnf.d/mysql-clients.cnf"
+CONFFILES:libmysqlclient += "${sysconfdir}/my.cnf.d/client.cnf"
-RPROVIDES_${PN}-dbg += "libmysqlclient-r-dbg libmysqlclient-dbg"
+RPROVIDES:${PN}-dbg += "libmysqlclient-r-dbg libmysqlclient-dbg"
-FILES_${PN} = " "
-RDEPENDS_${PN} = "${PN}-client ${PN}-server"
-ALLOW_EMPTY_${PN} = "1"
+FILES:${PN} = " "
+RDEPENDS:${PN} = "${PN}-client ${PN}-server"
+ALLOW_EMPTY:${PN} = "1"
-RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
+RDEPENDS:${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \
perl-module-fcntl perl-module-sys-hostname perl-module-ipc-open3 \
perl-module-exporter"
-RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
+RDEPENDS:${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \
perl-module-file-basename perl-module-file-path perl-module-sys-hostname \
perl-module-file-copy perl-module-file-temp perl-module-posix \
- ${PN}-client ${PN}-setupdb libdbi-perl libdbd-mysql-perl"
-RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
+ ${PN}-client ${PN}-setupdb libdbi-perl libdbd-mysql-perl lzo"
+RDEPENDS:${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \
perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \
perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \
perl-module-file-spec perl-module-file-find perl-module-file-basename perl-module-file-path \
perl-module-constant perl-module-lib perl-module-file-temp perl-module-file-spec-functions \
perl-module-io-socket-inet perl-module-io-select bash"
-RDEPENDS_${PN}-setupdb = "coreutils"
+RDEPENDS:${PN}-setupdb = "coreutils"
# Allow old code to link to the backward compatible library
-RDEPENDS_libmysqlclient-dev = "libmysqlclient-r-dev"
+RDEPENDS:libmysqlclient-dev = "libmysqlclient-r-dev"
+
+PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess"
+src_package_preprocess () {
+ # Trim build paths from comments in generated sources to ensure reproducibility
+ sed -i -e "s,${S}/sql/,,g" \
+ -e "s,${B}/sql/,,g" \
+ ${B}/sql/yy_oracle.hh \
+ ${B}/sql/yy_mariadb.cc \
+ ${B}/sql/yy_mariadb.hh \
+ ${B}/sql/yy_oracle.cc
+}
-FILES_libmysqlclient = "\
+FILES:libmysqlclient = "\
${libdir}/libmysqlclient.so.* \
${libdir}/libmariadb.so.* \
${sysconfdir}/my.cnf.d/client.cnf"
-FILES_libmysqlclient-dev = " \
+FILES:libmysqlclient-dev = " \
${includedir}/mysql/ \
${libdir}/libmysqlclient.so \
${libdir}/libmariadb.so \
${sysconfdir}/aclocal \
${bindir}/mysql_config"
-FILES_libmysqlclient-staticdev = "\
+FILES:libmysqlclient-staticdev = "\
${libdir}/*.a"
# Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0
# which are intentionally non-PIC on 32-bit x86 (see e.g.
# storage/xtradb/plug.in in the source)
-INSANE_SKIP_libmysqlclient_append_x86 = " textrel"
+INSANE_SKIP:libmysqlclient:append:x86 = " textrel"
-FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
-FILES_libmysqlclient-r-dev = "\
+FILES:libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
+FILES:libmysqlclient-r-dev = "\
${libdir}/libmysqlclient_r.so"
-FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
+FILES:libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
-FILES_libmysqld = "\
+FILES:libmysqld = "\
${libdir}/libmysqld.so.* \
${libdir}/libmariadbd.so.*"
-FILES_libmysqld-dev = "\
+FILES:libmysqld-dev = "\
${libdir}/libmysqld.so \
${libdir}/libmariadbd.so"
-FILES_${PN}-client = "\
+FILES:${PN}-client = "\
${bindir}/myisam_ftdump \
${bindir}/mysql \
${bindir}/mariadb \
@@ -278,7 +304,7 @@ FILES_${PN}-client = "\
${libexecdir}/mysqlmanager \
${sysconfdir}/my.cnf.d/mysql-clients.cnf"
-FILES_${PN}-server = "\
+FILES:${PN}-server = "\
${bindir}/msql2mysql \
${bindir}/my_print_defaults \
${bindir}/myisamchk \
@@ -287,7 +313,6 @@ FILES_${PN}-server = "\
${bindir}/mysql_convert_table_format \
${bindir}/mariadb-convert-table-format \
${bindir}/mysql_install_db \
- ${bindir}/mariadb-install-db \
${bindir}/mysql_secure_installation \
${bindir}/mariadb-secure-installation \
${bindir}/mysql_setpermission \
@@ -329,5 +354,5 @@ FILES_${PN}-server = "\
${sysconfdir}/security/user_map.conf \
${sysconfdir}/tmpfiles.d"
-DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
-FILES_${PN}-leftovers = "/"
+DESCRIPTION:${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
+FILES:${PN}-leftovers = "/"
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch
new file mode 100644
index 0000000000..f8ccb998be
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-Add-missing-includes-cstdint-and-cstdio.patch
@@ -0,0 +1,84 @@
+From 68100b1f2243304289b9a9a35e8fb0e1bb0cf70f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 24 Jan 2023 21:40:43 -0800
+Subject: [PATCH] Add missing includes <cstdint> and <cstdio>
+
+This is needed with GCC 13 and newer [1]
+
+[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ .../rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h | 1 +
+ storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h | 1 +
+ .../rocksdb/rocksdb/table/block_based/data_block_hash_index.h | 1 +
+ storage/rocksdb/rocksdb/util/slice.cc | 1 +
+ storage/rocksdb/rocksdb/util/string_util.h | 1 +
+ 5 files changed, 5 insertions(+)
+
+diff --git a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h
+index 963c1d8e..73487edd 100644
+--- a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h
++++ b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h
+@@ -5,6 +5,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include "rocksdb/rocksdb_namespace.h"
+
+ struct CompactionIterationStats {
+diff --git a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h
+index c7f93b4c..3c2ab805 100644
+--- a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h
++++ b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h
+@@ -8,6 +8,7 @@
+ #pragma once
+ #ifndef ROCKSDB_LITE
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include "rocksdb/status.h"
+diff --git a/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h b/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h
+index f356395f..32152217 100644
+--- a/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h
++++ b/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h
+@@ -5,6 +5,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+diff --git a/storage/rocksdb/rocksdb/util/slice.cc b/storage/rocksdb/rocksdb/util/slice.cc
+index 6db11cc9..c26b6a21 100644
+--- a/storage/rocksdb/rocksdb/util/slice.cc
++++ b/storage/rocksdb/rocksdb/util/slice.cc
+@@ -8,6 +8,7 @@
+ // found in the LICENSE file. See the AUTHORS file for names of contributors.
+
+ #include <algorithm>
++#include <cstdint>
+ #include "rocksdb/slice_transform.h"
+ #include "rocksdb/slice.h"
+ #include "util/string_util.h"
+
+diff --git a/util/string_util.h b/util/string_util.h
+index 55d106fff02..11178fd1d7b 100644
+--- a/storage/rocksdb/rocksdb/util/string_util.h
++++ b/storage/rocksdb/rocksdb/util/string_util.h
+@@ -6,6 +6,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <sstream>
+ #include <string>
+ #include <unordered_map>
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch
index 0cf0560e11..d8671b76b0 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-Fix-library-LZ4-lookup.patch
@@ -1,30 +1,33 @@
-From 1d7612b063eb1fc7bf97bc27b13e1de596748aa1 Mon Sep 17 00:00:00 2001
+From f15fbdf1244ca9ce01c5507660a86d685ed88bcf Mon Sep 17 00:00:00 2001
From: Sumit Garg <sumit.garg@linaro.org>
-Date: Wed, 8 Jan 2020 04:58:30 +0000
+Date: Mon, 21 Mar 2022 15:08:40 +0800
Subject: [PATCH] Fix library LZ4 lookup.
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
+Upstream-Status: Pending
+
cmake/FindLZ4.cmake | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/cmake/FindLZ4.cmake b/cmake/FindLZ4.cmake
-index e97dd63e2b0..2f4694e727c 100644
+index eebd859..094241c 100644
--- a/cmake/FindLZ4.cmake
+++ b/cmake/FindLZ4.cmake
@@ -1,5 +1,10 @@
--find_path(LZ4_INCLUDE_DIR NAMES lz4.h)
+-find_path(LZ4_INCLUDE_DIRS NAMES lz4.h)
-find_library(LZ4_LIBRARIES NAMES lz4)
+find_path(LZ4_INCLUDE_DIR
-+ NAMES lz4.h
++ NAMES lz4.h
+ NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+
+find_library(LZ4_LIBRARIES
+ NAMES lz4
+ NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
- include(FindPackageHandleStandardArgs)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ if(LZ4_INCLUDE_DIRS AND EXISTS "${LZ4_INCLUDE_DIRS}/lz4.h")
+ file(STRINGS "${LZ4_INCLUDE_DIRS}/lz4.h" LZ4_H REGEX "^#define LZ4_VERSION_[MR]")
--
-2.17.1
+2.25.1
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-33439-Fix-build-with-libxml2-2.12.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-33439-Fix-build-with-libxml2-2.12.patch
new file mode 100644
index 0000000000..3e42535dad
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-MDEV-33439-Fix-build-with-libxml2-2.12.patch
@@ -0,0 +1,170 @@
+From dae52f5916ef59434c93f0b716270f59dd0c3a94 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Sun, 7 Jan 2024 10:19:54 +0100
+Subject: [PATCH] MDEV-33439 Fix build with libxml2 2.12
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+libxml2 2.12.0 made `xmlGetLastError()` return `const` pointer:
+
+https://gitlab.gnome.org/GNOME/libxml2/-/commit/61034116d0a3c8b295c6137956adc3ae55720711
+
+Clang 16 does not like this:
+
+ error: assigning to 'xmlErrorPtr' (aka '_xmlError *') from 'const xmlError *' (aka 'const _xmlError *') discards qualifiers
+ error: cannot initialize a variable of type 'xmlErrorPtr' (aka '_xmlError *') with an rvalue of type 'const xmlError *' (aka 'const _xmlError *')
+
+Let’s update the variables to `const`.
+For older versions, it will be automatically converted.
+
+But then `xmlResetError(xmlError*)` will not like the `const` pointer:
+
+ error: no matching function for call to 'xmlResetError'
+ note: candidate function not viable: 1st argument ('const xmlError *' (aka 'const _xmlError *')) would lose const qualifier
+
+Let’s replace it with `xmlResetLastError()`.
+
+ALso remove `LIBXMLDOC::Xerr` protected member property.
+It was introduced in 65b0e5455b547a3d574fa77b34cce23ae3bea0a0
+along with the `xmlResetError` calls.
+It does not appear to be used for anything.
+
+Upstream-Status: Backport [https://github.com/MariaDB/server/pull/2983]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ storage/connect/libdoc.cpp | 39 +++++++++++++++++++-------------------
+ 1 file changed, 19 insertions(+), 20 deletions(-)
+
+diff --git a/storage/connect/libdoc.cpp b/storage/connect/libdoc.cpp
+index 67f22ce2..ab588dd4 100644
+--- a/storage/connect/libdoc.cpp
++++ b/storage/connect/libdoc.cpp
+@@ -93,7 +93,6 @@ class LIBXMLDOC : public XMLDOCUMENT {
+ xmlXPathContextPtr Ctxp;
+ xmlXPathObjectPtr Xop;
+ xmlXPathObjectPtr NlXop;
+- xmlErrorPtr Xerr;
+ char *Buf; // Temporary
+ bool Nofreelist;
+ }; // end of class LIBXMLDOC
+@@ -327,7 +326,6 @@ LIBXMLDOC::LIBXMLDOC(char *nsl, char *nsdf, char *enc, PFBLOCK fp)
+ Ctxp = NULL;
+ Xop = NULL;
+ NlXop = NULL;
+- Xerr = NULL;
+ Buf = NULL;
+ Nofreelist = false;
+ } // end of LIBXMLDOC constructor
+@@ -365,8 +363,8 @@ bool LIBXMLDOC::ParseFile(PGLOBAL g, char *fn)
+ Encoding = (char*)Docp->encoding;
+
+ return false;
+- } else if ((Xerr = xmlGetLastError()))
+- xmlResetError(Xerr);
++ } else if (xmlGetLastError())
++ xmlResetLastError();
+
+ return true;
+ } // end of ParseFile
+@@ -505,9 +503,9 @@ int LIBXMLDOC::DumpDoc(PGLOBAL g, char *ofn)
+ #if 1
+ // This function does not crash (
+ if (xmlSaveFormatFileEnc((const char *)ofn, Docp, Encoding, 0) < 0) {
+- xmlErrorPtr err = xmlGetLastError();
++ const xmlError *err = xmlGetLastError();
+ strcpy(g->Message, (err) ? err->message : "Error saving XML doc");
+- xmlResetError(Xerr);
++ xmlResetLastError();
+ rc = -1;
+ } // endif Save
+ // rc = xmlDocDump(of, Docp);
+@@ -546,8 +544,8 @@ void LIBXMLDOC::CloseDoc(PGLOBAL g, PFBLOCK xp)
+ if (Nlist) {
+ xmlXPathFreeNodeSet(Nlist);
+
+- if ((Xerr = xmlGetLastError()))
+- xmlResetError(Xerr);
++ if (xmlGetLastError())
++ xmlResetLastError();
+
+ Nlist = NULL;
+ } // endif Nlist
+@@ -555,8 +553,8 @@ void LIBXMLDOC::CloseDoc(PGLOBAL g, PFBLOCK xp)
+ if (Xop) {
+ xmlXPathFreeObject(Xop);
+
+- if ((Xerr = xmlGetLastError()))
+- xmlResetError(Xerr);
++ if (xmlGetLastError())
++ xmlResetLastError();
+
+ Xop = NULL;
+ } // endif Xop
+@@ -564,8 +562,8 @@ void LIBXMLDOC::CloseDoc(PGLOBAL g, PFBLOCK xp)
+ if (NlXop) {
+ xmlXPathFreeObject(NlXop);
+
+- if ((Xerr = xmlGetLastError()))
+- xmlResetError(Xerr);
++ if (xmlGetLastError())
++ xmlResetLastError();
+
+ NlXop = NULL;
+ } // endif NlXop
+@@ -573,8 +571,8 @@ void LIBXMLDOC::CloseDoc(PGLOBAL g, PFBLOCK xp)
+ if (Ctxp) {
+ xmlXPathFreeContext(Ctxp);
+
+- if ((Xerr = xmlGetLastError()))
+- xmlResetError(Xerr);
++ if (xmlGetLastError())
++ xmlResetLastError();
+
+ Ctxp = NULL;
+ } // endif Ctxp
+@@ -590,6 +588,7 @@ void LIBXMLDOC::CloseDoc(PGLOBAL g, PFBLOCK xp)
+ /******************************************************************/
+ xmlNodeSetPtr LIBXMLDOC::GetNodeList(PGLOBAL g, xmlNodePtr np, char *xp)
+ {
++ const xmlError *xerr;
+ xmlNodeSetPtr nl;
+
+ if (trace(1))
+@@ -649,11 +648,11 @@ xmlNodeSetPtr LIBXMLDOC::GetNodeList(PGLOBAL g, xmlNodePtr np, char *xp)
+ } else
+ xmlXPathFreeObject(Xop); // Caused node not found
+
+- if ((Xerr = xmlGetLastError())) {
+- strcpy(g->Message, Xerr->message);
+- xmlResetError(Xerr);
++ if ((xerr = xmlGetLastError())) {
++ strcpy(g->Message, xerr->message);
++ xmlResetLastError();
+ return NULL;
+- } // endif Xerr
++ } // endif xerr
+
+ } // endif Xop
+
+@@ -1079,7 +1078,7 @@ void XML2NODE::AddText(PGLOBAL g, PCSZ txtp)
+ /******************************************************************/
+ void XML2NODE::DeleteChild(PGLOBAL g, PXNODE dnp)
+ {
+- xmlErrorPtr xerr;
++ const xmlError *xerr;
+
+ if (trace(1))
+ htrc("DeleteChild: node=%p\n", dnp);
+@@ -1122,7 +1121,7 @@ void XML2NODE::DeleteChild(PGLOBAL g, PXNODE dnp)
+ if (trace(1))
+ htrc("DeleteChild: errmsg=%-.256s\n", xerr->message);
+
+- xmlResetError(xerr);
++ xmlResetLastError();
+ } // end of DeleteChild
+
+ /* -------------------- class XML2NODELIST ---------------------- */
+--
+2.44.0
+
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-the-compile_time_assert-lines.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-the-compile_time_assert-lines.patch
new file mode 100644
index 0000000000..9a6e28297b
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-Remove-the-compile_time_assert-lines.patch
@@ -0,0 +1,43 @@
+From cc5f1d0759b367265a1a000287e2ec15c31eb518 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 26 Feb 2024 14:56:02 +0800
+Subject: [PATCH] Remove the compile_time_assert lines
+
+Remove the problematic compile_time_assert lines to fix the below build
+failure on 32-bit arm.
+ In file included from TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/mariadb/10.11.7/mariadb-10.11.7/tests/mysql_client_test.c:38:
+ TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/mariadb/10.11.7/mariadb-10.11.7/tests/mysql_client_fw.c:1438:3: error: 'compile_time_assert' declared as an array with a negative size
+ 1438 | compile_time_assert(sizeof(MYSQL) == 77*sizeof(void*)+656);
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Inappropriate [Upstream will bring the asset back
+ in a new way [1]]
+[1] https://jira.mariadb.org/browse/MDEV-33429
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ tests/mysql_client_fw.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/tests/mysql_client_fw.c b/tests/mysql_client_fw.c
+index c9e64678..5c0c7ce2 100644
+--- a/tests/mysql_client_fw.c
++++ b/tests/mysql_client_fw.c
+@@ -1430,14 +1430,6 @@ int main(int argc, char **argv)
+ tests_to_run[i]= NULL;
+ }
+
+-#ifdef _WIN32
+- /* must be the same in C/C and embedded, 1208 on 64bit, 968 on 32bit */
+- compile_time_assert(sizeof(MYSQL) == 60*sizeof(void*)+728);
+-#else
+- /* must be the same in C/C and embedded, 1272 on 64bit, 964 on 32bit */
+- compile_time_assert(sizeof(MYSQL) == 77*sizeof(void*)+656);
+-#endif
+-
+ if (mysql_server_init(embedded_server_arg_count,
+ embedded_server_args,
+ (char**) embedded_server_groups))
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch
new file mode 100644
index 0000000000..aba9b9d966
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-aio_linux-Check-if-syscall-exists-before-using-it.patch
@@ -0,0 +1,45 @@
+From 0a3222338efc108c831fbdd719a47d35f4b0adcd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Aug 2021 06:49:25 +0000
+Subject: [PATCH] aio_linux: Check if syscall exists before using it
+
+Return -ENOSYS if not implememented, fixes build on arches like RISCV32
+Fixes
+tpool/aio_linux.cc:63:20: error: '__NR_io_getevents' was not declared in this scope; did you mean 'io_getevents'?
+ 63 | int ret= syscall(__NR_io_getevents, reinterpret_cast<long>(ctx),
+ | ^~~~~~~~~~~~~~~~~
+ | io_getevents
+
+Upstream-Staus: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ tpool/aio_linux.cc | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tpool/aio_linux.cc b/tpool/aio_linux.cc
+index 4abc213..da75411 100644
+--- a/tpool/aio_linux.cc
++++ b/tpool/aio_linux.cc
+@@ -58,6 +58,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 - 1301 USA*/
+ */
+ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
+ {
++#ifdef __NR_io_getevents
+ int saved_errno= errno;
+ int ret= syscall(__NR_io_getevents, reinterpret_cast<long>(ctx),
+ min_nr, nr, ev, 0);
+@@ -67,6 +68,9 @@ static int my_getevents(io_context_t ctx, long min_nr, long nr, io_event *ev)
+ errno= saved_errno;
+ }
+ return ret;
++#else
++ return -ENOSYS;
++#endif
+ }
+
+
+--
+2.29.2
+
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
deleted file mode 100644
index daf2432a54..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/0001-disable-ucontext-on-musl.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b658bdb38b7ff6a78915fd0ac390fc224e4006cb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 26 Mar 2017 14:30:33 -0700
-Subject: [PATCH] disable ucontext on musl
-
-musl does not have *contex() APIs even though it has ucontext.h header
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- include/my_context.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/my_context.h b/include/my_context.h
-index ea0e3496..4c9b37dc 100644
---- a/include/my_context.h
-+++ b/include/my_context.h
-@@ -31,7 +31,7 @@
- #define MY_CONTEXT_USE_X86_64_GCC_ASM
- #elif defined(__GNUC__) && __GNUC__ >= 3 && defined(__i386__)
- #define MY_CONTEXT_USE_I386_GCC_ASM
--#elif defined(HAVE_UCONTEXT_H)
-+#elif defined(__GLIBC__) && defined(HAVE_UCONTEXT_H)
- #define MY_CONTEXT_USE_UCONTEXT
- #else
- #define MY_CONTEXT_DISABLE
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
new file mode 100644
index 0000000000..456a2bad64
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
@@ -0,0 +1,69 @@
+From f92f657973997df30afdb0032c88ad3a14ead46b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 23 Sep 2022 15:48:21 +0800
+Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found
+
+Fix the below do_compile issue in cross-compiling env.
+| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_hash', needed by 'sql/lex_hash.h'. Stop.
+| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_token', needed by 'sql/lex_token.h'. Stop.
+
+Upstream-Status: Inappropriate [oe build specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ sql/CMakeLists.txt | 30 ++++++++++++++++++++++--------
+ 1 file changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
+index 241b482..27a3991 100644
+--- a/sql/CMakeLists.txt
++++ b/sql/CMakeLists.txt
+@@ -60,11 +60,18 @@ ${CMAKE_BINARY_DIR}/sql
+ ${CMAKE_SOURCE_DIR}/tpool
+ )
+
+-ADD_CUSTOM_COMMAND(
+- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
+- COMMAND gen_lex_token > lex_token.h
+- DEPENDS gen_lex_token
++IF(NOT CMAKE_CROSSCOMPILING)
++ ADD_CUSTOM_COMMAND(
++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
++ COMMAND gen_lex_token > lex_token.h
++ DEPENDS gen_lex_token
++)
++ELSE()
++ ADD_CUSTOM_COMMAND(
++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
++ COMMAND gen_lex_token > lex_token.h
+ )
++ENDIF()
+
+ FIND_PACKAGE(BISON 2.4)
+
+@@ -372,11 +379,18 @@ IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
+ ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
+ ENDIF()
+
+-ADD_CUSTOM_COMMAND(
+- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
+- COMMAND gen_lex_hash > lex_hash.h
+- DEPENDS gen_lex_hash
++IF(NOT CMAKE_CROSSCOMPILING)
++ ADD_CUSTOM_COMMAND(
++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
++ COMMAND gen_lex_hash > lex_hash.h
++ DEPENDS gen_lex_hash
++)
++ELSE()
++ ADD_CUSTOM_COMMAND(
++ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
++ COMMAND gen_lex_hash > lex_hash.h
+ )
++ENDIF()
+
+ MYSQL_ADD_EXECUTABLE(mariadb-tzinfo-to-sql tztime.cc)
+ SET_TARGET_PROPERTIES(mariadb-tzinfo-to-sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL")
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/0001-stacktrace-t.c-make-the-test-conditional.patch b/meta-oe/recipes-dbs/mysql/mariadb/0001-stacktrace-t.c-make-the-test-conditional.patch
deleted file mode 100644
index d8f672d744..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/0001-stacktrace-t.c-make-the-test-conditional.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 966cbeb309f867ff4ac8e7f4462be4780e421700 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Mon, 25 Jan 2021 19:01:06 -0800
-Subject: [PATCH] stacktrace-t.c: make the test conditional
-
-Fixes:
-/prj/tmp/work/cortexa57-poky-linux-musl/mariadb/10.5.8-r0/recipe-sysroot-native/usr/bin/aarch64-poky-linux-musl/../../libexec/aarch64-poky-linux-musl/gcc/aarch64-poky-linux-musl/10.2.0/ld.bfd: /usr/src/debug/mariadb/10.5.8-r0/mariadb-10.5.8/unittest/mysys/stacktrace-t.c:36: undefined reference to `my_safe_print_str'
-
-Upstream-Status: Submitted [https://jira.mariadb.org/browse/MDEV-24131]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- unittest/mysys/stacktrace-t.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/unittest/mysys/stacktrace-t.c b/unittest/mysys/stacktrace-t.c
-index 8fa0db15b36..d8408f80d76 100644
---- a/unittest/mysys/stacktrace-t.c
-+++ b/unittest/mysys/stacktrace-t.c
-@@ -29,6 +29,7 @@ void test_my_safe_print_str()
- memcpy(b_stack, "LEGAL", 6);
- memcpy(b_bss, "LEGAL", 6);
-
-+#ifdef HAVE_STACKTRACE
- #ifndef __SANITIZE_ADDRESS__
- fprintf(stderr, "\n===== stack =====\n");
- my_safe_print_str(b_stack, 65535);
-@@ -48,6 +49,7 @@ void test_my_safe_print_str()
- fprintf(stderr, "\n===== (const char*) 1 =====\n");
- my_safe_print_str((const char*)1, 5);
- #endif /*__SANITIZE_ADDRESS__*/
-+#endif /*HAVE_STACKTRACE*/
-
- free(b_heap);
-
---
-2.17.1
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch b/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
deleted file mode 100644
index 32c9818ab0..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/c11_atomics.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 976468458d53d8bb71acf48ddfc852a60557acb9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Vicen=C8=9Biu=20Ciorbaru?= <vicentiu@mariadb.org>
-Date: Thu, 23 Jul 2020 00:02:21 -0700
-Subject: [PATCH] Link with libatomic to enable C11 atomics support
-
- Some architectures (mips) require libatomic to support proper
- atomic operations. Check first if support is available without
- linking, otherwise use the library.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- configure.cmake | 20 +++++++++++++++++++-
- mysys/CMakeLists.txt | 4 ++++
- sql/CMakeLists.txt | 4 ++++
- 3 files changed, 27 insertions(+), 1 deletion(-)
-
-diff --git a/configure.cmake b/configure.cmake
-index bb3ad43..2ff4f19 100644
---- a/configure.cmake
-+++ b/configure.cmake
-@@ -861,7 +861,25 @@ int main()
- long long int *ptr= &var;
- return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
- }"
--HAVE_GCC_C11_ATOMICS)
-+HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
-+IF (HAVE_GCC_C11_ATOMICS_WITHOUT_LIBATOMIC)
-+ SET(HAVE_GCC_C11_ATOMICS True)
-+ELSE()
-+ SET(OLD_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-+ LIST(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
-+ CHECK_CXX_SOURCE_COMPILES("
-+ int main()
-+ {
-+ long long int var= 1;
-+ long long int *ptr= &var;
-+ return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
-+ }"
-+ HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+ IF(HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+ SET(HAVE_GCC_C11_ATOMICS True)
-+ ENDIF()
-+ SET(CMAKE_REQUIRED_LIBRARIES ${OLD_CMAKE_REQUIRED_LIBRARIES})
-+ENDIF()
-
- IF(WITH_VALGRIND)
- SET(HAVE_valgrind 1)
-diff --git a/mysys/CMakeLists.txt b/mysys/CMakeLists.txt
-index 6a3a1ef..e306ae7 100644
---- a/mysys/CMakeLists.txt
-+++ b/mysys/CMakeLists.txt
-@@ -140,6 +140,10 @@ TARGET_LINK_LIBRARIES(mysys dbug strings ${ZLIB_LIBRARY}
- ${LIBNSL} ${LIBM} ${LIBRT} ${CMAKE_DL_LIBS} ${LIBSOCKET} ${LIBEXECINFO})
- DTRACE_INSTRUMENT(mysys)
-
-+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+ TARGET_LINK_LIBRARIES(mysys atomic)
-+ENDIF()
-+
- IF(HAVE_BFD_H)
- TARGET_LINK_LIBRARIES(mysys bfd)
- ENDIF(HAVE_BFD_H)
-diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
-index 4978d01..883a930 100644
---- a/sql/CMakeLists.txt
-+++ b/sql/CMakeLists.txt
-@@ -220,6 +220,10 @@ ELSE()
- SET(MYSQLD_SOURCE main.cc ${DTRACE_PROBES_ALL})
- ENDIF()
-
-+IF (HAVE_GCC_C11_ATOMICS_WITH_LIBATOMIC)
-+ TARGET_LINK_LIBRARIES(sql atomic)
-+ENDIF()
-+
- IF(MSVC)
- SET(libs_to_export_symbols sql mysys dbug strings)
- # Create shared library of already compiled object
---
-2.17.1
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch b/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch
deleted file mode 100644
index c77a869441..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/clang_version_header_conflict.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-libc++ also has a file called version and this file and how cflags are specified
-it ends up including this file and resulting in compile errors
-
-fixes errors like
-storage/mroonga/version:1:1: error: expected unqualified-id
-7.07
-^
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/storage/mroonga/CMakeLists.txt
-+++ b/storage/mroonga/CMakeLists.txt
-@@ -80,7 +80,7 @@ else()
- set(MRN_SOURCE_DIR ${CMAKE_SOURCE_DIR})
- endif()
-
--file(READ ${MRN_SOURCE_DIR}/version MRN_VERSION)
-+file(READ ${MRN_SOURCE_DIR}/ver MRN_VERSION)
- file(READ ${MRN_SOURCE_DIR}/version_major MRN_VERSION_MAJOR)
- file(READ ${MRN_SOURCE_DIR}/version_minor MRN_VERSION_MINOR)
- file(READ ${MRN_SOURCE_DIR}/version_micro MRN_VERSION_MICRO)
---- /dev/null
-+++ b/storage/mroonga/ver
-@@ -0,0 +1 @@
-+7.07
-\ No newline at end of file
---- a/storage/mroonga/version
-+++ /dev/null
-@@ -1 +0,0 @@
--7.07
-\ No newline at end of file
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch b/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch
new file mode 100644
index 0000000000..d0d6e3c730
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/cross-compiling.patch
@@ -0,0 +1,34 @@
+From 80be37351d995654f86b838f6b5ed47e8a90261b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 23 Sep 2022 12:05:17 +0800
+Subject: [PATCH] CMakeLists.txt: not include import_executables.cmake
+
+building failed since native does not generate import_executables.cmake
+In fact, our building system will export the needed commands.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ CMakeLists.txt | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f9e2b1b..34924ba 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -394,11 +394,6 @@ CHECK_LIBFMT()
+ ADD_SUBDIRECTORY(tpool)
+ CHECK_SYSTEMD()
+
+-IF(CMAKE_CROSSCOMPILING AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR)
+- SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
+- INCLUDE(${IMPORT_EXECUTABLES})
+-ENDIF()
+-
+ #
+ # Setup maintainer mode options. Platform checks are
+ # not run with the warning options as to not perturb fragile checks
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch b/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
deleted file mode 100644
index 9149ee21f2..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/fix-a-building-failure.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 1b2b6a61c9f82157cd2e0c3744f6c07e07aeb0bd Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Mon, 4 Mar 2019 01:11:30 -0800
-Subject: [PATCH] fix a building failure
-
-Upstream-Status: Inappropriate [configuration]
-
-building failed since native does not generate import_executables.cmake
-In fact, our building system will export the needed commands
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- CMakeLists.txt | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index fc30750..4f9110e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -347,11 +347,6 @@ CHECK_PCRE()
-
- CHECK_SYSTEMD()
-
--IF(CMAKE_CROSSCOMPILING)
-- SET(IMPORT_EXECUTABLES "IMPORTFILE-NOTFOUND" CACHE FILEPATH "Path to import_executables.cmake from a native build")
-- INCLUDE(${IMPORT_EXECUTABLES})
--ENDIF()
--
- #
- # Setup maintainer mode options. Platform checks are
- # not run with the warning options as to not perturb fragile checks
---
-2.17.1
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/lfs64.patch b/meta-oe/recipes-dbs/mysql/mariadb/lfs64.patch
new file mode 100644
index 0000000000..7a685a6521
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/lfs64.patch
@@ -0,0 +1,21 @@
+Upstream-Status: Pending
+
+--- a/storage/connect/os.h
++++ b/storage/connect/os.h
+@@ -2,13 +2,15 @@
+ #ifndef _OS_H_INCLUDED
+ #define _OS_H_INCLUDED
+
+-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__)
++#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__) || (defined(__linux__) && !defined(__GLIBC__))
+ typedef off_t off64_t;
+ #define lseek64(fd, offset, whence) lseek((fd), (offset), (whence))
+ #define open64(path, flags, mode) open((path), (flags), (mode))
+ #define ftruncate64(fd, length) ftruncate((fd), (length))
++#ifndef O_LARGEFILE
+ #define O_LARGEFILE 0
+ #endif
++#endif
+
+ #ifdef _AIX
+ #ifndef O_LARGEFILE
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch b/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch
new file mode 100644
index 0000000000..6aa6c84882
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/mm_malloc.patch
@@ -0,0 +1,13 @@
+Upstream-Status: Pending
+
+--- a/storage/rocksdb/rocksdb/port/jemalloc_helper.h
++++ b/storage/rocksdb/rocksdb/port/jemalloc_helper.h
+@@ -5,7 +5,7 @@
+
+ #pragma once
+
+-#if defined(__clang__)
++#if defined(__clang__) && defined(__GLIBC__)
+ // glibc's `posix_memalign()` declaration specifies `throw()` while clang's
+ // declaration does not. There is a hack in clang to make its re-declaration
+ // compatible with glibc's if they are declared consecutively. That hack breaks
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/my.cnf b/meta-oe/recipes-dbs/mysql/mariadb/my.cnf
index dc4c172e54..75db46a559 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/my.cnf
+++ b/meta-oe/recipes-dbs/mysql/mariadb/my.cnf
@@ -10,7 +10,7 @@ user = mysql
port = 3306
socket = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/mysqld.pid
-log-error = /var/log/mysqld.err
+log-error = /var/log/mysqld.log
basedir = /usr
datadir = /var/lib/mysql
skip-external-locking
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch b/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
new file mode 100644
index 0000000000..3787b74ad1
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/ppc-remove-glibc-dep.patch
@@ -0,0 +1,43 @@
+Upstream-Status: Pending
+
+Remove glibc specific function dependencies
+
+Sourced from: https://git.alpinelinux.org/aports/tree/main/mariadb/ppc-remove-glibc-dep.patch
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff --git a/include/my_cpu.h b/include/my_cpu.h
+index f2e26fca..94599b74 100644
+--- a/include/my_cpu.h
++++ b/include/my_cpu.h
+@@ -24,17 +24,16 @@
+ */
+
+ #ifdef _ARCH_PWR8
+-#include <sys/platform/ppc.h>
+ /* Very low priority */
+-#define HMT_very_low() __ppc_set_ppr_very_low()
++#define HMT_very_low() asm volatile("or 31,31,31")
+ /* Low priority */
+-#define HMT_low() __ppc_set_ppr_low()
++#define HMT_low() asm volatile ("or 1,1,1")
+ /* Medium low priority */
+-#define HMT_medium_low() __ppc_set_ppr_med_low()
++#define HMT_medium_low() asm volatile ("or 6,6,6")
+ /* Medium priority */
+-#define HMT_medium() __ppc_set_ppr_med()
++#define HMT_medium() asm volatile ("or 2,2,2")
+ /* Medium high priority */
+-#define HMT_medium_high() __ppc_set_ppr_med_high()
++#define HMT_medium_high() asm volatile("or 5,5,5")
+ /* High priority */
+ #define HMT_high() asm volatile("or 3,3,3")
+ #else
+@@ -72,7 +71,7 @@ static inline void MY_RELAX_CPU(void)
+ __asm__ __volatile__ ("pause");
+ #endif
+ #elif defined(_ARCH_PWR8)
+- __ppc_get_timebase();
++ __builtin_ppc_get_timebase();
+ #elif defined __GNUC__ && (defined __arm__ || defined __aarch64__)
+ /* Mainly, prevent the compiler from optimizing away delay loops */
+ __asm__ __volatile__ ("":::"memory");
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/run-ptest b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
new file mode 100644
index 0000000000..2f905cd379
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/run-ptest
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# test case test-connect is excluded. Becasue this test case need following steps before running.
+# Without these steps, test case test-connect will fail.
+# 1. Disable 'skip-networking' in /etc/my.cnf
+# $ sed -i '/skip-networking/s/^/#/g' /etc/my.cnf
+# 2. Restart mysqld.service
+# $ systemctl restart mysqld
+# 3. Set password for MySQL user "root"
+# $ mysql -u root
+# MariaDB [(none)]> SET PASSWORD FOR "root"@"localhost" = PASSWORD("myReallyStrongPwd");
+# MariaDB [(none)]> FLUSH PRIVILEGES;
+
+# If test-connect is included, please uncomment these lines.
+#export MASTER_MYPORT=3306
+#export MYSQL_TEST_HOST=127.0.0.1
+#export MYSQL_TEST_USER=root
+#export MYSQL_TEST_PASSWD=myReallyStrongPwd
+
+ctest --force-new-ctest-process -E test-connect | 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-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch b/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
deleted file mode 100644
index 4cb0443392..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb/sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From cfce1491827e5a581878b5e166bf4d30e6d90e07 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Thu, 23 Jul 2020 00:08:16 -0700
-Subject: [PATCH] sql/CMakeLists.txt: fix gen_lex_hash not found
-
-Fix the below do_compile issue in cross-compiling env.
-| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_hash', needed by 'sql/lex_hash.h'. Stop.
-| make[2]: *** No rule to make target '/build/tmp/work/aarch64-poky-linux/mariadb/10.3.13-r0/mariadb-10.3.13/sql/gen_lex_token', needed by 'sql/lex_token.h'. Stop.
-
-Upstream-Status: Inappropriate [oe build specific]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- sql/CMakeLists.txt | 30 ++++++++++++++++++++----------
- 1 file changed, 20 insertions(+), 10 deletions(-)
-
-diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt
-index 0dc3caa..616017b 100644
---- a/sql/CMakeLists.txt
-+++ b/sql/CMakeLists.txt
-@@ -52,11 +52,16 @@ ${CMAKE_BINARY_DIR}/sql
- ${CMAKE_SOURCE_DIR}/tpool
- )
-
--ADD_CUSTOM_COMMAND(
-- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
-- COMMAND gen_lex_token > lex_token.h
-- DEPENDS gen_lex_token
--)
-+IF(NOT CMAKE_CROSSCOMPILING)
-+ ADD_CUSTOM_COMMAND(
-+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
-+ COMMAND gen_lex_token > lex_token.h
-+ DEPENDS gen_lex_token)
-+ELSE()
-+ ADD_CUSTOM_COMMAND(
-+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_token.h
-+ COMMAND gen_lex_token > lex_token.h)
-+ENDIF()
-
- ADD_CUSTOM_COMMAND(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sql_yacc_ora.yy
-@@ -345,11 +350,16 @@ IF(NOT CMAKE_CROSSCOMPILING)
- ADD_EXECUTABLE(gen_lex_hash gen_lex_hash.cc)
- ENDIF()
-
--ADD_CUSTOM_COMMAND(
-- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
-- COMMAND gen_lex_hash > lex_hash.h
-- DEPENDS gen_lex_hash
--)
-+IF(NOT CMAKE_CROSSCOMPILING)
-+ ADD_CUSTOM_COMMAND(
-+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
-+ COMMAND gen_lex_hash > lex_hash.h
-+ DEPENDS gen_lex_hash)
-+ELSE()
-+ ADD_CUSTOM_COMMAND(
-+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lex_hash.h
-+ COMMAND gen_lex_hash > lex_hash.h)
-+ENDIF()
-
- MYSQL_ADD_EXECUTABLE(mariadb-tzinfo-to-sql tztime.cc COMPONENT Server)
- SET_TARGET_PROPERTIES(mariadb-tzinfo-to-sql PROPERTIES COMPILE_FLAGS "-DTZINFO2SQL")
---
-2.17.1
-
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/ssize_t.patch b/meta-oe/recipes-dbs/mysql/mariadb/ssize_t.patch
new file mode 100644
index 0000000000..4e499d4137
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/ssize_t.patch
@@ -0,0 +1,15 @@
+ssize_t comes from sys/types.h therefore include it
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/wsrep-lib/include/wsrep/gtid.hpp
++++ b/wsrep-lib/include/wsrep/gtid.hpp
+@@ -25,7 +25,7 @@
+ #include "compiler.hpp"
+
+ #include <iosfwd>
+-
++#include <sys/types.h>
+ /**
+ * Minimum number of bytes guaratneed to store GTID string representation,
+ * terminating '\0' not included (36 + 1 + 20).
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch b/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch
index 4f9a4e9b0e..233d9e6af6 100644
--- a/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch
+++ b/meta-oe/recipes-dbs/mysql/mariadb/support-files-CMakeLists.txt-fix-do_populate_sysroot.patch
@@ -7,7 +7,7 @@ Comment out the logic which for suse as it introduces
below do_populate_sysroot error:
ERROR: mariadb-native-10.3.13-r0 do_populate_sysroot: sstate found an absolute path symlink /build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/sysroot-destdir/build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/recipe-sysroot-native/usr/sbin/rcmysql pointing at /build/tmp/work/x86_64-linux/mariadb-native/10.3.13-r0/recipe-sysroot-native/etc/init.d/mysql. Please replace this with a relative link.
-Upstream-Status: Inappropriate[oe build specific]
+Upstream-Status: Inappropriate [oe build specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
diff --git a/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch b/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch
new file mode 100644
index 0000000000..3244ab8da2
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb/sys_futex.patch
@@ -0,0 +1,23 @@
+Use SYS_futex for syscall
+
+glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there
+is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/storage/innobase/sync/srw_lock.cc
++++ b/storage/innobase/sync/srw_lock.cc
+@@ -210,6 +210,12 @@ void ssux_lock_low::wake() { WakeByAddre
+ # ifdef __linux__
+ # include <linux/futex.h>
+ # include <sys/syscall.h>
++/** Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and
++ therefore do not define __NR_futex */
++# if !defined(SYS_futex) && defined(SYS_futex_time64)
++# define SYS_futex SYS_futex_time64
++# endif
++
+ # define SRW_FUTEX(a,op,n) \
+ syscall(SYS_futex, a, FUTEX_ ## op ## _PRIVATE, n, nullptr, nullptr, 0)
+ # elif defined __OpenBSD__
diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.11.7.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.11.7.bb
new file mode 100644
index 0000000000..b1d1355e2b
--- /dev/null
+++ b/meta-oe/recipes-dbs/mysql/mariadb_10.11.7.bb
@@ -0,0 +1,63 @@
+require mariadb.inc
+
+inherit ptest
+inherit useradd
+
+SRC_URI += "${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)}"
+DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)}"
+RDEPENDS:${PN}-ptest += "cmake sed perl-module-test-more"
+
+do_install_ptest () {
+ rsync -a ${B}/unittest ${B}/dbug ${D}${PTEST_PATH} \
+ --exclude CMakeFiles \
+ --exclude cmake_install.cmake \
+ --exclude Makefile \
+ --exclude=*.a \
+ --exclude=*.h \
+ --exclude=*.o \
+ --exclude=*.so \
+ --exclude=*.d \
+ --exclude=*.txt
+ install -m 0755 -d ${D}${PTEST_PATH}/storage
+ rsync -a ${B}/storage/maria ${B}/storage/perfschema ${B}/storage/innobase ${D}${PTEST_PATH}/storage \
+ --exclude CMakeFiles \
+ --exclude cmake_install.cmake \
+ --exclude Makefile \
+ --exclude=*.a \
+ --exclude=*.h \
+ --exclude=*.o \
+ --exclude=*.so \
+ --exclude=*.d \
+ --exclude=*.txt
+ cp -r ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}
+ sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+}
+
+DEPENDS += "mariadb-native bison-native boost libpcre2 curl ncurses \
+ zlib libaio libedit libevent libxml2 gnutls fmt lzo zstd"
+
+PROVIDES += "mysql5 libmysqlclient"
+
+USERADD_PACKAGES = "${PN}-setupdb"
+USERADD_PARAM:${PN}-setupdb = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
+GROUPADD_PARAM:${PN}-setupdb = "--system mysql"
+
+RPROVIDES:${PN} += "mysql5"
+RREPLACES:${PN} += "mysql5"
+RCONFLICTS:${PN} += "mysql5"
+
+RPROVIDES:${PN}-dbg += "mysql5-dbg"
+RREPLACES:${PN}-dbg += "mysql5-dbg"
+RCONFLICTS:${PN}-dbg += "mysql5-dbg"
+
+RPROVIDES:${PN}-leftovers += "mysql5-leftovers"
+RREPLACES:${PN}-leftovers += "mysql5-leftovers"
+RCONFLICTS:${PN}-leftovers += "mysql5-leftovers"
+
+RPROVIDES:${PN}-client += "mysql5-client"
+RREPLACES:${PN}-client += "mysql5-client"
+RCONFLICTS:${PN}-client += "mysql5-client"
+
+RPROVIDES:${PN}-server += "mysql5-server"
+RREPLACES:${PN}-server += "mysql5-server"
+RCONFLICTS:${PN}-server += "mysql5-server"
diff --git a/meta-oe/recipes-dbs/mysql/mariadb_10.5.8.bb b/meta-oe/recipes-dbs/mysql/mariadb_10.5.8.bb
deleted file mode 100644
index e6743fe97a..0000000000
--- a/meta-oe/recipes-dbs/mysql/mariadb_10.5.8.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-require mariadb.inc
-
-EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
-
-DEPENDS += "mariadb-native bison-native libpcre2 curl openssl ncurses zlib libaio libedit libevent libxml2"
-
-PROVIDES += "mysql5 libmysqlclient"
-
-RPROVIDES_${PN} += "mysql5"
-RREPLACES_${PN} += "mysql5"
-RCONFLICTS_${PN} += "mysql5"
-
-RPROVIDES_${PN}-dbg += "mysql5-dbg"
-RREPLACES_${PN}-dbg += "mysql5-dbg"
-RCONFLICTS_${PN}-dbg += "mysql5-dbg"
-
-RPROVIDES_${PN}-leftovers += "mysql5-leftovers"
-RREPLACES_${PN}-leftovers += "mysql5-leftovers"
-RCONFLICTS_${PN}-leftovers += "mysql5-leftovers"
-
-RPROVIDES_${PN}-client += "mysql5-client"
-RREPLACES_${PN}-client += "mysql5-client"
-RCONFLICTS_${PN}-client += "mysql5-client"
-
-RPROVIDES_${PN}-server += "mysql5-server"
-RREPLACES_${PN}-server += "mysql5-server"
-RCONFLICTS_${PN}-server += "mysql5-server"
diff --git a/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb b/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
index 4617da8e1b..15f6b6fb9a 100644
--- a/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
+++ b/meta-oe/recipes-dbs/mysql/mysql-python_1.2.5.bb
@@ -1,7 +1,7 @@
SUMMARY = "Python interface to MySQL"
HOMEPAGE = "https://github.com/farcepest/MySQLdb1"
SECTION = "devel/python"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "mysql5"
@@ -16,6 +16,8 @@ SRC_URI[sha256sum] = "811040b647e5d5686f84db415efd697e6250008b112b6909ba77ac059e
S = "${WORKDIR}/${SRCNAME}-${PV}"
+SKIP_RECIPE[mysql-python] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+
inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
python() {
diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch b/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
index 0dc6ece6da..ebd3e03685 100644
--- a/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
+++ b/meta-oe/recipes-dbs/postgresql/files/0001-Add-support-for-RISC-V.patch
@@ -1,17 +1,21 @@
-From b06a228a5fd1589fc9bed654b3288b321fc21aa1 Mon Sep 17 00:00:00 2001
+From ba079b8d6a50796db41bb0ddf4c22bfe022ef898 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sun, 20 Nov 2016 15:04:52 +0000
-Subject: [PATCH] Add support for RISC-V.
+Subject: [PATCH 1/5] Add support for RISC-V.
The architecture is sufficiently similar to aarch64 that simply
extending the existing aarch64 macro works.
+
+Upstream-Status: Pending
---
src/include/storage/s_lock.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
+diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
+index c9fa84c..9b491e8 100644
--- a/src/include/storage/s_lock.h
+++ b/src/include/storage/s_lock.h
-@@ -316,11 +316,12 @@ tas(volatile slock_t *lock)
+@@ -252,11 +252,12 @@ spin_delay(void)
/*
* On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available.
@@ -20,17 +24,20 @@ extending the existing aarch64 macro works.
* We use the int-width variant of the builtin because it works on more chips
* than other widths.
*/
--#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64)
-+#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) || defined(__riscv)
+-#if defined(__arm__) || defined(__arm) || defined(__aarch64__)
++#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__riscv)
#ifdef HAVE_GCC__SYNC_INT32_TAS
#define HAS_TEST_AND_SET
-@@ -337,7 +338,7 @@ tas(volatile slock_t *lock)
- #define S_UNLOCK(lock) __sync_lock_release(lock)
+@@ -290,7 +291,7 @@ spin_delay(void)
+ #endif /* __aarch64__ */
#endif /* HAVE_GCC__SYNC_INT32_TAS */
--#endif /* __arm__ || __arm || __aarch64__ || __aarch64 */
-+#endif /* __arm__ || __arm || __aarch64__ || __aarch64 || __riscv */
+-#endif /* __arm__ || __arm || __aarch64__ */
++#endif /* __arm__ || __arm || __aarch64__ || __riscv */
/* S/390 and S/390x Linux (32- and 64-bit zSeries) */
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch b/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
deleted file mode 100644
index e9bc6240de..0000000000
--- a/meta-oe/recipes-dbs/postgresql/files/0001-Improve-reproducibility.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 71fbee3888ee889a269eded5585ed7591bcbe9dd Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 28 Dec 2020 16:38:21 +0800
-Subject: [PATCH] Improve reproducibility,
-
-Remove build patch from binaries which pg_config do
-not record var-CC, var-CFLAGS, and configure
-
-$ /usr/bin/pg_config --cc
-not recorded
-
-$ /usr/bin/pg_config --configure
-not recorded
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-update patch for v13.1
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- src/common/Makefile | 3 ---
- 1 file changed, 3 deletions(-)
-
---- a/src/common/Makefile
-+++ b/src/common/Makefile
-@@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.glo
- # don't include subdirectory-path-dependent -I and -L switches
- STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
- STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
--override CPPFLAGS += -DVAL_CC="\"$(CC)\""
--override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
--override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
- override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
- override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
- override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
diff --git a/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch b/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch
deleted file mode 100644
index 970d750b13..0000000000
--- a/meta-oe/recipes-dbs/postgresql/files/0001-configure.in-bypass-autoconf-2.69-version-check.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 7177d8334a3c28ab0ec5c90e0656f43414929659 Mon Sep 17 00:00:00 2001
-From: Yi Fan Yu <yifan.yu@windriver.com>
-Date: Fri, 5 Feb 2021 17:15:42 -0500
-Subject: [PATCH] configure.in: bypass autoconf 2.69 version check
-
-for upgrade to autoconf 2.71
-
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
----
- configure.in | 4 ----
- 1 file changed, 4 deletions(-)
-
---- a/configure.in
-+++ b/configure.in
-@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch un
-
- AC_INIT([PostgreSQL], [13.2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
-
--m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
--Untested combinations of 'autoconf' and PostgreSQL versions are not
--recommended. You can remove the check from 'configure.in' but it is then
--your responsibility whether the result works or not.])])
- AC_COPYRIGHT([Copyright (c) 1996-2020, PostgreSQL Global Development Group])
- AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
- AC_CONFIG_AUX_DIR(config)
diff --git a/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch b/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch
new file mode 100644
index 0000000000..b3e87cbc46
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/0002-Improve-reproducibility.patch
@@ -0,0 +1,41 @@
+From 084cc44215c1d5e6d33bc3d2e1d24da4fc98bdcd Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 28 Dec 2020 16:38:21 +0800
+Subject: [PATCH 2/5] Improve reproducibility,
+
+Remove build patch from binaries which pg_config do
+not record var-CC, var-CFLAGS, and configure
+
+$ /usr/bin/pg_config --cc
+not recorded
+
+$ /usr/bin/pg_config --configure
+not recorded
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+update patch for v13.1
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/common/Makefile | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/src/common/Makefile b/src/common/Makefile
+index 113029b..58842a6 100644
+--- a/src/common/Makefile
++++ b/src/common/Makefile
+@@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.global
+ # don't include subdirectory-path-dependent -I and -L switches
+ STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
+ STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
+-override CPPFLAGS += -DVAL_CC="\"$(CC)\""
+-override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
+-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
+ override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
+ override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
+ override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch
new file mode 100644
index 0000000000..d76d1991b6
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/0003-configure.ac-bypass-autoconf-2.69-version-check.patch
@@ -0,0 +1,32 @@
+From 30b1b37d309f67ba6d58f2197bd917107bc7d56c Mon Sep 17 00:00:00 2001
+From: Yi Fan Yu <yifan.yu@windriver.com>
+Date: Fri, 5 Feb 2021 17:15:42 -0500
+Subject: [PATCH 3/5] configure.ac: bypass autoconf 2.69 version check
+
+for upgrade to autoconf 2.71
+
+Upstream-Status: Inappropriate [disable feature]
+
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+---
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 401ce30..27f382d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
+
+ AC_INIT([PostgreSQL], [16.2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+
+-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
+-Untested combinations of 'autoconf' and PostgreSQL versions are not
+-recommended. You can remove the check from 'configure.ac' but it is then
+-your responsibility whether the result works or not.])])
+ AC_COPYRIGHT([Copyright (c) 1996-2023, PostgreSQL Global Development Group])
+ AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
+ AC_CONFIG_AUX_DIR(config)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch b/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch
new file mode 100644
index 0000000000..ff0582ab80
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/0004-config_info.c-not-expose-build-info.patch
@@ -0,0 +1,119 @@
+From 5be3ffdf767c1efcbfd2d1be87aa83f2e37e348e Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 1 Aug 2022 15:44:38 +0800
+Subject: [PATCH 4/5] config_info.c: not expose build info
+
+Don't collect the build information to fix the buildpaths issue.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ configure.ac | 2 +-
+ src/common/config_info.c | 70 +---------------------------------------
+ 2 files changed, 2 insertions(+), 70 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 27f382d..3dd6bb1 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2023, PostgreSQL Global Development Group])
+ AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
+ AC_CONFIG_AUX_DIR(config)
+ AC_PREFIX_DEFAULT(/usr/local/pgsql)
+-AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["$ac_configure_args"], [Saved arguments from configure])
++AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["ac_configure_args"], [Saved arguments from configure])
+
+ [PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
+ [PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`]
+diff --git a/src/common/config_info.c b/src/common/config_info.c
+index 09e78a6..86e4230 100644
+--- a/src/common/config_info.c
++++ b/src/common/config_info.c
+@@ -38,7 +38,7 @@ get_configdata(const char *my_exec_path, size_t *configdata_len)
+ int i = 0;
+
+ /* Adjust this to match the number of items filled below */
+- *configdata_len = 23;
++ *configdata_len = 14;
+ configdata = palloc_array(ConfigData, *configdata_len);
+
+ configdata[i].name = pstrdup("BINDIR");
+@@ -123,74 +123,6 @@ get_configdata(const char *my_exec_path, size_t *configdata_len)
+ configdata[i].setting = pstrdup(path);
+ i++;
+
+- configdata[i].name = pstrdup("CONFIGURE");
+- configdata[i].setting = pstrdup(CONFIGURE_ARGS);
+- i++;
+-
+- configdata[i].name = pstrdup("CC");
+-#ifdef VAL_CC
+- configdata[i].setting = pstrdup(VAL_CC);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("CPPFLAGS");
+-#ifdef VAL_CPPFLAGS
+- configdata[i].setting = pstrdup(VAL_CPPFLAGS);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("CFLAGS");
+-#ifdef VAL_CFLAGS
+- configdata[i].setting = pstrdup(VAL_CFLAGS);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("CFLAGS_SL");
+-#ifdef VAL_CFLAGS_SL
+- configdata[i].setting = pstrdup(VAL_CFLAGS_SL);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("LDFLAGS");
+-#ifdef VAL_LDFLAGS
+- configdata[i].setting = pstrdup(VAL_LDFLAGS);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("LDFLAGS_EX");
+-#ifdef VAL_LDFLAGS_EX
+- configdata[i].setting = pstrdup(VAL_LDFLAGS_EX);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("LDFLAGS_SL");
+-#ifdef VAL_LDFLAGS_SL
+- configdata[i].setting = pstrdup(VAL_LDFLAGS_SL);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+- configdata[i].name = pstrdup("LIBS");
+-#ifdef VAL_LIBS
+- configdata[i].setting = pstrdup(VAL_LIBS);
+-#else
+- configdata[i].setting = pstrdup(_("not recorded"));
+-#endif
+- i++;
+-
+ configdata[i].name = pstrdup("VERSION");
+ configdata[i].setting = pstrdup("PostgreSQL " PG_VERSION);
+ i++;
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch b/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch
new file mode 100644
index 0000000000..af36da4927
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/files/0005-postgresql-fix-ptest-failure-of-sysviews.patch
@@ -0,0 +1,49 @@
+From 1a8b94140988d2ee5ff987b0bb3e7c3e936b8c01 Mon Sep 17 00:00:00 2001
+From: Manoj Saun <manojsingh.saun@windriver.com>
+Date: Wed, 22 Mar 2023 08:07:26 +0000
+Subject: [PATCH 5/5] postgresql: fix ptest failure of sysviews
+
+The patch "0001-config_info.c-not-expose-build-info.patch" hides the debug info
+in pg_config table which reduces the count of rows from pg_config and leads to
+sysviews test failure.
+To fix it we need to reduce the count of parameters in sysviews test.
+Also we need to reduce the row count in expected result of sysview test
+to make the test output shown as pass.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Manoj Saun <manojsingh.saun@windriver.com>
+---
+ src/test/regress/expected/sysviews.out | 2 +-
+ src/test/regress/sql/sysviews.sql | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/test/regress/expected/sysviews.out b/src/test/regress/expected/sysviews.out
+index 001c6e7..8256898 100644
+--- a/src/test/regress/expected/sysviews.out
++++ b/src/test/regress/expected/sysviews.out
+@@ -29,7 +29,7 @@ select name, ident, parent, level, total_bytes >= free_bytes
+ (1 row)
+
+ -- At introduction, pg_config had 23 entries; it may grow
+-select count(*) > 20 as ok from pg_config;
++select count(*) > 13 as ok from pg_config;
+ ok
+ ----
+ t
+diff --git a/src/test/regress/sql/sysviews.sql b/src/test/regress/sql/sysviews.sql
+index 351e469..84c113e 100644
+--- a/src/test/regress/sql/sysviews.sql
++++ b/src/test/regress/sql/sysviews.sql
+@@ -18,7 +18,7 @@ select name, ident, parent, level, total_bytes >= free_bytes
+ from pg_backend_memory_contexts where level = 0;
+
+ -- At introduction, pg_config had 23 entries; it may grow
+-select count(*) > 20 as ok from pg_config;
++select count(*) > 13 as ok from pg_config;
+
+ -- We expect no cursors in this test; see also portals.sql
+ select count(*) = 0 as ok from pg_cursors;
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch b/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
index ba2ee29f05..fa46912eef 100644
--- a/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
+++ b/meta-oe/recipes-dbs/postgresql/files/not-check-libperl.patch
@@ -1,7 +1,7 @@
-From 7e2af4de19be58bc9d551c41ce2750396d357f34 Mon Sep 17 00:00:00 2001
+From 56b830edecff1cac5f8a8a956e7a7eeef2aa7c17 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Tue, 27 Nov 2018 13:25:15 +0800
-Subject: [PATCH] PATCH] not check libperl under cross compiling
+Subject: [PATCH] not check libperl under cross compiling
Upstream-Status: Inappropriate [configuration]
@@ -16,12 +16,14 @@ Signed-off-by: Roy Li <rongqing.li@windriver.com>
update patch to version 11.1
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
- configure.in | 2 +-
+ configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---- a/configure.in
-+++ b/configure.in
-@@ -2206,7 +2206,7 @@ Use --without-tcl to disable building PL
+diff --git a/configure.ac b/configure.ac
+index fba79ee..7170f26 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2261,7 +2261,7 @@ Use --without-tcl to disable building PL/Tcl.])
fi
# check for <perl.h>
@@ -30,3 +32,6 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
ac_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $perl_includespec"
AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])],
+--
+2.34.1
+
diff --git a/meta-oe/recipes-dbs/postgresql/postgresql.inc b/meta-oe/recipes-dbs/postgresql/postgresql.inc
index 09c6a3ca9d..e29a5bef77 100644
--- a/meta-oe/recipes-dbs/postgresql/postgresql.inc
+++ b/meta-oe/recipes-dbs/postgresql/postgresql.inc
@@ -18,12 +18,12 @@ DESCRIPTION = "\
this package if you're installing the postgresql-server package. \
"
HOMEPAGE = "http://www.postgresql.com"
-LICENSE = "BSD-0-Clause"
-DEPENDS = "libnsl2 zlib readline tzcode-native"
+LICENSE = "0BSD"
+DEPENDS = "libnsl2 readline tzcode-native"
ARM_INSTRUCTION_SET = "arm"
-SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \
+SRC_URI = "https://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \
file://postgresql.init \
file://postgresql-profile \
file://postgresql.pam \
@@ -35,16 +35,16 @@ LEAD_SONAME = "libpq.so"
# LDFLAGS for shared libraries
export LDFLAGS_SL = "${LDFLAGS}"
+export LDFLAGS_EX_BE = "-Wl,--export-dynamic"
-inherit autotools pkgconfig perlnative python3native python3targetconfig useradd update-rc.d systemd gettext cpan-base
+inherit autotools pkgconfig perlnative python3native python3targetconfig useradd update-rc.d systemd gettext cpan-base multilib_header
CFLAGS += "-I${STAGING_INCDIR}/${PYTHON_DIR} -I${STAGING_INCDIR}/tcl8.6"
-SYSTEMD_SERVICE_${PN} = "postgresql.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
+SYSTEMD_SERVICE:${PN} = "postgresql.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
-DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then
if [ -n "$D" ]; then
OPTS="--root=$D"
@@ -53,40 +53,47 @@ pkg_postinst_${PN} () {
fi
}
-enable_pam = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
-PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl"
-PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl ac_cv_file__dev_urandom=yes,openssl,"
-PACKAGECONFIG[python] = "--with-python,--without-python,python3,python3"
-PACKAGECONFIG[uuid] = "--with-uuid=e2fs,--without-uuid,util-linux,"
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
+ openssl python uuid libxml tcl perl zlib icu \
+"
PACKAGECONFIG[tcl] = "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl tcl-native,"
-PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,,"
-PACKAGECONFIG[libxml] = "--with-libxml,--without-libxml,libxml2,libxml2"
PACKAGECONFIG[perl] = "--with-perl,--without-perl,perl,perl"
+PACKAGECONFIG[python] = "--with-python,--without-python,python3,python3"
+PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5"
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd systemd-systemctl-native"
+PACKAGECONFIG[uuid] = "--with-uuid=e2fs,--without-uuid,util-linux"
+PACKAGECONFIG[libxml] = "--with-libxml,--without-libxml,libxml2,libxml2"
+PACKAGECONFIG[libxslt] = "--with-libxslt,--without-libxslt,libxslt"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4"
+PACKAGECONFIG[openssl] = "--with-ssl=openssl,ac_cv_file__dev_urandom=yes,openssl"
+PACKAGECONFIG[icu] = "--with-icu,--without-icu,icu,icu"
EXTRA_OECONF += "--enable-thread-safety --disable-rpath \
--datadir=${datadir}/${BPN} \
--sysconfdir=${sysconfdir}/${BPN} \
"
-EXTRA_OECONF_sh4 += "--disable-spinlocks"
-EXTRA_OECONF_aarch64 += "--disable-spinlocks"
+EXTRA_OECONF:sh4 += "--disable-spinlocks"
-DEBUG_OPTIMIZATION_remove_mips = " -Og"
-DEBUG_OPTIMIZATION_append_mips = " -O"
-BUILD_OPTIMIZATION_remove_mips = " -Og"
-BUILD_OPTIMIZATION_append_mips = " -O"
+DEBUG_OPTIMIZATION:remove:mips = " -Og"
+DEBUG_OPTIMIZATION:append:mips = " -O"
+BUILD_OPTIMIZATION:remove:mips = " -Og"
+BUILD_OPTIMIZATION:append:mips = " -O"
-DEBUG_OPTIMIZATION_remove_mipsel = " -Og"
-DEBUG_OPTIMIZATION_append_mipsel = " -O"
-BUILD_OPTIMIZATION_remove_mipsel = " -Og"
-BUILD_OPTIMIZATION_append_mipsel = " -O"
+DEBUG_OPTIMIZATION:remove:mipsel = " -Og"
+DEBUG_OPTIMIZATION:append:mipsel = " -O"
+BUILD_OPTIMIZATION:remove:mipsel = " -Og"
+BUILD_OPTIMIZATION:append:mipsel = " -O"
PACKAGES_DYNAMIC += "^${PN}-plperl \
^${PN}-pltcl \
^${PN}-plpython \
"
-python populate_packages_prepend() {
+python populate_packages:prepend() {
def fill_more(name):
if name is None or name.strip() == "":
@@ -123,7 +130,7 @@ do_configure() {
# do_configure
autotools_do_configure
- # do_configure_append
+ # do_configure:append
# workaround perl package related bugs
sed -i -e "s:-L/usr/local/lib:-L=/usr/local/lib:g" \
${B}/src/Makefile.global
@@ -159,7 +166,7 @@ do_configure() {
fi
}
-do_compile_append() {
+do_compile:append() {
oe_runmake -C contrib all
}
@@ -167,17 +174,18 @@ do_compile_append() {
usernum = "28"
groupnum = "28"
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "-M -g postgres -o -r -d ${localstatedir}/lib/${BPN} \
+USERADD_PARAM:${PN} = "-M -g postgres -o -r -d ${localstatedir}/lib/${BPN} \
-s /bin/sh -c 'PostgreSQL Server' -u ${usernum} postgres"
-GROUPADD_PARAM_${PN} = "-g ${groupnum} -o -r postgres"
+GROUPADD_PARAM:${PN} = "-g ${groupnum} -o -r postgres"
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME = "${BPN}-server"
INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ."
-do_install_append() {
+do_install:append() {
# install contrib
oe_runmake DESTDIR=${D} -C contrib install
+ oe_multilib_header pg_config.h pg_config_ext.h ecpg_config.h postgresql/server/pg_config.h postgresql/server/pg_config_ext.h
# install tutorial
install -d -m 0755 ${D}${libdir}/${BPN}/tutorial
install ${B}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial
@@ -200,7 +208,7 @@ do_install_append() {
# multiple server config directory
install -d -m 700 ${D}${sysconfdir}/default/${BPN}
- if [ "${@d.getVar('enable_pam')}" = "pam" ]; then
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/pam.d
install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql
fi
@@ -210,10 +218,28 @@ do_install_append() {
install -m 0644 ${WORKDIR}/postgresql.service ${D}${systemd_unitdir}/system
sed -i -e 's,@BINDIR@,${bindir},g' \
${D}${systemd_unitdir}/system/postgresql.service
+ # Remove the build path
+ if [ -f ${D}${libdir}/${BPN}/pgxs/src/Makefile.global ]; then
+ sed -i -e 's#${RECIPE_SYSROOT}##g' \
+ -e 's#${RECIPE_SYSROOT_NATIVE}##g' \
+ -e 's#${WORKDIR}##g' \
+ -e 's#${TMPDIR}##g' \
+ ${D}${libdir}/${BPN}/pgxs/src/Makefile.global
+ fi
}
SSTATE_SCAN_FILES += "Makefile.global"
-SSTATE_SCAN_FILES_remove = "*_config"
+SSTATE_SCAN_FILES:remove = "*_config"
+
+postgresql_fix_sources () {
+ for f in ${PKGD}${TARGET_DBGSRC_DIR}/src/pl/plperl/Util.c \
+ ${PKGD}${TARGET_DBGSRC_DIR}/src/pl/plperl/SPI.c; do
+ if [ -e $f ]; then
+ sed -i -e 's#${B}/../${P}#${TARGET_DBGSRC_DIR}#g' $f
+ fi
+ done
+}
+PACKAGESPLITFUNCS =+ "postgresql_fix_sources"
PACKAGES =+ "${PN}-client ${PN}-server-dev ${PN}-timezone \
libecpg-compat libecpg-compat-dev \
@@ -223,7 +249,7 @@ PACKAGES =+ "${PN}-client ${PN}-server-dev ${PN}-timezone \
${PN}-contrib \
"
-RPROVIDES_${PN}-dbg += "libecpg-compat-dbg \
+RPROVIDES:${PN}-dbg += "libecpg-compat-dbg \
libecpg-dbg \
libpq-dbg \
libpgtypes-dbg \
@@ -233,7 +259,7 @@ RPROVIDES_${PN}-dbg += "libecpg-compat-dbg \
${PN}-plperl-dbg \
"
-FILES_${PN} += "${sysconfdir}/init.d/${BPN}-server \
+FILES:${PN} += "${sysconfdir}/init.d/${BPN}-server \
${localstatedir}/lib/${BPN}/data ${localstatedir}/lib/${BPN}/backups \
${localstatedir}/lib/${BPN}/.profile ${sysconfdir}/default/${BPN} \
${libdir}/${BPN}/dict_snowball.so ${libdir}/${BPN}/plpgsql.so \
@@ -245,7 +271,7 @@ FILES_${PN} += "${sysconfdir}/init.d/${BPN}-server \
else ''} \
"
-FILES_${PN}-client = "${bindir}/clusterdb \
+FILES:${PN}-client = "${bindir}/clusterdb \
${bindir}/createdb \
${bindir}/createuser \
${bindir}/dropdb \
@@ -259,7 +285,7 @@ FILES_${PN}-client = "${bindir}/clusterdb \
${bindir}/vacuumlo \
${datadir}/${BPN}/psqlrc.sample \
"
-FILES_${PN}-client-doc = "${mandir}/man1/clusterdb.* \
+FILES:${PN}-client-doc = "${mandir}/man1/clusterdb.* \
${mandir}/man1/createdb.* ${mandir}/man1/createlang.* \
${mandir}/man1/createuser.* ${mandir}/man1/dropdb.* \
${mandir}/man1/droplang.* ${mandir}/man1/dropuser.* \
@@ -268,46 +294,46 @@ FILES_${PN}-client-doc = "${mandir}/man1/clusterdb.* \
${mandir}/man1/reindexdb.* ${mandir}/man1/vacuumdb.* \
${mandir}/man7/* \
"
-FILES_${PN}-doc += "${docdir}/${BPN}/html ${libdir}/${BPN}/tutorial/ \
+FILES:${PN}-doc += "${docdir}/${BPN}/html ${libdir}/${BPN}/tutorial/ \
${mandir}/man1/initdb.* ${mandir}/man1/pg_controldata.* \
${mandir}/man1/pg_ctl.* ${mandir}/man1/pg_resetxlog.* \
${mandir}/man1/postgres.* ${mandir}/man1/postmaster.* \
"
-FILES_${PN}-timezone = "${datadir}/${BPN}/timezone \
+FILES:${PN}-timezone = "${datadir}/${BPN}/timezone \
${datadir}/${BPN}/timezonesets \
"
-RDEPENDS_${PN} += "${PN}-timezone"
-FILES_${PN}-server-dev = "${includedir}/${BPN}/server \
+RDEPENDS:${PN} += "${PN}-timezone"
+FILES:${PN}-server-dev = "${includedir}/${BPN}/server \
${libdir}/${BPN}/pgxs \
"
-FILES_libecpg = "${libdir}/libecpg*${SOLIBS}"
-FILES_libecpg-dev = "${libdir}/libecpg*${SOLIBSDEV} \
+FILES:libecpg = "${libdir}/libecpg*${SOLIBS}"
+FILES:libecpg-dev = "${libdir}/libecpg*${SOLIBSDEV} \
${libdir}/libpgtypes*${SOLIBSDEV} \
${includedir}/ecpg*.h ${includedir}/${BPN}/ecpg*.h \
${includedir}/pgtypes*.h ${includedir}/${BPN}/informix \
${includedir}/sql3types.h ${includedir}/sqlca.h \
"
-FILES_libecpg-doc = "${mandir}/man1/ecpg.*"
-FILES_libecpg-staticdev = "${libdir}/libecpg*.a"
-SECTION_libecpg-staticdev = "devel"
-RDEPENDS_libecpg-staticdev = "libecpg-dev (= ${EXTENDPKGV})"
+FILES:libecpg-doc = "${mandir}/man1/ecpg.*"
+FILES:libecpg-staticdev = "${libdir}/libecpg*.a"
+SECTION:libecpg-staticdev = "devel"
+RDEPENDS:libecpg-staticdev = "libecpg-dev (= ${EXTENDPKGV})"
-FILES_libpq = "${libdir}/libpq*${SOLIBS}"
-FILES_libpq-dev = "${libdir}/libpq*${SOLIBSDEV} \
+FILES:libpq = "${libdir}/libpq*${SOLIBS}"
+FILES:libpq-dev = "${libdir}/libpq*${SOLIBSDEV} \
${includedir} \
"
-FILES_libpq-staticdev = "${libdir}/libpq*.a ${libdir}/libpgport.a"
-SECTION_libpq-staticdev = "devel"
-RDEPENDS_libpq-staticdev = "libpq-dev (= ${EXTENDPKGV})"
+FILES:libpq-staticdev = "${libdir}/libpq*.a ${libdir}/libpgport.a"
+SECTION:libpq-staticdev = "devel"
+RDEPENDS:libpq-staticdev = "libpq-dev (= ${EXTENDPKGV})"
-FILES_libecpg-compat = "${libdir}/libecpg_compat*${SOLIBS}"
-FILES_libecpg-compat-dev = "${libdir}/libecpg_compat*${SOLIBS}"
-FILES_libpgtypes = "${libdir}/libpgtypes*${SOLIBS}"
-FILES_libpgtypes-staticdev = "${libdir}/libpgtypes*.a"
-FILES_libpgtypes-dev = "${libdir}/libpgtypes*${SOLIBS} ${includedir}/pgtypes*.h"
+FILES:libecpg-compat = "${libdir}/libecpg_compat*${SOLIBS}"
+FILES:libecpg-compat-dev = "${libdir}/libecpg_compat*${SOLIBS}"
+FILES:libpgtypes = "${libdir}/libpgtypes*${SOLIBS}"
+FILES:libpgtypes-staticdev = "${libdir}/libpgtypes*.a"
+FILES:libpgtypes-dev = "${libdir}/libpgtypes*${SOLIBS} ${includedir}/pgtypes*.h"
-FILES_${PN}-contrib = " ${bindir}/oid2name ${bindir}/pg_standby \
+FILES:${PN}-contrib = " ${bindir}/oid2name ${bindir}/pg_standby \
${bindir}/pgbench \
${S}/contrib/spi/*.example \
${libdir}/${BPN}/_int.so ${libdir}/${BPN}/adminpack.so \
@@ -335,27 +361,27 @@ FILES_${PN}-contrib = " ${bindir}/oid2name ${bindir}/pg_standby \
${libdir}/${BPN}/pg_upgrade_support.so ${libdir}/${BPN}/.so \
${libdir}/${BPN}/unaccent.so \
"
-DESCRIPTION_${PN}-contrib = "The postgresql-contrib package contains \
+DESCRIPTION:${PN}-contrib = "The postgresql-contrib package contains \
contributed packages that are included in the PostgreSQL distribution."
-FILES_${PN}-pltcl = "${libdir}/${BPN}/pltcl.so ${bindir}/pltcl_delmod \
+FILES:${PN}-pltcl = "${libdir}/${BPN}/pltcl.so ${bindir}/pltcl_delmod \
${binddir}/pltcl_listmod ${bindir}/pltcl_loadmod \
${datadir}/${BPN}/unknown.pltcl"
-SUMMARY_${PN}-pltcl = "The Tcl procedural language for PostgreSQL"
-DESCRIPTION_${PN}-pltcl = "PostgreSQL is an advanced Object-Relational \
+SUMMARY:${PN}-pltcl = "The Tcl procedural language for PostgreSQL"
+DESCRIPTION:${PN}-pltcl = "PostgreSQL is an advanced Object-Relational \
database management system. The postgresql-pltcl package contains the PL/Tcl \
procedural language for the backend."
-FILES_${PN}-plperl = "${libdir}/${BPN}/plperl.so"
-SUMMARY_${PN}-plperl = "The Perl procedural language for PostgreSQL"
-DESCRIPTION_${PN}-plperl = "PostgreSQL is an advanced Object-Relational \
+FILES:${PN}-plperl = "${libdir}/${BPN}/plperl.so"
+SUMMARY:${PN}-plperl = "The Perl procedural language for PostgreSQL"
+DESCRIPTION:${PN}-plperl = "PostgreSQL is an advanced Object-Relational \
database management system. The postgresql-plperl package contains the \
PL/Perl procedural language for the backend."
# In version 8, it will be plpython.so
# In version 9, it might be plpython{2,3}.so depending on python2 or 3
-FILES_${PN}-plpython = "${libdir}/${BPN}/plpython*.so"
-SUMMARY_${PN}-plpython = "The Python procedural language for PostgreSQL"
-DESCRIPTION_${PN}-plpython = "PostgreSQL is an advanced Object-Relational \
+FILES:${PN}-plpython = "${libdir}/${BPN}/plpython*.so"
+SUMMARY:${PN}-plpython = "The Python procedural language for PostgreSQL"
+DESCRIPTION:${PN}-plpython = "PostgreSQL is an advanced Object-Relational \
database management system. The postgresql-plpython package contains \
the PL/Python procedural language for the backend."
diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb b/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb
deleted file mode 100644
index ca8a6c7cee..0000000000
--- a/meta-oe/recipes-dbs/postgresql/postgresql_13.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require postgresql.inc
-
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=255f15687738db8068fbe9b938c90217"
-
-SRC_URI += "\
- file://not-check-libperl.patch \
- file://0001-Add-support-for-RISC-V.patch \
- file://0001-Improve-reproducibility.patch \
- file://0001-configure.in-bypass-autoconf-2.69-version-check.patch \
-"
-
-SRC_URI[sha256sum] = "5fd7fcd08db86f5b2aed28fcfaf9ae0aca8e9428561ac547764c2a2b0f41adfc"
diff --git a/meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb b/meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb
new file mode 100644
index 0000000000..31f83a564b
--- /dev/null
+++ b/meta-oe/recipes-dbs/postgresql/postgresql_16.2.bb
@@ -0,0 +1,16 @@
+require postgresql.inc
+
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=89afbb2d7716371015101c2b2cb4297a"
+
+SRC_URI += "\
+ file://not-check-libperl.patch \
+ file://0001-Add-support-for-RISC-V.patch \
+ file://0002-Improve-reproducibility.patch \
+ file://0003-configure.ac-bypass-autoconf-2.69-version-check.patch \
+ file://0004-config_info.c-not-expose-build-info.patch \
+ file://0005-postgresql-fix-ptest-failure-of-sysviews.patch \
+"
+
+SRC_URI[sha256sum] = "446e88294dbc2c9085ab4b7061a646fa604b4bec03521d5ea671c2e5ad9b2952"
+
+CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Ddoesn't apply to out configuration of postgresql so we can safely ignore it."
diff --git a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch
index 7eda038756..84d4467c0e 100644
--- a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch
+++ b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-donot-use-the-hardcode-libdir.patch
@@ -1,26 +1,27 @@
-[PATCH] do not use the hardcode libdir
+From 8f3ed8df4721991958a5becf75a69493d67e7514 Mon Sep 17 00:00:00 2001
+From: "Roy.Li" <rongqing.li@windriver.com>
+Date: Tue, 5 Sep 2017 10:24:10 +0800
+Subject: [PATCH] [PATCH] do not use the hardcode libdir
-Upstream-status: Pending
+Upstream-Status: Pending
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 9b88d4c..df5ad7a 100644
+index 00b359e..ba50e6f 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -140,7 +140,7 @@ if test "$with_libpq" != yes; then
+@@ -114,7 +114,7 @@ if test "$with_libpq" != yes; then
if test -d "$with_libpq"; then
- PATH="$PATH:$with_libpq/bin"
- CPPFLAGS="$CPPFLAGS -I$with_libpq/include"
+ PATH="$with_libpq/bin:$PATH"
+ CPPFLAGS="$CPPFLAGS -I$with_libpq/include -I$with_libpq/include/postgresql/internal"
- LDFLAGS="$LDFLAGS -L$with_libpq/lib"
+ LDFLAGS="$LDFLAGS -L$with_libpq/${base_libdir}"
else
if test -x "$with_libpq"; then
PG_CONFIG=$with_libpq
---
-2.8.1
-
diff --git a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
index a8f14e7689..081c6d0fd0 100644
--- a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
+++ b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-fix-for-ptest-support.patch
@@ -1,3 +1,6 @@
+From 96896b88776d0080609ec830cf9538d2babe665a Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Tue, 5 Sep 2017 10:24:10 +0800
Subject: [PATCH] psqlodbc: fixes for ptest support
* Fix the LIBODBC since we don't use ODBC_CONFIG.
@@ -9,27 +12,24 @@ Subject: [PATCH] psqlodbc: fixes for ptest support
Upstream-Status: Inappropriate [OE ptest specific]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
---
test/Makefile.in | 2 +-
test/odbcini-gen.sh | 8 ++++----
- test/runsuite.c | 26 +++++++++++++-------------
- 3 files changed, 18 insertions(+), 18 deletions(-)
+ test/runsuite.c | 20 ++++++++++----------
+ 3 files changed, 15 insertions(+), 15 deletions(-)
-diff --git a/test/Makefile.in b/test/Makefile.in
-index 8710616..fcb470e 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
-@@ -18,7 +18,7 @@ CFLAGS = @CFLAGS@
+@@ -19,7 +19,7 @@ CPPFLAGS = @CPPFLAGS@ -I.. # config.h
ODBC_CONFIG = @ODBC_CONFIG@
PROVE = @PROVE@
--LIBODBC := $(shell $(ODBC_CONFIG) --libs)
+-LIBODBC = @LIBODBC@
+LIBODBC = -lodbc
all: $(TESTBINS) runsuite reset-db
-diff --git a/test/odbcini-gen.sh b/test/odbcini-gen.sh
-index d2c2c87..6068d9d 100755
--- a/test/odbcini-gen.sh
+++ b/test/odbcini-gen.sh
@@ -6,7 +6,7 @@
@@ -41,7 +41,16 @@ index d2c2c87..6068d9d 100755
driver=${drvr}.so
if test ! -e $driver ; then
driver=${drvr}.dll
-@@ -33,10 +33,10 @@ Driver = psqlodbc test driver
+@@ -16,7 +16,7 @@ if test ! -e $driver ; then
+ fi
+ fi
+
+-drvra=../.libs/psqlodbca
++drvra=@LIBDIR@/psqlodbca
+ drivera=${drvra}.so
+ if test ! -e $drivera ; then
+ drivera=${drvra}.dll
+@@ -52,10 +52,10 @@ Driver = PostgreSQL Unicode
Trace = No
TraceFile =
Database = contrib_regression
@@ -55,11 +64,9 @@ index d2c2c87..6068d9d 100755
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
-diff --git a/test/runsuite.c b/test/runsuite.c
-index 583cf35..fd2a90e 100644
--- a/test/runsuite.c
+++ b/test/runsuite.c
-@@ -51,7 +51,7 @@ bailout(const char *fmt, ...)
+@@ -55,7 +55,7 @@ bailout(const char *fmt, ...)
/* Given a test program's name, get the test name */
void
@@ -68,7 +75,7 @@ index 583cf35..fd2a90e 100644
{
const char *basename;
#ifdef WIN32
-@@ -65,7 +65,7 @@ parse_argument(const char *in, char *testname, char *binname)
+@@ -69,7 +69,7 @@ parse_argument(const char *in, char *tes
if (strchr(in, DIR_SEP) == NULL)
{
strcpy(testname, in);
@@ -77,7 +84,7 @@ index 583cf35..fd2a90e 100644
return;
}
-@@ -127,7 +127,7 @@ int main(int argc, char **argv)
+@@ -131,7 +131,7 @@ int main(int argc, char **argv)
failures = 0;
for (i = 1, j = 1; i <= numtests; i++, j++)
{
@@ -86,7 +93,7 @@ index 583cf35..fd2a90e 100644
if (runtest(binname, testname, i, inputdir) != 0)
failures++;
}
-@@ -157,29 +157,29 @@ runtest(const char *binname, const char *testname, int testno, const char *input
+@@ -161,29 +161,29 @@ runtest(const char *binname, const char
#ifndef WIN32
snprintf(cmdline, sizeof(cmdline),
"ODBCSYSINI=. ODBCINSTINI=./odbcinst.ini ODBCINI=./odbc.ini "
@@ -123,26 +130,3 @@ index 583cf35..fd2a90e 100644
ret = 0;
}
fflush(stdout);
-@@ -196,7 +196,7 @@ rundiff(const char *testname, const char *inputdir)
- char *result;
- size_t result_len;
-
-- snprintf(filename, sizeof(filename), "results/%s.out", testname);
-+ snprintf(filename, sizeof(filename), "%s/results/%s.out", inputdir, testname);
- result = slurpfile(filename, &result_len);
-
- outputno = 0;
-@@ -244,8 +244,8 @@ rundiff(const char *testname, const char *inputdir)
- * files and print the smallest diff?
- */
- snprintf(cmdline, sizeof(cmdline),
-- "diff -c %s/expected/%s.out results/%s.out >> regression.diffs",
-- inputdir, testname, testname);
-+ "diff -c %s/expected/%s.out %s/results/%s.out >> regression.diffs",
-+ inputdir, testname, inputdir, testname);
- if (system(cmdline) == -1)
- printf("# diff failed\n");
-
---
-2.8.2
-
diff --git a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch
index 1d988182e7..9131d70be6 100644
--- a/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch
+++ b/meta-oe/recipes-dbs/psqlodbc/files/psqlodbc-remove-some-checks-for-cross-compiling.patch
@@ -1,3 +1,6 @@
+From 8ca6b0c72b6b933642ec7c4ebb83734244fec46f Mon Sep 17 00:00:00 2001
+From: "Song.Li" <Song.Li@windriver.com>
+Date: Tue, 5 Sep 2017 10:24:10 +0800
Subject: [PATCH] remove some checks for cross-compiling
some lib check is not suitable for
@@ -8,15 +11,16 @@ Upstream-Status: Inappropriate [not a real bug,just for cross-compiling]
Signed-off-by: Song.Li <Song.Li@windriver.com>
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+
---
- configure.ac | 66 +++++++-----------------------------------------------------
- 1 file changed, 7 insertions(+), 59 deletions(-)
+ configure.ac | 80 +++++-----------------------------------------------
+ 1 file changed, 7 insertions(+), 73 deletions(-)
diff --git a/configure.ac b/configure.ac
-index df5ad7a..b72bd4c 100644
+index 7f79563..00b359e 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -46,57 +46,19 @@ AC_ARG_WITH(iodbc, [ --with-iodbc[[=DIR]] [[default=no]] DIR is the iODBC bas
+@@ -57,71 +57,20 @@ AC_ARG_WITH(iodbc, [ --with-iodbc[[=DIR]] [[default=no]] DIR is the iODBC bas
if test "$with_iodbc" != no; then
with_unixodbc=no
AC_DEFINE(WITH_IODBC, 1, [Define to 1 to build with iODBC support])
@@ -34,6 +38,7 @@ index df5ad7a..b72bd4c 100644
- fi
fi
+ wo_odbc_config=__without_odbc_config
if test "$with_unixodbc" != no; then
AC_DEFINE(WITH_UNIXODBC, 1,
[Define to 1 to build with unixODBC support])
@@ -42,7 +47,9 @@ index df5ad7a..b72bd4c 100644
- else
- ODBC_CONFIG=$with_unixodbc
- fi
-- if test ! -x "${ODBC_CONFIG}/bin/odbc_config"; then
+- if test "${ODBC_CONFIG}" = "${wo_odbc_config}"; then
+- :
+- elif test ! -x "${ODBC_CONFIG}/bin/odbc_config"; then
- if test ! -x "${ODBC_CONFIG}"; then
- AC_MSG_ERROR([odbc_config not found (required for unixODBC build)])
- fi
@@ -62,22 +69,33 @@ index df5ad7a..b72bd4c 100644
- # Linking libiodoc is rather problematic
- [ODBC_LIBDIR=`${ODBC_CONFIG} --libs | sed -e "s/^\(-L\|.*[ \t]-L\)\([^ \n\r\f\t]*\).*$/-L\2/"`]
- LDFLAGS="$LDFLAGS ${ODBC_LIBDIR}"
+- LIBODBC=`${ODBC_CONFIG} --libs` # for regression test
+- elif test "${ODBC_CONFIG}" = "${wo_odbc_config}"; then
+- ODBC_INCLUDE=/usr/include
+- CPPFLAGS="$CPPFLAGS -I${ODBC_INCLUDE}"
+- ODBC_LIBDiR=""
+- LIBODBC="-lodbc" # for regression test
- else
- ODBC_INCLUDE=`${ODBC_CONFIG} --include-prefix`
- CPPFLAGS="$CPPFLAGS -I${ODBC_INCLUDE}"
-- # Linking libodoc is rather problematic
+- # Linking libodbc is rather problematic
- ODBC_LIBDIR=`${ODBC_CONFIG} --lib-prefix`
-- LDFLAGS="$LDFLAGS -L${ODBC_LIBDIR}"
+- if test "${ODBC_LIBDIR}" != ""; then
+- LDFLAGS="$LDFLAGS -L${ODBC_LIBDIR}"
+- fi
+- LIBODBC=`${ODBC_CONFIG} --libs` # for regression test
- fi
- AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBDIR])
+- AC_MSG_NOTICE([using $LIBODBC for regression test])
-fi
+-AC_SUBST(LIBODBC)
+ODBC_LIBS="-lodbcinst"
+LIBS="$LIBS ${ODBC_LIBS}"
+AC_MSG_NOTICE([using $ODBC_INCLUDE $ODBC_LIBS])
#
# SQLCOLATTRIBUTE_SQLLEN check
-@@ -176,18 +138,10 @@ PGAC_ARG_BOOL(enable, pthreads, yes,
+@@ -190,19 +139,10 @@ PGAC_ARG_BOOL(enable, pthreads, yes,
# Find libpq headers and libraries
#
@@ -87,8 +105,9 @@ index df5ad7a..b72bd4c 100644
-
-if test -n "$PG_CONFIG"; then
- pg_includedir=`"$PG_CONFIG" --includedir`
+- pg_pkg_includedir=`"$PG_CONFIG" --pkgincludedir`
- pg_libdir=`"$PG_CONFIG" --libdir`
-- CPPFLAGS="$CPPFLAGS -I$pg_includedir"
+- CPPFLAGS="$CPPFLAGS -I$pg_includedir -I$pg_pkg_includedir/internal"
- LDFLAGS="$LDFLAGS -L$pg_libdir"
-fi
-
@@ -100,7 +119,7 @@ index df5ad7a..b72bd4c 100644
# 1. Programs
-@@ -211,12 +165,6 @@ if test "$with_iodbc" != no; then
+@@ -226,12 +166,6 @@ if test "$with_iodbc" != no; then
[AC_MSG_ERROR([iODBC library "iodbcinst" not found])])
fi
@@ -113,6 +132,3 @@ index df5ad7a..b72bd4c 100644
AC_CHECK_LIB(pq, PQsetSingleRowMode, [],
[AC_MSG_ERROR([libpq library version >= 9.2 is required])])
---
-2.8.1
-
diff --git a/meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc b/meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc
deleted file mode 100644
index 5337b45695..0000000000
--- a/meta-oe/recipes-dbs/psqlodbc/psqlodbc.inc
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "ODBC driver for PostgreSQL"
-DESCRIPTION = "\
- This package provides a driver that allows ODBC-enabled applications to \
- access PostgreSQL databases. ODBC is an abstraction layer that allows \
- applications written for that layer to access databases in a manner \
- that is relatively independent of the particular database management \
- system. \
- . \
- You need to install this package if you want to use an application that \
- provides database access through ODBC and you want that application to \
- access a PostgreSQL database. This package would need to be installed \
- on the same machine as that client application; the PostgreSQL database \
- server can be on a different machine and does not need any additional \
- software to accept ODBC clients. \
-"
-SECTION = "libs"
-HOMEPAGE = "http://psqlodbc.projects.postgresql.org/"
-
-DEPENDS += "postgresql unixodbc"
-
-EXTRA_OECONF = "\
- ac_cv_lib_ltdl_lt_dlopen=no \
- ac_cv_lib_pq_PQconnectdb=yes \
- --with-unixodbc=yes \
- --with-libpq=${STAGING_LIBDIR}/.. \
- --enable-pthreads \
- --disable-unicode \
- LIBS="-lpthread" \
-"
-
-inherit autotools pkgconfig ptest
-
-do_compile_ptest() {
- oe_runmake -C ${B}/test
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}
- cp -a --no-preserve=ownership ${B}/test/exe ${S}/test/expected ${D}${PTEST_PATH}
- install -m 0755 ${B}/test/reset-db ${D}${PTEST_PATH}
- install -m 0755 ${B}/test/runsuite ${D}${PTEST_PATH}
- install -m 0755 ${S}/test/odbcini-gen.sh ${D}${PTEST_PATH}
- install -m 0755 ${S}/test/sampletables.sql ${D}${PTEST_PATH}
- sed -i -e 's|@LIBDIR@|${libdir}|' ${D}${PTEST_PATH}/odbcini-gen.sh
-}
-
-FILES_${PN} += "${libdir}"
-
-# The tests need a local PostgreSQL server running
-RDEPENDS_${PN}-ptest = "postgresql"
diff --git a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb
deleted file mode 100644
index 6e1c8ab4a0..0000000000
--- a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_09.05.0300.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require ${PN}.inc
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://license.txt;md5=6db3822fc7512e83087ba798da013692"
-
-SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions/src/${BPN}-${PV}.tar.gz \
- file://psqlodbc-remove-some-checks-for-cross-compiling.patch \
- file://psqlodbc-donot-use-the-hardcode-libdir.patch \
- file://psqlodbc-fix-for-ptest-support.patch \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "4c6e0b22187d7bb1c998ffac89e50f6b"
-SRC_URI[sha256sum] = "9521f328bf28aaaf5c8488dc89792b614f9d6271742c0baf9bb41c97537764a8"
diff --git a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb
new file mode 100644
index 0000000000..a1ef8e75e9
--- /dev/null
+++ b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb
@@ -0,0 +1,62 @@
+SUMMARY = "ODBC driver for PostgreSQL"
+DESCRIPTION = "\
+ This package provides a driver that allows ODBC-enabled applications to \
+ access PostgreSQL databases. ODBC is an abstraction layer that allows \
+ applications written for that layer to access databases in a manner \
+ that is relatively independent of the particular database management \
+ system. \
+ . \
+ You need to install this package if you want to use an application that \
+ provides database access through ODBC and you want that application to \
+ access a PostgreSQL database. This package would need to be installed \
+ on the same machine as that client application; the PostgreSQL database \
+ server can be on a different machine and does not need any additional \
+ software to accept ODBC clients. \
+"
+SECTION = "libs"
+HOMEPAGE = "https://odbc.postgresql.org/"
+
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://license.txt;md5=6db3822fc7512e83087ba798da013692"
+
+SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions/src/${BPN}-${PV}.tar.gz \
+ file://psqlodbc-remove-some-checks-for-cross-compiling.patch \
+ file://psqlodbc-donot-use-the-hardcode-libdir.patch \
+ file://psqlodbc-fix-for-ptest-support.patch \
+ file://run-ptest \
+"
+
+SRC_URI[sha256sum] = "afd892f89d2ecee8d3f3b2314f1bd5bf2d02201872c6e3431e5c31096eca4c8b"
+
+DEPENDS += "postgresql unixodbc"
+
+EXTRA_OECONF = "\
+ ac_cv_lib_ltdl_lt_dlopen=no \
+ ac_cv_lib_pq_PQconnectdb=yes \
+ --with-unixodbc=yes \
+ --with-libpq=${STAGING_LIBDIR}/.. \
+ --enable-pthreads \
+ LIBS='-lpthread' \
+"
+
+inherit autotools pkgconfig ptest
+
+do_compile_ptest() {
+ oe_runmake -C ${B}/test
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -a --no-preserve=ownership ${B}/test/exe ${S}/test/expected ${D}${PTEST_PATH}
+ install -m 0755 ${B}/test/reset-db ${D}${PTEST_PATH}
+ install -m 0755 ${B}/test/runsuite ${D}${PTEST_PATH}
+ install -m 0755 ${S}/test/odbcini-gen.sh ${D}${PTEST_PATH}
+ install -m 0755 ${S}/test/sampletables.sql ${D}${PTEST_PATH}
+ sed -i -e 's|@LIBDIR@|${libdir}|' ${D}${PTEST_PATH}/odbcini-gen.sh
+}
+
+FILES:${PN} += "${libdir}"
+
+# The tests need a local PostgreSQL server running
+RDEPENDS:${PN}-ptest += "psqlodbc postgresql diffutils"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils locale-base-en-us glibc-gconv glibc-charmaps"
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
index eb9928a0ca..ba6a2d4fbb 100644
--- a/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
+++ b/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Add-check-for-atomic-support.patch
@@ -1,4 +1,4 @@
-From cf168ae0b7bceab8432d096719b331f18428fe39 Mon Sep 17 00:00:00 2001
+From 034a9c4ce2ae61cfcffa977f1eb8e6f68947f480 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 18 Mar 2020 15:10:37 -0700
Subject: [PATCH] cmake: Add check for atomic support
@@ -18,6 +18,7 @@ Fixes
| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_fetch_add_8'
Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/6555]
+
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
CMakeLists.txt | 5 +++
@@ -26,10 +27,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
create mode 100644 cmake/modules/CheckAtomic.cmake
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f9c8f3346..4d604004b 100644
+index 5cfc1b4803..0a7f820a22 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -852,7 +852,12 @@ endif()
+@@ -1038,7 +1038,12 @@ set(ROCKSDB_SHARED_LIB rocksdb-shared${ARTIFACT_SUFFIX})
if(WIN32)
set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi.lib rpcrt4.lib)
else()
@@ -41,10 +42,10 @@ index f9c8f3346..4d604004b 100644
+ endif()
endif()
- add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES})
+ set(ROCKSDB_PLUGIN_EXTERNS "")
diff --git a/cmake/modules/CheckAtomic.cmake b/cmake/modules/CheckAtomic.cmake
new file mode 100644
-index 000000000..8b7dc8a37
+index 0000000000..8b7dc8a377
--- /dev/null
+++ b/cmake/modules/CheckAtomic.cmake
@@ -0,0 +1,69 @@
@@ -118,5 +119,5 @@ index 000000000..8b7dc8a37
+endif()
+
--
-2.28.0
+2.25.1
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch
deleted file mode 100644
index 57433b057a..0000000000
--- a/meta-oe/recipes-dbs/rocksdb/files/0001-cmake-Use-exported-target-for-bz2.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 46a4e585175cac8d76bd0b64f0fc27c9e22f04a1 Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@nextrem.ch>
-Date: Mon, 12 Oct 2020 21:22:46 +0200
-Subject: [PATCH] cmake: Use exported target for bz2
-
-Without this change, CMake puts the entire path into the generated file.
-This is not portable and makes it fail in environment like Yocto.
-
-Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7541]
----
- CMakeLists.txt | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 676192913..801586c30 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -32,7 +32,7 @@
- # 3. cmake ..
- # 4. make -j
-
--cmake_minimum_required(VERSION 3.5.1)
-+cmake_minimum_required(VERSION 3.7.2)
-
- list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/modules/")
- include(ReadVersion)
-@@ -148,12 +148,7 @@ else()
- if(WITH_BZ2)
- find_package(BZip2 REQUIRED)
- add_definitions(-DBZIP2)
-- if(BZIP2_INCLUDE_DIRS)
-- include_directories(${BZIP2_INCLUDE_DIRS})
-- else()
-- include_directories(${BZIP2_INCLUDE_DIR})
-- endif()
-- list(APPEND THIRDPARTY_LIBS ${BZIP2_LIBRARIES})
-+ list(APPEND THIRDPARTY_LIBS BZip2::BZip2)
- endif()
-
- if(WITH_LZ4)
---
-2.28.0
-
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch
deleted file mode 100644
index aa291daa3e..0000000000
--- a/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From ddcc8a9f7e0f0bfee96f2f0a0c10f21f9fa9b05d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Nov 2020 15:02:28 -0800
-Subject: [PATCH] folly: Use SYS_futex for syscall
-
-glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there
-is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64
-
-Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7676]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- third-party/folly/folly/detail/Futex.cpp | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/third-party/folly/folly/detail/Futex.cpp b/third-party/folly/folly/detail/Futex.cpp
-index 62d6ea2b2..a914a8c73 100644
---- a/third-party/folly/folly/detail/Futex.cpp
-+++ b/third-party/folly/folly/detail/Futex.cpp
-@@ -48,9 +48,15 @@ namespace {
- #define FUTEX_CLOCK_REALTIME 256
- #endif
-
-+/// Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and
-+/// therefore do not define __NR_futex
-+#if !defined(SYS_futex) && defined(SYS_futex_time64)
-+# define SYS_futex SYS_futex_time64
-+#endif
-+
- int nativeFutexWake(const void* addr, int count, uint32_t wakeMask) {
- long rv = syscall(
-- __NR_futex,
-+ SYS_futex,
- addr, /* addr1 */
- FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG, /* op */
- count, /* val */
-@@ -112,7 +118,7 @@ FutexResult nativeFutexWaitImpl(
- // Unlike FUTEX_WAIT, FUTEX_WAIT_BITSET requires an absolute timeout
- // value - http://locklessinc.com/articles/futex_cheat_sheet/
- long rv = syscall(
-- __NR_futex,
-+ SYS_futex,
- addr, /* addr1 */
- op, /* op */
- expected, /* val */
---
-2.29.2
-
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch
new file mode 100644
index 0000000000..342964cf2c
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/files/0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch
@@ -0,0 +1,66 @@
+From 1ba84e1b8d4c9a3ad85dc443b0df4d79c89cca4b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 17 Jun 2021 19:35:01 -0700
+Subject: [PATCH] replace old sync with new atomic builtin equivalents
+
+Helps compiling with gcc on newer arches e.g. riscv32 where these
+__sync* builtins are not implemented atleast for 64bit values
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../range/range_tree/lib/portability/toku_atomic.h | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h
+index aaa2298faf..9385902808 100644
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h
+@@ -77,37 +77,37 @@ template <typename T, typename U>
+ __attribute__((always_inline)) static inline T toku_sync_fetch_and_add(T *addr,
+ U diff) {
+ paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+- return __sync_fetch_and_add(addr, diff);
++ return __atomic_fetch_add(addr, diff, 5);
+ }
+ template <typename T, typename U>
+ __attribute__((always_inline)) static inline T toku_sync_add_and_fetch(T *addr,
+ U diff) {
+ paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+- return __sync_add_and_fetch(addr, diff);
++ return __atomic_add_fetch(addr, diff, 5);
+ }
+ template <typename T, typename U>
+ __attribute__((always_inline)) static inline T toku_sync_fetch_and_sub(T *addr,
+ U diff) {
+ paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+- return __sync_fetch_and_sub(addr, diff);
++ return __atomic_fetch_sub(addr, diff, 5);
+ }
+ template <typename T, typename U>
+ __attribute__((always_inline)) static inline T toku_sync_sub_and_fetch(T *addr,
+ U diff) {
+ paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+- return __sync_sub_and_fetch(addr, diff);
++ return __atomic_sub_fetch(addr, diff, 5);
+ }
+ template <typename T, typename U, typename V>
+ __attribute__((always_inline)) static inline T toku_sync_val_compare_and_swap(
+ T *addr, U oldval, V newval) {
+ paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+- return __sync_val_compare_and_swap(addr, oldval, newval);
++ return __atomic_compare_exchange(addr, oldval, newval);
+ }
+ template <typename T, typename U, typename V>
+ __attribute__((always_inline)) static inline bool
+ toku_sync_bool_compare_and_swap(T *addr, U oldval, V newval) {
+ paranoid_invariant(!crosses_boundary(addr, sizeof *addr));
+- return __sync_bool_compare_and_swap(addr, oldval, newval);
++ return static_cast<bool>(__atomic_compare_exchange(addr, oldval, newval));
+ }
+
+ // in case you include this but not toku_portability.h
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0002-cmake-Use-exported-target-for-bz2.patch b/meta-oe/recipes-dbs/rocksdb/files/0002-cmake-Use-exported-target-for-bz2.patch
new file mode 100644
index 0000000000..6b46a1f300
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/files/0002-cmake-Use-exported-target-for-bz2.patch
@@ -0,0 +1,34 @@
+From bb3fc86f87a9acc64628e1cb32f5c8a1cfbeb880 Mon Sep 17 00:00:00 2001
+From: Pascal Bach <pascal.bach@nextrem.ch>
+Date: Mon, 12 Oct 2020 21:22:46 +0200
+Subject: [PATCH] cmake: Use exported target for bz2
+
+Without this change, CMake puts the entire path into the generated file.
+This is not portable and makes it fail in environment like Yocto.
+
+Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7541]
+---
+ CMakeLists.txt | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0a7f820a22..be80edb955 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -149,12 +149,7 @@ else()
+ if(WITH_BZ2)
+ find_package(BZip2 REQUIRED)
+ add_definitions(-DBZIP2)
+- if(BZIP2_INCLUDE_DIRS)
+- include_directories(${BZIP2_INCLUDE_DIRS})
+- else()
+- include_directories(${BZIP2_INCLUDE_DIR})
+- endif()
+- list(APPEND THIRDPARTY_LIBS ${BZIP2_LIBRARIES})
++ list(APPEND THIRDPARTY_LIBS BZip2::BZip2)
+ endif()
+
+ if(WITH_LZ4)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0003-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch b/meta-oe/recipes-dbs/rocksdb/files/0003-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch
new file mode 100644
index 0000000000..e2f785d7cf
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/files/0003-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch
@@ -0,0 +1,33 @@
+From bb10f55eb77be7b7eee94cb3506c9cbef8e24099 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 26 Jan 2023 13:00:43 -0800
+Subject: [PATCH] cmake: Do not add -msse4.2 -mpclmul on clang
+
+When testcase is compiled with clang and -msse4.2 -mpclmul is added to
+cxxflags then clang -m32 still ends up compiling the test case which is
+not correct for i386, therefore depend on yocto to pass the right flags
+from environemnt via cflags rather than manufecture them here
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index be80edb955..a1bbade81a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -279,7 +279,7 @@ endif()
+
+ include(CheckCXXSourceCompiles)
+ set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+-if(NOT MSVC)
++if(NOT MSVC AND NOT CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ set(CMAKE_REQUIRED_FLAGS "-msse4.2 -mpclmul")
+ endif()
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0004-Implement-support-for-musl-ppc64.patch b/meta-oe/recipes-dbs/rocksdb/files/0004-Implement-support-for-musl-ppc64.patch
new file mode 100644
index 0000000000..5fcf1f7dae
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/files/0004-Implement-support-for-musl-ppc64.patch
@@ -0,0 +1,42 @@
+From c6accd34e8169d7a6b92fc89dce5d4309978e39e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 21 Mar 2024 14:11:09 +0800
+Subject: [PATCH] Implement support for musl/ppc64
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../lock/range/range_tree/lib/portability/toku_time.h | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+index 9b83c53511..0a7488c397 100644
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+@@ -58,7 +58,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
+ #include <stdint.h>
+ #include <sys/time.h>
+ #include <time.h>
+-#if defined(__powerpc__)
++#if defined(__powerpc__) && defined(__GLIBC__)
+ #include <sys/platform/ppc.h>
+ #endif
+
+@@ -131,8 +131,12 @@ static inline tokutime_t toku_time_now(void) {
+ uint64_t result;
+ __asm __volatile__("mrs %[rt], cntvct_el0" : [rt] "=r"(result));
+ return result;
+-#elif defined(__powerpc__)
++#elif defined(__powerpc__) && defined(__GLIBC__)
+ return __ppc_get_timebase();
++#elif defined(__powerpc64__) || defined(__ppc64__)
++ uint64_t result;
++ asm volatile("mfspr %0, 268" : "=r"(result));
++ return result;
+ #elif defined(__s390x__)
+ uint64_t result;
+ asm volatile("stckf %0" : "=Q"(result) : : "cc");
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0005-Implement-timer-implementation-for-mips-platform.patch b/meta-oe/recipes-dbs/rocksdb/files/0005-Implement-timer-implementation-for-mips-platform.patch
new file mode 100644
index 0000000000..2979b73d2f
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/files/0005-Implement-timer-implementation-for-mips-platform.patch
@@ -0,0 +1,32 @@
+From 2ebc0ff33e41d23e4d3aec1a86f3d8bd4be410e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 21 Mar 2024 14:14:58 +0800
+Subject: [PATCH] Implement timer implementation for mips platform
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../lock/range/range_tree/lib/portability/toku_time.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+index 0a7488c397..ad7d9f2124 100644
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+@@ -162,6 +162,12 @@ static inline tokutime_t toku_time_now(void) {
+ unsigned long result;
+ asm volatile ("rdtime.d\t%0,$r0" : "=r" (result));
+ return result;
++#elif defined(__mips__)
++ // mips apparently only allows rdtsc for superusers, so we fall
++ // back to gettimeofday. It's possible clock_gettime would be better.
++ struct timeval tv;
++ gettimeofday(&tv, nullptr);
++ return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
+ #else
+ #error No timer implementation for this platform
+ #endif
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0006-Implement-timer-for-arm-v6.patch b/meta-oe/recipes-dbs/rocksdb/files/0006-Implement-timer-for-arm-v6.patch
new file mode 100644
index 0000000000..0ae673c425
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/files/0006-Implement-timer-for-arm-v6.patch
@@ -0,0 +1,40 @@
+From 9e274ba2762724f353227b5a3a6e4433f706468a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 21 Mar 2024 14:16:08 +0800
+Subject: [PATCH] Implement timer for arm >= v6
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../range/range_tree/lib/portability/toku_time.h | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+index ad7d9f2124..bcb795b7e7 100644
+--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
++++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+@@ -168,6 +168,20 @@ static inline tokutime_t toku_time_now(void) {
+ struct timeval tv;
+ gettimeofday(&tv, nullptr);
+ return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
++#elif (__ARM_ARCH >= 6)
++ uint32_t pmccntr;
++ uint32_t pmuseren;
++ uint32_t pmcntenset;
++ // Read the user mode perf monitor counter access permissions.
++ asm volatile("mrc p15, 0, %0, c9, c14, 0" : "=r"(pmuseren));
++ if (pmuseren & 1) { // Allows reading perfmon counters for user mode code.
++ asm volatile("mrc p15, 0, %0, c9, c12, 1" : "=r"(pmcntenset));
++ if (pmcntenset & 0x80000000ul) { // Is it counting?
++ asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r"(pmccntr));
++ // The counter is set up to count every 64th cycle
++ return (uint64_t)pmccntr * 64; // Should optimize to << 6
++ }
++ }
+ #else
+ #error No timer implementation for this platform
+ #endif
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/rocksdb/files/0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch b/meta-oe/recipes-dbs/rocksdb/files/0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch
new file mode 100644
index 0000000000..9ba34450ba
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/files/0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch
@@ -0,0 +1,39 @@
+From ed549d43c8b691cd7891c7e5c76df189feb04b4f Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Sun, 7 Apr 2024 17:16:53 +0800
+Subject: [PATCH] Fix declaration scope of LE_LOAD32 in crc32c
+
+Fix build error when __SSE4_2__ is defined:
+util/crc32c.cc: In function 'void rocksdb::crc32c::DefaultCRC32(uint64_t*, const uint8_t**)':
+util/crc32c.cc:267:53: error: 'LE_LOAD32' was not declared in this scope
+ 267 | *l = _mm_crc32_u32(static_cast<unsigned int>(*l), LE_LOAD32(*p));
+ | ^~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/12515]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ util/crc32c.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util/crc32c.cc b/util/crc32c.cc
+index 38a69bb50..aa13ad882 100644
+--- a/util/crc32c.cc
++++ b/util/crc32c.cc
+@@ -242,12 +242,12 @@ static const uint32_t table3_[256] = {
+ 0xc747336e, 0x1a0299d6, 0x782010ef, 0xa565ba57, 0xbc65029d, 0x6120a825,
+ 0x0302211c, 0xde478ba4, 0x31035088, 0xec46fa30, 0x8e647309, 0x5321d9b1,
+ 0x4a21617b, 0x9764cbc3, 0xf54642fa, 0x2803e842};
++#endif // !__SSE4_2__
+
+ // Used to fetch a naturally-aligned 32-bit word in little endian byte-order
+ static inline uint32_t LE_LOAD32(const uint8_t* p) {
+ return DecodeFixed32(reinterpret_cast<const char*>(p));
+ }
+-#endif // !__SSE4_2__
+
+ static inline void DefaultCRC32(uint64_t* l, uint8_t const** p) {
+ #ifndef __SSE4_2__
+--
+2.25.1
+
diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb
deleted file mode 100644
index acef05b015..0000000000
--- a/meta-oe/recipes-dbs/rocksdb/rocksdb_6.15.5.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "RocksDB an embeddable, persistent key-value store"
-DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage."
-HOMEPAGE = "http://rocksdb.org/"
-LICENSE = "(Apache-2.0 | GPL-2.0) & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \
- file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
-
-SRCREV = "abd4b1ff1504ae2a7ed6e60bc9c9797b880c33a5"
-SRCBRANCH = "6.15.fb"
-
-SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \
- file://0001-cmake-Add-check-for-atomic-support.patch \
- file://0001-cmake-Use-exported-target-for-bz2.patch \
- file://0001-folly-Use-SYS_futex-for-syscall.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ??= "bzip2 zlib lz4 gflags"
-PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
-PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
-PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
-PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd"
-PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
-PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags"
-
-# Tools and tests currently don't compile on armv5 so we disable them
-EXTRA_OECMAKE = "\
- -DPORTABLE=ON \
- -DWITH_TESTS=OFF \
- -DWITH_BENCHMARK_TOOLS=OFF \
- -DWITH_TOOLS=OFF \
- -DFAIL_ON_WARNINGS=OFF \
-"
-
-do_install_append() {
- # fix for qa check buildpaths
- sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake
-}
-
-LDFLAGS_append_riscv64 = " -pthread"
diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_9.0.0.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_9.0.0.bb
new file mode 100644
index 0000000000..444351dbb4
--- /dev/null
+++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_9.0.0.bb
@@ -0,0 +1,57 @@
+SUMMARY = "RocksDB an embeddable, persistent key-value store"
+DESCRIPTION = "RocksDB is library that provides an embeddable, persistent key-value store for fast storage."
+HOMEPAGE = "http://rocksdb.org/"
+LICENSE = "(Apache-2.0 | GPL-2.0-only) & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
+
+SRCREV = "f4441966592636253fd5ab0bb9ed44fc2697fc53"
+SRCBRANCH = "9.0.fb"
+
+SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=https \
+ file://0001-cmake-Add-check-for-atomic-support.patch \
+ file://0002-cmake-Use-exported-target-for-bz2.patch \
+ file://0003-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch \
+ file://0004-Implement-support-for-musl-ppc64.patch \
+ file://0005-Implement-timer-implementation-for-mips-platform.patch \
+ file://0006-Implement-timer-for-arm-v6.patch \
+ file://0007-Fix-declaration-scope-of-LE_LOAD32-in-crc32c.patch \
+ "
+
+SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
+SRC_URI:append:mips = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
+SRC_URI:append:powerpc = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
+SRC_URI:remove:toolchain-clang:riscv32 = "file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ??= "bzip2 zlib lz4 gflags"
+PACKAGECONFIG[bzip2] = "-DWITH_BZ2=ON,-DWITH_BZ2=OFF,bzip2"
+PACKAGECONFIG[lz4] = "-DWITH_LZ4=ON,-DWITH_LZ4=OFF,lz4"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+PACKAGECONFIG[zstd] = "-DWITH_ZSTD=ON,-DWITH_ZSTD=OFF,zstd"
+PACKAGECONFIG[lite] = "-DROCKSDB_LITE=ON,-DROCKSDB_LITE=OFF"
+PACKAGECONFIG[gflags] = "-DWITH_GFLAGS=ON,-DWITH_GFLAGS=OFF,gflags"
+
+# Tools and tests currently don't compile on armv5 so we disable them
+EXTRA_OECMAKE = "\
+ -DPORTABLE=ON \
+ -DWITH_TESTS=OFF \
+ -DWITH_BENCHMARK_TOOLS=OFF \
+ -DWITH_TOOLS=OFF \
+ -DFAIL_ON_WARNINGS=OFF \
+"
+
+CXXFLAGS += "${@bb.utils.contains('SELECTED_OPTIMIZATION', '-Og', '-DXXH_NO_INLINE_HINTS', '', d)}"
+
+do_install:append() {
+ # Fix for qa check buildpaths
+ sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake
+}
+
+# Need toku_time_now() implemented for ppc/musl
+# see utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
+COMPATIBLE_HOST:libc-musl:powerpc = "null"
diff --git a/meta-oe/recipes-dbs/soci/soci/0001-Do-not-use-std-shuffle-with-clang-15.patch b/meta-oe/recipes-dbs/soci/soci/0001-Do-not-use-std-shuffle-with-clang-15.patch
new file mode 100644
index 0000000000..eb29627c6d
--- /dev/null
+++ b/meta-oe/recipes-dbs/soci/soci/0001-Do-not-use-std-shuffle-with-clang-15.patch
@@ -0,0 +1,32 @@
+From e5f72c656829402c6f70e7416039bc18f0c26485 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 30 Aug 2022 22:17:14 -0700
+Subject: [PATCH] Do not use std::shuffle with clang 15
+
+This fails to compile although its preferred approach for c++11 and
+newer
+
+See
+https://github.com/SOCI/soci/issues/984
+
+Upstream-Status: Inappropriate [Workaround]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cmake/SociConfig.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmake/SociConfig.cmake b/cmake/SociConfig.cmake
+index 492e1837..f24fd9a6 100644
+--- a/cmake/SociConfig.cmake
++++ b/cmake/SociConfig.cmake
+@@ -94,6 +94,7 @@ else()
+ set(SOCI_CXX11 ON)
+ set(SOCI_CXX_VERSION_FLAGS "-std=c++11")
+ add_definitions(-DCATCH_CONFIG_CPP11_NO_IS_ENUM)
++ add_definitions(-DCATCH_CONFIG_CPP11_NO_SHUFFLE)
+
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SOCI_GCC_CLANG_COMMON_FLAGS} ${SOCI_CXX_VERSION_FLAGS}")
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-dbs/soci/soci/soci_libdir.patch b/meta-oe/recipes-dbs/soci/soci/soci_libdir.patch
deleted file mode 100644
index 00a1a5c862..0000000000
--- a/meta-oe/recipes-dbs/soci/soci/soci_libdir.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Define SOCI_LIBDIR only if its not passed via environemnt. In OE we
-want to set it per our choice since we use 'lib' for 64bit unless we
-are using multilib
-
--Khem
-
-Index: soci-3.2.2/CMakeLists.txt
-===================================================================
---- soci-3.2.2.orig/CMakeLists.txt
-+++ soci-3.2.2/CMakeLists.txt
-@@ -69,11 +69,12 @@ include(SociDependencies)
- ###############################################################################
- # Installation
- ###############################################################################
--
--if(APPLE OR CMAKE_SIZEOF_VOID_P EQUAL 4)
-- set(SOCI_LIBDIR "lib")
--else()
-- set(SOCI_LIBDIR "lib64")
-+if(NOT DEFINED SOCI_LIBDIR)
-+ if(APPLE OR CMAKE_SIZEOF_VOID_P EQUAL 4)
-+ set(SOCI_LIBDIR "lib")
-+ else()
-+ set(SOCI_LIBDIR "lib")
-+ endif()
- endif()
-
- set(BINDIR "bin" CACHE PATH "The directory to install binaries into.")
diff --git a/meta-oe/recipes-dbs/soci/soci_3.2.3.bb b/meta-oe/recipes-dbs/soci/soci_3.2.3.bb
deleted file mode 100644
index 3f22d38181..0000000000
--- a/meta-oe/recipes-dbs/soci/soci_3.2.3.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (C) 2015 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "The C++ Database Access Library"
-HOMEPAGE = "http://soci.sourceforge.net"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SECTION = "libs"
-DEPENDS = "boost"
-
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BP}/${BP}.tar.gz \
- file://soci_libdir.patch \
- "
-SRC_URI[md5sum] = "acfbccf176cd20e06833a8037a2d3699"
-SRC_URI[sha256sum] = "2c659db0f4f7b424bbcffe195c03c293a1dbf676189a27b077fb2aab4d53a610"
-
-TESTCONFIG = '-DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" \
- -DSOCI_TEST_POSTGRESQL_CONNSTR:STRING="dbname=soci_test" \
- -DSOCI_TEST_MYSQL_CONNSTR:STRING="db=soci_test user=oe password=oe"'
-
-OBASEDIR ?= "/opt/oracle"
-OINCDIR = "rdbms/public"
-OLIBDIR = "lib"
-
-PACKAGECONFIG[sqlite3] = "-DSOCI_SQLITE3=ON,-DSOCI_SQLITE3=OFF,sqlite3,"
-PACKAGECONFIG[mysql] = "-DSOCI_MYSQL=ON,-DSOCI_MYSQL=OFF,mariadb,"
-PACKAGECONFIG[postgresql] = "-DSOCI_POSTGRESQL=ON,-DSOCI_POSTGRESQL=OFF,postgresql,"
-PACKAGECONFIG[odbc] = "-DSOCI_ODBC=ON,-DSOCI_ODBC=OFF,,"
-PACKAGECONFIG[empty] = "-DSOCI_EMPTY=ON,-DSOCI_EMPTY=OFF,,"
-PACKAGECONFIG[oracle] = "-DWITH_ORACLE=ON --with-oracle-include=${OINCDIR} --with-oracle-lib=${OLIBDIR},-DWITH_ORACLE=OFF,,"
-PACKAGECONFIG[ptest] = "${TESTCONFIG},,,"
-
-# enable your backend by default we enable 'empty'
-PACKAGECONFIG ??= "empty"
-
-# Take the flags added by PACKAGECONFIG and pass them to cmake.
-EXTRA_OECMAKE = "${EXTRA_OECONF} -DSOCI_LIBDIR=${libdir}"
-DISABLE_STATIC = ""
-
-inherit dos2unix cmake
-
-PACKAGES += "${PN}-sqlite3 ${PN}-mysql ${PN}-postgresql ${PN}-odbc ${PN}-oracle"
-
-FILES_${PN}-sqlite3 = "${libdir}/lib${BPN}_sqlite3.so.*"
-FILES_${PN}-mysql = "${libdir}/lib${BPN}_mysql.so.*"
-FILES_${PN}-postgresql = "${libdir}/lib${BPN}_postgresql.so.*"
-FILES_${PN}-odbc = "${libdir}/lib${BPN}_odbc.so.*"
-FILES_${PN}-oracle = "${libdir}/lib${BPN}_oracle.so.*"
diff --git a/meta-oe/recipes-dbs/soci/soci_4.0.3.bb b/meta-oe/recipes-dbs/soci/soci_4.0.3.bb
new file mode 100644
index 0000000000..25d67ff8bf
--- /dev/null
+++ b/meta-oe/recipes-dbs/soci/soci_4.0.3.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "The C++ Database Access Library"
+HOMEPAGE = "http://soci.sourceforge.net"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+SECTION = "libs"
+DEPENDS = "boost"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${BP}/${BP}.tar.gz \
+ file://0001-Do-not-use-std-shuffle-with-clang-15.patch \
+ "
+SRC_URI[sha256sum] = "615e5f7e4b52007f3a3b4050a99aadf6346b56b5098eb08b3a650836083c6a33"
+
+TESTCONFIG = '-DSOCI_TEST_EMPTY_CONNSTR="dummy" -DSOCI_TEST_SQLITE3_CONNSTR="test.db" \
+ -DSOCI_TEST_POSTGRESQL_CONNSTR:STRING="dbname=soci_test" \
+ -DSOCI_TEST_MYSQL_CONNSTR:STRING="db=soci_test user=oe password=oe"'
+
+OBASEDIR ?= "/opt/oracle"
+OINCDIR = "rdbms/public"
+OLIBDIR = "lib"
+
+PACKAGECONFIG[sqlite3] = "-DSOCI_SQLITE3=ON,-DSOCI_SQLITE3=OFF,sqlite3,"
+PACKAGECONFIG[mysql] = "-DSOCI_MYSQL=ON,-DSOCI_MYSQL=OFF,mariadb,"
+PACKAGECONFIG[postgresql] = "-DSOCI_POSTGRESQL=ON,-DSOCI_POSTGRESQL=OFF,postgresql,"
+PACKAGECONFIG[odbc] = "-DSOCI_ODBC=ON,-DSOCI_ODBC=OFF,,"
+PACKAGECONFIG[empty] = "-DSOCI_EMPTY=ON,-DSOCI_EMPTY=OFF,,"
+PACKAGECONFIG[oracle] = "-DWITH_ORACLE=ON --with-oracle-include=${OINCDIR} --with-oracle-lib=${OLIBDIR},-DWITH_ORACLE=OFF,,"
+PACKAGECONFIG[firebird] = "-DWITH_FIREBIRD=ON,-DWITH_FIREBIRD=OFF,,"
+PACKAGECONFIG[ptest] = "${TESTCONFIG},,,"
+
+# enable your backend by default we enable 'empty'
+PACKAGECONFIG ??= "empty"
+
+# Take the flags added by PACKAGECONFIG and pass them to cmake.
+EXTRA_OECMAKE = "${EXTRA_OECONF} -DSOCI_LIBDIR=${libdir}"
+DISABLE_STATIC = ""
+
+inherit dos2unix cmake
+
+PACKAGES += "${PN}-sqlite3 ${PN}-mysql ${PN}-postgresql ${PN}-odbc ${PN}-oracle"
+
+FILES:${PN}-sqlite3 = "${libdir}/lib${BPN}_sqlite3.so.*"
+FILES:${PN}-mysql = "${libdir}/lib${BPN}_mysql.so.*"
+FILES:${PN}-postgresql = "${libdir}/lib${BPN}_postgresql.so.*"
+FILES:${PN}-odbc = "${libdir}/lib${BPN}_odbc.so.*"
+FILES:${PN}-oracle = "${libdir}/lib${BPN}_oracle.so.*"
+
+do_install:append() {
+ sed -i 's|${RECIPE_SYSROOT}${prefix}|${_IMPORT_PREFIX}|g' ${D}${libdir}/cmake/SOCI/SOCITargets*.cmake
+}
diff --git a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch b/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch
deleted file mode 100644
index c5d7c0c81a..0000000000
--- a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/0001-shell.c-Fix-format-not-a-string-literal-warning.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 443980ddc82fb40e2e1f9544f2be169bd23dd246 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 17 Jun 2017 16:49:24 -0700
-Subject: [PATCH] shell.c: Fix format not a string literal warning
-
-src/shell.c:695:20: error: format not a string literal and no format arguments [-Werror=format-security]
-| fprintf(stderr,zHelp);
-| ^~~~~
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/shell.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/shell.c b/src/shell.c
-index bb46c49..3c6fe0f 100644
---- a/src/shell.c
-+++ b/src/shell.c
-@@ -692,7 +692,7 @@ static int do_meta_command(char *zLine, struct callback_data *p){
- }else
-
- if( c=='h' && strncmp(azArg[0], "help", n)==0 ){
-- fprintf(stderr,zHelp);
-+ fprintf(stderr, "%s", zHelp);
- }else
-
- if( c=='i' && strncmp(azArg[0], "indices", n)==0 && nArg>1 ){
---
-2.13.1
-
diff --git a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch b/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch
deleted file mode 100644
index 914422f1df..0000000000
--- a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff -urN sqlite-2.8.17.orig/main.mk sqlite-2.8.17/main.mk
---- sqlite-2.8.17.orig/main.mk 2005-04-23 22:43:23.000000000 +0000
-+++ sqlite-2.8.17/main.mk 2009-04-02 20:10:36.000000000 +0000
-@@ -139,7 +139,7 @@
- # This is the default Makefile target. The objects listed here
- # are what get build when you type just "make" with no arguments.
- #
--all: sqlite.h config.h libsqlite.a sqlite$(EXE)
-+all: sqlite.h config.h libsqlite.so sqlite$(EXE)
-
- # Generate the file "last_change" which contains the date of change
- # of the most recently modified source code file
-@@ -148,13 +148,12 @@
- cat $(SRC) | grep '$$Id: ' | sort +4 | tail -1 \
- | awk '{print $$5,$$6}' >last_change
-
--libsqlite.a: $(LIBOBJ)
-- $(AR) libsqlite.a $(LIBOBJ)
-- $(RANLIB) libsqlite.a
--
--sqlite$(EXE): $(TOP)/src/shell.c libsqlite.a sqlite.h
-- $(TCCX) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \
-- libsqlite.a $(LIBREADLINE) $(THREADLIB)
-+libsqlite.so: $(LIBOBJ)
-+ $(CC) $(LDFLAGS) -shared -o libsqlite.so -Wl,-soname,libsqlite.so.0 $(LIBOBJ)
-+
-+sqlite$(EXE): $(TOP)/src/shell.c libsqlite.so sqlite.h
-+ $(TCCX) $(LDFLAGS) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \
-+ -lsqlite $(LIBREADLINE) $(THREADLIB)
-
- sqlite_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite.a $(TESTSRC) \
- $(TOP)/tool/spaceanal.tcl
diff --git a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch b/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch
deleted file mode 100644
index b84b6486ef..0000000000
--- a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -bur sqlite-2.8.17~orig/main.mk sqlite-2.8.17/main.mk
---- sqlite-2.8.17~orig/main.mk 2006-02-13 04:09:33.000000000 -0600
-+++ sqlite-2.8.17/main.mk 2006-02-13 04:15:42.000000000 -0600
-@@ -58,7 +58,7 @@
- expr.o func.o hash.o insert.o \
- main.o opcodes.o os.o pager.o parse.o pragma.o printf.o random.o \
- select.o table.o tokenize.o trigger.o update.o util.o \
-- vacuum.o vdbe.o vdbeaux.o where.o tclsqlite.o
-+ vacuum.o vdbe.o vdbeaux.o where.o
-
- # All of the source code files.
- #
-@@ -91,7 +91,6 @@
- $(TOP)/src/sqlite.h.in \
- $(TOP)/src/sqliteInt.h \
- $(TOP)/src/table.c \
-- $(TOP)/src/tclsqlite.c \
- $(TOP)/src/tokenize.c \
- $(TOP)/src/trigger.c \
- $(TOP)/src/update.c \
diff --git a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc b/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc
deleted file mode 100644
index 6bc742eecb..0000000000
--- a/meta-oe/recipes-dbs/sqlite/sqlite-2.8.17/sqlite.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-# Package Information for pkg-config
-
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: SQLite
-Description: SQL database engine
-Version: 2.8.17
-Libs: -L${libdir} -lsqlite
-Cflags: -I${includedir}
diff --git a/meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb b/meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb
deleted file mode 100644
index 501c0e3e77..0000000000
--- a/meta-oe/recipes-dbs/sqlite/sqlite_2.8.17.bb
+++ /dev/null
@@ -1,61 +0,0 @@
-SUMMARY = "An Embeddable SQL Database Engine"
-HOMEPAGE = "http://www.sqlite.org/"
-SECTION = "libs"
-DEPENDS = "readline ncurses"
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=10;md5=e98469a8efa024a38ad5b2e4b92f4a96"
-
-PR = "r7"
-
-SRC_URI = "http://www.hwaci.com/sw/sqlite/sqlite-${PV}.tar.gz \
- file://mainmk_build_dynamic.patch \
- file://mainmk_no_tcl.patch \
- file://sqlite.pc \
- file://0001-shell.c-Fix-format-not-a-string-literal-warning.patch \
- "
-
-SOURCES = "attach.o auth.o btree.o btree_rb.o build.o copy.o date.o delete.o \
- expr.o func.o hash.o insert.o main.o opcodes.o os.o pager.o \
- parse.o pragma.o printf.o random.o select.o table.o tokenize.o \
- trigger.o update.o util.o vacuum.o vdbe.o vdbeaux.o where.o"
-
-inherit autotools pkgconfig
-
-do_configure() {
- echo "main.mk is patched, no need to configure"
- # make pkgconfig.bbclass pick this up
- cp ${WORKDIR}/sqlite.pc ${S}
-}
-
-do_compile() {
- oe_runmake -f ${S}/Makefile.linux-gcc \
- TOP="${S}" \
- BCC="${BUILD_CC}" \
- TCC="${CC}" \
- OPTS="-fPIC -D'INTPTR_TYPE=int'" \
- TCL_FLAGS= LIBTCL= \
- READLINE_FLAGS="-DHAVE_READLINE=1 -I${STAGING_INCDIR}" \
- LIBREADLINE="-L. -L${STAGING_LIBDIR} -lreadline -lncurses"
-}
-
-do_install() {
- install -d ${D}${libdir} ${D}${bindir}
- install sqlite ${D}${bindir}
- install -m 0755 libsqlite.so ${D}${libdir}/libsqlite.so.0.8.6
- ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so
- ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so.0
- ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so.0.8
- install -d ${D}${includedir}
- install -m 0644 sqlite.h ${D}${includedir}/sqlite.h
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 ${S}/sqlite.pc ${D}${libdir}/pkgconfig/sqlite.pc
-}
-
-PACKAGES += "${PN}-bin"
-FILES_${PN}-bin = "${bindir}/*"
-FILES_${PN} = "${libdir}/*.so.*"
-
-SRC_URI[md5sum] = "838dbac20b56d2c4292e98848505a05b"
-SRC_URI[sha256sum] = "3f35ebfb67867fb5b583a03e480f900206af637efe7179b32294a6a0cf806f37"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
index 2bafcc6b13..5242b29e06 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
@@ -1,7 +1,7 @@
-From 8f21fdfb83b0fa844a9f1f03a86a9ca46642d85e Mon Sep 17 00:00:00 2001
+From 738549dea7a4e6c462a79962c414eaa450c2cffd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 9 Apr 2020 13:06:27 -0700
-Subject: [PATCH 1/2] absl: always use <asm/sgidefs.h>
+Subject: [PATCH 1/3] absl: always use <asm/sgidefs.h>
Fixes mips/musl build, since sgidefs.h is not present on all C libraries
but on linux asm/sgidefs.h is there and contains same definitions, using
@@ -10,26 +10,27 @@ that makes it portable.
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
absl/base/internal/direct_mmap.h | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
-index 16accf096604..ba7936cc934e 100644
+index e492bb0..c8a4fba 100644
--- a/absl/base/internal/direct_mmap.h
+++ b/absl/base/internal/direct_mmap.h
@@ -41,13 +41,9 @@
#ifdef __mips__
// Include definitions of the ABI currently in use.
--#ifdef __BIONIC__
+-#if defined(__BIONIC__) || !defined(__GLIBC__)
-// Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the
+// bionic/musl C libs don't have sgidefs.h, but do have asm/sgidefs.h, which has the
// definitions we need.
#include <asm/sgidefs.h>
-#else
-#include <sgidefs.h>
--#endif // __BIONIC__
+-#endif // __BIONIC__ || !__GLIBC__
#endif // __mips__
// SYS_mmap and SYS_munmap are not defined in Android.
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
index da9dbd9367..b92a487523 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
@@ -1,18 +1,20 @@
-From a9e15a4855c82eb948dedeecd83d5e17c3c8f767 Mon Sep 17 00:00:00 2001
+From d25cf3b9aa873595a19e197cc29ab46c0093bff1 Mon Sep 17 00:00:00 2001
From: Sinan Kaya <sinan.kaya@microsoft.com>
Date: Mon, 3 Feb 2020 03:25:57 +0000
-Subject: [PATCH 2/2] Remove maes option from cross-compilation
+Subject: [PATCH 2/3] Remove maes option from cross-compilation
---
+Upstream-Status: Pending
+
absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
absl/copts/GENERATED_copts.bzl | 4 ----
2 files changed, 8 deletions(-)
diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
-index 97bd283eb739..ce29ac031b9c 100644
+index a4ab1aa2041e..23b9253c1f00 100644
--- a/absl/copts/GENERATED_AbseilCopts.cmake
+++ b/absl/copts/GENERATED_AbseilCopts.cmake
-@@ -210,7 +210,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
+@@ -158,7 +158,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
)
@@ -21,10 +23,10 @@ index 97bd283eb739..ce29ac031b9c 100644
- "-msse4.1"
-)
diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
-index bcdd61ef8211..3e8eddd4bb08 100644
+index a6efc98e11d4..1e847f769501 100644
--- a/absl/copts/GENERATED_copts.bzl
+++ b/absl/copts/GENERATED_copts.bzl
-@@ -211,7 +211,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
+@@ -159,7 +159,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
]
@@ -33,5 +35,5 @@ index bcdd61ef8211..3e8eddd4bb08 100644
- "-msse4.1",
-]
--
-2.25.1
+2.36.1
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch
new file mode 100644
index 0000000000..1a80a428b7
--- /dev/null
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch
@@ -0,0 +1,49 @@
+From fb24c3e3539b5743d398a429a302a3886186f261 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@bisdn.de>
+Date: Thu, 16 Jun 2022 11:46:31 +0000
+Subject: [PATCH 3/3] Remove neon option from cross compilation
+
+Not every arm platform supports neon instructions, so do not enforce
+them.
+
+Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
+---
+Upstream-Status: Pending
+
+ absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
+ absl/copts/GENERATED_copts.bzl | 4 ----
+ 2 files changed, 8 deletions(-)
+
+diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
+index 23b9253c1f00..5d112a97f3e4 100644
+--- a/absl/copts/GENERATED_AbseilCopts.cmake
++++ b/absl/copts/GENERATED_AbseilCopts.cmake
+@@ -147,10 +147,6 @@ list(APPEND ABSL_MSVC_TEST_FLAGS
+ "/DNOMINMAX"
+ )
+
+-list(APPEND ABSL_RANDOM_HWAES_ARM32_FLAGS
+- "-mfpu=neon"
+-)
+-
+ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
+ "-march=armv8-a+crypto"
+ )
+diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
+index 1e847f769501..3e10db204faf 100644
+--- a/absl/copts/GENERATED_copts.bzl
++++ b/absl/copts/GENERATED_copts.bzl
+@@ -148,10 +148,6 @@ ABSL_MSVC_TEST_FLAGS = [
+ "/DNOMINMAX",
+ ]
+
+-ABSL_RANDOM_HWAES_ARM32_FLAGS = [
+- "-mfpu=neon",
+-]
+-
+ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
+ "-march=armv8-a+crypto",
+ ]
+--
+2.36.1
+
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
new file mode 100644
index 0000000000..f2ebd9f08c
--- /dev/null
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
@@ -0,0 +1,81 @@
+Upstream-Status: Pending
+
+An all-in-one patch that fixes several issues:
+
+1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
+2) powerpc stacktrace implementation only works on glibc (disabled on musl)
+3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
+4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
+
+Sourced from void linux
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/absl/base/internal/unscaledcycleclock.cc
++++ b/absl/base/internal/unscaledcycleclock.cc
+@@ -20,7 +20,7 @@
+ #include <intrin.h>
+ #endif
+
+-#if defined(__powerpc__) || defined(__ppc__)
++#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
+ #ifdef __GLIBC__
+ #include <sys/platform/ppc.h>
+ #elif defined(__FreeBSD__)
+@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
+ return base_internal::NominalCPUFrequency();
+ }
+
+-#elif defined(__powerpc__) || defined(__ppc__)
++#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
+
+ int64_t UnscaledCycleClock::Now() {
+ #ifdef __GLIBC__
+--- a/absl/base/internal/unscaledcycleclock_config.h
++++ b/absl/base/internal/unscaledcycleclock_config.h
+@@ -21,7 +21,8 @@
+
+ // The following platforms have an implementation of a hardware counter.
+ #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
+- defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \
++ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
++ defined(__riscv) || \
+ defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
+ #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
+ #else
+--- a/absl/debugging/internal/examine_stack.cc
++++ b/absl/debugging/internal/examine_stack.cc
+@@ -33,6 +33,10 @@
+ #include <csignal>
+ #include <cstdio>
+
++#if defined(__powerpc__)
++#include <asm/ptrace.h>
++#endif
++
+ #include "absl/base/attributes.h"
+ #include "absl/base/internal/raw_logging.h"
+ #include "absl/base/macros.h"
+@@ -174,8 +178,10 @@ void* GetProgramCounter(void* const vuc) {
+ return reinterpret_cast<void*>(context->uc_mcontext.pc);
+ #elif defined(__powerpc64__)
+ return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
+-#elif defined(__powerpc__)
++#elif defined(__powerpc__) && defined(__GLIBC__)
+ return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
++#elif defined(__powerpc__)
++ return reinterpret_cast<void*>((context->uc_regs)->gregs[32]);
+ #elif defined(__riscv)
+ return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
+ #elif defined(__s390__) && !defined(__s390x__)
+--- a/absl/debugging/internal/stacktrace_config.h
++++ b/absl/debugging/internal/stacktrace_config.h
+@@ -60,7 +60,7 @@
+ #elif defined(__i386__) || defined(__x86_64__)
+ #define ABSL_STACKTRACE_INL_HEADER \
+ "absl/debugging/internal/stacktrace_x86-inl.inc"
+-#elif defined(__ppc__) || defined(__PPC__)
++#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
+ #define ABSL_STACKTRACE_INL_HEADER \
+ "absl/debugging/internal/stacktrace_powerpc-inl.inc"
+ #elif defined(__aarch64__)
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20240116.2.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20240116.2.bb
new file mode 100644
index 0000000000..2aef973910
--- /dev/null
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_20240116.2.bb
@@ -0,0 +1,53 @@
+SUMMARY = "Abseil is a cpp library like STL"
+DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \
+additional useful libraries like algorithm, container, debugging, hash, memory, \
+meta, numeric, strings, synchronization, time, types and utility."
+HOMEPAGE = "https://abseil.io/"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
+
+SRCREV = "d7aaad83b488fd62bd51c81ecf16cd938532cc0a"
+BRANCH = "lts_2024_01_16"
+SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
+ file://0001-absl-always-use-asm-sgidefs.h.patch \
+ file://0002-Remove-maes-option-from-cross-compilation.patch \
+ file://abseil-ppc-fixes.patch \
+ file://0003-Remove-neon-option-from-cross-compilation.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING=OFF \
+ -DABSL_ENABLE_INSTALL=ON \
+ "
+
+SYSROOT_DIRS:append:class-nativesdk:mingw32 = " ${bindir}"
+
+PACKAGES_DYNAMIC = "^libabsl-*"
+PACKAGES_DYNAMIC:class-native = ""
+
+PACKAGESPLITFUNCS =+ "split_dynamic_packages"
+
+python split_dynamic_packages() {
+ libdir = d.getVar('libdir')
+
+ libpackages = do_split_packages(
+ d,
+ root=libdir,
+ file_regex=r'^libabsl_(.*)\.so\..*$',
+ output_pattern='libabsl-%s',
+ description="abseil shared library %s",
+ prepend=True,
+ extra_depends='',
+ )
+ if libpackages:
+ d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(libpackages))
+}
+
+ALLOW_EMPTY:${PN} = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
deleted file mode 100644
index 9557c9345e..0000000000
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Abseil is a cpp library like STL"
-DESCRIPTION = "Abseil provides pieces missing from the C++ standard. Contains \
-additional useful libraries like algorithm, container, debugging, hash, memory, \
-meta, numeric, strings, synchronization, time, types and utility"
-HOMEPAGE = "https://abseil.io/"
-SECTION = "libs"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
-
-PV = "20200923+git${SRCPV}"
-SRCREV = "6f9d96a1f41439ac172ee2ef7ccd8edf0e5d068c"
-BRANCH = "lts_2020_09_23"
-SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH} \
- file://0001-absl-always-use-asm-sgidefs.h.patch \
- file://0002-Remove-maes-option-from-cross-compilation.patch \
- "
-
-S = "${WORKDIR}/git"
-
-ASNEEDED_class-native = ""
-ASNEEDED_class-nativesdk = ""
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
- -DBUILD_TESTING=OFF \
- -DCMAKE_CXX_STANDARD=14 \
- "
-
-BBCLASSEXTEND = "native nativesdk"
-ALLOW_EMPTY_${PN} = "1"
-
-FILES_${PN} = "${libdir}/libabsl_*.so ${libdir}/cmake"
-FILES_${PN}-dev = "${includedir}"
diff --git a/meta-oe/recipes-devtools/aer-inject/aer-inject/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-devtools/aer-inject/aer-inject/0001-include-libgen.h-for-basename.patch
new file mode 100644
index 0000000000..358ff524ef
--- /dev/null
+++ b/meta-oe/recipes-devtools/aer-inject/aer-inject/0001-include-libgen.h-for-basename.patch
@@ -0,0 +1,32 @@
+From a2ccd98076c2ac81830234555edf362ee19a337d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 09:00:41 -0700
+Subject: [PATCH] include libgen.h for basename
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [Emailed patch to Author]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ aer-inject.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/aer-inject.c b/aer-inject.c
+index 74e7f72..eed1211 100644
+--- a/aer-inject.c
++++ b/aer-inject.c
+@@ -11,6 +11,7 @@
+ */
+
+ #include <stdio.h>
++#include <libgen.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <fcntl.h>
+--
+2.44.0
+
diff --git a/meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb b/meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb
new file mode 100644
index 0000000000..87c09f5118
--- /dev/null
+++ b/meta-oe/recipes-devtools/aer-inject/aer-inject_1.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Inject PCIE AER errors on the software level into a running Linux kernel."
+DESCRIPTION = "\
+aer-inject allows to inject PCIE AER errors on the software \
+level into a running Linux kernel. This is intended for \
+validation of the PCIE driver error recovery handler and \
+PCIE AER core handler."
+HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/gong.chen/aer-inject.git/"
+SECTION = "pcie/misc"
+LICENSE = "GPL-2.0-only"
+
+LIC_FILES_CHKSUM = "file://README;beginline=25;endline=38;md5=643c2332ec702691a87ba6ea9499b2d6"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git;protocol=https;branch=master \
+ file://0001-include-libgen.h-for-basename.patch \
+"
+SRCREV = "9bd5e2c7886fca72f139cd8402488a2235957d41"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "bison-native"
+
+do_compile() {
+ oe_runmake CFLAGS="-Wall -D_GNU_SOURCE"
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' 'PREFIX=${prefix}' install
+}
+FILES:${PN} += "${prefix}/aer-inject"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup
index 517227d4a6..f27d77df51 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup
+++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-cleanup
@@ -6,7 +6,7 @@ cd /sys/kernel/config/usb_gadget
cd adb
-echo "" > UDC || true
+echo -n "" > UDC || true
killall adbd || true
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup
index e44d1bacbe..dbd7115151 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup
+++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-setup
@@ -23,8 +23,8 @@ mkdir configs/c.1
mkdir functions/ffs.usb0
mkdir strings/0x409
mkdir configs/c.1/strings/0x409
-echo 0x18d1 > idVendor
-echo 0xd002 > idProduct
+echo -n 0x18d1 > idVendor
+echo -n 0xd002 > idProduct
echo "$serial" > strings/0x409/serialnumber
echo "$manufacturer" > strings/0x409/manufacturer
echo "$model" > strings/0x409/product
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
index ca6c3df275..76b5e29624 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
+++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs/android-gadget-start
@@ -2,6 +2,8 @@
set -e
-sleep 3
+sleep 10
-ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/adb/UDC
+ls /sys/class/udc/ | head -n 1 | xargs echo -n > /sys/kernel/config/usb_gadget/adb/UDC
+
+echo "Setting UDC $(ls /sys/class/udc/ | head -n 1) for USB ADB Gadget usage"
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
index 01dc1bea98..3f9d49a2d2 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
+++ b/meta-oe/recipes-devtools/android-tools/android-tools-conf-configfs_1.0.bb
@@ -27,9 +27,9 @@ do_install() {
install -m 0644 ${WORKDIR}/10-adbd-configfs.conf ${D}${systemd_unitdir}/system/android-tools-adbd.service.d
}
-FILES_${PN} += " \
+FILES:${PN} += " \
${systemd_unitdir}/system/ \
"
PROVIDES += "android-tools-conf"
-RPROVIDES_${PN} = "android-tools-conf"
+RPROVIDES:${PN} = "android-tools-conf"
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch b/meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch
index 57c443b707..c091fd404b 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/build/0001-Riscv-Add-risc-v-Android-config-header.patch
@@ -4,6 +4,8 @@ Date: Mon, 20 Apr 2020 15:32:40 +0800
Subject: [PATCH 1/1] Riscv: Add risc-v Android config header
---
+Upstream-Status: Pending
+
.../arch/linux-riscv64/AndroidConfig.h | 340 ++++++++++++++++++
1 file changed, 340 insertions(+)
create mode 100644 core/combo/include/arch/linux-riscv64/AndroidConfig.h
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch
new file mode 100644
index 0000000000..82e97152be
--- /dev/null
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch
@@ -0,0 +1,35 @@
+From db3a3714be07c8ab51b9ae7b035e4afe9f39c645 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 7 Sep 2022 13:20:22 -0700
+Subject: [PATCH] memory.h: Always define strlcpy for glibc based systems
+
+android-config.h file includes on compiler cmdline sets HAVE_STRLCPY
+unconditionally, since bionic supports it, its no big deal on android
+and also no problem when using musl since implementation exists for musl
+too, but glibc does not provide this. So either we include libbsd or use
+the implementation provided by android-tools here. We are currently
+using the in tree implementation for systems which do not provide it
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/cutils/memory.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/cutils/memory.h b/include/cutils/memory.h
+index e725cdd032..9e99353c58 100644
+--- a/include/cutils/memory.h
++++ b/include/cutils/memory.h
+@@ -30,7 +30,7 @@ void android_memset16(uint16_t* dst, uint16_t value, size_t size);
+ /* size is given in bytes and must be multiple of 4 */
+ void android_memset32(uint32_t* dst, uint32_t value, size_t size);
+
+-#if !HAVE_STRLCPY
++#if !HAVE_STRLCPY || defined(__GLIBC__)
+ /* Declaration of strlcpy() for platforms that don't already have it. */
+ size_t strlcpy(char *dst, const char *src, size_t size);
+ #endif
+--
+2.37.3
+
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0004-adb-Fix-build-on-big-endian-systems.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0004-adb-Fix-build-on-big-endian-systems.patch
index 79e9d4d3b2..7f03cd2beb 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/0004-adb-Fix-build-on-big-endian-systems.patch
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0004-adb-Fix-build-on-big-endian-systems.patch
@@ -18,6 +18,8 @@ them to be used when initializing structures.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
+Upstream-Status: Pending
+
adb/usb_linux_client.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0005-adb-add-base64-implementation.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0005-adb-add-base64-implementation.patch
index fcd4ae2388..4827ffe042 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/0005-adb-add-base64-implementation.patch
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0005-adb-add-base64-implementation.patch
@@ -7,6 +7,8 @@ musl needs it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
adb/adb_auth_client.c | 2 +-
adb/base64.c | 315 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 316 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0006-adb-Musl-fixes.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0006-adb-Musl-fixes.patch
index b5d383f383..182b1eb29e 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/0006-adb-Musl-fixes.patch
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0006-adb-Musl-fixes.patch
@@ -9,14 +9,14 @@ Do not redefine close() and lseek()
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
adb/adb.h | 2 ++
adb/disable_verity_service.c | 13 ++++++++-----
adb/framebuffer_service.c | 7 ++++---
adb/sysdeps.h | 12 ++++++------
4 files changed, 20 insertions(+), 14 deletions(-)
-diff --git a/adb/adb.h b/adb/adb.h
-index 44e5981bdc..bcdc49f63c 100644
--- a/adb/adb.h
+++ b/adb/adb.h
@@ -18,7 +18,9 @@
@@ -29,11 +29,9 @@ index 44e5981bdc..bcdc49f63c 100644
#include "adb_trace.h"
#include "transport.h" /* readx(), writex() */
-diff --git a/adb/disable_verity_service.c b/adb/disable_verity_service.c
-index ed3da52108..29fa3d65a9 100644
--- a/adb/disable_verity_service.c
+++ b/adb/disable_verity_service.c
-@@ -14,25 +14,28 @@
+@@ -14,25 +14,32 @@
* limitations under the License.
*/
@@ -51,13 +49,18 @@ index ed3da52108..29fa3d65a9 100644
#include <sys/stat.h>
#include <fcntl.h>
#include <inttypes.h>
-+#include <unistd.h>
-+#include <errno.h>
-+#include <stdbool.h>
-
+-
-#include "cutils/properties.h"
-#include "ext4_sb.h"
-#include <fs_mgr.h>
++#include <unistd.h>
++#include <errno.h>
++#include <stdbool.h>
++
++#if defined(__linux__) && !defined(__GLIBC__)
++#define lseek64 lseek
++#define off64_t off_t
++#endif
#define FSTAB_PREFIX "/fstab."
struct fstab *fstab;
@@ -67,8 +70,6 @@ index ed3da52108..29fa3d65a9 100644
static void write_console(int fd, const char* format, ...)
{
char buffer[256];
-diff --git a/adb/framebuffer_service.c b/adb/framebuffer_service.c
-index 8cbe8403cc..8f0ccfb7aa 100644
--- a/adb/framebuffer_service.c
+++ b/adb/framebuffer_service.c
@@ -14,6 +14,10 @@
@@ -92,11 +93,9 @@ index 8cbe8403cc..8f0ccfb7aa 100644
#include <linux/fb.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
-diff --git a/adb/sysdeps.h b/adb/sysdeps.h
-index cc1f839e9f..ea39ac39cc 100644
--- a/adb/sysdeps.h
+++ b/adb/sysdeps.h
-@@ -123,8 +123,8 @@ static __inline__ int unix_close(int fd)
+@@ -123,8 +123,8 @@ static __inline__ int unix_close(int fd
{
return close(fd);
}
@@ -118,7 +117,7 @@ index cc1f839e9f..ea39ac39cc 100644
static __inline__ int adb_read(int fd, void* buf, size_t len)
-@@ -392,8 +392,8 @@ static __inline__ int adb_lseek(int fd, int pos, int where)
+@@ -392,8 +392,8 @@ static __inline__ int adb_lseek(int f
{
return lseek(fd, pos, where);
}
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0007-adb-usb_linux.c-fix-build-with-glibc-2.28.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0007-adb-usb_linux.c-fix-build-with-glibc-2.28.patch
index e02a95687f..64fbce4cbe 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/0007-adb-usb_linux.c-fix-build-with-glibc-2.28.patch
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0007-adb-usb_linux.c-fix-build-with-glibc-2.28.patch
@@ -7,6 +7,8 @@ Subject: [PATCH] adb: usb_linux.c: fix build with glibc-2.28
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
adb/usb_linux.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0008-adb-Allow-adbd-to-be-ran-as-root.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0008-adb-Allow-adbd-to-be-ran-as-root.patch
index 7d223e05f1..ad21b5aaa6 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/0008-adb-Allow-adbd-to-be-ran-as-root.patch
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0008-adb-Allow-adbd-to-be-ran-as-root.patch
@@ -4,6 +4,8 @@ Date: Mon, 30 Oct 2017 21:05:46 +0100
Subject: [PATCH] adb: Allow adbd to be ran as root
---
+Upstream-Status: Pending
+
adb/adb.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch
index a8434afbad..5138556d63 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0013-adb-Support-riscv64.patch
@@ -4,6 +4,8 @@ Date: Mon, 20 Apr 2020 15:27:22 +0800
Subject: [PATCH 1/1] adb: Support riscv64
---
+Upstream-Status: Pending
+
include/cutils/atomic-inline.h | 2 +
include/cutils/atomic-riscv64.h | 156 ++++++++++++++++++++++++++++++++
2 files changed, 158 insertions(+)
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0014-add-u3-ss-descriptor-support-for-adb.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0014-add-u3-ss-descriptor-support-for-adb.patch
new file mode 100644
index 0000000000..cf23f3c251
--- /dev/null
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0014-add-u3-ss-descriptor-support-for-adb.patch
@@ -0,0 +1,344 @@
+From dae9a11f3a158357966399aef97c48b5f16934d9 Mon Sep 17 00:00:00 2001
+From: Jiacheng Liu <jiacheng.liu@mediatek.com>
+Date: Sat, 24 Jul 2021 11:01:18 +0800
+Subject: [PATCH] android-tools: adb: add u3 ss descriptor support
+
+Porting u3 Superspeed descriptor support to open-embedded android-tools package.
+This patch origins from the the patch in android project [1], but has been
+modified for backporting to android-tools_5.1.1.r37.
+
+[1] https://android.googlesource.com/platform/system/core/+/d6ee9f26a5163af4121f4380264fcbd4e6851a17%5E%21
+
+Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
+Signed-off-by: Jiacheng Liu <jiacheng.liu@mediatek.com>
+---
+Upstream-Status: Pending
+
+ adb/usb_linux_client.c | 275 +++++++++++++++++++++++++++++++----------
+ 1 file changed, 207 insertions(+), 68 deletions(-)
+
+diff --git a/adb/usb_linux_client.c b/adb/usb_linux_client.c
+index 6e8b5bb..884e85e 100644
+--- a/adb/usb_linux_client.c
++++ b/adb/usb_linux_client.c
+@@ -31,8 +31,10 @@
+ #define TRACE_TAG TRACE_USB
+ #include "adb.h"
+
++#define USB_EXT_PROP_UNICODE 1
+ #define MAX_PACKET_SIZE_FS 64
+ #define MAX_PACKET_SIZE_HS 512
++#define MAX_PACKET_SIZE_SS 1024
+
+ #if __BYTE_ORDER == __LITTLE_ENDIAN
+ # define cpu_to_le16(x) (x)
+@@ -62,74 +64,185 @@ struct usb_handle
+ int bulk_in; /* "in" from the host's perspective => sink for adbd */
+ };
+
+-static const struct {
+- struct usb_functionfs_descs_head header;
+- struct {
+- struct usb_interface_descriptor intf;
+- struct usb_endpoint_descriptor_no_audio source;
+- struct usb_endpoint_descriptor_no_audio sink;
+- } __attribute__((packed)) fs_descs, hs_descs;
+-} __attribute__((packed)) descriptors = {
+- .header = {
+- .magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC),
+- .length = cpu_to_le32(sizeof(descriptors)),
+- .fs_count = 3,
+- .hs_count = 3,
++struct func_desc {
++ struct usb_interface_descriptor intf;
++ struct usb_endpoint_descriptor_no_audio source;
++ struct usb_endpoint_descriptor_no_audio sink;
++} __attribute__((packed));
++
++struct ss_func_desc {
++ struct usb_interface_descriptor intf;
++ struct usb_endpoint_descriptor_no_audio source;
++ struct usb_ss_ep_comp_descriptor source_comp;
++ struct usb_endpoint_descriptor_no_audio sink;
++ struct usb_ss_ep_comp_descriptor sink_comp;
++} __attribute__((packed));
++
++struct desc_v1 {
++ struct usb_functionfs_descs_head_v1 {
++ __le32 magic;
++ __le32 length;
++ __le32 fs_count;
++ __le32 hs_count;
++ } __attribute__((packed)) header;
++ struct func_desc fs_descs, hs_descs;
++} __attribute__((packed));
++
++struct usb_os_desc_ext_prop {
++ uint32_t dwSize;
++ uint32_t dwPropertyDataType;
++
++ // Property name and value are transmitted as UTF-16, but the kernel only
++ // accepts ASCII values and performs the conversion for us.
++ uint16_t wPropertyNameLength;
++ char bPropertyName[20];
++
++ uint32_t dwPropertyDataLength;
++ char bProperty[39];
++} __attribute__((packed)) os_desc_guid = {
++ .dwSize = sizeof(struct usb_os_desc_ext_prop),
++ .dwPropertyDataType = cpu_to_le32(USB_EXT_PROP_UNICODE),
++ .wPropertyNameLength = cpu_to_le16(20),
++ .bPropertyName = "DeviceInterfaceGUID",
++ .dwPropertyDataLength = cpu_to_le32(39),
++ .bProperty = "{F72FE0D4-CBCB-407D-8814-9ED673D0DD6B}",
++};
++
++struct usb_ext_prop_values {
++ struct usb_os_desc_ext_prop guid;
++} __attribute__((packed));
++
++struct desc_v2 {
++ struct usb_functionfs_descs_head_v2 header;
++ // The rest of the structure depends on the flags in the header.
++ __le32 fs_count;
++ __le32 hs_count;
++ __le32 ss_count;
++ __le32 os_count;
++ struct func_desc fs_descs, hs_descs;
++ struct ss_func_desc ss_descs;
++ struct usb_os_desc_header os_header;
++ struct usb_ext_compat_desc os_desc;
++ struct usb_os_desc_header os_prop_header;
++ struct usb_ext_prop_values os_prop_values;
++} __attribute__((packed));
++
++static struct func_desc fs_descriptors = {
++ .intf = {
++ .bLength = sizeof(fs_descriptors.intf),
++ .bDescriptorType = USB_DT_INTERFACE,
++ .bInterfaceNumber = 0,
++ .bNumEndpoints = 2,
++ .bInterfaceClass = ADB_CLASS,
++ .bInterfaceSubClass = ADB_SUBCLASS,
++ .bInterfaceProtocol = ADB_PROTOCOL,
++ .iInterface = 1, /* first string from the provided table */
++ },
++ .source = {
++ .bLength = sizeof(fs_descriptors.source),
++ .bDescriptorType = USB_DT_ENDPOINT,
++ .bEndpointAddress = 1 | USB_DIR_OUT,
++ .bmAttributes = USB_ENDPOINT_XFER_BULK,
++ .wMaxPacketSize = MAX_PACKET_SIZE_FS,
++ },
++ .sink = {
++ .bLength = sizeof(fs_descriptors.sink),
++ .bDescriptorType = USB_DT_ENDPOINT,
++ .bEndpointAddress = 2 | USB_DIR_IN,
++ .bmAttributes = USB_ENDPOINT_XFER_BULK,
++ .wMaxPacketSize = MAX_PACKET_SIZE_FS,
++ },
++};
++
++static struct func_desc hs_descriptors = {
++ .intf = {
++ .bLength = sizeof(hs_descriptors.intf),
++ .bDescriptorType = USB_DT_INTERFACE,
++ .bInterfaceNumber = 0,
++ .bNumEndpoints = 2,
++ .bInterfaceClass = ADB_CLASS,
++ .bInterfaceSubClass = ADB_SUBCLASS,
++ .bInterfaceProtocol = ADB_PROTOCOL,
++ .iInterface = 1, /* first string from the provided table */
++ },
++ .source = {
++ .bLength = sizeof(hs_descriptors.source),
++ .bDescriptorType = USB_DT_ENDPOINT,
++ .bEndpointAddress = 1 | USB_DIR_OUT,
++ .bmAttributes = USB_ENDPOINT_XFER_BULK,
++ .wMaxPacketSize = MAX_PACKET_SIZE_HS,
++ },
++ .sink = {
++ .bLength = sizeof(hs_descriptors.sink),
++ .bDescriptorType = USB_DT_ENDPOINT,
++ .bEndpointAddress = 2 | USB_DIR_IN,
++ .bmAttributes = USB_ENDPOINT_XFER_BULK,
++ .wMaxPacketSize = MAX_PACKET_SIZE_HS,
++ },
++};
++
++static struct ss_func_desc ss_descriptors = {
++ .intf = {
++ .bLength = sizeof(ss_descriptors.intf),
++ .bDescriptorType = USB_DT_INTERFACE,
++ .bInterfaceNumber = 0,
++ .bNumEndpoints = 2,
++ .bInterfaceClass = ADB_CLASS,
++ .bInterfaceSubClass = ADB_SUBCLASS,
++ .bInterfaceProtocol = ADB_PROTOCOL,
++ .iInterface = 1, /* first string from the provided table */
++ },
++ .source = {
++ .bLength = sizeof(ss_descriptors.source),
++ .bDescriptorType = USB_DT_ENDPOINT,
++ .bEndpointAddress = 1 | USB_DIR_OUT,
++ .bmAttributes = USB_ENDPOINT_XFER_BULK,
++ .wMaxPacketSize = MAX_PACKET_SIZE_SS,
++ },
++ .source_comp = {
++ .bLength = sizeof(ss_descriptors.source_comp),
++ .bDescriptorType = USB_DT_SS_ENDPOINT_COMP,
++ .bMaxBurst = 4,
+ },
+- .fs_descs = {
+- .intf = {
+- .bLength = sizeof(descriptors.fs_descs.intf),
+- .bDescriptorType = USB_DT_INTERFACE,
+- .bInterfaceNumber = 0,
+- .bNumEndpoints = 2,
+- .bInterfaceClass = ADB_CLASS,
+- .bInterfaceSubClass = ADB_SUBCLASS,
+- .bInterfaceProtocol = ADB_PROTOCOL,
+- .iInterface = 1, /* first string from the provided table */
+- },
+- .source = {
+- .bLength = sizeof(descriptors.fs_descs.source),
+- .bDescriptorType = USB_DT_ENDPOINT,
+- .bEndpointAddress = 1 | USB_DIR_OUT,
+- .bmAttributes = USB_ENDPOINT_XFER_BULK,
+- .wMaxPacketSize = MAX_PACKET_SIZE_FS,
+- },
+- .sink = {
+- .bLength = sizeof(descriptors.fs_descs.sink),
+- .bDescriptorType = USB_DT_ENDPOINT,
+- .bEndpointAddress = 2 | USB_DIR_IN,
+- .bmAttributes = USB_ENDPOINT_XFER_BULK,
+- .wMaxPacketSize = MAX_PACKET_SIZE_FS,
+- },
++ .sink = {
++ .bLength = sizeof(ss_descriptors.sink),
++ .bDescriptorType = USB_DT_ENDPOINT,
++ .bEndpointAddress = 2 | USB_DIR_IN,
++ .bmAttributes = USB_ENDPOINT_XFER_BULK,
++ .wMaxPacketSize = MAX_PACKET_SIZE_SS,
+ },
+- .hs_descs = {
+- .intf = {
+- .bLength = sizeof(descriptors.hs_descs.intf),
+- .bDescriptorType = USB_DT_INTERFACE,
+- .bInterfaceNumber = 0,
+- .bNumEndpoints = 2,
+- .bInterfaceClass = ADB_CLASS,
+- .bInterfaceSubClass = ADB_SUBCLASS,
+- .bInterfaceProtocol = ADB_PROTOCOL,
+- .iInterface = 1, /* first string from the provided table */
+- },
+- .source = {
+- .bLength = sizeof(descriptors.hs_descs.source),
+- .bDescriptorType = USB_DT_ENDPOINT,
+- .bEndpointAddress = 1 | USB_DIR_OUT,
+- .bmAttributes = USB_ENDPOINT_XFER_BULK,
+- .wMaxPacketSize = MAX_PACKET_SIZE_HS,
+- },
+- .sink = {
+- .bLength = sizeof(descriptors.hs_descs.sink),
+- .bDescriptorType = USB_DT_ENDPOINT,
+- .bEndpointAddress = 2 | USB_DIR_IN,
+- .bmAttributes = USB_ENDPOINT_XFER_BULK,
+- .wMaxPacketSize = MAX_PACKET_SIZE_HS,
+- },
++ .sink_comp = {
++ .bLength = sizeof(ss_descriptors.sink_comp),
++ .bDescriptorType = USB_DT_SS_ENDPOINT_COMP,
++ .bMaxBurst = 4,
+ },
+ };
+
++struct usb_ext_compat_desc os_desc_compat = {
++ .bFirstInterfaceNumber = 0,
++ .Reserved1 = cpu_to_le32(1),
++ .CompatibleID = { 'W', 'I', 'N', 'U', 'S', 'B', '\0', '\0'},
++ .SubCompatibleID = {0},
++ .Reserved2 = {0},
++};
++
++static struct usb_os_desc_header os_desc_header = {
++ .interface = cpu_to_le32(0),
++ .dwLength = cpu_to_le32(sizeof(os_desc_header) + sizeof(os_desc_compat)),
++ .bcdVersion = cpu_to_le32(1),
++ .wIndex = cpu_to_le32(4),
++ .bCount = cpu_to_le32(1),
++ .Reserved = cpu_to_le32(0),
++};
++
++static struct usb_os_desc_header os_prop_header = {
++ .interface = cpu_to_le32(0),
++ .dwLength = cpu_to_le32(sizeof(os_desc_header) + sizeof(struct usb_ext_prop_values)),
++ .bcdVersion = cpu_to_le32(1),
++ .wIndex = cpu_to_le32(5),
++ .wCount = cpu_to_le16(1),
++};
++
+ #define STR_INTERFACE_ "ADB Interface"
+
+ static const struct {
+@@ -151,8 +264,6 @@ static const struct {
+ },
+ };
+
+-
+-
+ static void *usb_adb_open_thread(void *x)
+ {
+ struct usb_handle *usb = (struct usb_handle *)x;
+@@ -270,6 +381,24 @@ static void usb_adb_init()
+ static void init_functionfs(struct usb_handle *h)
+ {
+ ssize_t ret;
++ struct desc_v1 v1_descriptor = {};
++ struct desc_v2 v2_descriptor = {};
++
++ v2_descriptor.header.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2);
++ v2_descriptor.header.length = cpu_to_le32(sizeof(v2_descriptor));
++ v2_descriptor.header.flags = FUNCTIONFS_HAS_FS_DESC | FUNCTIONFS_HAS_HS_DESC |
++ FUNCTIONFS_HAS_SS_DESC | FUNCTIONFS_HAS_MS_OS_DESC;
++ v2_descriptor.fs_count = 3;
++ v2_descriptor.hs_count = 3;
++ v2_descriptor.ss_count = 5;
++ v2_descriptor.os_count = 2;
++ v2_descriptor.fs_descs = fs_descriptors;
++ v2_descriptor.hs_descs = hs_descriptors;
++ v2_descriptor.ss_descs = ss_descriptors;
++ v2_descriptor.os_header = os_desc_header;
++ v2_descriptor.os_desc = os_desc_compat;
++ v2_descriptor.os_prop_header = os_prop_header;
++ v2_descriptor.os_prop_values.guid = os_desc_guid;
+
+ if (h->control < 0) { // might have already done this before
+ D("OPENING %s\n", USB_FFS_ADB_EP0);
+@@ -279,10 +408,20 @@ static void init_functionfs(struct usb_handle *h)
+ goto err;
+ }
+
+- ret = adb_write(h->control, &descriptors, sizeof(descriptors));
++ ret = adb_write(h->control, &v2_descriptor, sizeof(v2_descriptor));
+ if (ret < 0) {
+- D("[ %s: write descriptors failed: errno=%d ]\n", USB_FFS_ADB_EP0, errno);
+- goto err;
++ D("[ %s: write v2_descriptor failed: errno=%d ]\n", USB_FFS_ADB_EP0, errno);
++ v1_descriptor.header.magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC);
++ v1_descriptor.header.length = cpu_to_le32(sizeof(v1_descriptor));
++ v1_descriptor.header.fs_count = 3;
++ v1_descriptor.header.hs_count = 3;
++ v1_descriptor.fs_descs = fs_descriptors;
++ v1_descriptor.hs_descs = hs_descriptors;
++ ret = adb_write(h->control, &v1_descriptor, sizeof(v1_descriptor));
++ if (ret < 0) {
++ D("[ %s: failed to write USB descriptors]\n", USB_FFS_ADB_EP0);
++ goto err;
++ }
+ }
+
+ ret = adb_write(h->control, &strings, sizeof(strings));
+--
+2.18.0
+
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch
new file mode 100644
index 0000000000..5009c73a05
--- /dev/null
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch
@@ -0,0 +1,60 @@
+From 7b74d23ed955206a789a96bdc3288593e702afac Mon Sep 17 00:00:00 2001
+From: Sean Anderson <sean.anderson@seco.com>
+Date: Thu, 30 Dec 2021 15:16:08 -0500
+Subject: [PATCH] libsparse: Split off most of sparse_file_read_normal into a
+ helper function
+
+This carves out the core of sparse_file_read_normal and splits it off so
+it can be reused in the next patch. No functional change intended.
+
+Change-Id: Id00491fd7e5bb6fa28c517a0bb32b8b506539d4d
+Upstream-Status: Backport [95657f3e5976d96073f7bbfe3a49192509999d1d]
+Signed-off-by: Sean Anderson <sean.anderson@seco.com>
+---
+ libsparse/sparse_read.c | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/libsparse/sparse_read.c b/libsparse/sparse_read.c
+index 8e188e9a4..ee4abd86a 100644
+--- a/libsparse/sparse_read.c
++++ b/libsparse/sparse_read.c
+@@ -353,13 +353,11 @@ static int sparse_file_read_sparse(struct sparse_file *s, int fd, bool crc)
+ return 0;
+ }
+
+-static int sparse_file_read_normal(struct sparse_file *s, int fd)
++static int do_sparse_file_read_normal(struct sparse_file *s, int fd, uint32_t* buf, int64_t offset,
++ int64_t remain)
+ {
+ int ret;
+- uint32_t *buf = malloc(s->block_size);
+- unsigned int block = 0;
+- int64_t remain = s->len;
+- int64_t offset = 0;
++ unsigned int block = offset / s->block_size;
+ unsigned int to_read;
+ unsigned int i;
+ bool sparse_block;
+@@ -403,6 +401,19 @@ static int sparse_file_read_normal(struct sparse_file *s, int fd)
+ return 0;
+ }
+
++static int sparse_file_read_normal(struct sparse_file* s, int fd)
++{
++ int ret;
++ uint32_t* buf = (uint32_t*)malloc(s->block_size);
++
++ if (!buf)
++ return -ENOMEM;
++
++ ret = do_sparse_file_read_normal(s, fd, buf, 0, s->len);
++ free(buf);
++ return ret;
++}
++
+ int sparse_file_read(struct sparse_file *s, int fd, bool sparse, bool crc)
+ {
+ if (crc && !sparse) {
+--
+2.35.1.1320.gc452695387.dirty
+
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch
new file mode 100644
index 0000000000..e5221d2b4c
--- /dev/null
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch
@@ -0,0 +1,188 @@
+From 41574b628ec4229c24dfe289af7b6978edcca4ed Mon Sep 17 00:00:00 2001
+From: Sean Anderson <sean.anderson@seco.com>
+Date: Thu, 30 Dec 2021 15:19:41 -0500
+Subject: [PATCH] libsparse: Add "hole" mode to sparse_file_read
+
+This adds support for filesystem-level sparse files. These files have
+holes which are not stored in the filesystem and when read are full of
+zeros. While these zeros may be significant in some types of files,
+other types of files may not care about the contents of holes. For
+example, most filesystem creation tools write to all the blocks they
+care about. Those blocks not written to will remain holes, and can be
+safely represented by "don't care" chunks. Using "don't care" chunks
+instead of fill chunks can result in a substantial reduction of the time
+it takes to program a sparse image.
+
+To accomplish this, we extend the existing "sparse" boolean parameter to
+be an enum of mode types. This enum represents the strategy we take when
+reading in a file. For the most part the implementation is
+straightforward. We use lseek to determine where the holes in the file
+are, and then use do_sparse_file_read_normal to create chunks for the
+data section. Note that every file has an implicit hole at its end.
+
+Change-Id: I0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
+Upstream-Status: Backport [f96466b05543b984ef7315d830bab4a409228d35]
+Signed-off-by: Sean Anderson <sean.anderson@seco.com>
+---
+ libsparse/img2simg.c | 2 +-
+ libsparse/include/sparse/sparse.h | 32 +++++++++++---
+ libsparse/sparse_read.c | 71 +++++++++++++++++++++++++++++--
+ 3 files changed, 93 insertions(+), 12 deletions(-)
+
+diff --git a/libsparse/img2simg.c b/libsparse/img2simg.c
+index a0db36f45..2e171b613 100644
+--- a/libsparse/img2simg.c
++++ b/libsparse/img2simg.c
+@@ -96,7 +96,7 @@ int main(int argc, char *argv[])
+ }
+
+ sparse_file_verbose(s);
+- ret = sparse_file_read(s, in, false, false);
++ ret = sparse_file_read(s, in, SPARSE_READ_MODE_NORMAL, false);
+ if (ret) {
+ fprintf(stderr, "Failed to read file\n");
+ exit(-1);
+diff --git a/libsparse/include/sparse/sparse.h b/libsparse/include/sparse/sparse.h
+index 8b757d22a..b68aa21a8 100644
+--- a/libsparse/include/sparse/sparse.h
++++ b/libsparse/include/sparse/sparse.h
+@@ -196,23 +196,41 @@ int64_t sparse_file_len(struct sparse_file *s, bool sparse, bool crc);
+ int sparse_file_callback(struct sparse_file *s, bool sparse, bool crc,
+ int (*write)(void *priv, const void *data, int len), void *priv);
+
++/**
++ * enum sparse_read_mode - The method to use when reading in files
++ * @SPARSE_READ_MODE_NORMAL: The input is a regular file. Constant chunks of
++ * data (including holes) will be be converted to
++ * fill chunks.
++ * @SPARSE_READ_MODE_SPARSE: The input is an Android sparse file.
++ * @SPARSE_READ_MODE_HOLE: The input is a regular file. Holes will be converted
++ * to "don't care" chunks. Other constant chunks will
++ * be converted to fill chunks.
++ */
++enum sparse_read_mode {
++ SPARSE_READ_MODE_NORMAL = false,
++ SPARSE_READ_MODE_SPARSE = true,
++ SPARSE_READ_MODE_HOLE,
++};
++
+ /**
+ * sparse_file_read - read a file into a sparse file cookie
+ *
+ * @s - sparse file cookie
+ * @fd - file descriptor to read from
+- * @sparse - read a file in the Android sparse file format
++ * @mode - mode to use when reading the input file
+ * @crc - verify the crc of a file in the Android sparse file format
+ *
+- * Reads a file into a sparse file cookie. If sparse is true, the file is
+- * assumed to be in the Android sparse file format. If sparse is false, the
+- * file will be sparsed by looking for block aligned chunks of all zeros or
+- * another 32 bit value. If crc is true, the crc of the sparse file will be
+- * verified.
++ * Reads a file into a sparse file cookie. If @mode is
++ * %SPARSE_READ_MODE_SPARSE, the file is assumed to be in the Android sparse
++ * file format. If @mode is %SPARSE_READ_MODE_NORMAL, the file will be sparsed
++ * by looking for block aligned chunks of all zeros or another 32 bit value. If
++ * @mode is %SPARSE_READ_MODE_HOLE, the file will be sparsed like
++ * %SPARSE_READ_MODE_NORMAL, but holes in the file will be converted to "don't
++ * care" chunks. If crc is true, the crc of the sparse file will be verified.
+ *
+ * Returns 0 on success, negative errno on error.
+ */
+-int sparse_file_read(struct sparse_file *s, int fd, bool sparse, bool crc);
++int sparse_file_read(struct sparse_file *s, int fd, enum sparse_read_mode mode, bool crc);
+
+ /**
+ * sparse_file_import - import an existing sparse file
+diff --git a/libsparse/sparse_read.c b/libsparse/sparse_read.c
+index ee4abd86a..81f48cc13 100644
+--- a/libsparse/sparse_read.c
++++ b/libsparse/sparse_read.c
+@@ -414,16 +414,79 @@ static int sparse_file_read_normal(struct sparse_file* s, int fd)
+ return ret;
+ }
+
+-int sparse_file_read(struct sparse_file *s, int fd, bool sparse, bool crc)
++#ifdef __linux__
++static int sparse_file_read_hole(struct sparse_file* s, int fd)
+ {
+- if (crc && !sparse) {
++ int ret;
++ uint32_t* buf = (uint32_t*)malloc(s->block_size);
++ int64_t end = 0;
++ int64_t start = 0;
++
++ if (!buf) {
++ return -ENOMEM;
++ }
++
++ do {
++ start = lseek(fd, end, SEEK_DATA);
++ if (start < 0) {
++ if (errno == ENXIO)
++ /* The rest of the file is a hole */
++ break;
++
++ error("could not seek to data");
++ free(buf);
++ return -errno;
++ } else if (start > s->len) {
++ break;
++ }
++
++ end = lseek(fd, start, SEEK_HOLE);
++ if (end < 0) {
++ error("could not seek to end");
++ free(buf);
++ return -errno;
++ }
++ end = min(end, s->len);
++
++ start = ALIGN_DOWN(start, s->block_size);
++ end = ALIGN(end, s->block_size);
++ if (lseek(fd, start, SEEK_SET) < 0) {
++ free(buf);
++ return -errno;
++ }
++
++ ret = do_sparse_file_read_normal(s, fd, buf, start, end - start);
++ if (ret) {
++ free(buf);
++ return ret;
++ }
++ } while (end < s->len);
++
++ free(buf);
++ return 0;
++}
++#else
++static int sparse_file_read_hole(struct sparse_file* s __unused, int fd __unused)
++{
++ return -ENOTSUP;
++}
++#endif
++
++int sparse_file_read(struct sparse_file *s, int fd, enum sparse_read_mode mode, bool crc)
++{
++ if (crc && mode != SPARSE_READ_MODE_SPARSE) {
+ return -EINVAL;
+ }
+
+- if (sparse) {
++ switch (mode) {
++ case SPARSE_READ_MODE_SPARSE:
+ return sparse_file_read_sparse(s, fd, crc);
+- } else {
++ case SPARSE_READ_MODE_NORMAL:
+ return sparse_file_read_normal(s, fd);
++ case SPARSE_READ_MODE_HOLE:
++ return sparse_file_read_hole(s, fd);
++ default:
++ return -EINVAL;
+ }
+ }
+
+--
+2.35.1.1320.gc452695387.dirty
+
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch
new file mode 100644
index 0000000000..9d19f58095
--- /dev/null
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch
@@ -0,0 +1,114 @@
+From 00cce57eff1a0de3b93efa5da225e9eb33d19659 Mon Sep 17 00:00:00 2001
+From: Sean Anderson <sean.anderson@seco.com>
+Date: Thu, 30 Dec 2021 15:34:28 -0500
+Subject: [PATCH] img2simg: Add support for converting holes to "don't care"
+ chunks
+
+This adds support for converting files with holes to "don't care"
+chunks. This can result in a substantial reduction in the time it takes
+to program an image if it has many holes.
+
+Generally, constants compared to argc have been reduced by one, since we
+no longer have the program name as the first argument.
+
+Change-Id: I00750edc07d6415dcc07ae0351e9397b0222b7ba
+Upstream-Status: Backport [6150b00b6025918da8c28e5c2f929ecdf480a9d6]
+Signed-off-by: Sean Anderson <sean.anderson@seco.com>
+---
+ libsparse/img2simg.c | 41 ++++++++++++++++++++++++++++++-----------
+ 1 file changed, 30 insertions(+), 11 deletions(-)
+
+diff --git a/libsparse/img2simg.c b/libsparse/img2simg.c
+index 2e171b613..c985d5449 100644
+--- a/libsparse/img2simg.c
++++ b/libsparse/img2simg.c
+@@ -40,25 +40,42 @@
+
+ void usage()
+ {
+- fprintf(stderr, "Usage: img2simg <raw_image_file> <sparse_image_file> [<block_size>]\n");
++ fprintf(stderr, "Usage: img2simg [-s] <raw_image_file> <sparse_image_file> [<block_size>]\n");
+ }
+
+ int main(int argc, char *argv[])
+ {
++ char *arg_in;
++ char *arg_out;
++ enum sparse_read_mode mode = SPARSE_READ_MODE_NORMAL;
++ int extra;
+ int in;
++ int opt;
+ int out;
+ int ret;
+ struct sparse_file *s;
+ unsigned int block_size = 4096;
+ off64_t len;
+
+- if (argc < 3 || argc > 4) {
++ while ((opt = getopt(argc, argv, "s")) != -1) {
++ switch (opt) {
++ case 's':
++ mode = SPARSE_READ_MODE_HOLE;
++ break;
++ default:
++ usage();
++ exit(-1);
++ }
++ }
++
++ extra = argc - optind;
++ if (extra < 2 || extra > 3) {
+ usage();
+ exit(-1);
+ }
+
+- if (argc == 4) {
+- block_size = atoi(argv[3]);
++ if (extra == 3) {
++ block_size = atoi(argv[optind + 2]);
+ }
+
+ if (block_size < 1024 || block_size % 4 != 0) {
+@@ -66,22 +83,24 @@ int main(int argc, char *argv[])
+ exit(-1);
+ }
+
+- if (strcmp(argv[1], "-") == 0) {
++ arg_in = argv[optind];
++ if (strcmp(arg_in, "-") == 0) {
+ in = STDIN_FILENO;
+ } else {
+- in = open(argv[1], O_RDONLY | O_BINARY);
++ in = open(arg_in, O_RDONLY | O_BINARY);
+ if (in < 0) {
+- fprintf(stderr, "Cannot open input file %s\n", argv[1]);
++ fprintf(stderr, "Cannot open input file %s\n", arg_in);
+ exit(-1);
+ }
+ }
+
+- if (strcmp(argv[2], "-") == 0) {
++ arg_out = argv[optind + 1];
++ if (strcmp(arg_out, "-") == 0) {
+ out = STDOUT_FILENO;
+ } else {
+- out = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0664);
++ out = open(arg_out, O_WRONLY | O_CREAT | O_TRUNC | O_BINARY, 0664);
+ if (out < 0) {
+- fprintf(stderr, "Cannot open output file %s\n", argv[2]);
++ fprintf(stderr, "Cannot open output file %s\n", arg_out);
+ exit(-1);
+ }
+ }
+@@ -96,7 +115,7 @@ int main(int argc, char *argv[])
+ }
+
+ sparse_file_verbose(s);
+- ret = sparse_file_read(s, in, SPARSE_READ_MODE_NORMAL, false);
++ ret = sparse_file_read(s, in, mode, false);
+ if (ret) {
+ fprintf(stderr, "Failed to read file\n");
+ exit(-1);
+--
+2.35.1.1320.gc452695387.dirty
+
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff b/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
index 3ead649b1d..177d69a97a 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
@@ -4,8 +4,12 @@ Description: adb: Make compatible with openssl 1.1
Author: Chirayu Desai <chirayudesai1@gmail.com
Last-Update: 2016-11-10
---
+Upstream-Status: Pending
+
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---
+Upstream-Status: Pending
+
system/core/adb/adb_auth_host.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/b64_pton_function_decl.patch b/meta-oe/recipes-devtools/android-tools/android-tools/core/b64_pton_function_decl.patch
new file mode 100644
index 0000000000..80410f1d2b
--- /dev/null
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/b64_pton_function_decl.patch
@@ -0,0 +1,14 @@
+Add protoype declaration for b64_pton
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/adb/adb_auth_client.c
++++ b/adb/adb_auth_client.c
+@@ -29,6 +29,7 @@
+
+ #define TRACE_TAG TRACE_AUTH
+
++extern int b64_pton(const char* src, uint8_t* target, size_t targsize);
+
+ struct adb_public_key {
+ struct listnode node;
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch b/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch
index 87771cba85..8b5e4cf999 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch
@@ -24,6 +24,8 @@ Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/procattr.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index d93a7f7239..1c66ea4997 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Different utilities from Android"
SECTION = "console/utils"
-LICENSE = "Apache-2.0 & GPL-2.0 & BSD-2-Clause & BSD-3-Clause"
+LICENSE = "Apache-2.0 & GPL-2.0-only & BSD-2-Clause & BSD-3-Clause"
LIC_FILES_CHKSUM = " \
file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10 \
file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6 \
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = " \
file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9 \
"
DEPENDS = "libbsd libpcre zlib libcap"
-DEPENDS_append_class-target = " openssl"
+DEPENDS:append:class-target = " openssl"
ANDROID_MIRROR = "android.googlesource.com"
@@ -19,6 +19,7 @@ SRCREV_libhardware = "be55eb1f4d840c82ffaf7c47460df17ff5bc4d9b"
SRCREV_libselinux = "07e9e1339ad1ba608acfba9dce2d0f474b252feb"
SRCREV_build = "16e987def3d7d8f7d30805eb95cef69e52a87dbc"
+SRCREV_FORMAT = "core_extras_libhardware_libselinux_build"
SRC_URI = " \
git://${ANDROID_MIRROR}/platform/system/core;name=core;protocol=https;nobranch=1;destsuffix=git/system/core \
git://${ANDROID_MIRROR}/platform/system/extras;name=extras;protocol=https;nobranch=1;destsuffix=git/system/extras \
@@ -38,7 +39,13 @@ SRC_URI = " \
file://core/0011-Remove-bionic-specific-calls.patch;patchdir=system/core \
file://core/0012-Fix-implicit-declaration-of-stlcat-strlcopy-function.patch;patchdir=system/core \
file://core/adb_libssl_11.diff;patchdir=system/core \
+ file://core/b64_pton_function_decl.patch;patchdir=system/core \
file://core/0013-adb-Support-riscv64.patch;patchdir=system/core \
+ file://core/0014-add-u3-ss-descriptor-support-for-adb.patch;patchdir=system/core \
+ file://core/0015-libsparse-Split-off-most-of-sparse_file_read_normal-.patch;patchdir=system/core \
+ file://core/0016-libsparse-Add-hole-mode-to-sparse_file_read.patch;patchdir=system/core \
+ file://core/0017-img2simg-Add-support-for-converting-holes-to-don-t-c.patch;patchdir=system/core \
+ file://core/0001-memory.h-Always-define-strlcpy-for-glibc-based-syste.patch;patchdir=system/core \
file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \
file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \
file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \
@@ -58,34 +65,34 @@ S = "${WORKDIR}/git"
B = "${WORKDIR}/${BPN}"
# http://errors.yoctoproject.org/Errors/Details/133881/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
-COMPATIBLE_HOST_powerpc = "(null)"
-COMPATIBLE_HOST_powerpc64 = "(null)"
-COMPATIBLE_HOST_powerpc64le = "(null)"
+COMPATIBLE_HOST:powerpc = "(null)"
+COMPATIBLE_HOST:powerpc64 = "(null)"
+COMPATIBLE_HOST:powerpc64le = "(null)"
inherit systemd
SYSTEMD_PACKAGES = "${PN}-adbd"
-SYSTEMD_SERVICE_${PN}-adbd = "android-tools-adbd.service"
+SYSTEMD_SERVICE:${PN}-adbd = "android-tools-adbd.service"
# Find libbsd headers during native builds
-CC_append_class-native = " -I${STAGING_INCDIR}"
-CC_append_class-nativesdk = " -I${STAGING_INCDIR}"
+CC:append:class-native = " -I${STAGING_INCDIR}"
+CC:append:class-nativesdk = " -I${STAGING_INCDIR}"
TOOLS = "adb fastboot ext4_utils mkbootimg adbd"
# Adb needs sys/capability.h, which is not available for native*
-TOOLS_class-native = "fastboot ext4_utils mkbootimg"
-TOOLS_class-nativesdk = "fastboot ext4_utils mkbootimg"
+TOOLS:class-native = "fastboot ext4_utils mkbootimg"
+TOOLS:class-nativesdk = "fastboot ext4_utils mkbootimg"
do_compile() {
cp ${WORKDIR}/gitignore ${S}/.gitignore
# Setting both variables below causing our makefiles to not work with
# implicit make rules
- unset CFLAGS
+ CFLAGS="-ffile-prefix-map=${S}=${TARGET_DBGSRC_DIR}"
unset CPPFLAGS
export SRCDIR=${S}
@@ -133,7 +140,7 @@ do_install() {
install -m0755 ${B}/ext4_utils/simg2simg ${D}${bindir}
fi
- if echo ${TOOLS} | grep -q "adb " ; then
+ if echo ${TOOLS} | grep -q "adb\>" ; then
install -d ${D}${bindir}
install -m0755 ${B}/adb/adb ${D}${bindir}
fi
@@ -160,15 +167,15 @@ do_install() {
PACKAGES =+ "${PN}-fstools ${PN}-adbd"
-RDEPENDS_${BPN}-adbd = "${BPN}-conf"
-RDEPENDS_${BPN}-fstools = "bash"
+RDEPENDS:${PN}-adbd = "${PN}-conf"
+RDEPENDS:${PN}-fstools = "bash"
-FILES_${PN}-adbd = "\
+FILES:${PN}-adbd = "\
${bindir}/adbd \
${systemd_unitdir}/system/android-tools-adbd.service \
"
-FILES_${PN}-fstools = "\
+FILES:${PN}-fstools = "\
${bindir}/ext2simg \
${bindir}/ext4fixup \
${bindir}/img2simg \
@@ -180,3 +187,9 @@ FILES_${PN}-fstools = "\
"
BBCLASSEXTEND = "native"
+
+android_tools_enable_devmode() {
+ touch ${IMAGE_ROOTFS}/var/usb-debugging-enabled
+}
+
+ROOTFS_POSTPROCESS_COMMAND_${PN}-adbd += "${@bb.utils.contains("USB_DEBUGGING_ENABLED", "1", "android_tools_enable_devmode;", "", d)}"
diff --git a/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb b/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb
new file mode 100644
index 0000000000..d872c4dbb5
--- /dev/null
+++ b/meta-oe/recipes-devtools/apitrace/apitrace_11.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Tools for tracing OpenGL, Direct3D, and other graphics APIs"
+HOMEPAGE = "http://apitrace.github.io/"
+SECTION = "console/tools"
+LICENSE = "MIT & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50 \
+ file://thirdparty/snappy/COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
+
+SRCREV = "9352fc02bba106fbbeef9e8452ef34643c0d0764"
+PV .= "+11.1+git"
+SRC_URI = "gitsm://github.com/${BPN}/${BPN}.git;branch=master;protocol=https \
+ "
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "zlib libpng python3-native"
+
+inherit cmake
+
+PACKAGECONFIG ??= " ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11', '', d)} "
+PACKAGECONFIG[x11] = "-DENABLE_X11=ON,-DENABLE_X11=OFF,libx11"
+
+EXTRA_OECMAKE += "\
+ -DENABLE_GUI=OFF \
+ -DENABLE_STATIC_LIBGCC=OFF \
+ -DENABLE_STATIC_LIBSTDCXX=OFF \
+ -DPython3_ROOT_DIR=/usr/bin/python3-native \
+"
+
+# Use the bundled snappy library
+EXTRA_OECMAKE += "\
+ -DENABLE_STATIC_SNAPPY=ON \
+"
+
+SECURITY_CFLAGS:toolchain-clang = ""
diff --git a/meta-oe/recipes-devtools/apitrace/apitrace_9.0.bb b/meta-oe/recipes-devtools/apitrace/apitrace_9.0.bb
deleted file mode 100644
index 826291a5e4..0000000000
--- a/meta-oe/recipes-devtools/apitrace/apitrace_9.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Tools for tracing OpenGL, Direct3D, and other graphics APIs"
-HOMEPAGE = "http://apitrace.github.io/"
-SECTION = "console/tools"
-LICENSE = "MIT & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=aeb969185a143c3c25130bc2c3ef9a50 \
- file://thirdparty/snappy/COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
-
-SRCREV = "cae55f54c53449fd07f8a917dcd0874db2c15032"
-SRC_URI = "git://github.com/${BPN}/${BPN}.git"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "zlib libpng python3-native"
-
-inherit cmake
-
-EXTRA_OECMAKE += "\
- -DENABLE_GUI=OFF \
- -DENABLE_X11=OFF \
- -DENABLE_STATIC_LIBGCC=OFF \
- -DENABLE_STATIC_LIBSTDCXX=OFF \
- -DPython3_ROOT_DIR=/usr/bin/python3-native \
-"
-
-# Use the bundled snappy library
-EXTRA_OECMAKE += "\
- -DENABLE_STATIC_SNAPPY=ON \
-"
-
-SECURITY_CFLAGS_toolchain-clang = ""
diff --git a/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb b/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
index 604135839a..d0e0446eb8 100644
--- a/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
+++ b/meta-oe/recipes-devtools/autoconf-2.13/autoconf-2.13-native_2.13.bb
@@ -6,8 +6,8 @@ SECTION = "devel"
HOMEPAGE = "http://www.gnu.org/software/autoconf/"
-LICENSE = "GPLv3"
-LICENSE = "GPLv2 & GPLv3"
+LICENSE = "GPL-3.0-only"
+LICENSE = "GPL-2.0-only & GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
SRC_URI = " \
@@ -22,7 +22,7 @@ SRC_URI[sha256sum] = "f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08
inherit texinfo native
DEPENDS += "m4-native gnu-config-native"
-RDEPENDS_${PN} = "m4-native gnu-config-native"
+RDEPENDS:${PN} = "m4-native gnu-config-native"
PERL = "${USRBINPATH}/perl"
@@ -43,7 +43,7 @@ CONFIGUREOPTS = " \
--localstatedir=${localstatedir} \
--libdir=${libdir} \
--includedir=${includedir} \
- --oldincludedir=${oldincludedir} \
+ --oldincludedir=${includedir} \
--infodir=${infodir} \
--mandir=${mandir} \
--disable-silent-rules \
diff --git a/meta-oe/recipes-devtools/boost-url/boost-url_git.bb b/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
deleted file mode 100644
index 107a4a8331..0000000000
--- a/meta-oe/recipes-devtools/boost-url/boost-url_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Boost.URL is a library for manipulating Uniform Resource Identifiers (URI) and Locators (URL)"
-HOMEPAGE = "https://github.com/CPPAlliance/url"
-SECTION = "libs"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-SRC_URI = "git://github.com/CPPAlliance/url.git;branch=develop"
-
-SRCREV = "2c867fbe284ae532f1329b87a86ad3f8cd382867"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-DEPENDS = "boost"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch b/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
deleted file mode 100644
index 4581ef25fc..0000000000
--- a/meta-oe/recipes-devtools/bootchart/bootchart/0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 8d40b4c286e005e82fa50b66fbbbde22b7e65e15 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sun, 20 May 2012 21:35:34 +0200
-Subject: [PATCH 1/2] svg: add rudimentary support for ARM cpuinfo
-
-On ARM /proc/cpuinfo looks like this:
-
-root@beagleboneA3-0428:~# cat /proc/cpuinfo
-Processor : ARMv7 Processor rev 2 (v7l)
-BogoMIPS : 498.89
-Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls
-CPU implementer : 0x41
-CPU architecture: 7
-CPU variant : 0x3
-CPU part : 0xc08
-CPU revision : 2
-
-Hardware : am335xevm
-Revision : 0000
-Serial : 0000000000000000
-
-So no real way to get the actual SoC name, TI AM3359, but a lot better than 'Unknown'
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
-
-Upstream-Status: submitted
-
- svg.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/svg.c b/svg.c
-index 80e0292..53724b2 100644
---- a/svg.c
-+++ b/svg.c
-@@ -178,6 +178,10 @@ void svg_title(void)
- strncpy(cpu, &buf[13], 255);
- break;
- }
-+ if (strstr(buf, "Processor")) {
-+ strncpy(cpu, &buf[12], 255);
-+ break;
-+ }
- }
- fclose(f);
- }
---
-1.7.10
-
diff --git a/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch b/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
deleted file mode 100644
index f63d98aee5..0000000000
--- a/meta-oe/recipes-devtools/bootchart/bootchart/0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From e3adb4c312c6ba3491b7c173559efac7a53e5abc Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Sun, 20 May 2012 22:12:29 +0200
-Subject: [PATCH 2/2] svg: open /etc/os-release and use PRETTY_NAME for the
- 'Build' name
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
----
-
-Upstream-Status: Submitted
-
- svg.c | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/svg.c b/svg.c
-index 53724b2..c675d84 100644
---- a/svg.c
-+++ b/svg.c
-@@ -194,6 +194,17 @@ void svg_title(void)
- fclose(f);
- }
-
-+ f = fopen("/etc/os-release", "r");
-+ if(f) {
-+ while (fgets(buf, 255, f)) {
-+ if (strstr(buf, "PRETTY_NAME=")) {
-+ strncpy(build, &buf[12], 255);
-+ break;
-+ }
-+ }
-+ fclose(f);
-+ }
-+
- svg("<text class=\"t1\" x=\"0\" y=\"30\">Bootchart for %s - %s</text>\n",
- uts.nodename, date);
- svg("<text class=\"t2\" x=\"20\" y=\"50\">System: %s %s %s %s</text>\n",
---
-1.7.10
-
diff --git a/meta-oe/recipes-devtools/bootchart/bootchart_git.bb b/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
deleted file mode 100644
index 2b75eaac9d..0000000000
--- a/meta-oe/recipes-devtools/bootchart/bootchart_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Monitors where the system spends its time at start, creating a graph of all processes, disk utilization, and wait time."
-HOMEPAGE = "http://meego.gitorious.org/meego-developer-tools/bootchart"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
-
-PV = "1.17"
-PR = "r1"
-PE = "1"
-
-SRC_URI = "git://gitorious.org/meego-developer-tools/bootchart.git;protocol=https \
- file://0001-svg-add-rudimentary-support-for-ARM-cpuinfo.patch \
- file://0002-svg-open-etc-os-release-and-use-PRETTY_NAME-for-the-.patch \
-"
-
-SRCREV = "a2c7561d4060a9f075339bda89e793c76f2ff6dd"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch
deleted file mode 100644
index 6e58490980..0000000000
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Do-not-add-stack-pointer-to-clobber-list.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 5c63eb5d56abd4e5232add4727247965a863d851 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Dec 2019 14:02:45 -0800
-Subject: [PATCH] Do not add stack pointer to clobber list
-
-It was being ignored until now when gcc 9.0 became capable
-of flagging these silent ignore via [1].
-
-We weren't actually clobbering the stack pointers here
-so it should not cause change in behavior.
-
-[1] https://gcc.gnu.org/PR52813
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- linux_syscall_support.h | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/linux_syscall_support.h b/linux_syscall_support.h
-index 9276f56..6e73309 100644
---- a/linux_syscall_support.h
-+++ b/linux_syscall_support.h
-@@ -1955,7 +1955,7 @@ struct kernel_statfs {
- LSS_ENTRYPOINT \
- "pop %%ebx" \
- args \
-- : "esp", "memory"); \
-+ : "memory"); \
- LSS_RETURN(type,__res)
- #undef _syscall0
- #define _syscall0(type,name) \
-@@ -2012,7 +2012,7 @@ struct kernel_statfs {
- : "i" (__NR_##name), "ri" ((long)(arg1)), \
- "c" ((long)(arg2)), "d" ((long)(arg3)), \
- "S" ((long)(arg4)), "D" ((long)(arg5)) \
-- : "esp", "memory"); \
-+ : "memory"); \
- LSS_RETURN(type,__res); \
- }
- #undef _syscall6
-@@ -2034,7 +2034,7 @@ struct kernel_statfs {
- : "i" (__NR_##name), "0" ((long)(&__s)), \
- "c" ((long)(arg2)), "d" ((long)(arg3)), \
- "S" ((long)(arg4)), "D" ((long)(arg5)) \
-- : "esp", "memory"); \
-+ : "memory"); \
- LSS_RETURN(type,__res); \
- }
- LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
-@@ -2120,7 +2120,7 @@ struct kernel_statfs {
- : "0"(-EINVAL), "i"(__NR_clone),
- "m"(fn), "m"(child_stack), "m"(flags), "m"(arg),
- "m"(parent_tidptr), "m"(newtls), "m"(child_tidptr)
-- : "esp", "memory", "ecx", "edx", "esi", "edi");
-+ : "memory", "ecx", "edx", "esi", "edi");
- LSS_RETURN(int, __res);
- }
-
---
-2.24.1
-
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Fixed-missing-include-for-std-find_if.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Fixed-missing-include-for-std-find_if.patch
new file mode 100644
index 0000000000..943daf4d00
--- /dev/null
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Fixed-missing-include-for-std-find_if.patch
@@ -0,0 +1,31 @@
+From 45ea097e864e566771d756c92619e984815acd1e Mon Sep 17 00:00:00 2001
+From: Nathan Moinvaziri <nathan@nathanm.com>
+Date: Tue, 19 Dec 2023 14:35:05 -0800
+Subject: [PATCH] Fixed missing include for std::find_if.
+
+Throws an error when compiling on Windows.
+
+Upstream-Status: Backport [https://github.com/google/breakpad/commit/898a997855168c0e6a689072fefba89246271a5d]
+Change-Id: Ieb34c00cf199aaa1b45a440086c48b8ed363b3c7
+Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/5137658
+Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/common/module.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/common/module.cc b/src/common/module.cc
+index 0eb5aad8..b6f5da7e 100644
+--- a/src/common/module.cc
++++ b/src/common/module.cc
+@@ -42,6 +42,7 @@
+ #include <stdio.h>
+ #include <string.h>
+
++#include <algorithm>
+ #include <functional>
+ #include <iostream>
+ #include <memory>
+--
+2.43.0
+
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch
new file mode 100644
index 0000000000..df41b4d6c0
--- /dev/null
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch
@@ -0,0 +1,49 @@
+From 70441611d4e8200d9d16dfed493873b8c1bb57c5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 15 Mar 2021 11:33:38 -0700
+Subject: [PATCH] Remove HAVE_GETCONTEXT check to add local implementation
+
+On musl getcontext/setcontext APIs are implemented in libucontext which
+can be used
+
+Upstream-Status: Inappropriate [Musl Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -529,10 +529,6 @@ src_client_linux_libbreakpad_client_a_SO
+ src/common/linux/linux_libc_support.cc \
+ src/common/linux/memory_mapped_file.cc \
+ src/common/linux/safe_readlink.cc
+-if !HAVE_GETCONTEXT
+-src_client_linux_libbreakpad_client_a_SOURCES += \
+- src/common/linux/breakpad_getcontext.S
+-endif
+
+ # Client tests
+ src_client_linux_linux_dumper_unittest_helper_SOURCES = \
+@@ -580,10 +576,6 @@ src_client_linux_linux_client_unittest_s
+ src/processor/minidump.cc \
+ src/processor/pathname_stripper.cc \
+ src/processor/proc_maps_linux.cc
+-if !HAVE_GETCONTEXT
+-src_client_linux_linux_client_unittest_shlib_SOURCES += \
+- src/common/linux/breakpad_getcontext.S
+-endif
+
+ src_client_linux_linux_client_unittest_shlib_CPPFLAGS = \
+ $(AM_CPPFLAGS) $(TEST_CFLAGS)
+@@ -613,10 +605,6 @@ src_client_linux_linux_client_unittest_s
+ src/common/string_conversion.o \
+ $(TEST_LIBS) \
+ $(PTHREAD_CFLAGS) $(PTHREAD_LIBS)
+-if !HAVE_GETCONTEXT
+-src_client_linux_linux_client_unittest_shlib_SOURCES += \
+- src/common/linux/breakpad_getcontext_unittest.cc
+-endif
+ if ANDROID_HOST
+ src_client_linux_linux_client_unittest_shlib_LDFLAGS += \
+ -llog -lm
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
index 33bae1a373..b2d2c72cb1 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/0001-Turn-off-sign-compare-for-musl-libc.patch
@@ -10,14 +10,14 @@ Fix
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/client/linux/crash_generation/crash_generation_server.cc | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc
-index 2596afde..2faeb9e5 100644
--- a/src/client/linux/crash_generation/crash_generation_server.cc
+++ b/src/client/linux/crash_generation/crash_generation_server.cc
-@@ -230,8 +230,18 @@ CrashGenerationServer::ClientEvent(short revents)
+@@ -230,8 +230,18 @@ CrashGenerationServer::ClientEvent(short
// Walk the control payload and extract the file descriptor and validated pid.
pid_t crashing_pid = -1;
int signal_fd = -1;
@@ -28,7 +28,7 @@ index 2596afde..2faeb9e5 100644
+ #pragma clang diagnostic push
+ #pragma clang diagnostic ignored "-Wsign-compare"
+#endif
- for (struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); hdr;
+ for (struct cmsghdr* hdr = CMSG_FIRSTHDR(&msg); hdr;
hdr = CMSG_NXTHDR(&msg, hdr)) {
+#ifndef __GLIBC__
+ #pragma clang diagnostic pop
@@ -36,6 +36,3 @@ index 2596afde..2faeb9e5 100644
if (hdr->cmsg_level != SOL_SOCKET)
continue;
if (hdr->cmsg_type == SCM_RIGHTS) {
---
-2.14.1
-
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
deleted file mode 100644
index 466abe5f87..0000000000
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0001-disable-calls-to-getcontext-with-musl.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 57ecf7205feedd23f901e1bb9d193787e559e433 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 23 Jan 2018 15:13:26 -0800
-Subject: [PATCH] disable calls to getcontext() with musl
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- src/client/linux/handler/exception_handler.cc | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
---- a/src/client/linux/handler/exception_handler.cc
-+++ b/src/client/linux/handler/exception_handler.cc
-@@ -490,7 +490,19 @@ bool ExceptionHandler::SimulateSignalDel
- siginfo.si_code = SI_USER;
- siginfo.si_pid = getpid();
- ucontext_t context;
-+#if defined(__GLIBC__)
- getcontext(&context);
-+#else
-+ // Extreme hack: Allow musl builds to compile - but don't expect them to work.
-+ // Although musl provides a definition for getcontext() in ucontext.h (which
-+ // enough to build libbreakpad_client) musl does not provide a corresponding
-+ // getcontext() function, so builds will fail when attempting to link anything
-+ // with libbreakpad_client. Disabling calls to getcontext() is a temporary
-+ // hack. The real fix is probably to enable Breakpad's own implementation of
-+ // getcontext() when building for musl (it's currently only enabled when
-+ // building for Android).
-+ memset (&context, 0, sizeof(context));
-+#endif
- return HandleSignal(sig, &siginfo, &context);
- }
-
-@@ -675,9 +687,14 @@ bool ExceptionHandler::WriteMinidump() {
- sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
-
- CrashContext context;
-+#if defined(__GLIBC__)
- int getcontext_result = getcontext(&context.context);
- if (getcontext_result)
- return false;
-+#else
-+ // Extreme hack - see comments above.
-+ memset (&context.context, 0, sizeof(context.context));
-+#endif
-
- #if defined(__i386__)
- // In CPUFillFromUContext in minidumpwriter.cc the stack pointer is retrieved
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
index 4583d601a8..87e00c2422 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch
@@ -4,25 +4,25 @@ Date: Sun, 1 Feb 2015 14:26:52 +0100
Subject: [PATCH 1/3] include <sys/reg.h> to get __WORDSIZE on musl libc
---
+Upstream-Status: Pending
+
src/common/linux/elf_core_dump.h | 1 +
1 file changed, 1 insertion(+)
-Index: git/src/common/linux/elf_core_dump.h
-===================================================================
---- git.orig/src/common/linux/elf_core_dump.h
-+++ git/src/common/linux/elf_core_dump.h
-@@ -33,10 +33,13 @@
+--- a/src/common/linux/elf_core_dump.h
++++ b/src/common/linux/elf_core_dump.h
+@@ -33,10 +33,14 @@
#ifndef COMMON_LINUX_ELF_CORE_DUMP_H_
#define COMMON_LINUX_ELF_CORE_DUMP_H_
+#include <config.h>
#include <elf.h>
+ #include <limits.h>
#include <link.h>
#include <stddef.h>
--
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
+
#include "common/memory_range.h"
- namespace google_breakpad {
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch
index bdd787afd5..80e5a8a764 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/0001-lss-Match-syscalls-to-match-musl.patch
@@ -5,12 +5,14 @@ Subject: [PATCH] lss: Match syscalls to match musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
linux_syscall_support.h | 3 +++
1 file changed, 3 insertions(+)
--- a/linux_syscall_support.h
+++ b/linux_syscall_support.h
-@@ -816,6 +816,9 @@ struct kernel_statfs {
+@@ -1006,6 +1006,9 @@ struct kernel_statx {
#define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)
#endif
@@ -20,17 +22,17 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#if defined(__x86_64__)
#ifndef ARCH_SET_GS
-@@ -947,6 +950,7 @@ struct kernel_statfs {
- #ifndef __NR_fallocate
- #define __NR_fallocate 324
+@@ -1140,6 +1143,7 @@ struct kernel_statx {
+ #ifndef __NR_getrandom
+ #define __NR_getrandom 355
#endif
+
/* End of i386 definitions */
#elif defined(__ARM_ARCH_3__) || defined(__ARM_EABI__)
#ifndef __NR_setresuid
-@@ -1239,6 +1243,12 @@ struct kernel_statfs {
- #ifndef __NR_fallocate
- #define __NR_fallocate 285
+@@ -1448,6 +1452,12 @@ struct kernel_statx {
+ #ifndef __NR_getrandom
+ #define __NR_getrandom 318
#endif
+#ifndef __NR_pread
+#define __NR_pread __NR_pread64
@@ -41,9 +43,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
/* End of x86-64 definitions */
#elif defined(__mips__)
#if _MIPS_SIM == _MIPS_SIM_ABI32
-@@ -1418,6 +1428,12 @@ struct kernel_statfs {
- #ifndef __NR_ioprio_get
- #define __NR_ioprio_get (__NR_Linux + 274)
+@@ -1633,6 +1643,12 @@ struct kernel_statx {
+ #ifndef __NR_getrandom
+ #define __NR_getrandom (__NR_Linux + 313)
#endif
+
+#undef __NR_pread
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch
deleted file mode 100644
index 6c097cd22e..0000000000
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 0ba1b3e35e7c743b670bedc3e90001dfb868df10 Mon Sep 17 00:00:00 2001
-From: Felix Janda <felix.janda@posteo.de>
-Date: Sun, 1 Feb 2015 13:45:51 +0100
-Subject: [PATCH 2/6] Use _fpstate instead of _libc_fpstate on linux
-
-glibc defines both. musl libc only the former.
----
- src/client/linux/dump_writer_common/ucontext_reader.cc | 4 ++--
- src/client/linux/dump_writer_common/ucontext_reader.h | 2 +-
- src/client/linux/minidump_writer/minidump_writer.h | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-Index: git/src/client/linux/dump_writer_common/ucontext_reader.cc
-===================================================================
---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ git/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -49,7 +49,7 @@ uintptr_t UContextReader::GetInstruction
- }
-
- void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-- const struct _libc_fpstate* fp) {
-+ const struct _fpstate* fp) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
- out->context_flags = MD_CONTEXT_X86_FULL |
-@@ -97,7 +97,7 @@ uintptr_t UContextReader::GetInstruction
- }
-
- void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-- const struct _libc_fpstate* fpregs) {
-+ const struct _fpstate* fpregs) {
- const greg_t* regs = uc->uc_mcontext.gregs;
-
- out->context_flags = MD_CONTEXT_AMD64_FULL;
-Index: git/src/client/linux/dump_writer_common/ucontext_reader.h
-===================================================================
---- git.orig/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ git/src/client/linux/dump_writer_common/ucontext_reader.h
-@@ -50,7 +50,7 @@ struct UContextReader {
- // info: the collection of register structures.
- #if defined(__i386__) || defined(__x86_64)
- static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-- const struct _libc_fpstate* fp);
-+ const struct _fpstate* fp);
- #elif defined(__aarch64__)
- static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
- const struct fpsimd_context* fpregs);
-Index: git/src/client/linux/minidump_writer/minidump_writer.h
-===================================================================
---- git.orig/src/client/linux/minidump_writer/minidump_writer.h
-+++ git/src/client/linux/minidump_writer/minidump_writer.h
-@@ -48,7 +48,7 @@ class ExceptionHandler;
- #if defined(__aarch64__)
- typedef struct fpsimd_context fpstate_t;
- #elif !defined(__ARM_EABI__) && !defined(__mips__)
--typedef struct _libc_fpstate fpstate_t;
-+typedef struct _fpstate fpstate_t;
- #endif
-
- // These entries store a list of memory regions that the client wants included
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch
deleted file mode 100644
index cfd9a9b34e..0000000000
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 15582e19c2545d5ffe8ff07f957d0ed602aeca74 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 14 Sep 2017 23:15:09 -0700
-Subject: [PATCH 2/5] <sys/signal.h> is a nonportable alias for <signal.h>
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/client/linux/handler/exception_handler.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
-index 05936d28..cca023fd 100644
---- a/src/client/linux/handler/exception_handler.cc
-+++ b/src/client/linux/handler/exception_handler.cc
-@@ -78,7 +78,7 @@
- #include <sys/wait.h>
- #include <unistd.h>
-
--#include <sys/signal.h>
-+#include <signal.h>
- #include <sys/ucontext.h>
- #include <sys/user.h>
- #include <ucontext.h>
---
-2.14.1
-
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch
index 2593ea93ea..81844d0d66 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/0003-Dont-include-stab.h.patch
@@ -5,16 +5,16 @@ Subject: [PATCH 3/5] Dont include stab.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/common/stabs_reader.cc | 1 -
src/common/stabs_reader.h | 12 +++++++++++-
src/common/stabs_reader_unittest.cc | 1 -
3 files changed, 11 insertions(+), 3 deletions(-)
-Index: git/src/common/stabs_reader.cc
-===================================================================
---- git.orig/src/common/stabs_reader.cc
-+++ git/src/common/stabs_reader.cc
-@@ -34,7 +34,9 @@
+--- a/src/common/stabs_reader.cc
++++ b/src/common/stabs_reader.cc
+@@ -38,7 +38,9 @@
#include "common/stabs_reader.h"
#include <assert.h>
@@ -24,11 +24,9 @@ Index: git/src/common/stabs_reader.cc
#include <string.h>
#include <string>
-Index: git/src/common/stabs_reader.h
-===================================================================
---- git.orig/src/common/stabs_reader.h
-+++ git/src/common/stabs_reader.h
-@@ -58,6 +58,30 @@
+--- a/src/common/stabs_reader.h
++++ b/src/common/stabs_reader.h
+@@ -54,6 +54,30 @@
#elif defined(HAVE_A_OUT_H)
#include <a.out.h>
#endif
@@ -59,11 +57,9 @@ Index: git/src/common/stabs_reader.h
#include <string>
#include <vector>
-Index: git/src/common/stabs_reader_unittest.cc
-===================================================================
---- git.orig/src/common/stabs_reader_unittest.cc
-+++ git/src/common/stabs_reader_unittest.cc
-@@ -33,7 +33,9 @@
+--- a/src/common/stabs_reader_unittest.cc
++++ b/src/common/stabs_reader_unittest.cc
+@@ -36,7 +36,9 @@
#include <assert.h>
#include <errno.h>
@@ -73,16 +69,14 @@ Index: git/src/common/stabs_reader_unittest.cc
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
- AC_HEADER_STDC
+--- a/configure.ac
++++ b/configure.ac
+@@ -61,7 +61,7 @@ fi
+
AC_SYS_LARGEFILE
AX_PTHREAD
--AC_CHECK_HEADERS([a.out.h sys/random.h])
-+AC_CHECK_HEADERS([a.out.h stab.h sys/random.h])
- AC_CHECK_FUNCS([arc4random getrandom])
-
- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+-AC_CHECK_HEADERS([a.out.h sys/mman.h sys/random.h])
++AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h])
+ AC_CHECK_FUNCS([arc4random getcontext getrandom memfd_create])
+ AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes])
+ AM_CONDITIONAL([HAVE_MEMFD_CREATE], [test "x$ac_cv_func_memfd_create" = xyes])
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch
index 851004704f..9b16dc3b2a 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch
@@ -6,22 +6,22 @@ Subject: [PATCH 3/3] Fix conflict between musl libc <dirent.h> and lss
Include <dirent.h> late to avoid the macro getdents64 in musl
libc's <dirent.h> to conflict with linux_sycall_support.h.
---
+Upstream-Status: Pending
+
src/client/linux/crash_generation/crash_generation_server.cc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc
-index 26c50a5c..2596afde 100644
--- a/src/client/linux/crash_generation/crash_generation_server.cc
+++ b/src/client/linux/crash_generation/crash_generation_server.cc
-@@ -28,7 +28,6 @@
- // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+@@ -31,7 +31,6 @@
+ #endif
#include <assert.h>
-#include <dirent.h>
#include <fcntl.h>
#include <limits.h>
#include <poll.h>
-@@ -49,6 +48,8 @@
+@@ -52,6 +51,8 @@
#include "common/linux/guid_creator.h"
#include "common/linux/safe_readlink.h"
@@ -30,6 +30,3 @@ index 26c50a5c..2596afde 100644
static const char kCommandQuit = 'x';
namespace google_breakpad {
---
-2.14.1
-
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch b/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
index 525a1555bd..ff331977b6 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch
@@ -6,38 +6,38 @@ Subject: [PATCH 4/5] elf_reader.cc: include <sys/reg.h> to get __WORDSIZE on
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/common/dwarf/elf_reader.cc | 1 +
1 file changed, 1 insertion(+)
-Index: git/src/common/dwarf/elf_reader.cc
-===================================================================
---- git.orig/src/common/dwarf/elf_reader.cc
-+++ git/src/common/dwarf/elf_reader.cc
-@@ -29,10 +29,13 @@
- #ifndef _GNU_SOURCE
- #define _GNU_SOURCE // needed for pread()
+--- a/src/common/dwarf/elf_reader.cc
++++ b/src/common/dwarf/elf_reader.cc
+@@ -34,12 +34,16 @@
+ #include <config.h> // Must come first
#endif
--
+
+#include <config.h>
- #include <sys/types.h>
- #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <limits.h>
+ #include <string.h>
#include <sys/mman.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
#include <unistd.h>
- #include <fcntl.h>
- #include <string.h>
-Index: git/configure.ac
-===================================================================
---- git.orig/configure.ac
-+++ git/configure.ac
-@@ -72,7 +72,7 @@ AC_ARG_ENABLE(m32,
- AC_HEADER_STDC
+
+ #include <algorithm>
+--- a/configure.ac
++++ b/configure.ac
+@@ -61,7 +61,7 @@ fi
+
AC_SYS_LARGEFILE
AX_PTHREAD
--AC_CHECK_HEADERS([a.out.h stab.h sys/random.h])
-+AC_CHECK_HEADERS([a.out.h stab.h sys/random.h sys/reg.h])
- AC_CHECK_FUNCS([arc4random getrandom])
-
- AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+-AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h])
++AC_CHECK_HEADERS([a.out.h stab.h sys/mman.h sys/random.h sys/reg.h])
+ AC_CHECK_FUNCS([arc4random getcontext getrandom memfd_create])
+ AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes])
+ AM_CONDITIONAL([HAVE_MEMFD_CREATE], [test "x$ac_cv_func_memfd_create" = xyes])
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch b/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch
index 51393967bc..cb323fbdcb 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/mcontext.patch
@@ -1,18 +1,16 @@
map the mcontext_t structure for musl
-Upstream-Status: Inappropriate[need to consider Android]
+Upstream-Status: Inappropriate [need to consider Android]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Index: git/src/client/linux/minidump_writer/linux_core_dumper.cc
-===================================================================
---- git.orig/src/client/linux/minidump_writer/linux_core_dumper.cc
-+++ git/src/client/linux/minidump_writer/linux_core_dumper.cc
-@@ -196,7 +196,7 @@ bool LinuxCoreDumper::EnumerateThreads()
+--- a/src/client/linux/minidump_writer/linux_core_dumper.cc
++++ b/src/client/linux/minidump_writer/linux_core_dumper.cc
+@@ -214,7 +214,7 @@ bool LinuxCoreDumper::EnumerateThreads()
info.tgid = status->pr_pgrp;
info.ppid = status->pr_ppid;
#if defined(__mips__)
--#if defined(__ANDROID__)
-+#if defined(__ANDROID__) || !defined(__GLIBC__)
+-# if defined(__ANDROID__)
++# if defined(__ANDROID__) || !defined(__GLIBC__)
for (int i = EF_R0; i <= EF_R31; i++)
info.mcontext.gregs[i - EF_R0] = status->pr_reg[i];
- #else // __ANDROID__
+ # else // __ANDROID__
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch b/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch
index 19bb560445..77d08399bf 100644
--- a/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch
+++ b/meta-oe/recipes-devtools/breakpad/breakpad/mips_asm_sgidefs.patch
@@ -1,12 +1,11 @@
-Index: lss/linux_syscall_support.h
-===================================================================
---- lss.orig/linux_syscall_support.h
-+++ lss/linux_syscall_support.h
-@@ -118,21 +118,13 @@ extern "C" {
- #include <endian.h>
+Upstream-Status: Pending
+
+--- a/linux_syscall_support.h
++++ b/linux_syscall_support.h
+@@ -119,14 +119,7 @@ extern "C" {
#ifdef __mips__
--/* Include definitions of the ABI currently in use. */
+ /* Include definitions of the ABI currently in use. */
-#ifdef __ANDROID__
-/* Android doesn't have sgidefs.h, but does have asm/sgidefs.h,
- * which has the definitions we need.
@@ -18,10 +17,3 @@ Index: lss/linux_syscall_support.h
#endif
#endif
- /* The Android NDK's <sys/stat.h> #defines these macros as aliases
- * to their non-64 counterparts. To avoid naming conflict, remove them. */
--#ifdef __ANDROID__
-+#if defined(__ANDROID__) || (defined(__linux__) && !defined(__glibc__))
- /* These are restored by the corresponding #pragma pop_macro near
- * the end of this file. */
- # pragma push_macro("stat64")
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb b/meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb
new file mode 100644
index 0000000000..3bf4371e85
--- /dev/null
+++ b/meta-oe/recipes-devtools/breakpad/breakpad_2023.06.01.bb
@@ -0,0 +1,127 @@
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+# Applications using this library needs to add link against libbreakpad_client.a.
+
+SUMMARY = "An open-source multi-platform crash reporting system"
+DESCRIPTION = "Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided debugging information removed, record crashes in compact \"minidump\" files, send them back to your server, and produce C and C++ stack traces from these minidumps. "
+HOMEPAGE = "https://code.google.com/p/google-breakpad/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=07aeb530115539d62cacf9942fa60cac"
+SECTION = "libs"
+
+inherit autotools
+
+DEPENDS += "zlib"
+DEPENDS:append:libc-musl = " libucontext"
+
+BBCLASSEXTEND = "native"
+
+PE = "2"
+
+SRCREV_FORMAT = "breakpad_gtest_protobuf_lss"
+
+SRCREV_breakpad = "8988364bcddd9b194b0bf931c10bc125987330ed"
+#v1.11.0
+SRCREV_gtest = "e2239ee6043f73722e7aa812a459f54a28552929"
+SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
+SRCREV_lss = "9719c1e1e676814c456b55f5f070eabad6709d31"
+
+SRC_URI = "git://github.com/google/breakpad;name=breakpad;branch=main;protocol=https \
+ git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest;branch=main;protocol=https \
+ git://github.com/protocolbuffers/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf;branch=master;protocol=https \
+ git://chromium.googlesource.com/linux-syscall-support;protocol=https;branch=main;destsuffix=git/src/third_party/lss;name=lss \
+ file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \
+ file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \
+ file://0001-Turn-off-sign-compare-for-musl-libc.patch \
+ file://0003-Dont-include-stab.h.patch \
+ file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \
+ file://mcontext.patch \
+ file://0001-Remove-HAVE_GETCONTEXT-check-to-add-local-implementa.patch \
+ file://0001-Fixed-missing-include-for-std-find_if.patch \
+ file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
+ file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
+"
+S = "${WORKDIR}/git"
+
+CXXFLAGS += "-D_GNU_SOURCE"
+LDFLAGS:append:libc-musl = " -lucontext"
+
+COMPATIBLE_HOST:powerpc = "null"
+COMPATIBLE_HOST:powerpc64 = "null"
+COMPATIBLE_HOST:powerpc64le = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+
+do_install:append() {
+ install -d ${D}${includedir}
+ install -d ${D}${includedir}/breakpad
+
+ install -d ${D}${includedir}/breakpad/client/linux/crash_generation
+ install -m 0644 ${S}/src/client/linux/crash_generation/crash_generation_client.h ${D}${includedir}/breakpad/client/linux/crash_generation/crash_generation_client.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/handler/
+ install -m 0644 ${S}/src/client/linux/handler/exception_handler.h ${D}${includedir}/breakpad/client/linux/handler/exception_handler.h
+ install -m 0644 ${S}/src/client/linux/handler/minidump_descriptor.h ${D}${includedir}/breakpad/client/linux/handler/minidump_descriptor.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/dump_writer_common
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/mapping_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/mapping_info.h
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/thread_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/thread_info.h
+ install -m 0644 ${S}/src/client/linux/dump_writer_common/raw_context_cpu.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/raw_context_cpu.h
+
+ install -d ${D}${includedir}/breakpad/client/linux/minidump_writer
+ install -m 0644 ${S}/src/client/linux/minidump_writer/linux_dumper.h ${D}${includedir}/breakpad/client/linux/minidump_writer/linux_dumper.h
+ install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h
+
+ install -d ${D}${includedir}/breakpad/common
+ install -m 0644 ${S}/src/common/memory_allocator.h ${D}${includedir}/breakpad/common/memory_allocator.h
+ install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h
+ install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h
+
+ install -d ${D}${includedir}/breakpad/google_breakpad/common
+ install -m 0644 ${S}/src/google_breakpad/common/breakpad_types.h ${D}${includedir}/breakpad/google_breakpad/common/breakpad_types.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_format.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_format.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_amd64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_amd64.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm64.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_mips.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_mips.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc64.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_sparc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_sparc.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_x86.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_x86.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_linux.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_linux.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_mac.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_mac.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_ps3.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_ps3.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_solaris.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_solaris.h
+ install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_win32.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_win32.h
+
+ install -d ${D}${includedir}/breakpad/third_party/lss
+ install -m 0644 ${S}/src/third_party/lss/linux_syscall_support.h ${D}${includedir}/breakpad/third_party/lss/linux_syscall_support.h
+}
+
+PACKAGES =+ "${PN}-minidump-upload ${PN}-sym-upload"
+
+FILES:${PN}-minidump-upload = "${bindir}/minidump_upload"
+FILES:${PN}-sym-upload = "${bindir}/sym_upload"
+
+
+SYSROOT_PREPROCESS_FUNCS += "breakpad_populate_sysroot"
+breakpad_populate_sysroot() {
+ sysroot_stage_dir ${D}/usr/include ${SYSROOT_DESTDIR}/usr/include
+ sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
+ sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
+}
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:2178: Error: selected processor does not support Thumb mode `it ne'
+#| {standard input}:2179: Error: Thumb does not support conditional execution
+#| {standard input}:2180: Error: selected processor does not support Thumb mode `it eq'
+#| {standard input}:2181: Error: Thumb does not support conditional execution
+#| {standard input}:2183: Error: lo register required -- `str ip,[r1,#-4]!'
+#| {standard input}:2184: Error: Thumb does not support this addressing mode -- `str r6,[r1,#-4]!'
+#| {standard input}:2191: Error: lo register required -- `ldr pc,[sp]'
+#| make: *** [src/client/linux/handler/exception_handler.o] Error 1
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv4 = "arm"
+
+TOOLCHAIN = "gcc"
diff --git a/meta-oe/recipes-devtools/breakpad/breakpad_git.bb b/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
deleted file mode 100644
index daf262ed66..0000000000
--- a/meta-oe/recipes-devtools/breakpad/breakpad_git.bb
+++ /dev/null
@@ -1,127 +0,0 @@
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-# Applications using this library needs to add link against libbreakpad_client.a.
-
-SUMMARY = "An open-source multi-platform crash reporting system"
-DESCRIPTION = "Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided debugging information removed, record crashes in compact \"minidump\" files, send them back to your server, and produce C and C++ stack traces from these minidumps. "
-HOMEPAGE = "https://code.google.com/p/google-breakpad/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=56c24a43c81c3af6fcf590851931489e"
-SECTION = "libs"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
-
-PE = "2"
-
-PV = "1.0"
-
-SRCREV_FORMAT = "breakpad_gtest_protobuf_lss_gyp"
-
-SRCREV_breakpad = "0c0e24f709288a129d665ec27d6f089189318385"
-#v1.10.0
-SRCREV_gtest = "5ec7f0c4a113e2f18ac2c6cc7df51ad6afc24081"
-SRCREV_protobuf = "cb6dd4ef5f82e41e06179dcd57d3b1d9246ad6ac"
-SRCREV_lss = "8048ece6c16c91acfe0d36d1d3cc0890ab6e945c"
-SRCREV_gyp = "324dd166b7c0b39d513026fa52d6280ac6d56770"
-
-SRC_URI = "git://github.com/google/breakpad;name=breakpad \
- git://github.com/google/googletest.git;destsuffix=git/src/testing/gtest;name=gtest \
- git://github.com/google/protobuf.git;destsuffix=git/src/third_party/protobuf/protobuf;name=protobuf \
- git://chromium.googlesource.com/linux-syscall-support;protocol=https;destsuffix=git/src/third_party/lss;name=lss \
- git://chromium.googlesource.com/external/gyp;protocol=https;destsuffix=git/src/tools/gyp;name=gyp \
- file://0001-include-sys-reg.h-to-get-__WORDSIZE-on-musl-libc.patch \
- file://0003-Fix-conflict-between-musl-libc-dirent.h-and-lss.patch \
- file://0001-Turn-off-sign-compare-for-musl-libc.patch \
- file://0002-sys-signal.h-is-a-nonportable-alias-for-signal.h.patch \
- file://0003-Dont-include-stab.h.patch \
- file://0004-elf_reader.cc-include-sys-reg.h-to-get-__WORDSIZE-on.patch \
- file://0002-Use-_fpstate-instead-of-_libc_fpstate-on-linux.patch \
- file://mcontext.patch \
- file://0001-disable-calls-to-getcontext-with-musl.patch \
- file://0001-lss-Match-syscalls-to-match-musl.patch;patchdir=src/third_party/lss \
- file://mips_asm_sgidefs.patch;patchdir=src/third_party/lss \
- file://0001-Do-not-add-stack-pointer-to-clobber-list.patch;patchdir=src/third_party/lss \
-"
-S = "${WORKDIR}/git"
-
-CXXFLAGS += "-D_GNU_SOURCE"
-
-COMPATIBLE_HOST_powerpc = "null"
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
-
-do_install_append() {
- install -d ${D}${includedir}
- install -d ${D}${includedir}/breakpad
-
- install -d ${D}${includedir}/breakpad/client/linux/crash_generation
- install -m 0644 ${S}/src/client/linux/crash_generation/crash_generation_client.h ${D}${includedir}/breakpad/client/linux/crash_generation/crash_generation_client.h
-
- install -d ${D}${includedir}/breakpad/client/linux/handler/
- install -m 0644 ${S}/src/client/linux/handler/exception_handler.h ${D}${includedir}/breakpad/client/linux/handler/exception_handler.h
- install -m 0644 ${S}/src/client/linux/handler/minidump_descriptor.h ${D}${includedir}/breakpad/client/linux/handler/minidump_descriptor.h
-
- install -d ${D}${includedir}/breakpad/client/linux/dump_writer_common
- install -m 0644 ${S}/src/client/linux/dump_writer_common/mapping_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/mapping_info.h
- install -m 0644 ${S}/src/client/linux/dump_writer_common/thread_info.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/thread_info.h
- install -m 0644 ${S}/src/client/linux/dump_writer_common/raw_context_cpu.h ${D}${includedir}/breakpad/client/linux/dump_writer_common/raw_context_cpu.h
-
- install -d ${D}${includedir}/breakpad/client/linux/minidump_writer
- install -m 0644 ${S}/src/client/linux/minidump_writer/linux_dumper.h ${D}${includedir}/breakpad/client/linux/minidump_writer/linux_dumper.h
- install -m 0644 ${S}/src/client/linux/minidump_writer/minidump_writer.h ${D}${includedir}/breakpad/client/linux/minidump_writer/minidump_writer.h
-
- install -d ${D}${includedir}/breakpad/common
- install -m 0644 ${S}/src/common/memory_allocator.h ${D}${includedir}/breakpad/common/memory_allocator.h
- install -m 0644 ${S}/src/common/scoped_ptr.h ${D}${includedir}/breakpad/common/scoped_ptr.h
- install -m 0644 ${S}/src/common/using_std_string.h ${D}${includedir}/breakpad/common/using_std_string.h
-
- install -d ${D}${includedir}/breakpad/google_breakpad/common
- install -m 0644 ${S}/src/google_breakpad/common/breakpad_types.h ${D}${includedir}/breakpad/google_breakpad/common/breakpad_types.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_format.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_format.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_amd64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_amd64.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_arm64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_arm64.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_mips.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_mips.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc64.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc64.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_ppc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_ppc.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_sparc.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_sparc.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_cpu_x86.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_cpu_x86.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_linux.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_linux.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_mac.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_mac.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_ps3.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_ps3.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_solaris.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_solaris.h
- install -m 0644 ${S}/src/google_breakpad/common/minidump_exception_win32.h ${D}${includedir}/breakpad/google_breakpad/common/minidump_exception_win32.h
-
- install -d ${D}${includedir}/breakpad/third_party/lss
- install -m 0644 ${S}/src/third_party/lss/linux_syscall_support.h ${D}${includedir}/breakpad/third_party/lss/linux_syscall_support.h
-}
-
-PACKAGES =+ "${PN}-minidump-upload ${PN}-sym-upload"
-
-FILES_${PN}-minidump-upload = "${bindir}/minidump_upload"
-FILES_${PN}-sym-upload = "${bindir}/sym_upload"
-
-
-SYSROOT_PREPROCESS_FUNCS += "breakpad_populate_sysroot"
-breakpad_populate_sysroot() {
- sysroot_stage_dir ${D}/usr/include ${SYSROOT_DESTDIR}/usr/include
- sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
- sysroot_stage_dir ${D}/usr/lib ${SYSROOT_DESTDIR}/usr/lib
-}
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:2178: Error: selected processor does not support Thumb mode `it ne'
-#| {standard input}:2179: Error: Thumb does not support conditional execution
-#| {standard input}:2180: Error: selected processor does not support Thumb mode `it eq'
-#| {standard input}:2181: Error: Thumb does not support conditional execution
-#| {standard input}:2183: Error: lo register required -- `str ip,[r1,#-4]!'
-#| {standard input}:2184: Error: Thumb does not support this addressing mode -- `str r6,[r1,#-4]!'
-#| {standard input}:2191: Error: lo register required -- `ldr pc,[sp]'
-#| make: *** [src/client/linux/handler/exception_handler.o] Error 1
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_armv4 = "arm"
-
-TOOLCHAIN = "gcc"
diff --git a/meta-oe/recipes-devtools/capnproto/capnproto/0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch b/meta-oe/recipes-devtools/capnproto/capnproto/0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch
deleted file mode 100644
index 43da4a9ef7..0000000000
--- a/meta-oe/recipes-devtools/capnproto/capnproto/0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e2a05a19e9dc51287e19cc9f11fd91449219e361 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Nov 2020 12:10:28 -0800
-Subject: [PATCH] mutex: Fix build on 32-bit architectures using 64-bit time_t
-
-mutex code uses SYS_futex, which it expects from system C library.
-in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex)
-rv32 is using 64bit time_t from get go unlike other 32bit architectures
-in glibc, therefore it wont have NR_futex defined but just NR_futex_time64
-this aliases it to NR_futex so that SYS_futex is then defined for rv32
-
-Upstream-Status: Submitted [https://github.com/capnproto/capnproto/pull/1103]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- c++/src/kj/mutex.c++ | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/c++/src/kj/mutex.c++ b/c++/src/kj/mutex.c++
-index c81cead7..e1594b11 100644
---- a/c++/src/kj/mutex.c++
-+++ b/c++/src/kj/mutex.c++
-@@ -39,7 +39,13 @@
-
- #ifndef SYS_futex
- // Missing on Android/Bionic.
-+#ifdef __NR_futex
- #define SYS_futex __NR_futex
-+#elif defined(SYS_futex_time64)
-+#define SYS_futex SYS_futex_time64
-+#else
-+#error "Need working SYS_futex"
-+#endif
- #endif
-
- #ifndef FUTEX_WAIT_PRIVATE
---
-2.29.2
-
diff --git a/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb b/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb
deleted file mode 100644
index 54e9daee7b..0000000000
--- a/meta-oe/recipes-devtools/capnproto/capnproto_0.8.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Cap'n Proto serialization/RPC system"
-DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
-HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
-SECTION = "console/tools"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
-
-SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV} \
- file://0001-mutex-Fix-build-on-32-bit-architectures-using-64-bit.patch;patchdir=../ \
- "
-SRCREV = "57a4ca5af5a7f55b768a9d9d6655250bffb1257f"
-
-S = "${WORKDIR}/git/c++"
-
-inherit cmake
-
-EXTRA_OECMAKE += "\
- -DBUILD_TESTING=OFF \
-"
-
-FILES_${PN}-compiler = "${bindir}"
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb b/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb
new file mode 100644
index 0000000000..cb4aef5224
--- /dev/null
+++ b/meta-oe/recipes-devtools/capnproto/capnproto_1.0.2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Cap'n Proto serialization/RPC system"
+DESCRIPTION = "Cap’n Proto is an insanely fast data interchange format and capability-based RPC system. "
+HOMEPAGE = "https://github.com/sandstorm-io/capnproto"
+SECTION = "console/tools"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=a05663ae6cca874123bf667a60dca8c9"
+
+SRC_URI = "git://github.com/sandstorm-io/capnproto.git;branch=release-${PV};protocol=https"
+SRCREV = "1a0e12c0a3ba1f0dbbad45ddfef555166e0a14fc"
+
+S = "${WORKDIR}/git/c++"
+
+inherit cmake
+
+CXXFLAGS:append:mips = " -latomic"
+CXXFLAGS:append:powerpc = " -latomic"
+CXXFLAGS:append:riscv32 = " -latomic"
+
+EXTRA_OECMAKE += "\
+ -DBUILD_TESTING=OFF \
+"
+
+FILES:${PN}-compiler = "${bindir}"
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+RDEPENDS:${PN}-dev += "${PN}-compiler"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch b/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch
deleted file mode 100644
index daf90ad44d..0000000000
--- a/meta-oe/recipes-devtools/cgdb/cgdb/0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From a3eba0fcee5e96ef47a6d3fac7196a1074f0dc17 Mon Sep 17 00:00:00 2001
-From: Adrian Bunk <bunk@stusta.de>
-Date: Wed, 30 Oct 2019 11:07:23 +0200
-Subject: Avoid use of "mips" which is reserved on mips
-
-Upstream-Status: Submitted [https://github.com/brasko/gdbwire/pull/9]
-
-Signed-off-by: Adrian Bunk <bunk@stusta.de>
-
-diff --git a/src/gdbwire_mi_parser.c b/src/gdbwire_mi_parser.c
-index 3f6b563..24aa0cf 100644
---- a/lib/tgdb/gdbwire.c
-+++ b/lib/tgdb/gdbwire.c
-@@ -40,7 +40,7 @@ struct gdbwire_mi_parser {
- /* The GDB/MI lexer state */
- yyscan_t mils;
- /* The GDB/MI push parser state */
-- gdbwire_mi_pstate *mips;
-+ gdbwire_mi_pstate *mipst;
- /* The client parser callbacks */
- struct gdbwire_mi_parser_callbacks callbacks;
- };
-@@ -71,8 +71,8 @@ gdbwire_mi_parser_create(struct gdbwire_mi_parser_callbacks callbacks)
- }
-
- /* Create a new push parser state instance */
-- parser->mips = gdbwire_mi_pstate_new();
-- if (!parser->mips) {
-+ parser->mipst = gdbwire_mi_pstate_new();
-+ if (!parser->mipst) {
- gdbwire_mi_lex_destroy(parser->mils);
- gdbwire_string_destroy(parser->buffer);
- free(parser);
-@@ -81,7 +81,7 @@ gdbwire_mi_parser_create(struct gdbwire_mi_parser_callbacks callbacks)
-
- /* Ensure that the callbacks are non null */
- if (!callbacks.gdbwire_mi_output_callback) {
-- gdbwire_mi_pstate_delete(parser->mips);
-+ gdbwire_mi_pstate_delete(parser->mipst);
- gdbwire_mi_lex_destroy(parser->mils);
- gdbwire_string_destroy(parser->buffer);
- free(parser);
-@@ -109,9 +109,9 @@ void gdbwire_mi_parser_destroy(struct gdbwire_mi_parser *parser)
- }
-
- /* Free the push parser instance */
-- if (parser->mips) {
-- gdbwire_mi_pstate_delete(parser->mips);
-- parser->mips = NULL;
-+ if (parser->mipst) {
-+ gdbwire_mi_pstate_delete(parser->mipst);
-+ parser->mipst = NULL;
- }
-
- free(parser);
-@@ -162,7 +162,7 @@ gdbwire_mi_parser_parse_line(struct gdbwire_mi_parser *parser,
- pattern = gdbwire_mi_lex(parser->mils);
- if (pattern == 0)
- break;
-- mi_status = gdbwire_mi_push_parse(parser->mips, pattern, NULL,
-+ mi_status = gdbwire_mi_push_parse(parser->mipst, pattern, NULL,
- parser->mils, &output);
- } while (mi_status == YYPUSH_MORE);
-
---
-2.20.1
-
diff --git a/meta-oe/recipes-devtools/cgdb/cgdb/0001-cgdb-Do-not-search-for-cgdb.txt-in-build-dir.patch b/meta-oe/recipes-devtools/cgdb/cgdb/0001-cgdb-Do-not-search-for-cgdb.txt-in-build-dir.patch
new file mode 100644
index 0000000000..989df8ed92
--- /dev/null
+++ b/meta-oe/recipes-devtools/cgdb/cgdb/0001-cgdb-Do-not-search-for-cgdb.txt-in-build-dir.patch
@@ -0,0 +1,34 @@
+From be56e955a32e5e9da0be32008afb8a8ee60e9b56 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 May 2023 19:31:23 -0700
+Subject: [PATCH] cgdb: Do not search for cgdb.txt in build dir
+
+If we do cross builds it encodes the build time workdir here and it wont
+be useful to look into this dir since cross-built cgdb may not run on
+build host and build workdir will not exist on target
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ cgdb/interface.cpp | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/cgdb/interface.cpp b/cgdb/interface.cpp
+index dc58137..d3aab5e 100644
+--- a/cgdb/interface.cpp
++++ b/cgdb/interface.cpp
+@@ -1568,11 +1568,6 @@ void if_display_help(void)
+
+ fs_util_get_path(PKGDATADIR, "cgdb.txt", cgdb_help_file);
+
+- /* File doesn't exist. Try to find cgdb.txt in the build dir in case
+- * the user is running a built cgdb binary directly. */
+- if (!fs_verify_file_exists(cgdb_help_file))
+- fs_util_get_path(TOPBUILDDIR, "doc/cgdb.txt", cgdb_help_file);
+-
+ ret_val = source_set_exec_line(src_viewer, cgdb_help_file, 1, 0);
+
+ if (ret_val == 0)
+--
+2.40.1
+
diff --git a/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb b/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
deleted file mode 100644
index 9d373fc989..0000000000
--- a/meta-oe/recipes-devtools/cgdb/cgdb_0.7.1.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "curses-based interface to GDB"
-DESCRIPTION = "cgdb is a lightweight curses (terminal-based) interface to the GNU Debugger (GDB)."
-HOMEPAGE = "http://cgdb.github.io/"
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "flex-native readline ncurses"
-
-inherit autotools texinfo
-
-SRC_URI = "http://cgdb.me/files/${BP}.tar.gz \
- file://0001-Avoid-use-of-mips-which-is-reserved-on-mips.patch \
-"
-SRC_URI[md5sum] = "a104862ffd3145b076303992e9a3af26"
-SRC_URI[sha256sum] = "bb723be58ec68cb59a598b8e24a31d10ef31e0e9c277a4de07b2f457fe7de198"
-
-CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2 ac_cv_file__proc_self_status=yes"
-EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \
- --with-ncurses=${STAGING_LIBDIR}"
-
-RDEPENDS_${PN} = "gdb"
diff --git a/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb b/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb
new file mode 100644
index 0000000000..922dfc7763
--- /dev/null
+++ b/meta-oe/recipes-devtools/cgdb/cgdb_0.8.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "curses-based interface to GDB"
+DESCRIPTION = "cgdb is a lightweight curses (terminal-based) interface to the GNU Debugger (GDB)."
+HOMEPAGE = "http://cgdb.github.io/"
+SECTION = "devel"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+DEPENDS = "flex-native readline ncurses"
+
+inherit autotools texinfo
+
+SRC_URI = "http://cgdb.me/files/${BP}.tar.gz \
+ file://0001-cgdb-Do-not-search-for-cgdb.txt-in-build-dir.patch"
+SRC_URI[sha256sum] = "0d38b524d377257b106bad6d856d8ae3304140e1ee24085343e6ddf1b65811f1"
+
+CACHED_CONFIGUREVARS = "ac_cv_file__dev_ptmx=yes ac_cv_rl_version=6.2 ac_cv_file__proc_self_status=yes"
+EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR} \
+ --with-ncurses=${STAGING_LIBDIR}"
+
+RDEPENDS:${PN} = "gdb"
diff --git a/meta-oe/recipes-devtools/cjson/cjson/run-ptest b/meta-oe/recipes-devtools/cjson/cjson/run-ptest
new file mode 100644
index 0000000000..f061e94665
--- /dev/null
+++ b/meta-oe/recipes-devtools/cjson/cjson/run-ptest
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# exclude json_patch_tests
+if ctest -E 'json_patch_tests' ; then
+ echo "PASS: cjson"
+else
+ echo "FAIL: cjson"
+fi
diff --git a/meta-oe/recipes-devtools/cjson/cjson_1.7.14.bb b/meta-oe/recipes-devtools/cjson/cjson_1.7.14.bb
deleted file mode 100644
index 0e33275e23..0000000000
--- a/meta-oe/recipes-devtools/cjson/cjson_1.7.14.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "Ultralightweight JSON parser in ANSI C"
-AUTHOR = "Dave Gamble"
-HOMEPAGE = "https://github.com/DaveGamble/cJSON"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0"
-
-SRC_URI = "git://github.com/DaveGamble/cJSON.git"
-SRCREV = "d2735278ed1c2e4556f53a7a782063b31331dbf7"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE += "\
- -DENABLE_CJSON_UTILS=On \
- -DENABLE_CUSTOM_COMPILER_FLAGS=OFF \
- -DBUILD_SHARED_AND_STATIC_LIBS=On \
-"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb b/meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb
new file mode 100644
index 0000000000..6c8934b342
--- /dev/null
+++ b/meta-oe/recipes-devtools/cjson/cjson_1.7.17.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "Ultralightweight JSON parser in ANSI C"
+HOMEPAGE = "https://github.com/DaveGamble/cJSON"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=218947f77e8cb8e2fa02918dc41c50d0"
+
+SRC_URI = "git://github.com/DaveGamble/cJSON.git;branch=master;protocol=https \
+ file://run-ptest \
+ "
+SRCREV = "87d8f0961a01bf09bef98ff89bae9fdec42181ee"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig ptest
+
+RDEPENDS:${PN}-ptest += "cmake"
+
+do_install_ptest() {
+ # create directories
+ install -d ${D}${PTEST_PATH} ${D}${PTEST_PATH}/tests ${D}${PTEST_PATH}/fuzzing
+ install -d ${D}${PTEST_PATH}/tests/inputs ${D}${PTEST_PATH}/tests/json-patch-tests
+ # CTestTestfiles.cmake contain fully defined path generated by cmake.
+ # Change the fully defined path to ptest path on the target
+ sed s#${B}#${PTEST_PATH}# ${B}/CTestTestfile.cmake > ${D}${PTEST_PATH}/CTestTestfile.cmake
+ sed s#${B}#${PTEST_PATH}# ${B}/tests/CTestTestfile.cmake > ${D}${PTEST_PATH}/tests/CTestTestfile.cmake
+ sed s#${B}#${PTEST_PATH}# ${B}/fuzzing/CTestTestfile.cmake > ${D}${PTEST_PATH}/fuzzing/CTestTestfile.cmake
+ # install test artifacts
+ install ${B}/cJSON_test ${D}${PTEST_PATH}
+ install ${B}/tests/cjson_add ${B}/tests/*_tests ${B}/tests/parse_* ${B}/tests/print_* ${B}/tests/readme_examples ${D}${PTEST_PATH}/tests/
+ install ${B}/tests/inputs/* ${D}${PTEST_PATH}/tests/inputs
+ install ${B}/fuzzing/fuzz_main ${D}${PTEST_PATH}/fuzzing
+}
+
+EXTRA_OECMAKE += "\
+ -DENABLE_CJSON_UTILS=On \
+ -DENABLE_CUSTOM_COMPILER_FLAGS=OFF \
+ -DBUILD_SHARED_AND_STATIC_LIBS=On \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/cloc/cloc_1.88.bb b/meta-oe/recipes-devtools/cloc/cloc_1.88.bb
deleted file mode 100644
index b6a4ae773f..0000000000
--- a/meta-oe/recipes-devtools/cloc/cloc_1.88.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Count blank lines, comment lines, and physical lines of source code \
-in many programming languages."
-AUTHOR = "Al Danial"
-
-LICENSE="GPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
-
-SRC_URI = "https://github.com/AlDanial/cloc/releases/download/${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "9f12f29c824ef61c5eaba6cf2dd6e183"
-SRC_URI[sha256sum] = "e4e30f083bf4e4a5efbe29efa0f6cefa223ba4e841ad1337653ad1f52702dc6f"
-
-UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-do_install() {
- install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc
-}
-
-RDEPENDS_${PN} = "perl perl-modules"
diff --git a/meta-oe/recipes-devtools/cloc/cloc_1.98.bb b/meta-oe/recipes-devtools/cloc/cloc_1.98.bb
new file mode 100644
index 0000000000..ea5f00669f
--- /dev/null
+++ b/meta-oe/recipes-devtools/cloc/cloc_1.98.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Count blank lines, comment lines, and physical lines of source code \
+in many programming languages."
+
+LICENSE="GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
+
+SRC_URI = "https://github.com/AlDanial/cloc/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "5fe0b159eb75718df7308a4f61470eaddf82170733929999e37a3fbb4651cf8a"
+
+UPSTREAM_CHECK_URI = "https://github.com/AlDanial/${BPN}/releases"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -D -m 0755 ${S}/cloc ${D}${bindir}/cloc
+}
+
+RDEPENDS:${PN} = "perl perl-modules"
diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit/0001-build-Use-ilp32d-abi-on-riscv32-and-lp64d-on-rv64.patch b/meta-oe/recipes-devtools/concurrencykit/concurrencykit/0001-build-Use-ilp32d-abi-on-riscv32-and-lp64d-on-rv64.patch
new file mode 100644
index 0000000000..a8ff77298f
--- /dev/null
+++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit/0001-build-Use-ilp32d-abi-on-riscv32-and-lp64d-on-rv64.patch
@@ -0,0 +1,32 @@
+From 00f822ab79b6c06936147af4d832e439cecf0fc0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 7 Jan 2023 19:31:58 -0800
+Subject: [PATCH] build: Use ilp32d abi on riscv32 and lp64d on rv64
+
+ilp32d is common ABI used for linux distributions therefore a better
+default, similarily lp64d is common ABI for rv64 linux
+
+Upstream-Status: Submitted [https://github.com/concurrencykit/ck/pull/204]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ build/ck.build.riscv | 2 +-
+ build/ck.build.riscv64 | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/build/ck.build.riscv b/build/ck.build.riscv
+index 61e0033..11ac840 100644
+--- a/build/ck.build.riscv
++++ b/build/ck.build.riscv
+@@ -1 +1 @@
+-CFLAGS+=-mabi=ilp32
++CFLAGS+=-mabi=ilp32d
+diff --git a/build/ck.build.riscv64 b/build/ck.build.riscv64
+index 9f89791..7639bd6 100644
+--- a/build/ck.build.riscv64
++++ b/build/ck.build.riscv64
+@@ -1 +1 @@
+-CFLAGS+=-mabi=lp64
++CFLAGS+=-mabi=lp64d
+--
+2.39.0
+
diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit/0001-configure-Fix-compoiler-detection-logic-for-cross-co.patch b/meta-oe/recipes-devtools/concurrencykit/concurrencykit/0001-configure-Fix-compoiler-detection-logic-for-cross-co.patch
new file mode 100644
index 0000000000..718f8c19f1
--- /dev/null
+++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit/0001-configure-Fix-compoiler-detection-logic-for-cross-co.patch
@@ -0,0 +1,84 @@
+From e1dcd27e816520bdabc69511d90c4a2ebc242831 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 6 Jan 2023 18:51:34 -0800
+Subject: [PATCH] configure: Fix compoiler detection logic for
+ cross-compilation
+
+We can not run binaries during cross compile, so poke at compiler to
+figure out if it is clang or gcc, for OE we do not have other compilers
+in opensource world if there are we can extend this logic
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure | 56 ++++++++++++++++---------------------------------------
+ 1 file changed, 16 insertions(+), 40 deletions(-)
+
+--- a/configure
++++ b/configure
+@@ -661,48 +661,24 @@ if test "$PROFILE"; then
+ fi
+
+ printf "Finding suitable compiler........"
+-if test ! -x "${CC}"; then
+- CC=`pathsearch "${CC:-cc}"`
+- if test -z "$CC" -o ! -x "$CC"; then
+- CC=`pathsearch "${CC:-gcc}"`
+- fi
++if test -z "$CC"; then
++ if test ! -x "${CC}"; then
++ CC=`pathsearch "${CC:-cc}"`
++ if test -z "$CC" -o ! -x "$CC"; then
++ CC=`pathsearch "${CC:-gcc}"`
++ fi
++ fi
++ assert "$CC" "not found"
++fi
++if `$CC --version | grep gcc > /dev/null 2>&1`; then
++ COMPILER=gcc
++elif `$CC --version | grep clang > /dev/null 2>&1`; then
++ COMPILER=clang
++else
++ COMPILER="not-found"
+ fi
+-assert "$CC" "not found"
+-
+-cat << EOF > .1.c
+-#include <stdio.h>
+-int main(void) {
+-#if defined(_WIN32)
+-#if defined(__MINGW64__)
+- puts("mingw64");
+- return (0);
+-#elif defined(__MINGW32__) && (__MINGW32_MAJOR_VERSION >= 3)
+- puts("mingw32");
+- return (0);
+-#else
+- return (1);
+-#endif /* __MINGW32__ && __MINGW32_MAJOR_VERSION >= 3 */
+-#elif defined(__clang__) && (__clang_major__ >= 3)
+- puts("clang");
+- return (0);
+-#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5110)
+- puts("suncc");
+- return (0);
+-#elif defined(__GNUC__) && (__GNUC__ >= 4)
+- puts("gcc");
+- return (0);
+-#else
+- return (1);
+-#endif
+-}
+-EOF
+-
+-$CC -o .1 .1.c
+-COMPILER=`./.1 2> /dev/null`
+-r=$?
+-rm -f .1.c .1
+
+-if test "$r" -ne 0; then
++if test "$COMPILER" = "not-found"; then
+ assert "" "update compiler"
+ else
+ echo "success [$CC]"
diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch b/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
deleted file mode 100644
index 9e5058f2ca..0000000000
--- a/meta-oe/recipes-devtools/concurrencykit/concurrencykit/cross.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From ab0eec78382bd00ce533aec2c84fd50c1733033d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 5 Jan 2013 19:42:51 -0800
-
----
- configure | 32 ++++++++++++++++++--------------
- 1 file changed, 18 insertions(+), 14 deletions(-)
-
-diff --git a/configure b/configure
-index 76c2812..78ce2ff 100755
---- a/configure
-+++ b/configure
-@@ -535,14 +535,18 @@ else
- GZIP_SUFFIX=".gz"
- fi
-
--printf "Finding suitable compiler........"
--CC=`pathsearch "${CC:-cc}"`
--if test -z "$CC" -o ! -x "$CC"; then
-- CC=`pathsearch "${CC:-gcc}"`
-+if test -z "$CC"; then
-+ printf "Finding suitable compiler........"
-+ CC=`pathsearch "${CC:-cc}"`
-+ if test -z "$CC" -o ! -x "$CC"; then
-+ CC=`pathsearch "${CC:-gcc}"`
-+ fi
- fi
- assert "$CC" "not found"
-
--cat << EOF > .1.c
-+if test -z "$COMPILER"; then
-+
-+ cat << EOF > .1.c
- #include <stdio.h>
- int main(void) {
- #if defined(_WIN32)
-@@ -569,16 +573,16 @@ int main(void) {
- #endif
- }
- EOF
-+ $CC -o .1 .1.c
-+ COMPILER=`./.1`
-+ r=$?
-+ rm -f .1.c .1
-
--$CC -o .1 .1.c
--COMPILER=`./.1`
--r=$?
--rm -f .1.c .1
--
--if test "$r" -ne 0; then
-- assert "" "update compiler"
--else
-- echo "success [$CC]"
-+ if test "$r" -ne 0; then
-+ assert "" "update compiler"
-+ else
-+ echo "success [$CC]"
-+ fi
- fi
-
- if test "$COMPILER" = "suncc"; then
diff --git a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
index 8c6cf7db20..47a3d88853 100644
--- a/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
+++ b/meta-oe/recipes-devtools/concurrencykit/concurrencykit_git.bb
@@ -3,30 +3,30 @@ safe memory reclamation mechanisms and non-blocking data structures \
designed to aid in the design and implementation of high performance \
concurrent systems."
-LICENSE = "BSD & Apache-2.0"
+LICENSE = "BSD-2-Clause & Apache-2.0"
HOMEPAGE = "http://concurrencykit.org"
SECTION = "base"
-PV = "0.5.1+git${SRCPV}"
-SRCREV = "f97d3da5c375ac2fc5a9173cdd36cb828915a2e1"
+PV = "0.7.0+git"
+SRCREV = "6e8e5bec2e2f8cef2072a68579cbb07ababf3331"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a0b24c1a8f9ad516a297d055b0294231"
-SRC_URI = "git://github.com/concurrencykit/ck.git \
- file://cross.patch \
-"
+SRC_URI = "git://github.com/concurrencykit/ck.git;branch=master;protocol=https \
+ file://0001-configure-Fix-compoiler-detection-logic-for-cross-co.patch \
+ file://0001-build-Use-ilp32d-abi-on-riscv32-and-lp64d-on-rv64.patch"
S = "${WORKDIR}/git"
-COMPATIBLE_HOST = "(i.86|x86_64|powerpc|powerpc64).*-linux*"
+COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64|powerpc|powerpc64|riscv32|riscv64).*-linux*"
inherit autotools-brokensep
-PLAT_powerpc64 = "ppc64"
-PLAT_powerpc64le = "ppc64"
+PLAT:powerpc64 = "ppc64"
+PLAT:powerpc64le = "ppc64"
+PLAT:riscv32 = "riscv"
PLAT ?= "${HOST_ARCH}"
do_configure () {
export PLATFORM=${PLAT}
- export COMPILER='gcc'
${S}/configure \
--prefix=${prefix} \
--includedir=${includedir} \
diff --git a/meta-oe/recipes-devtools/cpuid/cpuid_20201006.bb b/meta-oe/recipes-devtools/cpuid/cpuid_20201006.bb
deleted file mode 100644
index 1b42590f42..0000000000
--- a/meta-oe/recipes-devtools/cpuid/cpuid_20201006.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Linux tool to dump x86 CPUID information about the CPU(s)"
-DESCRIPTION = "cpuid dumps detailed information about the CPU(s) gathered \
-from the CPUID instruction, and also determines the exact model of CPU(s). \
-It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
-UMC, NexGen, Rise, and SiS CPUs"
-HOMEPAGE="http://www.etallen.com/cpuid.html"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz \
- "
-SRC_URI[sha256sum] = "13c53f16408341d11ed489b352f218ec4dbb5bedb796a9d059e924770a9c56a6"
-
-COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
-
-inherit perlnative
-
-# The install rule from the Makefile has hardcoded paths, so we duplicate
-# the actions to accommodate different paths.
-do_install () {
- install -D -m 0755 ${B}/cpuid ${D}/${bindir}/cpuid
- install -D -m 0444 ${B}/cpuid.man.gz ${D}/${mandir}
-}
diff --git a/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb b/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb
new file mode 100644
index 0000000000..ed339e0160
--- /dev/null
+++ b/meta-oe/recipes-devtools/cpuid/cpuid_20230614.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Linux tool to dump x86 CPUID information about the CPU(s)"
+DESCRIPTION = "cpuid dumps detailed information about the CPU(s) gathered \
+from the CPUID instruction, and also determines the exact model of CPU(s). \
+It supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, \
+UMC, NexGen, Rise, and SiS CPUs"
+HOMEPAGE="http://www.etallen.com/cpuid.html"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://www.etallen.com/${BPN}/${BP}.src.tar.gz \
+ file://0001-Makefile-update-the-hardcode-path-to-bindir-mandir.patch \
+ "
+SRC_URI[sha256sum] = "b1c83045efc26076307751e0662d580277f5f9bf89cf027231a7812003c3a4e8"
+
+COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
+
+inherit perlnative
+
+do_install () {
+ oe_runmake DESTDIR=${D} bindir=${bindir} mandir=${mandir} install
+}
+
+RDEPENDS:${PN} = "perl"
+
+INSANE_SKIP:${PN} += "already-stripped"
diff --git a/meta-oe/recipes-devtools/cpuid/files/0001-Makefile-update-the-hardcode-path-to-bindir-mandir.patch b/meta-oe/recipes-devtools/cpuid/files/0001-Makefile-update-the-hardcode-path-to-bindir-mandir.patch
new file mode 100644
index 0000000000..8654fb86c3
--- /dev/null
+++ b/meta-oe/recipes-devtools/cpuid/files/0001-Makefile-update-the-hardcode-path-to-bindir-mandir.patch
@@ -0,0 +1,36 @@
+From 1339348c5b69b32378a638d65b16297d29c5fa22 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 7 Nov 2023 16:06:49 +0800
+Subject: [PATCH] Makefile: update the hardcode path to bindir/mandir
+
+Update the hardcode path to bindir/mandir
+
+Upstream-Status: Pending [ Send to cpuid@etallen.com ]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 828d2b1..365e26d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -55,10 +55,10 @@ cpuinfo2cpuid.man.gz: cpuinfo2cpuid.man
+ gzip < $< > $@
+
+ install: $(PROG) $(PROG).man.gz cpuinfo2cpuid cpuinfo2cpuid.man.gz
+- install -D $(INSTALL_STRIP) -m 755 $(PROG) $(BUILDROOT)/usr/bin/$(PROG)
+- install -D -m 444 $(PROG).man.gz $(BUILDROOT)/usr/share/man/man1/$(PROG).1.gz
+- install -D -m 755 cpuinfo2cpuid $(BUILDROOT)/usr/bin/cpuinfo2cpuid
+- install -D -m 444 cpuinfo2cpuid.man.gz $(BUILDROOT)/usr/share/man/man1/cpuinfo2cpuid.1.gz
++ install -D $(INSTALL_STRIP) -m 755 $(PROG) $(BUILDROOT)${bindir}/$(PROG)
++ install -D -m 444 $(PROG).man.gz $(BUILDROOT)${mandir}/man1/$(PROG).1.gz
++ install -D -m 755 cpuinfo2cpuid $(BUILDROOT)${bindir}/cpuinfo2cpuid
++ install -D -m 444 cpuinfo2cpuid.man.gz $(BUILDROOT)${mandir}/man1/cpuinfo2cpuid.1.gz
+
+ clean:
+ rm -f $(PROG) $(PROG).i386 $(PROG).x86_64
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/ctags/ctags_5.8.bb b/meta-oe/recipes-devtools/ctags/ctags_5.8.bb
deleted file mode 100644
index d006d83aa5..0000000000
--- a/meta-oe/recipes-devtools/ctags/ctags_5.8.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2015 Igor Santos <igor.santos@aker.com.br>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Exuberant Ctags"
-DESCRIPTION = "Exuberant Ctags is a multilanguage reimplementation of the \
- Unix ctags utility. Ctags generates an index of source code \
- definitions which is used by numerous editors and utilities \
- to instantly locate the definitions."
-
-HOMEPAGE = "http://ctags.sourceforge.net/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-inherit autotools-brokensep
-
-SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "c00f82ecdcc357434731913e5b48630d"
-SRC_URI[sha256sum] = "0e44b45dcabe969e0bbbb11e30c246f81abe5d32012db37395eb57d66e9e99c7"
-
-do_install() {
- install -Dm 755 ${B}/ctags ${D}${bindir}/ctags
- install -Dm 644 ${B}/ctags.1 ${D}${mandir}/man1/ctags.1
-}
diff --git a/meta-oe/recipes-devtools/ctags/ctags_6.1.20240310.0.bb b/meta-oe/recipes-devtools/ctags/ctags_6.1.20240310.0.bb
new file mode 100644
index 0000000000..d4ffbb7f03
--- /dev/null
+++ b/meta-oe/recipes-devtools/ctags/ctags_6.1.20240310.0.bb
@@ -0,0 +1,36 @@
+# Copyright (C) 2015 Igor Santos <igor.santos@aker.com.br>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Universal Ctags"
+DESCRIPTION = "Universal Ctags is a multilanguage reimplementation of the \
+ Unix ctags utility. Ctags generates an index of source code \
+ definitions which is used by numerous editors and utilities \
+ to instantly locate the definitions."
+
+HOMEPAGE = "https://ctags.io/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+inherit autotools-brokensep pkgconfig manpages
+
+SRCREV = "38fd8e39b877a79666393b90e38400fd8d7d5d14"
+SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= " \
+ readcmd \
+ xml \
+ json \
+ yaml \
+"
+PACKAGECONFIG[readcmd] = "--enable-readcmd,--disable-readcmd"
+PACKAGECONFIG[etags] = "--enable-etags,--disable-etags"
+PACKAGECONFIG[xml] = "--enable-xml,--disable-xml,libxml2"
+PACKAGECONFIG[json] = "--enable-json,--disable-json,jansson"
+PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
+PACKAGECONFIG[yaml] = "--enable-yaml,--disable-yaml,libyaml"
+PACKAGECONFIG[manpages] = ",,python3-docutils-native"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-do-not-hardcode-the-full-path-of-dpkg.patch b/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-do-not-hardcode-the-full-path-of-dpkg.patch
new file mode 100644
index 0000000000..2a5f233165
--- /dev/null
+++ b/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-do-not-hardcode-the-full-path-of-dpkg.patch
@@ -0,0 +1,33 @@
+From e735fb23f46f0c3c7a1144ba6b4050bfc0015a05 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 2 Jun 2021 13:34:35 +0800
+Subject: [PATCH] do not hardcode the full path of dpkg
+
+While calling debootstrap in sdk, if host does not install dpkg package,
+the full path calling will fail
+
+Do not hardcode the full path of dpkg, then then sdk's dpkg will be used.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ debootstrap | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/debootstrap b/debootstrap
+index a3cf3af..5e96c3e 100755
+--- a/debootstrap
++++ b/debootstrap
+@@ -538,7 +538,7 @@ fi
+
+ if in_path dpkg && \
+ dpkg --print-architecture >/dev/null 2>&1; then
+- HOST_ARCH=$(/usr/bin/dpkg --print-architecture)
++ HOST_ARCH=$(dpkg --print-architecture)
+ elif in_path udpkg && \
+ udpkg --print-architecture >/dev/null 2>&1; then
+ HOST_ARCH=$(/usr/bin/udpkg --print-architecture)
+--
+2.27.0
+
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch b/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch
new file mode 100644
index 0000000000..12dd238108
--- /dev/null
+++ b/meta-oe/recipes-devtools/debootstrap/debootstrap/0001-support-to-override-usr-sbin-and-usr-share.patch
@@ -0,0 +1,41 @@
+From 87d0174e8d56e7458dc94f05f82ab7a67a5cf7d0 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 8 Apr 2021 14:06:05 +0800
+Subject: [PATCH 1/2] support to override /usr/sbin and /usr/share
+
+Upstream-Status: Submitted [https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/55]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ Makefile | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8516803..a2d8c00 100644
+--- a/Makefile
++++ b/Makefile
+@@ -5,14 +5,16 @@ all:
+
+ clean:
+
+-DSDIR=$(DESTDIR)/usr/share/debootstrap
++datadir ?= "/usr/share"
++sbindir ?= "/usr/sbin"
++DSDIR=$(DESTDIR)${datadir}/debootstrap
+ install:
+ mkdir -p $(DSDIR)/scripts
+- mkdir -p $(DESTDIR)/usr/sbin
++ mkdir -p $(DESTDIR)$(sbindir)
+
+ cp -a scripts/* $(DSDIR)/scripts/
+ install -o root -g root -m 0644 functions $(DSDIR)/
+
+- sed 's/@VERSION@/$(VERSION)/g' debootstrap >$(DESTDIR)/usr/sbin/debootstrap
+- chown root:root $(DESTDIR)/usr/sbin/debootstrap
+- chmod 0755 $(DESTDIR)/usr/sbin/debootstrap
++ sed 's/@VERSION@/$(VERSION)/g' debootstrap >$(DESTDIR)$(sbindir)/debootstrap
++ chown root:root $(DESTDIR)$(sbindir)/debootstrap
++ chmod 0755 $(DESTDIR)$(sbindir)/debootstrap
+--
+2.17.1
+
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch b/meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch
new file mode 100644
index 0000000000..69329df4ea
--- /dev/null
+++ b/meta-oe/recipes-devtools/debootstrap/debootstrap/0002-support-to-override-usr-bin-arch-test.patch
@@ -0,0 +1,47 @@
+From f0420b201f2fb5286ccf5657faa6b38cd2680e10 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 8 Apr 2021 14:08:06 +0800
+Subject: [PATCH 2/2] support to override /usr/bin/arch-test
+
+Upstream-Status: Submitted [https://salsa.debian.org/installer-team/debootstrap/-/merge_requests/55]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ debootstrap | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/debootstrap b/debootstrap
+index 9b9e58d..a3cf3af 100755
+--- a/debootstrap
++++ b/debootstrap
+@@ -51,6 +51,10 @@ INRELEASE_PATH=""
+ DEF_MIRROR="http://deb.debian.org/debian"
+ DEF_HTTPS_MIRROR="https://deb.debian.org/debian"
+
++if [ -z "$ARCH_TEST" ]; then
++ ARCH_TEST="/usr/bin/arch-test"
++fi
++
+ # set $CONTAINER
+ detect_container
+
+@@ -645,12 +649,12 @@ fi
+
+ ###########################################################################
+
+-if [ -x /usr/bin/arch-test ] && am_doing_phase second_stage; then
++if [ -x ${ARCH_TEST} ] && am_doing_phase second_stage; then
+ if doing_variant fakechroot; then
+- ret=0; arch-test "$ARCH" || ret=$?
++ ret=0; ${ARCH_TEST} "$ARCH" || ret=$?
+ # Avoid failure with old arch-test package
+- elif arch-test --version > /dev/null 2>&1; then
+- ret=0; arch-test -c "$TARGET" "$ARCH" || ret=$?
++ elif ${ARCH_TEST} --version > /dev/null 2>&1; then
++ ret=0; ${ARCH_TEST} -c "$TARGET" "$ARCH" || ret=$?
+ else
+ ret=3
+ fi
+--
+2.17.1
+
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gz b/meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gz
deleted file mode 100644
index 20eaba3ad2..0000000000
--- a/meta-oe/recipes-devtools/debootstrap/debootstrap/devices.tar.gz
+++ /dev/null
Binary files differ
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb
new file mode 100644
index 0000000000..c28a51749c
--- /dev/null
+++ b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Install a Debian system into a subdirectory"
+HOMEPAGE = "https://wiki.debian.org/Debootstrap"
+SECTION = "devel"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608"
+
+SRC_URI = "\
+ ${DEBIAN_MIRROR}/main/d/debootstrap/debootstrap_${PV}.tar.gz \
+ file://0001-support-to-override-usr-sbin-and-usr-share.patch \
+ file://0002-support-to-override-usr-bin-arch-test.patch \
+ file://0001-do-not-hardcode-the-full-path-of-dpkg.patch \
+"
+
+SRC_URI[sha256sum] = "d963a465314ac0e8fd5392573def042e6663e8edf3d08ace4bbd0d27ee8431f7"
+
+S = "${WORKDIR}/debootstrap"
+
+DEPENDS = " \
+ virtual/fakeroot-native \
+"
+
+fakeroot do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+ chown -R root:root ${D}${datadir}/debootstrap
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb b/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb
deleted file mode 100644
index 8472aca6c1..0000000000
--- a/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.67.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Install a Debian system into a subdirectory"
-HOMEPAGE = "https://wiki.debian.org/Debootstrap"
-SECTION = "devel"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=1e68ced6e1689d4cd9dac75ff5225608"
-
-inherit pkgconfig
-
-SRC_URI = "\
- http://http.debian.net/debian/pool/main/d/debootstrap/debootstrap_1.0.67.tar.gz \
- file://devices.tar.gz;unpack=0 \
-"
-
-SRC_URI[md5sum] = "eacabfe2e45415af60b1d74c3a23418a"
-SRC_URI[sha256sum] = "0a12e0a2bbff185d47711a716b1f2734856100e8784361203e834fed0cffa51b"
-
-S = "${WORKDIR}/${BP}"
-
-# All Makefile does is creation of devices.tar.gz, which fails in OE build, we use
-# static devices.tar.gz as work around
-# | NOTE: make -j 8 -e MAKEFLAGS=
-# | rm -rf dev
-# | mkdir -p dev
-# | chown 0:0 dev
-# | chown: changing ownership of `dev': Operation not permitted
-# | make: *** [devices.tar.gz] Error 1
-# | WARNING: exit code 1 from a shell command.
-do_compile_prepend() {
- cp ${WORKDIR}/devices.tar.gz ${B}
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
- chown -R root:root ${D}${datadir}/debootstrap
-}
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch b/meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch
index ea940e9932..a3a3df4a7b 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc/0001-undefined-strdup-macro.patch
@@ -8,6 +8,8 @@ system header.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
dmalloc.h.3 | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch b/meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch
index 967643badc..ba65d394f0 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc/02-Makefile.in.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Description: Changes for building shared libraries
This patch includes changes for building shared libraries with PIC object
files and the correct soname and libname.
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch b/meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch
index be09452573..9cbc0a2884 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc/03-threads.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Description: Fix LOCK_THREADS in settings.dist
This patch takes into account that if --enable-threads is used, LOCK_THREADS
doesn't get updated
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch b/meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch
index e1db690599..94ca93647f 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc/100-use-xtools.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
This patch makes configure use the cross ld and ar rather than the native tools.
It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch b/meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch
index 2581e54880..3b7344dbf9 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc/13-fix-ldflags-in-makefile.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: dmalloc-5.5.2/Makefile.in
===================================================================
--- dmalloc-5.5.2.orig/Makefile.in
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch b/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch
index 935ac983a6..18f5993e47 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc/130-mips.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Patch to correctly handle the MIPS case.
It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch b/meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch
index 7edd46412a..1a9b0060b9 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc/150-use_DESTDIR.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Make install rules use DESTDIR.
Split installation of the utilitity from the global install.
diff --git a/meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch b/meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch
index a5bd736610..9c928fc438 100644
--- a/meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch
+++ b/meta-oe/recipes-devtools/dmalloc/dmalloc/configure-pagesize-HACK.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
We cant run tests during cross compile therefore pin to 4k pages
Signed-off-by: Khem Raj <raj.khem@gmail.com>
diff --git a/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb b/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb
new file mode 100644
index 0000000000..479b98d44d
--- /dev/null
+++ b/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_1.4.bb
@@ -0,0 +1,46 @@
+SUMMARY = "A text-based user interface plugin of dnf for user to manage packages. "
+LICENSE = "GPL-2.0-only"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master;protocol=https"
+SRCREV = "ad48d934c54ab01026634c90f47f151f148b8147"
+
+SRC_URI:append:class-target = " file://oe-remote.repo.sample"
+
+inherit setuptools3-base
+
+S = "${WORKDIR}/git"
+
+do_install:append() {
+ install -d ${D}${datadir}/dnf
+ install -m 0755 ${S}/samples/* ${D}${datadir}/dnf
+ install -d ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg
+ install -m 0755 ${S}/dnf-plugins/mkimg/* ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg
+ for file in $(ls ${S}/dnf-plugins/ | grep -v mkimg); do
+ install -m 0755 ${S}/dnf-plugins/$file ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins
+ done
+}
+
+do_install:append:class-target() {
+ install -d ${D}${sysconfdir}/yum.repos.d
+ install -m 0644 ${WORKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d
+}
+
+do_install:append:class-nativesdk() {
+ install -d -p ${D}/${SDKPATH}/postinst-intercepts
+ cp -r ${COREBASE}/scripts/postinst-intercepts/* ${D}/${SDKPATH}/postinst-intercepts/
+ sed -i -e 's/STAGING_DIR_NATIVE/NATIVE_ROOT/g' ${D}/${SDKPATH}/postinst-intercepts/*
+}
+
+FILES:${PN} += "${datadir}/dnf"
+FILES:${PN} += "${SDKPATH}/postinst-intercepts"
+
+RDEPENDS:${PN} += " \
+ bash \
+ dnf \
+ libnewt-python \
+"
+BBCLASSEXTEND = "nativesdk"
+
+SKIP_RECIPE[dnf-plugin-tui] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
diff --git a/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb b/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
deleted file mode 100644
index 887b2a4f3b..0000000000
--- a/meta-oe/recipes-devtools/dnf-plugin-tui/dnf-plugin-tui_git.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "A text-based user interface plugin of dnf for user to manage packages. "
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/ubinux/dnf-plugin-tui.git;branch=master "
-SRCREV = "6d3fab9b9559b6a483fe668e39c29126cdbb58d8"
-PV = "1.2"
-
-SRC_URI_append_class-target = " file://oe-remote.repo.sample"
-
-inherit distutils3-base
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
- install -d ${D}${datadir}/dnf
- install -m 0755 ${S}/samples/* ${D}${datadir}/dnf
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg
- install -m 0755 ${S}/dnf-plugins/mkimg/* ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins/mkimg
- for file in $(ls ${S}/dnf-plugins/ | grep -v mkimg); do
- install -m 0755 ${S}/dnf-plugins/$file ${D}${PYTHON_SITEPACKAGES_DIR}/dnf-plugins
- done
-}
-
-do_install_append_class-target() {
- install -d ${D}${sysconfdir}/yum.repos.d
- install -m 0644 ${WORKDIR}/oe-remote.repo.sample ${D}${sysconfdir}/yum.repos.d
-}
-
-FILES_${PN} += "${datadir}/dnf"
-
-RDEPENDS_${PN} += " \
- bash \
- dnf \
- libnewt-python \
-"
-
-BBCLASSEXTEND = "nativesdk"
-PNBLACKLIST[dnf-plugin-tui] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
index c86dc1691e..47c8edb497 100644
--- a/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
+++ b/meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
@@ -8,8 +8,9 @@ native build but all modern systems supply it as part of the standard
C library. We don't need this check in meta-openembedded.
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
-Upstream-status: Inappropriate
+Upstream-Status: Inappropriate
- upstream doxygen must build on many architectures, this change is
too intrusive for upstream
---
@@ -17,10 +18,10 @@ Upstream-status: Inappropriate
1 file changed, 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 45c2f2c1..22cf0144 100644
+index 06b9696f..f30b46b8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -92,10 +92,6 @@ if (sqlite3)
+@@ -117,10 +117,6 @@ if (sqlite3)
endif()
endif()
@@ -28,9 +29,9 @@ index 45c2f2c1..22cf0144 100644
-include_directories(${ICONV_INCLUDE_DIR})
-
-
- #set(DOXYDOCS ${CMAKE_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs")
+ #set(DOXYDOCS ${PROJECT_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs")
set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc)
set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS})
--
-2.17.1
+2.27.0
diff --git a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch b/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
index 53f88885f4..796bc61ddc 100644
--- a/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
+++ b/meta-oe/recipes-devtools/doxygen/doxygen/doxygen-native-only-check-python3.patch
@@ -1,4 +1,4 @@
-From aa833cf56c5cc2e87a1d91881eb2286beb34e417 Mon Sep 17 00:00:00 2001
+From daf686508f2ee4711d93e96e5b100e50bf161656 Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
Date: Wed, 26 Aug 2020 10:52:10 +0300
Subject: [PATCH] doxygen: Fix Python issues for doxygen-native
@@ -32,25 +32,29 @@ result variable PYTHON_EXECUTABLE with Python3_EXECUTABLE.
This patch is only needded by doxygen-native.
-Upstream-Status: Inappropriate[oe specific]
+Updated to apply to release 1.9.1.
+
+Upstream-Status: Inappropriate [oe specific]
Co-Authored-By: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
+
---
CMakeLists.txt | 2 +-
addon/doxywizard/CMakeLists.txt | 6 +++---
doc/CMakeLists.txt | 6 +++---
examples/CMakeLists.txt | 4 ++--
libmscgen/CMakeLists.txt | 2 +-
- src/CMakeLists.txt | 12 ++++++------
+ src/CMakeLists.txt | 10 +++++-----
testing/CMakeLists.txt | 4 ++--
- 7 files changed, 18 insertions(+), 18 deletions(-)
+ 7 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 35e6a0c2..9aaebbdf 100644
+index 2455793..28f0d83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -100,7 +100,7 @@ else ()
+@@ -105,7 +105,7 @@ else ()
endif ()
find_program(DOT NAMES dot)
@@ -60,50 +64,50 @@ index 35e6a0c2..9aaebbdf 100644
find_package(BISON REQUIRED)
if (BISON_VERSION VERSION_LESS 2.7)
diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
-index 6aacd8b6..fa197e9e 100644
+index 63ac8e3..d37d1d0 100644
--- a/addon/doxywizard/CMakeLists.txt
+++ b/addon/doxywizard/CMakeLists.txt
-@@ -58,7 +58,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA
+@@ -57,7 +57,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/settings.h PROPERTIES GENERA
# generate version.cpp
add_custom_command(
-- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
-+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
- DEPENDS ${CMAKE_SOURCE_DIR}/VERSION ${CMAKE_SOURCE_DIR}/src/version.py
+- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
++ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/version.py ${VERSION} > ${GENERATED_SRC_WIZARD}/version.cpp
+ DEPENDS ${PROJECT_SOURCE_DIR}/VERSION ${PROJECT_SOURCE_DIR}/src/version.py
OUTPUT ${GENERATED_SRC_WIZARD}/version.cpp
)
-@@ -66,7 +66,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER
+@@ -65,7 +65,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/version.cpp PROPERTIES GENER
# generate configdoc.cpp
add_custom_command(
--COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
-+COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/configgen.py -wiz ${CMAKE_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
- OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
+- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
++ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/configgen.py -wiz ${PROJECT_SOURCE_DIR}/src/config.xml > ${GENERATED_SRC_WIZARD}/configdoc.cpp
+ DEPENDS ${PROJECT_SOURCE_DIR}/src/configgen.py ${PROJECT_SOURCE_DIR}/src/config.xml
+ OUTPUT ${GENERATED_SRC_WIZARD}/configdoc.cpp
)
- set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GENERATED 1)
@@ -74,7 +74,7 @@ set_source_files_properties(${GENERATED_SRC_WIZARD}/configdoc.cpp PROPERTIES GEN
- set(LEX_FILES config_doxyw)
+ set(LEX_FILES config_doxyw)
foreach(lex_file ${LEX_FILES})
add_custom_command(
-- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
-+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
- DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
- OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
++ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l > ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
+ DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/addon/doxywizard/${lex_file}.l
+ OUTPUT ${GENERATED_SRC_WIZARD}/${lex_file}.l.h
)
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
-index a094c570..8a757c20 100644
+index ec63ceb..49a2bda 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
-@@ -132,7 +132,7 @@ configure_file(${CMAKE_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR}/
+@@ -168,7 +168,7 @@ configure_file(${PROJECT_SOURCE_DIR}/doc/doxyindexer.1 ${PROJECT_BINARY_DIR
# doc/language.doc (see tag Doxyfile:INPUT)
add_custom_command(
-- COMMAND ${PYTHON_EXECUTABLE} translator.py ${CMAKE_SOURCE_DIR}
-+ COMMAND ${Python3_EXECUTABLE} translator.py ${CMAKE_SOURCE_DIR}
- DEPENDS ${CMAKE_SOURCE_DIR}/doc/maintainers.txt ${CMAKE_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES}
+- COMMAND ${PYTHON_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR}
++ COMMAND ${Python3_EXECUTABLE} translator.py ${PROJECT_SOURCE_DIR}
+ DEPENDS ${PROJECT_SOURCE_DIR}/doc/maintainers.txt ${PROJECT_SOURCE_DIR}/doc/language.tpl ${PROJECT_BINARY_DIR}/doc/translator.py ${LANG_FILES}
OUTPUT language.doc
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc
-@@ -141,7 +141,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1)
+@@ -177,7 +177,7 @@ set_source_files_properties(language.doc PROPERTIES GENERATED 1)
# doc/config.doc (see tag Doxyfile:INPUT)
add_custom_command(
@@ -112,7 +116,7 @@ index a094c570..8a757c20 100644
DEPENDS ${TOP}/src/config.xml ${TOP}/src/configgen.py
OUTPUT config.doc
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/doc/
-@@ -192,7 +192,7 @@ add_custom_target(docs_chm
+@@ -228,7 +228,7 @@ add_custom_target(docs_chm
COMMAND ${CMAKE_COMMAND} -E echo " for file in files:" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
COMMAND ${CMAKE_COMMAND} -E echo " if file.endswith('.html') or file.endswith('.png') or file.endswith('.css') or file.endswith('.gif'):" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
COMMAND ${CMAKE_COMMAND} -E echo " print(os.path.join(root, file))" >> ${PROJECT_BINARY_DIR}/chm/doxygen_manual_examples_chm.py
@@ -122,45 +126,45 @@ index a094c570..8a757c20 100644
COMMAND ${CMAKE_COMMAND} -E rename ${PROJECT_BINARY_DIR}/chm/index.chm ${PROJECT_BINARY_DIR}/chm/doxygen_manual.chm
DEPENDS ${PROJECT_BINARY_DIR}/doc/language.doc ${PROJECT_BINARY_DIR}/doc/config.doc
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
-index 3f1c79b8..d5866ee1 100644
+index 194b427..248b807 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
-@@ -51,7 +51,7 @@ foreach (f_inp ${BASIC_EXAMPLES})
- string(REGEX REPLACE ":.*" "" f ${f_inp})
- add_custom_command(
+@@ -54,7 +54,7 @@ foreach (f_inp ${BASIC_EXAMPLES})
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/${f}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/${f}
COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen ${f}.cfg
-- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman_doc.tex
-+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman_doc.tex
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
++ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
DEPENDS doxygen ${f}.${f_ext} ${f}.cfg ${TOP}/examples/strip_example.py
- OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/html/examples/${f}/latex/refman_doc.tex
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
)
-@@ -68,7 +68,7 @@ add_custom_target(examples
- if (DOT)
- add_custom_command(
+@@ -73,7 +73,7 @@ if (DOT)
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/diagrams
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/diagrams
COMMAND ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg
-- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
+- COMMAND ${PYTHON_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex
+ COMMAND ${Python3_EXECUTABLE} ${TOP}/examples/strip_example.py < ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py
- OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/html/examples/diagrams/latex/refman_doc.tex
+ OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex
)
diff --git a/libmscgen/CMakeLists.txt b/libmscgen/CMakeLists.txt
-index 079fcfc8..e6d86f61 100644
+index 34cf4d8..f015afc 100644
--- a/libmscgen/CMakeLists.txt
+++ b/libmscgen/CMakeLists.txt
@@ -7,7 +7,7 @@ include_directories(
set(LEX_FILES mscgen_lexer)
foreach(lex_file ${LEX_FILES})
add_custom_command(
-- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
-+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
- DEPENDS ${CMAKE_SOURCE_DIR}/src/scan_states.py ${CMAKE_SOURCE_DIR}/libmscgen/${lex_file}.l
+- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
++ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l > ${GENERATED_SRC}/${lex_file}.l.h
+ DEPENDS ${PROJECT_SOURCE_DIR}/src/scan_states.py ${PROJECT_SOURCE_DIR}/libmscgen/${lex_file}.l
OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index cb289116..356741ff 100644
+index 0e0c5f7..c1d3ca5 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
-@@ -39,7 +39,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1)
+@@ -40,7 +40,7 @@ set_source_files_properties(${GENERATED_SRC}/settings.h PROPERTIES GENERATED 1)
# configvalues.h
add_custom_command(
@@ -169,7 +173,7 @@ index cb289116..356741ff 100644
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
OUTPUT ${GENERATED_SRC}/configvalues.h
)
-@@ -51,7 +51,7 @@ add_custom_target(
+@@ -52,7 +52,7 @@ add_custom_target(
# configvalues.cpp
add_custom_command(
@@ -178,7 +182,7 @@ index cb289116..356741ff 100644
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
OUTPUT ${GENERATED_SRC}/configvalues.cpp
)
-@@ -59,7 +59,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT
+@@ -60,7 +60,7 @@ set_source_files_properties(${GENERATED_SRC}/configvalues.cpp PROPERTIES GENERAT
# configoptions.cpp
add_custom_command(
@@ -187,25 +191,16 @@ index cb289116..356741ff 100644
DEPENDS ${CMAKE_CURRENT_LIST_DIR}/config.xml ${CMAKE_CURRENT_LIST_DIR}/configgen.py
OUTPUT ${GENERATED_SRC}/configoptions.cpp
)
-@@ -94,7 +94,7 @@ endif()
+@@ -95,7 +95,7 @@ endif()
# resources.cpp
add_custom_command(
COMMENT "Generating ${GENERATED_SRC}/resources.cpp"
-- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
-+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${CMAKE_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
+- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
++ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py ${PROJECT_SOURCE_DIR}/templates ${GENERATED_SRC}/resources.cpp
DEPENDS ${RESOURCES} ${CMAKE_CURRENT_LIST_DIR}/res2cc_cmd.py
OUTPUT ${GENERATED_SRC}/resources.cpp
)
-@@ -102,7 +102,7 @@ set_source_files_properties(${GENERATED_SRC}/resources.cpp PROPERTIES GENERATED
-
- # layout_default.xml
- add_custom_command(
-- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/to_c_cmd.py < ${CMAKE_CURRENT_LIST_DIR}/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h
-+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/to_c_cmd.py < ${CMAKE_CURRENT_LIST_DIR}/layout_default.xml > ${GENERATED_SRC}/layout_default.xml.h
- DEPENDS ${CMAKE_CURRENT_LIST_DIR}/layout_default.xml ${CMAKE_CURRENT_LIST_DIR}/to_c_cmd.py
- OUTPUT ${GENERATED_SRC}/layout_default.xml.h
- )
-@@ -131,7 +131,7 @@ foreach(lex_file ${LEX_FILES})
+@@ -126,7 +126,7 @@ foreach(lex_file ${LEX_FILES})
set(LEX_FILES_H ${LEX_FILES_H} " " ${GENERATED_SRC}/${lex_file}.l.h CACHE INTERNAL "Stores generated files")
set(LEX_FILES_CPP ${LEX_FILES_CPP} " " ${GENERATED_SRC}/${lex_file}.cpp CACHE INTERNAL "Stores generated files")
add_custom_command(
@@ -215,15 +210,15 @@ index cb289116..356741ff 100644
OUTPUT ${GENERATED_SRC}/${lex_file}.l.h
)
diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt
-index b354e78f..28d45e11 100644
+index fd6912e..0af1865 100644
--- a/testing/CMakeLists.txt
+++ b/testing/CMakeLists.txt
@@ -1,7 +1,7 @@
# run all tests sequentially (keep for backward compatibility)
add_custom_target(tests
COMMENT "Running doxygen tests..."
-- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
-+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
+- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
++ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --doxygen ${PROJECT_BINARY_DIR}/bin/doxygen --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
DEPENDS doxygen
)
@@ -231,10 +226,7 @@ index b354e78f..28d45e11 100644
string(REGEX REPLACE "^.*/([0-9][0-9][0-9]*).*$" "\\1" TEST_ID "${TEST_FILE}")
# add a test target for each test
add_test(NAME ${TEST_NAME}
-- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
-+ COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${CMAKE_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
+- COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
++ COMMAND ${Python3_EXECUTABLE} ${PROJECT_SOURCE_DIR}/testing/runtests.py --id ${TEST_ID} --doxygen $<TARGET_FILE:doxygen> --inputdir ${PROJECT_SOURCE_DIR}/testing --outputdir ${PROJECT_BINARY_DIR}/testing
)
endforeach()
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb b/meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb
deleted file mode 100644
index d4ac3b7207..0000000000
--- a/meta-oe/recipes-devtools/doxygen/doxygen_1.8.20.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources."
-HOMEPAGE = "http://www.doxygen.org/"
-
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "flex-native bison-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \
- file://0001-build-don-t-look-for-Iconv.patch \
-"
-SRC_URI_append_class-native = " file://doxygen-native-only-check-python3.patch"
-SRC_URI[md5sum] = "8729936a843232a66fe970ef65f3c3e4"
-SRC_URI[sha256sum] = "e0db6979286fd7ccd3a99af9f97397f2bae50532e4ecb312aa18862f8401ddec"
-
-inherit cmake python3native
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb b/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb
new file mode 100644
index 0000000000..8bd0992bd6
--- /dev/null
+++ b/meta-oe/recipes-devtools/doxygen/doxygen_1.9.3.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources."
+HOMEPAGE = "http://www.doxygen.org/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "flex-native bison-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.src.tar.gz \
+ file://0001-build-don-t-look-for-Iconv.patch \
+"
+SRC_URI:append:class-native = " file://doxygen-native-only-check-python3.patch"
+SRC_URI[sha256sum] = "f352dbc3221af7012b7b00935f2dfdc9fb67a97d43287d2f6c81c50449d254e0"
+
+inherit cmake python3native
+
+EXTRA_OECMAKE += "\
+ -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
+ -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \
+"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.6.bb b/meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.6.bb
new file mode 100644
index 0000000000..976120b515
--- /dev/null
+++ b/meta-oe/recipes-devtools/editorconfig/editorconfig-core-c_0.12.6.bb
@@ -0,0 +1,18 @@
+SUMMARY = "EditorConfig helps maintain consistent coding styles across various editors and IDEs."
+HOMEPAGE = "https://https://editorconfig.org"
+SECTION = "libs"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f515fff3ea0a2b9797eda60d83c0e5ca"
+
+SRC_URI = "git://github.com/editorconfig/editorconfig-core-c.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+SRCREV = "b7837029494c03af5ea70ed9d265e8c2123bff53"
+
+inherit cmake
+
+DEPENDS = "pcre2"
+
+do_install:append() {
+ sed -i -e 's|${STAGING_DIR_HOST}||g' ${D}${libdir}/cmake/EditorConfig/EditorConfigTargets.cmake
+}
diff --git a/meta-oe/recipes-devtools/exprtk/exprtk_git.bb b/meta-oe/recipes-devtools/exprtk/exprtk_git.bb
index 6930f31e96..4019f26899 100644
--- a/meta-oe/recipes-devtools/exprtk/exprtk_git.bb
+++ b/meta-oe/recipes-devtools/exprtk/exprtk_git.bb
@@ -3,9 +3,9 @@ HOMEPAGE = "https://github.com/ArashPartow/exprtk"
SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRCREV = "281c2ccc65b8f91c012ea3725ebcef406378a225"
+SRCREV = "f46bffcd6966d38a09023fb37ba9335214c9b959"
-SRC_URI = "git://github.com/ArashPartow/exprtk.git"
+SRC_URI = "git://github.com/ArashPartow/exprtk.git;branch=release;protocol=https"
S = "${WORKDIR}/git"
@@ -17,6 +17,6 @@ do_install() {
}
# exprtk is a header only C++ library, so the main package will be empty.
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb b/meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb
new file mode 100644
index 0000000000..a4cd7ad157
--- /dev/null
+++ b/meta-oe/recipes-devtools/extract-cert/extract-cert_0.3.bb
@@ -0,0 +1,14 @@
+SUMMARY = "small helper program to extract X.509 certificates from PKCS#11 tokens"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "openssl"
+
+SRC_URI = "git://git.pengutronix.de/git/extract-cert;protocol=https;branch=master;"
+SRCREV = "d652b4e8279aef2a85f58676ab472744bafeafc9"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb
new file mode 100644
index 0000000000..183554e2c8
--- /dev/null
+++ b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Memory Efficient Serialization Library"
+HOMEPAGE = "https://github.com/google/flatbuffers"
+SECTION = "console/tools"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+require flatbuffers.inc
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+DEPENDS = "flatbuffers-native"
+
+RDEPENDS:${PN}-compiler = "${PN}"
+RDEPENDS:${PN}-dev += "${PN}-compiler"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += " \
+ -DFLATBUFFERS_BUILD_TESTS=OFF \
+ -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
+"
+EXTRA_OECMAKE:append:class-target = " -DFLATBUFFERS_FLATC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/flatc"
+
+inherit cmake python3native
+
+FILES:${PN}-compiler = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc
new file mode 100644
index 0000000000..8f6c4c68f1
--- /dev/null
+++ b/meta-oe/recipes-devtools/flatbuffers/flatbuffers.inc
@@ -0,0 +1,3 @@
+PV = "24.3.25"
+SRCREV = "595bf0007ab1929570c7671f091313c8fc20644e"
+SRC_URI = "git://github.com/google/flatbuffers.git;branch=master;protocol=https"
diff --git a/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb b/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb
deleted file mode 100644
index bbc2a4a1d6..0000000000
--- a/meta-oe/recipes-devtools/flatbuffers/flatbuffers_1.12.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Memory Efficient Serialization Library"
-HOMEPAGE = "https://github.com/google/flatbuffers"
-SECTION = "console/tools"
-LICENSE = "Apache-2.0"
-
-inherit python3-dir
-
-PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-${PYTHON_PN}"
-
-RDEPENDS_${PN}-compiler = "${PN}"
-RDEPENDS_${PN}-${PYTHON_PN} = "${PN}"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRCREV = "6df40a2471737b27271bdd9b900ab5f3aec746c7"
-
-SRC_URI = "git://github.com/google/flatbuffers.git"
-
-CVE_CHECK_WHITELIST += "CVE-2020-35864"
-
-CXXFLAGS += "-fPIC"
-BUILD_CXXFLAGS += "-fPIC"
-
-# BUILD_TYPE=Release is required, otherwise flatc is not installed
-EXTRA_OECMAKE += "\
- -DCMAKE_BUILD_TYPE=Release \
- -DFLATBUFFERS_BUILD_TESTS=OFF \
- -DFLATBUFFERS_BUILD_SHAREDLIB=ON \
-"
-
-inherit cmake
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
- install -d ${D}${PYTHON_SITEPACKAGES_DIR}
- cp -rf ${S}/python/flatbuffers ${D}${PYTHON_SITEPACKAGES_DIR}
-}
-
-FILES_${PN}-compiler = "${bindir}"
-
-FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb b/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb
new file mode 100644
index 0000000000..5d3c73fd9a
--- /dev/null
+++ b/meta-oe/recipes-devtools/flatbuffers/python3-flatbuffers.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Memory Efficient Serialization Library - Python3 Modules"
+HOMEPAGE = "https://github.com/google/flatbuffers"
+SECTION = "console/tools"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+require flatbuffers.inc
+
+S = "${WORKDIR}/git/python"
+
+RDEPENDS:${PN} = "flatbuffers"
+
+inherit setuptools3
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/flatcc/flatcc/0001-Check-for-C-standard-version-23-for-__fallthrough__.patch b/meta-oe/recipes-devtools/flatcc/flatcc/0001-Check-for-C-standard-version-23-for-__fallthrough__.patch
new file mode 100644
index 0000000000..c9ff55a167
--- /dev/null
+++ b/meta-oe/recipes-devtools/flatcc/flatcc/0001-Check-for-C-standard-version-23-for-__fallthrough__.patch
@@ -0,0 +1,31 @@
+From 7c199e3b191a6f714694035f1eba40112e71675c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Feb 2024 18:41:51 -0800
+Subject: [PATCH] Check for C standard version >= 23 for [[__fallthrough__]]
+
+This avoids warnings with clang-18+ e.g.
+
+pprintint.h:256:6: error: [[]] attributes are a C23 extension [-Werror,-Wc23-extensions]
+
+Upstream-Status: Submitted [https://github.com/dvidelabs/flatcc/pull/273]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/flatcc/portable/pattributes.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/flatcc/portable/pattributes.h b/include/flatcc/portable/pattributes.h
+index 9240fa3..dd4918a 100644
+--- a/include/flatcc/portable/pattributes.h
++++ b/include/flatcc/portable/pattributes.h
+@@ -57,7 +57,7 @@ extern "C" {
+
+
+ /* https://en.cppreference.com/w/c/language/attributes/fallthrough */
+-#if PORTABLE_HAS_C_ATTRIBUTE(__fallthrough__)
++#if PORTABLE_HAS_C_ATTRIBUTE(__fallthrough__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
+ # define pattribute_fallthrough [[__fallthrough__]]
+ #elif PORTABLE_HAS_ATTRIBUTE(__fallthrough__)
+ # define pattribute_fallthrough __attribute__((__fallthrough__))
+--
+2.43.0
+
diff --git a/meta-oe/recipes-devtools/flatcc/flatcc_git.bb b/meta-oe/recipes-devtools/flatcc/flatcc_git.bb
new file mode 100644
index 0000000000..2530dac526
--- /dev/null
+++ b/meta-oe/recipes-devtools/flatcc/flatcc_git.bb
@@ -0,0 +1,30 @@
+SUMMARY = "FlatCC FlatBuffers in C for C"
+DESCRIPTION = "FlatCC is a compiler that generates FlatBuffers code for C \
+given a FlatBuffer schema file."
+HOMEPAGE = "https://github.com/dvidelabs/flatcc"
+SECTION = "devel/lib"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b3d8fb7158bf7e2600ba3191428dc4ef"
+
+PV = "0.6.2+git"
+
+SRC_URI = " \
+ git://github.com/dvidelabs/flatcc.git;protocol=https;branch=master \
+ file://0001-Check-for-C-standard-version-23-for-__fallthrough__.patch \
+"
+SRCREV = "1653ec964730ec7d9892a08a1695ada6d20f5196"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# Enable installation for target
+# Disable tests as is not possible to execute with cross-compilation
+EXTRA_OECMAKE += " \
+ -DFLATCC_INSTALL=On \
+ -DFLATCC_TEST=Off \
+ -DFLATCC_ALLOW_WERROR=Off \
+ -DFLATCC_INSTALL_LIB=${baselib} \
+"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins/0001-geany.m4-Do-not-tinker-with-pkg-config-paths.patch b/meta-oe/recipes-devtools/geany/geany-plugins/0001-geany.m4-Do-not-tinker-with-pkg-config-paths.patch
new file mode 100644
index 0000000000..cd417e0d7b
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany-plugins/0001-geany.m4-Do-not-tinker-with-pkg-config-paths.patch
@@ -0,0 +1,32 @@
+From b2187b45f61ce362a9d58d9081d66daddb4e577f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 20 Mar 2022 15:54:14 -0700
+Subject: [PATCH] geany.m4: Do not tinker with pkg-config paths
+
+OE sets up these paths correctly w.r.t. target sysroot
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ build/geany.m4 | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/build/geany.m4
++++ b/build/geany.m4
+@@ -32,7 +32,8 @@ AC_DEFUN([GP_CHECK_GEANY],
+ [
+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+
+- GP_GEANY_PKG_CONFIG_PATH_PUSH
++ dnl GP_GEANY_PKG_CONFIG_PATH_PUSH
++ AC_REQUIRE([_GP_GEANY_LIBDIR])
+
+ PKG_CHECK_MODULES([GEANY], [geany >= $1])
+ geanypluginsdir=$geany_libdir/geany
+@@ -40,5 +41,5 @@ AC_DEFUN([GP_CHECK_GEANY],
+ AC_SUBST([geanypluginsdir])
+ AC_SUBST([GEANY_VERSION])
+
+- GP_GEANY_PKG_CONFIG_PATH_POP
++ dnl GP_GEANY_PKG_CONFIG_PATH_POP
+ ])
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins/0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch b/meta-oe/recipes-devtools/geany/geany-plugins/0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch
new file mode 100644
index 0000000000..fe2d9f54ba
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany-plugins/0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch
@@ -0,0 +1,36 @@
+From 90c46235ad69a411d83a5e978492421e8e378934 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 18 Feb 2022 23:35:58 -0800
+Subject: [PATCH] git-changebar: Adjust structs for libgit2 1.4.x
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ git-changebar/src/gcb-plugin.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/git-changebar/src/gcb-plugin.c b/git-changebar/src/gcb-plugin.c
+index f8ce20c..4488b22 100644
+--- a/git-changebar/src/gcb-plugin.c
++++ b/git-changebar/src/gcb-plugin.c
+@@ -216,7 +216,7 @@ static int
+ gcb_git_buf_grow (git_buf *buf,
+ size_t target_size)
+ {
+- if (buf->asize == 0) {
++ if (buf->reserved == 0) {
+ if (target_size == 0) {
+ target_size = buf->size;
+ }
+@@ -234,7 +234,7 @@ buf_zero (git_buf *buf)
+ if (buf) {
+ buf->ptr = NULL;
+ buf->size = 0;
+- buf->asize = 0;
++ buf->reserved = 0;
+ }
+ }
+
+--
+2.35.1
+
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins/0001-scope-Use-0-instead-of-NULL-for-gboolean.patch b/meta-oe/recipes-devtools/geany/geany-plugins/0001-scope-Use-0-instead-of-NULL-for-gboolean.patch
new file mode 100644
index 0000000000..bb03fa63de
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany-plugins/0001-scope-Use-0-instead-of-NULL-for-gboolean.patch
@@ -0,0 +1,34 @@
+From 9ee9388bc66e6cf68db96b2014dca2115f745dc9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 30 Aug 2022 22:33:46 -0700
+Subject: [PATCH] scope: Use 0 instead of NULL for gboolean
+
+Fixes warnings with clang 15+
+
+scope/src/stack.c:168:11: error: incompatible pointer to integer conversion initializing 'gboolean' (aka 'int') with an expression of type 'void *' [-Wint-conversion]
+ gboolean entry = NULL;
+ ^ ~~~~
+1 error generated.
+
+Upstream-Status: Submitted [https://github.com/geany/geany-plugins/pull/1191]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scope/src/stack.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scope/src/stack.c b/scope/src/stack.c
+index b03909fe..041dd415 100644
+--- a/scope/src/stack.c
++++ b/scope/src/stack.c
+@@ -165,7 +165,7 @@ void on_stack_follow(GArray *nodes)
+ gboolean stack_entry(void)
+ {
+ GtkTreeIter iter;
+- gboolean entry = NULL;
++ gboolean entry = 0;
+
+ if (gtk_tree_selection_get_selected(selection, NULL, &iter))
+ {
+--
+2.37.3
+
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb b/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb
deleted file mode 100644
index 890bbdb447..0000000000
--- a/meta-oe/recipes-devtools/geany/geany-plugins_1.37.bb
+++ /dev/null
@@ -1,245 +0,0 @@
-DESCRIPTION = "A fast and lightweight IDE"
-HOMEPAGE = "http://plugins.geany.org/"
-
-LICENSE_DEFAULT = "GPLv2"
-LICENSE = "${LICENSE_DEFAULT} & BSD-2-Clause & GPLv3"
-
-python () {
- for plugin in d.getVar('PLUGINS').split():
- if 'LICENSE_%s' % plugin not in d:
- d.setVar('LICENSE_' + plugin, '${LICENSE_DEFAULT}')
-}
-
-DEPENDS = " \
- vala-native \
- fribidi \
- geany \
- libxml2 \
- libsoup-2.4 \
- enchant2 \
- intltool-native \
- libassuan \
- gpgme \
- vte \
- libgit2 \
-"
-
-inherit features_check autotools pkgconfig gtk-icon-cache
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = " \
- https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
- file://0001-Use-pkg-config-to-find-gpgme.patch \
-"
-SRC_URI[sha256sum] = "c98f9b1303f4ab9bed7587e749cd0b5594d9136a1bf8ba110900d46a17fa9cd8"
-
-do_configure_prepend() {
- rm -f ${S}/build/cache/glib-gettext.m4
-}
-
-FILES_${PN} += "${datadir}/icons"
-FILES_${PN}-dev += "${libdir}/geany/*.la ${libdir}/${BPN}/*/*.la"
-
-PLUGINS += "${PN}-addons"
-LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-addons = "${libdir}/geany/addons.so"
-
-PLUGINS += "${PN}-autoclose"
-LIC_FILES_CHKSUM += "file://autoclose/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-autoclose = "${libdir}/geany/autoclose.so"
-
-PLUGINS += "${PN}-automark"
-LIC_FILES_CHKSUM += "file://automark/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-automark = "${libdir}/geany/automark.so"
-
-PLUGINS += "${PN}-codenav"
-LIC_FILES_CHKSUM += "file://codenav/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-codenav = "${libdir}/geany/codenav.so"
-
-PLUGINS += "${PN}-commander"
-LIC_FILES_CHKSUM += "file://commander/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-commander = "GPLv3"
-FILES_${PN}-commander = "${libdir}/geany/commander.so"
-
-# | checking whether the GTK version in use is compatible with plugin Debugger... no
-EXTRA_OECONF += "--disable-debugger"
-#PLUGINS += "${PN}-debugger"
-#LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4"
-#FILES_${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger"
-
-PLUGINS += "${PN}-defineformat"
-LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-defineformat = "${libdir}/geany/defineformat.so"
-
-# no gnome devhelp in some common layer
-EXTRA_OECONF += "--disable-devhelp"
-#PLUGINS += "${PN}-devhelp"
-#LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-#LICENSE_${PN}-devhelp = "GPLv3"
-#FILES_${PN}-devhelp = "${libdir}/geany/devhelp.so"
-
-PLUGINS += "${PN}-geanyctags"
-LIC_FILES_CHKSUM += "file://geanyctags/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyctags = "${libdir}/geany/geanyctags.so"
-
-PLUGINS += "${PN}-geanydoc"
-LIC_FILES_CHKSUM += "file://geanydoc/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-geanydoc = "GPLv3"
-FILES_${PN}-geanydoc = "${libdir}/geany/geanydoc.so"
-
-PLUGINS += "${PN}-geanyextrasel"
-LIC_FILES_CHKSUM += "file://geanyextrasel/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyextrasel = "${libdir}/geany/geanyextrasel.so"
-
-PLUGINS += "${PN}-geanyinsertnum"
-LIC_FILES_CHKSUM += "file://geanyinsertnum/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyinsertnum = "${libdir}/geany/geanyinsertnum.so"
-
-# no lua: max supported version is 5.2
-EXTRA_OECONF += "--disable-geanylua"
-#PLUGINS += "${PN}-geanylua"
-#LIC_FILES_CHKSUM += "file://geanylua/COPYING;md5=4325afd396febcb659c36b49533135d4"
-#FILES_${PN}-geanylua = "${libdir}/geany/geanylua.so ${libdir}/${PN}/geanylua/*.so"
-
-PLUGINS += "${PN}-geanymacro"
-LIC_FILES_CHKSUM += "file://geanymacro/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanymacro = "${libdir}/geany/geanymacro.so"
-
-PLUGINS += "${PN}-geanyminiscript"
-LIC_FILES_CHKSUM += "file://geanyminiscript/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-geanyminiscript = "${libdir}/geany/geanyminiscript.so"
-
-PLUGINS += "${PN}-geanynumberedbookmarks"
-LIC_FILES_CHKSUM += "file://geanynumberedbookmarks/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanynumberedbookmarks = "${libdir}/geany/geanynumberedbookmarks.so"
-
-PLUGINS += "${PN}-geanypg"
-LIC_FILES_CHKSUM += "file://geanypg/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-FILES_${PN}-geanypg = "${libdir}/geany/geanypg.so"
-
-PLUGINS += "${PN}-geanyprj"
-LIC_FILES_CHKSUM += "file://geanyprj/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-geanyprj = "GPLv3"
-FILES_${PN}-geanyprj = "${libdir}/geany/geanyprj.so"
-
-#PLUGINS += "${PN}-geanypy"
-#LIC_FILES_CHKSUM += "file://geanypy/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-#FILES_${PN}-geanypy = "${libdir}/geany/geanypy.so"
-
-PLUGINS += "${PN}-geanyvc"
-LIC_FILES_CHKSUM += "file://geanyvc/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-geanyvc = "${libdir}/geany/geanyvc.so"
-
-PLUGINS += "${PN}-geniuspaste"
-LIC_FILES_CHKSUM += "file://geniuspaste/COPYING;md5=bfc203269f8862ebfc1198cdc809a95a"
-FILES_${PN}-geniuspaste = "${libdir}/geany/geniuspaste.so ${datadir}/${PN}/geniuspaste"
-
-PLUGINS += "${PN}-git-changebar"
-LIC_FILES_CHKSUM += "file://git-changebar/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-LICENSE_${PN}-git-changebar = "GPLv3"
-FILES_${PN}-git-changebar = "${datadir}/${BPN}/git-changebar ${libdir}/geany/git-changebar.so"
-
-PLUGINS += "${PN}-keyrecord"
-LIC_FILES_CHKSUM += "file://keyrecord/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-keyrecord = "${libdir}/geany/keyrecord.so"
-
-PLUGINS += "${PN}-latex"
-LIC_FILES_CHKSUM += "file://latex/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-latex = "${libdir}/geany/latex.so"
-
-PLUGINS += "${PN}-lineoperations"
-LIC_FILES_CHKSUM += "file://lineoperations/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-lineoperations = "${libdir}/geany/lineoperations.so"
-
-PLUGINS += "${PN}-lipsum"
-LIC_FILES_CHKSUM += "file://lipsum/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-lipsum = "${libdir}/geany/lipsum.so"
-
-# no markdown - avoid floating dependencies
-EXTRA_OECONF += "--disable-peg-markdown"
-#PLUGINS += "${PN}-markdown"
-#LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-#FILES_${PN}-markdown = "${libdir}/geany/markdown.so"
-
-# | checking whether the GTK version in use is compatible with plugin multiterm... no
-EXTRA_OECONF += "--disable-multiterm"
-#PLUGINS += "${PN}-multiterm"
-#LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-#FILES_${PN}-multiterm = "${libdir}/geany/multiterm.so"
-
-PLUGINS += "${PN}-overview"
-LIC_FILES_CHKSUM += "file://overview/overview/overviewplugin.c;beginline=4;endline=20;md5=1aa33522916cdeb46cccac0c629da0d0"
-FILES_${PN}-overview = "${libdir}/geany/overview.so ${datadir}/${PN}/overview"
-
-PLUGINS += "${PN}-pairtaghighlighter"
-LICENSE_${PN}-pairtaghighlighter = "BSD-2-Clause"
-LIC_FILES_CHKSUM += "file://pairtaghighlighter/COPYING;md5=d6d927525a612b3a8dbebc4b2e9b47c1"
-FILES_${PN}-pairtaghighlighter = "${libdir}/geany/pairtaghighlighter.so"
-
-PLUGINS += "${PN}-pohelper"
-LICENSE_${PN}-pohelper = "GPLv3"
-LIC_FILES_CHKSUM += "file://pohelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-FILES_${PN}-pohelper = "${datadir}/${BPN}/pohelper ${libdir}/geany/pohelper.so"
-
-PLUGINS += "${PN}-pretty-printer"
-LIC_FILES_CHKSUM += "file://pretty-printer/src/PrettyPrinter.c;beginline=1;endline=17;md5=1665115c2fadb17c1b53cdb4e43b2440"
-FILES_${PN}-pretty-printer = "${libdir}/geany/pretty-printer.so"
-
-PLUGINS += "${PN}-projectorganizer"
-LIC_FILES_CHKSUM += "file://projectorganizer/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-projectorganizer = "${libdir}/geany/projectorganizer.so"
-
-PLUGINS += "${PN}-scope"
-LIC_FILES_CHKSUM += "file://scope/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-scope = "${datadir}/${BPN}/scope ${libdir}/geany/scope.so"
-
-PLUGINS += "${PN}-sendmail"
-LIC_FILES_CHKSUM += "file://sendmail/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-sendmail = "${libdir}/geany/sendmail.so"
-
-PLUGINS += "${PN}-shiftcolumn"
-LIC_FILES_CHKSUM += "file://shiftcolumn/COPYING;md5=751419260aa954499f7abaabaa882bbe"
-FILES_${PN}-shiftcolumn = "${libdir}/geany/shiftcolumn.so"
-
-PLUGINS += "${PN}-spellcheck"
-LIC_FILES_CHKSUM += "file://spellcheck/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-spellcheck = "${libdir}/geany/spellcheck.so"
-
-PLUGINS += "${PN}-tableconvert"
-LIC_FILES_CHKSUM += "file://tableconvert/COPYING;md5=6753686878d090a1f3f9445661d3dfbc"
-FILES_${PN}-tableconvert = "${libdir}/geany/tableconvert.so"
-
-PLUGINS += "${PN}-treebrowser"
-LIC_FILES_CHKSUM += "file://treebrowser/README;beginline=67;endline=67;md5=1f17f0f2abb88e0fa0f1b342112d871c"
-FILES_${PN}-treebrowser = "${libdir}/geany/treebrowser.so"
-
-PLUGINS += "${PN}-updatechecker"
-LIC_FILES_CHKSUM += "file://updatechecker/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-updatechecker = "${libdir}/geany/updatechecker.so"
-
-PLUGINS += "${PN}-vimode"
-LIC_FILES_CHKSUM += "file://vimode/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-vimode = "${libdir}/geany/vimode.so"
-
-# no webkit - lasts ages and is not properly detected
-EXTRA_OECONF += " --disable-webhelper"
-#PLUGINS += "${PN}-webhelper"
-#LIC_FILES_CHKSUM += "file://webhelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
-#LICENSE_${PN}-webhelper = "GPLv3"
-#FILES_${PN}-webhelper = "${libdir}/geany/webhelper.so"
-
-PLUGINS += "${PN}-workbench"
-LIC_FILES_CHKSUM += "file://workbench/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
-FILES_${PN}-workbench = "${libdir}/geany/workbench.so"
-
-PLUGINS += "${PN}-xmlsnippets"
-LIC_FILES_CHKSUM += "file://xmlsnippets/COPYING;md5=4325afd396febcb659c36b49533135d4"
-FILES_${PN}-xmlsnippets = "${libdir}/geany/xmlsnippets.so"
-
-PACKAGES =+ "${PN}-common ${PLUGINS}"
-FILES_${PN}-common = "${libdir}/libgeanypluginutils${SOLIBS}"
-
-# geany-plugins is meta package for all plugins
-RDEPENDS_${PN} = "${PLUGINS}"
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb b/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb
new file mode 100644
index 0000000000..1ed2993bf0
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany-plugins_1.38.bb
@@ -0,0 +1,248 @@
+DESCRIPTION = "A fast and lightweight IDE"
+HOMEPAGE = "http://plugins.geany.org/"
+
+LICENSE_DEFAULT = "GPL-2.0-only"
+LICENSE = "${LICENSE_DEFAULT} & BSD-2-Clause & GPL-3.0-only"
+
+python () {
+ for plugin in d.getVar('PLUGINS').split():
+ if 'LICENSE:%s' % plugin not in d:
+ d.setVar('LICENSE:' + plugin, '${LICENSE_DEFAULT}')
+}
+
+DEPENDS = " \
+ vala-native \
+ fribidi \
+ geany \
+ libxml2 \
+ libsoup-2.4 \
+ enchant2 \
+ intltool-native \
+ libassuan \
+ gpgme \
+ vte \
+ libgit2 \
+"
+
+inherit features_check autotools pkgconfig gtk-icon-cache
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = " \
+ https://plugins.geany.org/${BPN}/${BP}.tar.bz2 \
+ file://0001-Use-pkg-config-to-find-gpgme.patch \
+ file://0001-git-changebar-Adjust-structs-for-libgit2-1.4.x.patch \
+ file://0001-geany.m4-Do-not-tinker-with-pkg-config-paths.patch \
+ file://0001-scope-Use-0-instead-of-NULL-for-gboolean.patch \
+"
+SRC_URI[sha256sum] = "1c578a7ebb390aa8882f195acd3d8da3ceb73925d291b28dec90cd3e5fd20586"
+
+do_configure:prepend() {
+ rm -f ${S}/build/cache/glib-gettext.m4
+}
+
+FILES:${PN} += "${datadir}/icons"
+FILES:${PN}-dev += "${libdir}/geany/*.la ${libdir}/${BPN}/*/*.la"
+
+PLUGINS += "${PN}-addons"
+LIC_FILES_CHKSUM += "file://addons/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES:${PN}-addons = "${libdir}/geany/addons.so"
+
+PLUGINS += "${PN}-autoclose"
+LIC_FILES_CHKSUM += "file://autoclose/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES:${PN}-autoclose = "${libdir}/geany/autoclose.so"
+
+PLUGINS += "${PN}-automark"
+LIC_FILES_CHKSUM += "file://automark/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES:${PN}-automark = "${libdir}/geany/automark.so"
+
+PLUGINS += "${PN}-codenav"
+LIC_FILES_CHKSUM += "file://codenav/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES:${PN}-codenav = "${libdir}/geany/codenav.so"
+
+PLUGINS += "${PN}-commander"
+LIC_FILES_CHKSUM += "file://commander/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE:${PN}-commander = "GPL-3.0-only"
+FILES:${PN}-commander = "${libdir}/geany/commander.so"
+
+# | checking whether the GTK version in use is compatible with plugin Debugger... no
+EXTRA_OECONF += "--disable-debugger"
+#PLUGINS += "${PN}-debugger"
+#LIC_FILES_CHKSUM += "file://debugger/COPYING;md5=4325afd396febcb659c36b49533135d4"
+#FILES:${PN}-debugger = "${libdir}/geany/debugger.so ${datadir}/${PN}/debugger"
+
+PLUGINS += "${PN}-defineformat"
+LIC_FILES_CHKSUM += "file://defineformat/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES:${PN}-defineformat = "${libdir}/geany/defineformat.so"
+
+# no gnome devhelp in some common layer
+EXTRA_OECONF += "--disable-devhelp"
+#PLUGINS += "${PN}-devhelp"
+#LIC_FILES_CHKSUM += "file://devhelp/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+#LICENSE:${PN}-devhelp = "GPLv3"
+#FILES:${PN}-devhelp = "${libdir}/geany/devhelp.so"
+
+PLUGINS += "${PN}-geanyctags"
+LIC_FILES_CHKSUM += "file://geanyctags/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-geanyctags = "${libdir}/geany/geanyctags.so"
+
+PLUGINS += "${PN}-geanydoc"
+LIC_FILES_CHKSUM += "file://geanydoc/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE:${PN}-geanydoc = "GPL-3.0-only"
+FILES:${PN}-geanydoc = "${libdir}/geany/geanydoc.so"
+
+PLUGINS += "${PN}-geanyextrasel"
+LIC_FILES_CHKSUM += "file://geanyextrasel/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-geanyextrasel = "${libdir}/geany/geanyextrasel.so"
+
+PLUGINS += "${PN}-geanyinsertnum"
+LIC_FILES_CHKSUM += "file://geanyinsertnum/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-geanyinsertnum = "${libdir}/geany/geanyinsertnum.so"
+
+# no lua: max supported version is 5.2
+EXTRA_OECONF += "--disable-geanylua"
+#PLUGINS += "${PN}-geanylua"
+#LIC_FILES_CHKSUM += "file://geanylua/COPYING;md5=4325afd396febcb659c36b49533135d4"
+#FILES:${PN}-geanylua = "${libdir}/geany/geanylua.so ${libdir}/${PN}/geanylua/*.so"
+
+PLUGINS += "${PN}-geanymacro"
+LIC_FILES_CHKSUM += "file://geanymacro/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-geanymacro = "${libdir}/geany/geanymacro.so"
+
+PLUGINS += "${PN}-geanyminiscript"
+LIC_FILES_CHKSUM += "file://geanyminiscript/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES:${PN}-geanyminiscript = "${libdir}/geany/geanyminiscript.so"
+
+PLUGINS += "${PN}-geanynumberedbookmarks"
+LIC_FILES_CHKSUM += "file://geanynumberedbookmarks/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-geanynumberedbookmarks = "${libdir}/geany/geanynumberedbookmarks.so"
+
+PLUGINS += "${PN}-geanypg"
+LIC_FILES_CHKSUM += "file://geanypg/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+FILES:${PN}-geanypg = "${libdir}/geany/geanypg.so"
+
+PLUGINS += "${PN}-geanyprj"
+LIC_FILES_CHKSUM += "file://geanyprj/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE:${PN}-geanyprj = "GPL-3.0-only"
+FILES:${PN}-geanyprj = "${libdir}/geany/geanyprj.so"
+
+#PLUGINS += "${PN}-geanypy"
+#LIC_FILES_CHKSUM += "file://geanypy/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+#FILES:${PN}-geanypy = "${libdir}/geany/geanypy.so"
+
+PLUGINS += "${PN}-geanyvc"
+LIC_FILES_CHKSUM += "file://geanyvc/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-geanyvc = "${libdir}/geany/geanyvc.so"
+
+PLUGINS += "${PN}-geniuspaste"
+LIC_FILES_CHKSUM += "file://geniuspaste/COPYING;md5=bfc203269f8862ebfc1198cdc809a95a"
+FILES:${PN}-geniuspaste = "${libdir}/geany/geniuspaste.so ${datadir}/${PN}/geniuspaste"
+
+PLUGINS += "${PN}-git-changebar"
+LIC_FILES_CHKSUM += "file://git-changebar/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LICENSE:${PN}-git-changebar = "GPL-3.0-only"
+FILES:${PN}-git-changebar = "${datadir}/${BPN}/git-changebar ${libdir}/geany/git-changebar.so"
+
+PLUGINS += "${PN}-keyrecord"
+LIC_FILES_CHKSUM += "file://keyrecord/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES:${PN}-keyrecord = "${libdir}/geany/keyrecord.so"
+
+PLUGINS += "${PN}-latex"
+LIC_FILES_CHKSUM += "file://latex/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-latex = "${libdir}/geany/latex.so"
+
+PLUGINS += "${PN}-lineoperations"
+LIC_FILES_CHKSUM += "file://lineoperations/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-lineoperations = "${libdir}/geany/lineoperations.so"
+
+PLUGINS += "${PN}-lipsum"
+LIC_FILES_CHKSUM += "file://lipsum/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES:${PN}-lipsum = "${libdir}/geany/lipsum.so"
+
+# no markdown - avoid floating dependencies
+EXTRA_OECONF += "--disable-peg-markdown"
+#PLUGINS += "${PN}-markdown"
+#LIC_FILES_CHKSUM += "file://markdown/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+#FILES:${PN}-markdown = "${libdir}/geany/markdown.so"
+
+# | checking whether the GTK version in use is compatible with plugin multiterm... no
+EXTRA_OECONF += "--disable-multiterm"
+#PLUGINS += "${PN}-multiterm"
+#LIC_FILES_CHKSUM += "file://multiterm/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+#FILES:${PN}-multiterm = "${libdir}/geany/multiterm.so"
+
+PLUGINS += "${PN}-overview"
+LIC_FILES_CHKSUM += "file://overview/overview/overviewplugin.c;beginline=4;endline=20;md5=1aa33522916cdeb46cccac0c629da0d0"
+FILES:${PN}-overview = "${libdir}/geany/overview.so ${datadir}/${PN}/overview"
+
+PLUGINS += "${PN}-pairtaghighlighter"
+LICENSE:${PN}-pairtaghighlighter = "BSD-2-Clause"
+LIC_FILES_CHKSUM += "file://pairtaghighlighter/COPYING;md5=d6d927525a612b3a8dbebc4b2e9b47c1"
+FILES:${PN}-pairtaghighlighter = "${libdir}/geany/pairtaghighlighter.so"
+
+PLUGINS += "${PN}-pohelper"
+LICENSE:${PN}-pohelper = "GPL-3.0-only"
+LIC_FILES_CHKSUM += "file://pohelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+FILES:${PN}-pohelper = "${datadir}/${BPN}/pohelper ${libdir}/geany/pohelper.so"
+
+PLUGINS += "${PN}-pretty-printer"
+LIC_FILES_CHKSUM += "file://pretty-printer/src/PrettyPrinter.c;beginline=1;endline=17;md5=1665115c2fadb17c1b53cdb4e43b2440"
+FILES:${PN}-pretty-printer = "${libdir}/geany/pretty-printer.so"
+
+PLUGINS += "${PN}-projectorganizer"
+LIC_FILES_CHKSUM += "file://projectorganizer/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-projectorganizer = "${libdir}/geany/projectorganizer.so"
+
+PLUGINS += "${PN}-scope"
+LIC_FILES_CHKSUM += "file://scope/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-scope = "${datadir}/${BPN}/scope ${libdir}/geany/scope.so"
+
+PLUGINS += "${PN}-sendmail"
+LIC_FILES_CHKSUM += "file://sendmail/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-sendmail = "${libdir}/geany/sendmail.so"
+
+PLUGINS += "${PN}-shiftcolumn"
+LIC_FILES_CHKSUM += "file://shiftcolumn/COPYING;md5=751419260aa954499f7abaabaa882bbe"
+FILES:${PN}-shiftcolumn = "${libdir}/geany/shiftcolumn.so"
+
+PLUGINS += "${PN}-spellcheck"
+LIC_FILES_CHKSUM += "file://spellcheck/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES:${PN}-spellcheck = "${libdir}/geany/spellcheck.so"
+
+PLUGINS += "${PN}-tableconvert"
+LIC_FILES_CHKSUM += "file://tableconvert/COPYING;md5=6753686878d090a1f3f9445661d3dfbc"
+FILES:${PN}-tableconvert = "${libdir}/geany/tableconvert.so"
+
+PLUGINS += "${PN}-treebrowser"
+LIC_FILES_CHKSUM += "file://treebrowser/README;beginline=67;endline=67;md5=1f17f0f2abb88e0fa0f1b342112d871c"
+FILES:${PN}-treebrowser = "${libdir}/geany/treebrowser.so"
+
+PLUGINS += "${PN}-updatechecker"
+LIC_FILES_CHKSUM += "file://updatechecker/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES:${PN}-updatechecker = "${libdir}/geany/updatechecker.so"
+
+PLUGINS += "${PN}-vimode"
+LIC_FILES_CHKSUM += "file://vimode/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-vimode = "${libdir}/geany/vimode.so"
+
+# no webkit - lasts ages and is not properly detected
+EXTRA_OECONF += " --disable-webhelper"
+#PLUGINS += "${PN}-webhelper"
+#LIC_FILES_CHKSUM += "file://webhelper/COPYING;md5=d32239bcb673463ab874e80d47fae504"
+#LICENSE:${PN}-webhelper = "GPLv3"
+#FILES:${PN}-webhelper = "${libdir}/geany/webhelper.so"
+
+PLUGINS += "${PN}-workbench"
+LIC_FILES_CHKSUM += "file://workbench/COPYING;md5=c107cf754550e65755c42985a5d4e9c9"
+FILES:${PN}-workbench = "${libdir}/geany/workbench.so"
+
+PLUGINS += "${PN}-xmlsnippets"
+LIC_FILES_CHKSUM += "file://xmlsnippets/COPYING;md5=4325afd396febcb659c36b49533135d4"
+FILES:${PN}-xmlsnippets = "${libdir}/geany/xmlsnippets.so"
+
+PACKAGES =+ "${PN}-common ${PLUGINS}"
+FILES:${PN}-common = "${libdir}/libgeanypluginutils${SOLIBS}"
+
+# geany-plugins is meta package for all plugins
+RDEPENDS:${PN} = "${PLUGINS}"
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta-oe/recipes-devtools/geany/geany_1.37.1.bb b/meta-oe/recipes-devtools/geany/geany_1.37.1.bb
deleted file mode 100644
index b361b11879..0000000000
--- a/meta-oe/recipes-devtools/geany/geany_1.37.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A fast and lightweight IDE"
-HOMEPAGE = "http://www.geany.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
-
-DEPENDS = "gtk+3 libxml-parser-perl-native python3-docutils-native intltool-native"
-
-inherit features_check autotools pkgconfig perlnative gettext mime-xdg
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "https://download.geany.org/${BP}.tar.bz2 \
- file://0001-configure-Upgrade-to-a-modern-Gettext.patch \
- "
-SRC_URI[sha256sum] = "18c5756444c1d8bcd737c8ecfd4ef0b3607c924fc02560d4e8b78f6121531a18"
-
-FILES_${PN} += "${datadir}/icons"
-
-EXTRA_OECONF = "--disable-html-docs"
-
-RRECOMMENDS_${PN} += "source-code-pro-fonts"
diff --git a/meta-oe/recipes-devtools/geany/geany_1.38.bb b/meta-oe/recipes-devtools/geany/geany_1.38.bb
new file mode 100644
index 0000000000..d75e3b57fb
--- /dev/null
+++ b/meta-oe/recipes-devtools/geany/geany_1.38.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A fast and lightweight IDE"
+HOMEPAGE = "http://www.geany.org/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd7b2c994af21d318bd2cd3b3f80c2d5"
+
+DEPENDS = "gtk+3 libxml-parser-perl-native python3-docutils-native intltool-native"
+
+inherit features_check autotools pkgconfig perlnative gettext mime-xdg
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://download.geany.org/${BP}.tar.bz2 \
+ file://0001-configure-Upgrade-to-a-modern-Gettext.patch \
+ "
+SRC_URI[sha256sum] = "abff176e4d48bea35ee53037c49c82f90b6d4c23e69aed6e4a5ca8ccd3aad546"
+
+FILES:${PN} += "${datadir}/icons"
+
+EXTRA_OECONF = "--disable-html-docs"
+
+RRECOMMENDS:${PN} += "source-code-pro-fonts"
diff --git a/meta-oe/recipes-devtools/giflib/files/CVE-2019-15133.patch b/meta-oe/recipes-devtools/giflib/files/CVE-2019-15133.patch
deleted file mode 100644
index 9957be82f3..0000000000
--- a/meta-oe/recipes-devtools/giflib/files/CVE-2019-15133.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 799eb6a3af8a3dd81e2429bf11a72a57e541f908 Mon Sep 17 00:00:00 2001
-From: "Eric S. Raymond" <esr@thyrsus.com>
-Date: Sun, 17 Mar 2019 12:37:21 -0400
-Subject: [PATCH] Address SF bug #119: MemorySanitizer: FPE on unknown address
-
----
- dgif_lib.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Upstream-status: Backport [https://sourceforge.net/p/giflib/code/ci/799eb6a3af8a3dd81e2429bf11a72a57e541f908/]
-CVE: CVE-2019-15133
-
---- a/lib/dgif_lib.c 2021-01-13 19:28:18.923493586 +0100
-+++ b/lib/dgif_lib.c 2021-01-13 19:28:55.245863085 +0100
-@@ -1099,7 +1099,7 @@ DGifSlurp(GifFileType *GifFile)
-
- sp = &GifFile->SavedImages[GifFile->ImageCount - 1];
- /* Allocate memory for the image */
-- if (sp->ImageDesc.Width < 0 && sp->ImageDesc.Height < 0 &&
-+ if (sp->ImageDesc.Width <= 0 && sp->ImageDesc.Height <= 0 &&
- sp->ImageDesc.Width > (INT_MAX / sp->ImageDesc.Height)) {
- return GIF_ERROR;
- }
diff --git a/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb b/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb
deleted file mode 100644
index 1871bab46e..0000000000
--- a/meta-oe/recipes-devtools/giflib/giflib_5.1.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "shared library for GIF images"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
-
-SRC_URI = " \
- ${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.bz2 \
- file://CVE-2019-15133.patch \
-"
-
-CVE_PRODUCT = "giflib_project:giflib"
-
-inherit autotools
-
-PACKAGES += "${PN}-utils"
-FILES_${PN} = "${libdir}/libgif.so.*"
-FILES_${PN}-utils = "${bindir}"
-
-BBCLASSEXTEND = "native"
-
-RDEPENDS_${PN}-utils = "perl"
-
-SRC_URI[md5sum] = "2c171ced93c0e83bb09e6ccad8e3ba2b"
-SRC_URI[sha256sum] = "df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5"
diff --git a/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb b/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb
new file mode 100644
index 0000000000..79afe9a70f
--- /dev/null
+++ b/meta-oe/recipes-devtools/giflib/giflib_5.2.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "shared library for GIF images"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ae11c61b04b2917be39b11f78d71519a"
+
+CVE_PRODUCT = "giflib_project:giflib"
+
+DEPENDS = "xmlto-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/giflib/${BP}.tar.gz"
+SRC_URI[sha256sum] = "31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd"
+
+do_install() {
+ # using autotools's default will end up in /usr/local
+ oe_runmake DESTDIR=${D} PREFIX=${prefix} LIBDIR=${libdir} install
+}
+
+PACKAGES += "${PN}-utils"
+FILES:${PN} = "${libdir}/libgif.so.*"
+FILES:${PN}-utils = "${bindir}"
+
+BBCLASSEXTEND = "native"
+
+RDEPENDS:${PN}-utils = "perl"
diff --git a/meta-oe/recipes-devtools/glade/glade_3.22.2.bb b/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
index 3d539b232f..d11751a4b2 100644
--- a/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
+++ b/meta-oe/recipes-devtools/glade/glade_3.22.2.bb
@@ -1,17 +1,19 @@
SUMMARY = "Glade - A User Interface Designer"
HOMEPAGE = "http://www.gnu.org/software/gnash"
-LICENSE = "GPLv2 & LGPLv2"
+LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=aabe87591cb8ae0f3c68be6977bb5522 \
file://COPYING.GPL;md5=9ac2e7cff1ddaf48b6eab6028f23ef88 \
file://COPYING.LGPL;md5=252890d9eee26aab7b432e8b8a616475"
-DEPENDS = "gtk+ gtk+3 glib-2.0 libxml2 intltool-native \
+DEPENDS = "gtk+3 glib-2.0 libxml2 intltool-native \
gnome-common-native \
+ autoconf-archive-native \
"
+GNOMEBASEBUILDCLASS = "autotools"
+inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg gtk-doc
-
-inherit features_check autotools pkgconfig gnomebase gobject-introspection mime-xdg
-
-REQUIRED_DISTRO_FEATURES = "x11"
+# xfce4 depends on libwnck3, gtk+3 and libepoxy need to be built with x11 PACKAGECONFIG.
+# cairo would at least needed to be built with xlib.
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glade/3.22/glade-${PV}.tar.xz \
file://remove-yelp-help-rules-var.patch \
@@ -21,7 +23,4 @@ SRC_URI[sha256sum] = "edefa6eb24b4d15bd52589121dc109bc08c286157c41288deb74dd9cc3
EXTRA_OECONF += "--disable-man-pages"
-FILES_${PN} += "${datadir}/* ${libdir}/glade/modules/libgladegtk.so"
-FILES_${PN}-dev += "${libdir}/glade/modules/libgladegtk.la"
-FILES_${PN}-dbg += "${libdir}/glade/modules/.debug/libgladegtk.so"
-
+FILES:${PN} += "${datadir}/glade ${datadir}/metainfo ${libdir}/glade/modules/libgladegtk.so"
diff --git a/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch b/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
new file mode 100644
index 0000000000..594503ae2a
--- /dev/null
+++ b/meta-oe/recipes-devtools/grpc/grpc/0001-cmake-Link-with-libatomic-on-rv32-rv64.patch
@@ -0,0 +1,30 @@
+From 54e8dca9b39b8c8a6532576a0286e548f97607fa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Apr 2022 16:07:19 -0700
+Subject: [PATCH] cmake: Link with libatomic on rv32/rv64
+
+Fixes
+riscv64-yoe-linux-musl/12.0.1/ld: libgrpc.so.23.0.0: undefined reference to `__atomic_exchange_1'
+| collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 06e6453b5c..476d7f1576 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -306,6 +306,9 @@ if(UNIX AND NOT HAIKU)
+ set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} rt)
+ endif()
+ endif()
++ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv32")
++ set(_gRPC_ALLTARGETS_LIBRARIES ${_gRPC_ALLTARGETS_LIBRARIES} atomic)
++ endif()
+ endif()
+
+ include(CheckCXXSourceCompiles)
diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb b/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb
deleted file mode 100644
index 358ec80e87..0000000000
--- a/meta-oe/recipes-devtools/grpc/grpc_1.36.1.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
-Provides gRPC libraries for multiple languages written on top of shared C core library \
-(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
-HOMEPAGE = "https://github.com/grpc/grpc"
-SECTION = "libs"
-LICENSE = "Apache-2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-DEPENDS = "c-ares protobuf protobuf-native protobuf-c protobuf-c-native openssl libnsl2 abseil-cpp re2"
-DEPENDS_append_class-target = " googletest grpc-native "
-DEPENDS_append_class-nativesdk = " grpc-native "
-
-S = "${WORKDIR}/git"
-SRCREV_grpc = "3b7f86e3516746c5f0db1947e0d65e94159bcb12"
-BRANCH = "v1.36.x"
-SRC_URI = "git://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
- "
-# Fixes build with older compilers 4.8 especially on ubuntu 14.04
-CXXFLAGS_append_class-native = " -Wl,--no-as-needed"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE = " \
- -DgRPC_CARES_PROVIDER=package \
- -DgRPC_ZLIB_PROVIDER=package \
- -DgRPC_SSL_PROVIDER=package \
- -DgRPC_PROTOBUF_PROVIDER=package \
- -DgRPC_ABSL_PROVIDER=package \
- -DgRPC_RE2_PROVIDER=package \
- -DgRPC_INSTALL=ON \
- -DCMAKE_CROSSCOMPILING=ON \
- -DBUILD_SHARED_LIBS=ON \
- -DgRPC_INSTALL_LIBDIR=${baselib} \
- -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
- "
-
-PACKAGECONFIG ??= "cpp"
-PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF"
-PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF"
-PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF"
-PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF"
-PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF"
-PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF"
-PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF"
-PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite"
-
-do_configure_prepend() {
- sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt
-}
-
-do_configure_prepend_mipsarch() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-do_configure_prepend_powerpc() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-do_configure_prepend_riscv64() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-do_configure_prepend_riscv32() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-do_configure_prepend_toolchain-clang_x86() {
- sed -i -e "s/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} rt m pthread)/set(_gRPC_ALLTARGETS_LIBRARIES \${CMAKE_DL_LIBS} atomic rt m pthread)/g" ${S}/CMakeLists.txt
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
-SYSROOT_DIRS_BLACKLIST_append_class-target = " ${baselib}/cmake/grpc"
-
-FILES_${PN}-dev += "${bindir}"
diff --git a/meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb b/meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb
new file mode 100644
index 0000000000..63c696a623
--- /dev/null
+++ b/meta-oe/recipes-devtools/grpc/grpc_1.60.1.bb
@@ -0,0 +1,67 @@
+DESCRIPTION = "A high performance, open source, general-purpose RPC framework. \
+Provides gRPC libraries for multiple languages written on top of shared C core library \
+(C++, Node.js, Python, Ruby, Objective-C, PHP, C#)"
+HOMEPAGE = "https://github.com/grpc/grpc"
+SECTION = "libs"
+LICENSE = "Apache-2.0 & BSD-3-Clause & MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=731e401b36f8077ae0c134b59be5c906"
+
+DEPENDS = "c-ares protobuf protobuf-native openssl libnsl2 abseil-cpp re2 zlib"
+DEPENDS:append:class-target = " googletest grpc-native "
+DEPENDS:append:class-nativesdk = " grpc-native "
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+RDEPENDS:${PN}-compiler = "${PN}"
+RDEPENDS:${PN}-dev:append:class-native = " ${PN}-compiler"
+# Configuration above allows to cross-compile gRPC applications
+# In order to compile applications on the target, use the dependency below
+# Both dependencies are mutually exclusive
+# RDEPENDS:${PN}-dev += "${PN}-compiler"
+
+S = "${WORKDIR}/git"
+SRCREV_grpc = "e5ae3b6b44bf3b64d24bfb4b4f82556239b986db"
+BRANCH = "v1.60.x"
+SRC_URI = "gitsm://github.com/grpc/grpc.git;protocol=https;name=grpc;branch=${BRANCH} \
+ file://0001-cmake-Link-with-libatomic-on-rv32-rv64.patch \
+ "
+# Fixes build with older compilers 4.8 especially on ubuntu 14.04
+CXXFLAGS:append:class-native = " -Wl,--no-as-needed"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = " \
+ -DgRPC_CARES_PROVIDER=package \
+ -DgRPC_ZLIB_PROVIDER=package \
+ -DgRPC_SSL_PROVIDER=package \
+ -DgRPC_PROTOBUF_PROVIDER=package \
+ -D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/protoc \
+ -DgRPC_ABSL_PROVIDER=package \
+ -DgRPC_RE2_PROVIDER=package \
+ -DgRPC_INSTALL=ON \
+ -DCMAKE_CROSSCOMPILING=ON \
+ -DgRPC_INSTALL_LIBDIR=${baselib} \
+ -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
+ "
+
+PACKAGECONFIG ??= "cpp shared"
+PACKAGECONFIG[cpp] = "-DgRPC_BUILD_GRPC_CPP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CPP_PLUGIN=OFF"
+PACKAGECONFIG[csharp] = "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=ON,-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF"
+PACKAGECONFIG[node] = "-DgRPC_BUILD_GRPC_NODE_PLUGIN=ON,-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF"
+PACKAGECONFIG[objective-c] = "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=ON,-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF"
+PACKAGECONFIG[php] = "-DgRPC_BUILD_GRPC_PHP_PLUGIN=ON,-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF"
+PACKAGECONFIG[python] = "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=ON,-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF"
+PACKAGECONFIG[ruby] = "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=ON,-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF"
+PACKAGECONFIG[protobuf-lite] = "-DgRPC_USE_PROTO_LITE=ON,-DgRPC_USE_PROTO_LITE=OFF,protobuf-lite"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
+
+do_configure:prepend() {
+ sed -i -e "s#lib/pkgconfig/#${baselib}/pkgconfig/#g" ${S}/CMakeLists.txt
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+FILES:${PN}-compiler += " \
+ ${bindir} \
+ ${libdir}/libgrpc_plugin_support${SOLIBS} \
+ "
diff --git a/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.22.7.bb b/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.22.7.bb
new file mode 100644
index 0000000000..50d45ef57b
--- /dev/null
+++ b/meta-oe/recipes-devtools/gst-editing-services/gst-editing-services_1.22.7.bb
@@ -0,0 +1,28 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Gstreamer editing services"
+HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-editing-services/"
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
+ file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d"
+
+DEPENDS = "flex-native gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad python3-pygobject"
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+GIR_MESON_OPTION = ""
+
+inherit meson pkgconfig upstream-version-is-even gobject-introspection features_check bash-completion
+
+EXTRA_OEMESON = "-Dvalidate=disabled"
+
+SRC_URI = "http://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-${PV}.tar.xz"
+SRC_URI[sha256sum] = "fec56a2c37a253cd048d288d4c7eda6eff191022b09db975e07a2c105d1b521e"
+
+PACKAGES += "gst-validate-launcher libges"
+
+FILES:gst-validate-launcher = "${nonarch_libdir}/gst-validate-launcher ${datadir}/gstreamer-1.0/validate"
+FILES:libges = "${libdir}/gstreamer-1.0/*.so"
+
+FILES:${PN} += "/usr/lib/python${PYTHON_BASEVERSION}"
diff --git a/meta-oe/recipes-devtools/guider/guider_3.9.7.bb b/meta-oe/recipes-devtools/guider/guider_3.9.7.bb
deleted file mode 100644
index 88fad936ba..0000000000
--- a/meta-oe/recipes-devtools/guider/guider_3.9.7.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "runtime performance analyzer"
-HOMEPAGE = "https://github.com/iipeace/guider"
-BUGTRACKER = "https://github.com/iipeace/guider/issues"
-AUTHOR = "Peace Lee <ipeace5@gmail.com>"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
-
-PV = "3.9.7+git${SRCPV}"
-
-SRC_URI = "git://github.com/iipeace/${BPN}"
-SRCREV = "459b5189a46023fc98e19888b196bdc2674022fd"
-
-S = "${WORKDIR}/git"
-
-inherit setuptools3
-
-RDEPENDS_${PN} = "python3 python3-core \
- python3-ctypes python3-shell python3-json"
diff --git a/meta-oe/recipes-devtools/guider/guider_3.9.8.bb b/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
new file mode 100644
index 0000000000..0d93297a07
--- /dev/null
+++ b/meta-oe/recipes-devtools/guider/guider_3.9.8.bb
@@ -0,0 +1,18 @@
+SUMMARY = "performance analyzer"
+HOMEPAGE = "https://github.com/iipeace/guider"
+BUGTRACKER = "https://github.com/iipeace/guider/issues"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c1c00f9d3ed9e24fa69b932b7e7aff2"
+
+PV = "3.9.8+git"
+
+SRC_URI = "git://github.com/iipeace/${BPN};branch=master;protocol=https"
+SRCREV = "a502cd93b13235b7539557a91328de00b7c51bc3"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS:${PN} = "python3 python3-core \
+ python3-ctypes python3-shell python3-json"
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch b/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch
new file mode 100644
index 0000000000..a6547eded8
--- /dev/null
+++ b/meta-oe/recipes-devtools/heaptrack/heaptrack/0001-track-Check-for-unw_set_caching_policy-before-using.patch
@@ -0,0 +1,41 @@
+From bcfc4c8d7dc70bd81367c183a68cc9ee02ab4744 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 28 May 2021 17:52:57 -0700
+Subject: [PATCH] track: Check for unw_set_caching_policy before using
+
+llvm libunwind does not implement unw_cache_* functions yet
+Include inttypes.h got PRI* macros
+
+Upstream-Status: Submitted [https://github.com/KDE/heaptrack/pull/33]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/track/trace_libunwind.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/track/trace_libunwind.cpp b/src/track/trace_libunwind.cpp
+index c76337c..96b2176 100644
+--- a/src/track/trace_libunwind.cpp
++++ b/src/track/trace_libunwind.cpp
+@@ -26,6 +26,7 @@
+
+ #define UNW_LOCAL_ONLY
+ #include <libunwind.h>
++#include <inttypes.h>
+
+ #include <stdio.h>
+
+@@ -60,9 +61,11 @@ void Trace::print()
+ void Trace::setup()
+ {
+ // configure libunwind for better speed
++#if UNW_CACHE_PER_THREAD
+ if (unw_set_caching_policy(unw_local_addr_space, UNW_CACHE_PER_THREAD)) {
+ fprintf(stderr, "WARNING: Failed to enable per-thread libunwind caching.\n");
+ }
++#endif
+ #if LIBUNWIND_HAS_UNW_SET_CACHE_SIZE
+ if (unw_set_cache_size(unw_local_addr_space, 1024, 0)) {
+ fprintf(stderr, "WARNING: Failed to set libunwind cache size.\n");
+--
+2.31.1
+
diff --git a/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb b/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
index f2235afef3..be2c0f5394 100644
--- a/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
+++ b/meta-oe/recipes-devtools/heaptrack/heaptrack_1.2.0.bb
@@ -4,16 +4,17 @@ events with stack traces. Dedicated analysis tools then allow you to interpret \
the heap memory profile to find hotspots to reduce memory, leaks, allocation \
hotspots and temporary allocations"
HOMEPAGE = "https://phabricator.kde.org/source/heaptrack/"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "zlib boost libunwind elfutils"
-SRC_URI = "git://github.com/KDE/heaptrack.git;protocol=https \
+SRC_URI = "git://github.com/KDE/heaptrack.git;protocol=https;branch=master \
file://0001-libheaptrack-Replace-__pid_t-with-pid_t.patch \
file://0002-heaptrack_inject-Include-dlfcn.h-for-dlopen-dlclose.patch \
file://0003-heaptrack_preload-Make-noexcept-attribute-conditiona.patch \
file://0004-backtrace-Always-include-stdint.h.patch \
+ file://0001-track-Check-for-unw_set_caching_policy-before-using.patch \
"
SRCREV = "bc9e3744bcc47de978673d1e382f4125a1ab5fa8"
@@ -25,7 +26,7 @@ inherit cmake
EXTRA_OECMAKE += "-DHEAPTRACK_BUILD_GUI=OFF"
# libunwind is not yet ported to RISCV
-COMPATIBLE_HOST_riscv32 = "null"
-COMPATIBLE_HOST_riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:riscv64 = "null"
-BBCLASSEXTEND = "native nativesdk"
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
index 9768a6e716..8e7b0ba5a0 100644
--- a/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
+++ b/meta-oe/recipes-devtools/icon-slicer/icon-slicer_0.3.bb
@@ -1,4 +1,4 @@
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "gdk-pixbuf popt"
diff --git a/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch b/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch
deleted file mode 100644
index 5b9afd9616..0000000000
--- a/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-Fix-printd-formatting-strings.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 86b4d398dbb95e2437b70eba3b30e995ec9be505 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 31 Aug 2017 20:47:50 -0700
-Subject: [PATCH] Fix printd formatting strings
-
-Fixes
-error: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/ipfilter.c | 2 +-
- src/othptab.c | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/ipfilter.c b/src/ipfilter.c
-index eb17ec7..8c76e4c 100644
---- a/src/ipfilter.c
-+++ b/src/ipfilter.c
-@@ -146,7 +146,7 @@ void gethostparams(struct hostparams *data, char *init_saddr, char *init_smask,
- snprintf(msgstr, 60,
- "Invalid protocol input at or near token \"%s\"",
- bptr);
-- tui_error(ANYKEY_MSG, msgstr);
-+ tui_error(ANYKEY_MSG, "%s", msgstr);
- doagain = 1;
- } else
- doagain = 0;
-diff --git a/src/othptab.c b/src/othptab.c
-index 142c9c2..fe395c2 100644
---- a/src/othptab.c
-+++ b/src/othptab.c
-@@ -410,7 +410,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry,
- break;
- }
-
-- sprintf(scratchpad, rarp_mac_addr);
-+ sprintf(scratchpad, "%s", rarp_mac_addr);
- strcat(msgstring, scratchpad);
- wattrset(table->othpwin, ARPATTR);
- break;
-@@ -485,7 +485,7 @@ void printothpentry(struct othptable *table, struct othptabent *entry,
- wattrset(table->othpwin, UNKNIPATTR);
- protptr = getprotobynumber(entry->protocol);
- if (protptr != NULL) {
-- sprintf(protname, protptr->p_aliases[0]);
-+ sprintf(protname, "%s", protptr->p_aliases[0]);
- } else {
- sprintf(protname, "IP protocol");
- unknown = 1;
---
-2.14.1
-
diff --git a/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-make-Make-CC-weak-assignment.patch b/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-make-Make-CC-weak-assignment.patch
new file mode 100644
index 0000000000..342c78f0f1
--- /dev/null
+++ b/meta-oe/recipes-devtools/iptraf/iptraf-ng/0001-make-Make-CC-weak-assignment.patch
@@ -0,0 +1,44 @@
+From 223de708552b1ab00ac1a119e82e13deed573036 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Oct 2021 10:22:38 -0700
+Subject: [PATCH] make: Make CC weak assignment
+
+This ensures that if environment overrrides it then its respected, this
+helps cross-compiling cases
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -18,14 +18,14 @@ VERSION-FILE: FORCE
+ @$(SHELL_PATH) ./GEN-VERSION-FILE
+ -include VERSION-FILE
+
+-CFLAGS = -g -O2 -Wall -W -Werror=format-security
+-LDFLAGS =
++CFLAGS += -g -O2 -Wall -W -Werror=format-security
++LDFLAGS ?=
+ IPTRAF_CFLAGS := -std=gnu99 -D_GNU_SOURCE
+ ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS) $(IPTRAF_CFLAGS)
+ ALL_LDFLAGS = $(LDFLAGS)
+ STRIP ?= strip
+
+-prefix = $(HOME)
++prefix ?= $(HOME)
+ sbindir_relative = sbin
+ sbindir = $(prefix)/$(sbindir_relative)
+ mandir = $(prefix)/share/man
+@@ -39,7 +39,7 @@ pathsep = :
+
+ export prefix bindir sharedir sysconfdir gitwebdir localedir
+
+-CC = cc
++CC ?= cc
+ RM = rm -f
+ INSTALL = install
+ RPMBUILD = rpmbuild
diff --git a/meta-oe/recipes-devtools/iptraf/iptraf-ng/iptraf-ng-tmpfiles.conf b/meta-oe/recipes-devtools/iptraf/iptraf-ng/iptraf-ng-tmpfiles.conf
new file mode 100644
index 0000000000..ebb9d67800
--- /dev/null
+++ b/meta-oe/recipes-devtools/iptraf/iptraf-ng/iptraf-ng-tmpfiles.conf
@@ -0,0 +1,3 @@
+d /run/iptraf-ng 0755 root root -
+d /var/log/iptraf-ng 0755 root root -
+d /var/lib/iptraf-ng 0755 root root -
diff --git a/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch b/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch
index 65b92dade2..8704310406 100644
--- a/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch
+++ b/meta-oe/recipes-devtools/iptraf/iptraf-ng/ncurses-config.patch
@@ -2,11 +2,9 @@ Use pkg-config to search for ncurses libraries
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Pending
-Index: iptraf-ng-1.1.4/Makefile
-===================================================================
---- iptraf-ng-1.1.4.orig/Makefile
-+++ iptraf-ng-1.1.4/Makefile
-@@ -205,8 +205,8 @@ endif
+--- a/Makefile
++++ b/Makefile
+@@ -201,8 +201,8 @@ endif
ifndef NCURSES_LDFLAGS
ifdef NEEDS_NCURSES5
@@ -17,7 +15,7 @@ Index: iptraf-ng-1.1.4/Makefile
ifndef NO_PANEL
NCURSES_LDFLAGS += -lpanel
endif
-@@ -215,8 +215,8 @@ endif
+@@ -211,8 +211,8 @@ endif
ifndef NCURSES_LDFLAGS
ifdef NEEDS_NCURSESW5
@@ -26,9 +24,9 @@ Index: iptraf-ng-1.1.4/Makefile
+ NCURSES_CFLAGS := $(shell p[k-config ncursesw --cflags 2>/dev/null)
+ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
ifndef NO_PANEL
- NCURSES_LDFLAGS += -lpanel
+ NCURSES_LDFLAGS += -lpanelw
endif
-@@ -225,8 +225,8 @@ endif
+@@ -221,8 +221,8 @@ endif
ifndef NCURSES_LDFLAGS
ifdef NEEDS_NCURSES6
@@ -39,7 +37,7 @@ Index: iptraf-ng-1.1.4/Makefile
ifndef NO_PANEL
NCURSES_LDFLAGS += -lpanel
endif
-@@ -235,8 +235,8 @@ endif
+@@ -231,8 +231,8 @@ endif
ifndef NCURSES_LDFLAGS
ifdef NEEDS_NCURSESW6
@@ -48,34 +46,45 @@ Index: iptraf-ng-1.1.4/Makefile
+ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
+ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
ifndef NO_PANEL
- NCURSES_LDFLAGS += -lpanel
+ NCURSES_LDFLAGS += -lpanelw
endif
-@@ -246,17 +246,17 @@ endif
+@@ -241,27 +241,27 @@ endif
+
# try find ncuses by autodetect
ifndef NCURSES_LDFLAGS
- ifneq ($(shell ncursesw6-config --libs 2>/dev/null),)
+- ifneq ($(shell ncursesw6-config --libs 2>/dev/null),)
- NCURSES_CFLAGS := $(shell ncursesw6-config --cflags 2>/dev/null)
- NCURSES_LDFLAGS := $(shell ncursesw6-config --libs 2>/dev/null)
++ ifneq ($(shell pkg-config ncursesw --libs 2>/dev/null),)
++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
+ ifndef NO_PANEL
+ NCURSES_LDFLAGS += -lpanelw
+ endif
- else ifneq ($(shell ncurses6-config --libs 2>/dev/null),)
- NCURSES_CFLAGS := $(shell ncurses6-config --cflags 2>/dev/null)
- NCURSES_LDFLAGS := $(shell ncurses6-config --libs 2>/dev/null)
++ else ifneq ($(shell pkg-config ncursesw --libs 2>/dev/null),)
++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
+ ifndef NO_PANEL
+ NCURSES_LDFLAGS += -lpanel
+ endif
- else ifneq ($(shell ncursesw5-config --libs 2>/dev/null),)
- NCURSES_CFLAGS := $(shell ncursesw5-config --cflags 2>/dev/null)
- NCURSES_LDFLAGS := $(shell ncursesw5-config --libs 2>/dev/null)
++ else ifneq ($(shell pkg-config ncursesw --libs 2>/dev/null),)
++ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
++ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
+ ifndef NO_PANEL
+ NCURSES_LDFLAGS += -lpanelw
+ endif
- else ifneq ($(shell ncurses5-config --libs 2>/dev/null),)
- NCURSES_CFLAGS := $(shell ncurses5-config --cflags 2>/dev/null)
- NCURSES_LDFLAGS := $(shell ncurses5-config --libs 2>/dev/null)
-+ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
-+ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
-+ else ifneq ($(shell pkg-config ncurses --libs 2>/dev/null),)
-+ NCURSES_CFLAGS := $(shell pkg-config ncurses --cflags 2>/dev/null)
-+ NCURSES_LDFLAGS := $(shell pkg-config ncurses --libs 2>/dev/null)
+ else ifneq ($(shell pkg-config ncursesw --libs 2>/dev/null),)
+ NCURSES_CFLAGS := $(shell pkg-config ncursesw --cflags 2>/dev/null)
+ NCURSES_LDFLAGS := $(shell pkg-config ncursesw --libs 2>/dev/null)
-+ else ifneq ($(shell pkg-config ncurses --libs 2>/dev/null),)
-+ NCURSES_CFLAGS := $(shell pkg-config ncurses --cflags 2>/dev/null)
-+ NCURSES_LDFLAGS := $(shell pkg-config ncurses --libs 2>/dev/null)
- endif
-
- ifneq ($(NCURSES_LDFLAGS),)
+ ifndef NO_PANEL
+ NCURSES_LDFLAGS += -lpanel
+ endif
diff --git a/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb b/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb
deleted file mode 100644
index c53e66300d..0000000000
--- a/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.1.4.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "A console-based network monitoring utility"
-DESCRIPTION = "IPTraf-ng is a console-based network monitoring utility. IPTraf gathers \
-data like TCP connection packet and byte counts, interface statistics \
-and activity indicators, TCP/UDP traffic breakdowns, and LAN station \
-packet and byte counts. IPTraf-ng features include an IP traffic monitor \
-which shows TCP flag information, packet and byte counts, ICMP \
-details, OSPF packet types, and oversized IP packet warnings; \
-interface statistics showing IP, TCP, UDP, ICMP, non-IP and other IP \
-packet counts, IP checksum errors, interface activity and packet size \
-counts; a TCP and UDP service monitor showing counts of incoming and \
-outgoing packets for common TCP and UDP application ports, a LAN \
-statistics module that discovers active hosts and displays statistics \
-about their activity; TCP, UDP and other protocol display filters so \
-you can view just the traffic you want; logging; support for Ethernet, \
-FDDI, ISDN, SLIP, PPP, and loopback interfaces; and utilization of the \
-built-in raw socket interface of the Linux kernel, so it can be used \
-on a wide variety of supported network cards."
-
-HOMEPAGE = "https://fedorahosted.org/iptraf-ng/"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e2b3850593b899b1a17594ed4cc4c731"
-DEPENDS = "ncurses"
-
-SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/iptraf-ng/iptraf-ng-1.1.4.tar.gz/e0f8df3b7baf2b5106709abc4f8c029a/${BP}.tar.gz \
- file://ncurses-config.patch \
- file://0001-Fix-printd-formatting-strings.patch \
- "
-SRC_URI[md5sum] = "e0f8df3b7baf2b5106709abc4f8c029a"
-SRC_URI[sha256sum] = "16b9b05bf5d3725d86409b901696639ad46944d02de6def87b1ceae5310dd35c"
-
-inherit autotools-brokensep pkgconfig
-
-CFLAGS += "-D_GNU_SOURCE"
-
-PROVIDES = "iptraf"
-RPROVIDES_${PN} += "iptraf"
-RREPLACES_${PN} += "iptraf"
-RCONFLICTS_${PN} += "iptraf"
-
diff --git a/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb b/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb
new file mode 100644
index 0000000000..0f6bbb4d54
--- /dev/null
+++ b/meta-oe/recipes-devtools/iptraf/iptraf-ng_1.2.1.bb
@@ -0,0 +1,53 @@
+# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A console-based network monitoring utility"
+DESCRIPTION = "IPTraf-ng is a console-based network monitoring utility. IPTraf gathers \
+data like TCP connection packet and byte counts, interface statistics \
+and activity indicators, TCP/UDP traffic breakdowns, and LAN station \
+packet and byte counts. IPTraf-ng features include an IP traffic monitor \
+which shows TCP flag information, packet and byte counts, ICMP \
+details, OSPF packet types, and oversized IP packet warnings; \
+interface statistics showing IP, TCP, UDP, ICMP, non-IP and other IP \
+packet counts, IP checksum errors, interface activity and packet size \
+counts; a TCP and UDP service monitor showing counts of incoming and \
+outgoing packets for common TCP and UDP application ports, a LAN \
+statistics module that discovers active hosts and displays statistics \
+about their activity; TCP, UDP and other protocol display filters so \
+you can view just the traffic you want; logging; support for Ethernet, \
+FDDI, ISDN, SLIP, PPP, and loopback interfaces; and utilization of the \
+built-in raw socket interface of the Linux kernel, so it can be used \
+on a wide variety of supported network cards."
+
+HOMEPAGE = "https://fedorahosted.org/iptraf-ng/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e2b3850593b899b1a17594ed4cc4c731"
+DEPENDS = "ncurses"
+
+SRC_URI = "https://src.fedoraproject.org/repo/pkgs/iptraf-ng/v${PV}.tar.gz/sha512/44d36fc92cdbf379f62cb63638663c3ee610225b9c28d60ee55e62e358f398a6b0db281129327b3472e45fb553ee3dd605af09c129f2233f8839ae3dbd799384/v${PV}.tar.gz \
+ file://iptraf-ng-tmpfiles.conf \
+ file://ncurses-config.patch \
+ file://0001-make-Make-CC-weak-assignment.patch \
+ "
+SRC_URI[sha256sum] = "9f5cef584065420dea1ba32c86126aede1fa9bd25b0f8362b0f9fd9754f00870"
+
+inherit pkgconfig
+
+CFLAGS += "-D_GNU_SOURCE"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} install
+ install -D -m 0644 -p ${S}/iptraf-ng-logrotate.conf ${D}${sysconfdir}/logrotate.d/iptraf-ng
+ install -Dm 0644 ${WORKDIR}/iptraf-ng-tmpfiles.conf ${D}${libdir}/tmpfiles.d/iptraf-ng-tmpfiles.conf
+}
+
+FILES:${PN} += "${libdir}/tmpfiles.d"
+PROVIDES = "iptraf"
+RPROVIDES:${PN} += "iptraf"
+RREPLACES:${PN} += "iptraf"
+RCONFLICTS:${PN} += "iptraf"
+
diff --git a/meta-oe/recipes-devtools/jemalloc/files/run-ptest b/meta-oe/recipes-devtools/jemalloc/files/run-ptest
new file mode 100644
index 0000000000..5c826a1766
--- /dev/null
+++ b/meta-oe/recipes-devtools/jemalloc/files/run-ptest
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+export MALLOC_CONF_ALL=${MALLOC_CONF}
+# Concatenate the individual test's MALLOC_CONF and MALLOC_CONF_ALL.
+export_malloc_conf() {
+ if [ "x${MALLOC_CONF}" != "x" -a "x${MALLOC_CONF_ALL}" != "x" ] ; then
+ export MALLOC_CONF="${MALLOC_CONF},${MALLOC_CONF_ALL}"
+ else
+ export MALLOC_CONF="${MALLOC_CONF}${MALLOC_CONF_ALL}"
+ fi
+}
+
+
+
+saved_dir=$PWD
+for dir in tests/* ; do
+ cd $dir
+ for atest in * ; do
+ if [[ "${atest##*.}" == "sh" ]]; then
+ continue
+ fi
+ if [ -e "${atest}.sh" ] ; then
+ # Source the shell script corresponding to the test in a subshell and
+ # execute the test. This allows the shell script to set MALLOC_CONF, which
+ # is then used to set MALLOC_CONF (thus allowing the
+ # per test shell script to ignore the detail).
+ enable_fill=1 \
+ enable_prof=1 \
+ . $(pwd)/${atest}.sh && \
+ export_malloc_conf
+ else
+ export MALLOC_CONF= && \
+ export_malloc_conf
+ fi
+ if [ \( -x $atest \) -a \( -f $atest \) ] ; then
+ rm -rf tests.log
+ ./$atest > tests.log 2>&1
+ sed -e '/: pass/ s/^/PASS: /g' \
+ -e '/: skip/ s/^/SKIP: /g' \
+ -e '/: fail/ s/^/FAIL: /g' \
+ -e 's/: pass//g' \
+ -e 's/: skip//g' \
+ -e 's/: fail//g' \
+ -e '/^--- pass:/d' tests.log
+ fi
+ done
+ cd $saved_dir
+done
diff --git a/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb b/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
new file mode 100644
index 0000000000..7e0272f898
--- /dev/null
+++ b/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
@@ -0,0 +1,53 @@
+# Copyright (C) 2021 Mingli Yu <mingli.yu@windriver.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "General-purpose scalable concurrent malloc implementation"
+
+DESCRIPTION = "jemalloc is a general purpose malloc(3) implementation that emphasizes \
+fragmentation avoidance and scalable concurrency support."
+
+HOMEPAGE = "https://github.com/jemalloc/jemalloc"
+LICENSE = "BSD-2-Clause"
+
+SECTION = "libs"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea061f8731d5e6a5761dfad951ef5f5f"
+
+SRC_URI = "git://github.com/jemalloc/jemalloc.git;branch=dev;protocol=https \
+ file://run-ptest \
+ "
+SRCREV = "630434bb0ac619f7beec927569782d924c459385"
+
+S = "${WORKDIR}/git"
+
+inherit autotools ptest
+
+EXTRA_AUTORECONF += "--exclude=autoheader"
+
+EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_"
+# For some reason VERSION file populated only in tarball distribution.
+# Adding jemalloc version since this recipe is using source code from git tag
+EXTRA_OECONF:append = " --with-version=${PV}-0-g${SRCREV} --enable-xmalloc"
+
+do_install:append() {
+ sed -i -e 's@${STAGING_DIR_HOST}@@g' \
+ -e 's@${STAGING_DIR_NATIVE}@@g' \
+ -e 's@${WORKDIR}@@g' ${D}${bindir}/jemalloc-config
+}
+
+do_compile_ptest() {
+ oe_runmake tests
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ subdirs="unit integration stress "
+ for tooltest in ${subdirs}
+ do
+ cp -r ${B}/test/${tooltest} ${D}${PTEST_PATH}/tests
+ if find ${S}/test/${tooltest}/ -name '*.sh' -print -quit | grep -q .; then
+ cp ${S}/test/${tooltest}/*.sh ${D}${PTEST_PATH}/tests/${tooltest}
+ fi
+ done
+ find ${D}${PTEST_PATH}/tests \( -name "*.d" -o -name "*.o" \) -exec rm -f {} \;
+}
diff --git a/meta-oe/recipes-devtools/jq/jq/run-ptest b/meta-oe/recipes-devtools/jq/jq/run-ptest
new file mode 100755
index 0000000000..a813958b5a
--- /dev/null
+++ b/meta-oe/recipes-devtools/jq/jq/run-ptest
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+JQ_LIB=@libdir@/jq
+LOG="${JQ_LIB}/ptest/jq_ptest_$(date +%Y%m%d-%H%M%S).log"
+
+# clean up the log file to avoid a file has the same name and has existing content
+echo "" > ${LOG}
+
+# The purpose of ptest is doing intergration test, so disable valgrind by default
+# change PACKAGECOFIG to enable valgrind.
+#export NO_VALGRIND=1
+# The --enable-valgrind configure option for jq only can be used within Makefiles,
+# and it cannot be utilized here since it also checks compile, which cannot be avoid
+# Requested enhancement to jq: https://github.com/stedolan/jq/issues/2493
+
+for test in optionaltest mantest jqtest onigtest shtest utf8test base64test; do
+ ./tests/${test} >> ${LOG} 2>> ${LOG}
+ if [ $? -eq 0 ]; then
+ echo "PASS: ${test}"
+ echo "PASS: ${test}" >> ${LOG}
+ else
+ echo "FAIL: ${test}"
+ echo "FAIL: ${test}" >> ${LOG}
+ fi
+done
+
+passed=`grep PASS: ${LOG}|wc -l`
+failed=`grep FAIL: ${LOG}|wc -l`
+skipped=`grep SKIP: ${LOG}|wc -l`
+all=$((passed + failed + skipped))
+
+( echo "=== Test Summary ==="
+ echo "TOTAL: ${all}"
+ echo "PASSED: ${passed}"
+ echo "FAILED: ${failed}"
+ echo "SKIPPED: ${skipped}"
+) | tee -a /${LOG}
diff --git a/meta-oe/recipes-devtools/jq/jq_1.6.bb b/meta-oe/recipes-devtools/jq/jq_1.6.bb
deleted file mode 100644
index bfaeed5fe2..0000000000
--- a/meta-oe/recipes-devtools/jq/jq_1.6.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Lightweight and flexible command-line JSON processor"
-DESCRIPTION = "jq is like sed for JSON data, you can use it to slice and \
- filter and map and transform structured data with the same \
- ease that sed, awk, grep and friends let you play with text."
-HOMEPAGE = "https://stedolan.github.io/jq/"
-BUGTRACKER = "https://github.com/stedolan/jq/issues"
-SECTION = "utils"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=15d03e360fa7399f76d5a4359fc72cbf"
-
-SRC_URI = "https://github.com/stedolan/${BPN}/releases/download/${BP}/${BP}.tar.gz"
-
-UPSTREAM_CHECK_URI = "https://github.com/stedolan/${BPN}/releases"
-UPSTREAM_CHECK_REGEX = "jq\-(?P<pver>(\d+\.\d+))(?!_\d+).tar.gz"
-
-SRC_URI[md5sum] = "e68fbd6a992e36f1ac48c99bbf825d6b"
-SRC_URI[sha256sum] = "5de8c8e29aaa3fb9cc6b47bb27299f271354ebb72514e3accadc7d38b5bbaa72"
-
-inherit autotools-brokensep
-
-PACKAGECONFIG ?= "oniguruma"
-
-PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,ruby-native"
-PACKAGECONFIG[maintainer-mode] = "--enable-maintainer-mode,--disable-maintainer-mode,flex-native bison-native"
-PACKAGECONFIG[oniguruma] = "--with-oniguruma,--without-oniguruma,onig"
-
-OE_EXTRACONF += " \
- --disable-valgrind \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/jq/jq_1.7.1.bb b/meta-oe/recipes-devtools/jq/jq_1.7.1.bb
new file mode 100644
index 0000000000..6b12335513
--- /dev/null
+++ b/meta-oe/recipes-devtools/jq/jq_1.7.1.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Lightweight and flexible command-line JSON processor"
+DESCRIPTION = "jq is like sed for JSON data, you can use it to slice and \
+ filter and map and transform structured data with the same \
+ ease that sed, awk, grep and friends let you play with text."
+HOMEPAGE = "https://jqlang.github.io/jq/"
+BUGTRACKER = "https://github.com/jqlang/jq/issues"
+SECTION = "utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=488f4e0b04c0456337fb70d1ac1758ba"
+
+GITHUB_BASE_URI = "https://github.com/jqlang/${BPN}/releases/"
+SRC_URI = "${GITHUB_BASE_URI}/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
+ file://run-ptest \
+ "
+SRC_URI[sha256sum] = "478c9ca129fd2e3443fe27314b455e211e0d8c60bc8ff7df703873deeee580c2"
+
+inherit autotools github-releases ptest
+
+UPSTREAM_CHECK_REGEX = "releases/tag/${BPN}-(?P<pver>\d+(\.\d+)+)"
+
+PACKAGECONFIG ?= "oniguruma"
+
+PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,ruby-native"
+PACKAGECONFIG[maintainer-mode] = "--enable-maintainer-mode,--disable-maintainer-mode,flex-native bison-native"
+PACKAGECONFIG[oniguruma] = "--with-oniguruma,--without-oniguruma,onig"
+# enable if you want ptest running under valgrind
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,valgrind"
+
+do_configure:append() {
+ sed -i -e "/^ac_cs_config=/ s:${WORKDIR}::g" ${B}/config.status
+}
+
+do_install_ptest() {
+ cp -rf ${S}/tests ${D}${PTEST_PATH}
+ cp -rf ${B}/.libs ${D}${PTEST_PATH}
+ # libjq.so.* is packaged in the main jq component, so remove it from ptest
+ rm -f ${D}${PTEST_PATH}/.libs/libjq.so.*
+ ln -sf ${bindir}/jq ${D}${PTEST_PATH}
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', 'true', 'false', d)}" = "false" ]; then
+ sed -i 's:#export NO_VALGRIND=1:export NO_VALGRIND=1:g' ${D}${PTEST_PATH}/run-ptest
+ fi
+ # handle multilib
+ sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch
new file mode 100644
index 0000000000..6e6a4b93e8
--- /dev/null
+++ b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch
@@ -0,0 +1,29 @@
+From 35939115142db6cd366ab11b29692a0179338ddf Mon Sep 17 00:00:00 2001
+From: Parian Golchin <Parian.Golchin@iris-sensing.com>
+Date: Fri, 18 Aug 2023 15:54:25 +0200
+Subject: [PATCH 1/3] Set Json_validator Install off if it finds it via linking
+
+Upstream-Status: Inappropriate [newer version of cmake in main branch]
+
+Signed-off-by: Parian Golchin <Parian.Golchin@iris-sensing.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f636734..9e4587f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -55,6 +55,9 @@ option(JSON_VALIDATOR_BUILD_EXAMPLES "Build examples" ${JSON_VALIDATOR_IS_TOP_LE
+
+ if(NOT TARGET nlohmann_json::nlohmann_json)
+ find_package(nlohmann_json REQUIRED)
++else()
++ message(STATUS "Found nlohmann_json::nlohmann_json-target - linking with it")
++ set(JSON_VALIDATOR_INSTALL OFF)
+ endif()
+
+ target_link_libraries(
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0002-Fix-assumed-signed-char.patch b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0002-Fix-assumed-signed-char.patch
new file mode 100644
index 0000000000..1c4b871bb6
--- /dev/null
+++ b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0002-Fix-assumed-signed-char.patch
@@ -0,0 +1,71 @@
+From 2065015da40cf79dd8ec9e3f186538e17c3b592f Mon Sep 17 00:00:00 2001
+From: Robert Joslyn <robert.joslyn@redrectangle.org>
+Date: Wed, 30 Nov 2022 13:07:29 -0800
+Subject: [PATCH 2/3] Fix assumed signed char
+
+The code assumes that char is signed, but whether char is signed or
+unsigned is implementation defined. On some architectures like PowerPC,
+GCC treats char as unsigned resulting in compile errors:
+
+ smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing]
+
+Fix this by specifying signed char.
+
+Upstream-Status: Backport [https://github.com/pboettch/json-schema-validator/commit/491ac44026e08f31790f5cacffa62e168bb35e32]
+
+Signed-off-by: Parian Golchin <Parian.Golchin@iris-sensing.com>
+---
+ src/smtp-address-validator.cpp | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/smtp-address-validator.cpp b/src/smtp-address-validator.cpp
+index a63ead0..3903b51 100644
+--- a/src/smtp-address-validator.cpp
++++ b/src/smtp-address-validator.cpp
+@@ -63,7 +63,7 @@ static const short _address_key_offsets[] = {
+ 1363, 1365, 1367, 1368, 1370, 1388, 0
+ };
+
+-static const char _address_trans_keys[] = {
++static const signed char _address_trans_keys[] = {
+ -32, -19, -16, -12, 34, 45, 61, 63,
+ -62, -33, -31, -17, -15, -13, 33, 39,
+ 42, 43, 47, 57, 65, 90, 94, 126,
+@@ -711,7 +711,7 @@ bool is_address(const char* p, const char* pe)
+ {
+ int _klen;
+ unsigned int _trans = 0;
+- const char * _keys;
++ const signed char * _keys;
+ const signed char * _acts;
+ unsigned int _nacts;
+ _resume: {}
+@@ -728,9 +728,9 @@ bool is_address(const char* p, const char* pe)
+
+ _klen = (int)_address_single_lengths[cs];
+ if ( _klen > 0 ) {
+- const char *_lower = _keys;
+- const char *_upper = _keys + _klen - 1;
+- const char *_mid;
++ const signed char *_lower = _keys;
++ const signed char *_upper = _keys + _klen - 1;
++ const signed char *_mid;
+ while ( 1 ) {
+ if ( _upper < _lower ) {
+ _keys += _klen;
+@@ -752,9 +752,9 @@ bool is_address(const char* p, const char* pe)
+
+ _klen = (int)_address_range_lengths[cs];
+ if ( _klen > 0 ) {
+- const char *_lower = _keys;
+- const char *_upper = _keys + (_klen<<1) - 2;
+- const char *_mid;
++ const signed char *_lower = _keys;
++ const signed char *_upper = _keys + (_klen<<1) - 2;
++ const signed char *_mid;
+ while ( 1 ) {
+ if ( _upper < _lower ) {
+ _trans += (unsigned int)_klen;
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0003-For-root-value-use-empty-pointer.patch b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0003-For-root-value-use-empty-pointer.patch
new file mode 100644
index 0000000000..eac997ae58
--- /dev/null
+++ b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0003-For-root-value-use-empty-pointer.patch
@@ -0,0 +1,41 @@
+From fa49c29942763285c51b7d2dea417d9f51e4961f Mon Sep 17 00:00:00 2001
+From: Sven Fink <sven.fink@wipotec.com>
+Date: Fri, 13 Jan 2023 09:15:42 +0100
+Subject: [PATCH 3/3] For root value, use empty pointer
+
+Upstream-Status: Backport [https://github.com/pboettch/json-schema-validator/commit/59c9d6200bf3cd54b4fc717ec1660c91eddb4d1a]
+
+Signed-off-by: Parian Golchin <Parian.Golchin@iris-sensing.com>
+---
+ src/json-validator.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/json-validator.cpp b/src/json-validator.cpp
+index 7f34553..3c73d98 100644
+--- a/src/json-validator.cpp
++++ b/src/json-validator.cpp
+@@ -553,6 +553,9 @@ class type_schema : public schema
+ else_->validate(ptr, instance, patch, e);
+ }
+ }
++ if (instance.is_null()) {
++ patch.add(nlohmann::json::json_pointer{}, default_value_);
++ }
+ }
+
+ protected:
+@@ -1134,6 +1137,11 @@ public:
+ propertyNames_ = schema::make(attr.value(), root, {"propertyNames"}, uris);
+ sch.erase(attr);
+ }
++
++ attr = sch.find("default");
++ if (attr != sch.end()) {
++ set_default_value(*attr);
++ }
+ }
+ };
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0004-cmake-Use-GNUInstallDirs.patch b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0004-cmake-Use-GNUInstallDirs.patch
new file mode 100644
index 0000000000..8199e4f8d4
--- /dev/null
+++ b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0004-cmake-Use-GNUInstallDirs.patch
@@ -0,0 +1,43 @@
+From a42d374aa260caec5f683c75d0db322811e51ab9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 19 Mar 2022 22:40:49 -0700
+Subject: [PATCH] cmake: Use GNUInstallDirs
+
+This helps it make it platform independent, some platforms e.g.
+ppc64/linux use /usr/lib64 for system libraries
+
+Upstream-Status: Submitted [https://github.com/pboettch/json-schema-validator/pull/197]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9e4587f..3eff234 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -93,11 +93,13 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ endif()
+ endif()
+
++include(GNUInstallDirs)
++
+ if(JSON_VALIDATOR_INSTALL)
+ install(TARGETS nlohmann_json_schema_validator
+ EXPORT ${PROJECT_NAME}Targets
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${LIBDIR}
++ ARCHIVE DESTINATION ${LIBDIR}
+ RUNTIME DESTINATION bin)
+
+ install(FILES src/nlohmann/json-schema.hpp
+@@ -129,7 +131,7 @@ endif()
+
+ if(JSON_VALIDATOR_INSTALL)
+ # Set the install path to the cmake config files (Relative, so install works correctly under Hunter as well)
+- set(INSTALL_CMAKE_DIR "lib/cmake/${PROJECT_NAME}")
++ set(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+ set(INSTALL_CMAKEDIR_ROOT share/cmake)
+
+ # Install Targets
diff --git a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb
deleted file mode 100644
index 7f6c34eb3d..0000000000
--- a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "JSON schema validator for JSON for Modern C++"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c441d022da1b1663c70181a32225d006"
-
-SRC_URI = "git://github.com/pboettch/json-schema-validator"
-SRCREV = "27fc1d094503623dfe39365ba82581507524545c"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "nlohmann-json"
-
-inherit cmake
-EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF"
-
diff --git a/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb
new file mode 100644
index 0000000000..02dcdb2696
--- /dev/null
+++ b/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "JSON schema validator for JSON for Modern C++"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c441d022da1b1663c70181a32225d006"
+
+SRC_URI = "git://github.com/pboettch/json-schema-validator;branch=main;protocol=https \
+ file://0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch \
+ file://0002-Fix-assumed-signed-char.patch \
+ file://0003-For-root-value-use-empty-pointer.patch \
+ file://0004-cmake-Use-GNUInstallDirs.patch \
+ "
+
+SRCREV = "6b17782d6a5d1dee5d2c4fc5d25ffb1123913431"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "nlohmann-json"
+
+inherit cmake
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DJSON_VALIDATOR_BUILD_TESTS=OFF -DJSON_VALIDATOR_BUILD_EXAMPLES=OFF"
diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
deleted file mode 100644
index e41907de46..0000000000
--- a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.3.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "JSON C++ lib used to read and write json file."
-DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
- and writer in C++. JSON (JavaScript Object Notation) is a \
- lightweight data-interchange format. It is easy for humans to \
- read and write. It is easy for machines to parse and generate."
-
-HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp"
-
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fa2a23dd1dc6c139f35105379d76df2b"
-
-PE = "1"
-
-SRCREV = "6aba23f4a8628d599a9ef7fa4811c4ff6e4070e2"
-SRC_URI = "git://github.com/open-source-parsers/jsoncpp"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.5.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.5.bb
new file mode 100644
index 0000000000..c54dc94666
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.9.5.bb
@@ -0,0 +1,25 @@
+SUMMARY = "JSON C++ lib used to read and write json file."
+DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
+ and writer in C++. JSON (JavaScript Object Notation) is a \
+ lightweight data-interchange format. It is easy for humans to \
+ read and write. It is easy for machines to parse and generate."
+
+HOMEPAGE = "https://github.com/open-source-parsers/jsoncpp"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5d73c165a0f9e86a1342f32d19ec5926"
+
+PE = "1"
+
+SRCREV = "5defb4ed1a4293b8e2bf641e16b156fb9de498cc"
+SRC_URI = "git://github.com/open-source-parsers/jsoncpp;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DBUILD_OBJECT_LIBS=OFF -DJSONCPP_WITH_TESTS=OFF"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-Fix-build-with-libmicrohttpd.patch b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-Fix-build-with-libmicrohttpd.patch
deleted file mode 100644
index a4cacb3fc0..0000000000
--- a/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-Fix-build-with-libmicrohttpd.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From d983161415f5f5748fbdbaa5fbd168154ccf8867 Mon Sep 17 00:00:00 2001
-From: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
-Date: Wed, 5 Aug 2020 12:31:24 +0900
-Subject: [PATCH] Fix build with libmicrohttpd 0.9.71
-
----
- src/jsonrpccpp/server/connectors/httpserver.cpp | 2 +-
- src/jsonrpccpp/server/connectors/httpserver.h | 8 +++++++-
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/src/jsonrpccpp/server/connectors/httpserver.cpp b/src/jsonrpccpp/server/connectors/httpserver.cpp
-index a849615..dd3b841 100644
---- a/src/jsonrpccpp/server/connectors/httpserver.cpp
-+++ b/src/jsonrpccpp/server/connectors/httpserver.cpp
-@@ -151,7 +151,7 @@ void HttpServer::SetUrlHandler(const string &url,
- this->SetHandler(NULL);
- }
-
--int HttpServer::callback(void *cls, MHD_Connection *connection, const char *url,
-+mhd_result HttpServer::callback(void *cls, MHD_Connection *connection, const char *url,
- const char *method, const char *version,
- const char *upload_data, size_t *upload_data_size,
- void **con_cls) {
-diff --git a/src/jsonrpccpp/server/connectors/httpserver.h b/src/jsonrpccpp/server/connectors/httpserver.h
-index 7785edb..0dcf032 100644
---- a/src/jsonrpccpp/server/connectors/httpserver.h
-+++ b/src/jsonrpccpp/server/connectors/httpserver.h
-@@ -32,6 +32,12 @@ typedef intptr_t ssize_t;
- #include <map>
- #include <microhttpd.h>
-
-+#if MHD_VERSION >= 0x00097002
-+# define mhd_result enum MHD_Result
-+#else
-+# define mhd_result int
-+#endif
-+
- namespace jsonrpc {
- /**
- * This class provides an embedded HTTP Server, based on libmicrohttpd, to
-@@ -79,7 +85,7 @@ private:
- std::map<std::string, IClientConnectionHandler *> urlhandler;
- struct sockaddr_in loopback_addr;
-
-- static int callback(void *cls, struct MHD_Connection *connection,
-+ static mhd_result callback(void *cls, struct MHD_Connection *connection,
- const char *url, const char *method, const char *version,
- const char *upload_data, size_t *upload_data_size,
- void **con_cls);
---
-2.25.1
-
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
deleted file mode 100644
index 0ae39765f2..0000000000
--- a/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.3.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "C++ framework for json-rpc 1.0 and 2.0"
-DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \
- protocol in C++. JSON-RPC is a lightweight remote procedure \
- call protocol similar to XML-RPC."
-HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e728c5b36018f6c383b4b9efd9c8840"
-SECTION = "libs"
-
-DEPENDS = "curl jsoncpp libmicrohttpd hiredis"
-
-SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \
- file://0001-Fix-build-with-libmicrohttpd.patch \
-"
-
-SRCREV = "c696f6932113b81cd20cd4a34fdb1808e773f23e"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[coverage] = "-DWITH_COVERAGE=YES,-DWITH_COVERAGE=NO,,"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \
- -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \
- -DCMAKE_LIBRARY_PATH=${libdir} \
-"
-
-FILES_${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake"
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb
new file mode 100644
index 0000000000..544922f05d
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_1.4.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "C++ framework for json-rpc 1.0 and 2.0"
+DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \
+ protocol in C++. JSON-RPC is a lightweight remote procedure \
+ call protocol similar to XML-RPC."
+HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e728c5b36018f6c383b4b9efd9c8840"
+SECTION = "libs"
+
+DEPENDS = "curl jsoncpp libmicrohttpd hiredis"
+
+SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp;branch=master;protocol=https"
+
+SRCREV = "ec5ce12fc9c0299e1454cc002c70218b5a6f005b"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[coverage] = "-DWITH_COVERAGE=YES,-DWITH_COVERAGE=NO,,"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \
+ -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \
+ -DCMAKE_LIBRARY_PATH=${libdir} \
+"
+
+FILES:${PN}-dev += "${libdir}/libjson-rpc-cpp/cmake"
diff --git a/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.0.bb b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.0.bb
new file mode 100644
index 0000000000..19424337f7
--- /dev/null
+++ b/meta-oe/recipes-devtools/jwt-cpp/jwt-cpp_0.7.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A header only library for creating and validating json web tokens in c++"
+HOMEPAGE = "https://thalhammer.github.io/jwt-cpp/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8325a5ce4414c65ffdda392e0d96a9ff"
+
+SRC_URI = "git://github.com/Thalhammer/jwt-cpp.git;branch=master;protocol=https \
+ "
+
+SRCREV = "08bcf77a687fb06e34138e9e9fa12a4ecbe12332"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "openssl"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DJWT_BUILD_EXAMPLES=OFF -DJWT_CMAKE_FILES_INSTALL_DIR=${libdir}/cmake/${BPN}"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Avoid-using-hard-coded-usr-include-paths.patch b/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Avoid-using-hard-coded-usr-include-paths.patch
new file mode 100644
index 0000000000..ac20e9b88e
--- /dev/null
+++ b/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Avoid-using-hard-coded-usr-include-paths.patch
@@ -0,0 +1,33 @@
+From 2bd01e844096ab4ecaaab8eccfbfdc721a136d01 Mon Sep 17 00:00:00 2001
+From: Mark Hatle <mark.hatle@amd.com>
+Date: Tue, 22 Aug 2023 12:28:01 -0600
+Subject: [PATCH] Avoid using hard coded /usr/include paths
+
+The system could end up using an include path that points to the host
+system instead of the sysroot. Force the system to use the sysroot.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Mark Hatle <mark.hatle@amd.com>
+---
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 150bc50..4dc684f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -344,10 +344,6 @@ AS_IF(
+ [test "$need_panel_menu" = "yes" -o "$need_panel_menu" = "auto"],
+ [AC_SUBST([ncurses_nconf_CPPFLAGS])
+ AC_SUBST([ncurses_panel_menu_LIBS])
+- AS_CASE(
+- [$CURSES_LOC],
+- [ncursesw/*],[ncurses_nconf_CPPFLAGS="-I/usr/include/ncursesw"],
+- [ncurses/*],[ncurses_nconf_CPPFLAGS="-I/usr/include/ncurses"])
+ LIBS_old="$LIBS"
+ LIBS=
+ AC_SEARCH_LIBS(
+--
+2.34.1
+
diff --git a/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb b/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
index ec959d27da..b894f0ba03 100644
--- a/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
+++ b/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
@@ -8,25 +8,26 @@ kconfig infrastructure, ready for use by third-party projects. \
The kconfig-frontends package provides the kconfig parser, as well as all \
the frontends"
HOMEPAGE = "https://gitlab.com/ymorin/kconfig-frontends"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=9b8cf60ff39767ff04b671fca8302408"
SECTION = "devel"
DEPENDS += "ncurses flex-native gperf-native bison-native"
-RDEPENDS_${PN} += "python3 bash"
+RDEPENDS:${PN} += "python3 bash"
SRC_URI = "git://gitlab.com/ymorin/kconfig-frontends.git;protocol=https;branch=4.11.x \
file://0001-Makefile-ensure-frontends-exits-before-writing-into-.patch \
- file://0001-Switch-utils-kconfig-diff-to-use-Python-3.patch"
+ file://0001-Switch-utils-kconfig-diff-to-use-Python-3.patch \
+ file://0001-Avoid-using-hard-coded-usr-include-paths.patch"
SRCREV = "f22fce3a308be1c7790ebefc6bbedb33c5f7c86a"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-do_configure_prepend () {
+do_configure:prepend () {
mkdir -p ${S}/scripts/.autostuff/m4
}
-do_install_append() {
+do_install:append() {
ln -s kconfig-conf ${D}${bindir}/conf
ln -s kconfig-mconf ${D}${bindir}/mconf
}
diff --git a/meta-oe/recipes-devtools/lapack/lapack/run-ptest b/meta-oe/recipes-devtools/lapack/lapack/run-ptest
new file mode 100755
index 0000000000..8bd5fd1efb
--- /dev/null
+++ b/meta-oe/recipes-devtools/lapack/lapack/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+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/lapack/lapack_3.12.0.bb b/meta-oe/recipes-devtools/lapack/lapack_3.12.0.bb
new file mode 100644
index 0000000000..fef9d3a80e
--- /dev/null
+++ b/meta-oe/recipes-devtools/lapack/lapack_3.12.0.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Linear Algebra PACKage"
+URL = "http://www.netlib.org/lapack"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d0e7a458f9fcbf0a3ba97cef3128b85d"
+
+# Recipe needs FORTRAN support (copied from conf/local.conf.sample.extended)
+# Enabling FORTRAN
+# Note this is not officially supported and is just illustrated here to
+# show an example of how it can be done
+# You'll also need your fortran recipe to depend on libgfortran
+#FORTRAN:forcevariable = ",fortran"
+#RUNTIMETARGET:append:pn-gcc-runtime = " libquadmath"
+
+DEPENDS = "libgfortran \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'rsync-native', '', d)} \
+ "
+RDEPENDS:${PN}-ptest += "cmake"
+
+SRCREV = "04b044e020a3560ccfa9988c8a80a1fb7083fc2e"
+SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https;branch=master \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)} \
+ "
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[lapacke] = "-DLAPACKE=ON,-DLAPACKE=OFF"
+
+EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', ' -DBUILD_TESTING=ON', '', d)} \
+ "
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+inherit cmake pkgconfig ptest
+EXCLUDE_FROM_WORLD = "1"
+
+do_install_ptest () {
+ rsync -a ${B}/TESTING ${D}${PTEST_PATH} \
+ --exclude CMakeFiles \
+ --exclude cmake_install.cmake \
+ --exclude Makefile
+ rsync -a ${B}/BLAS ${D}${PTEST_PATH} \
+ --exclude CMakeFiles \
+ --exclude cmake_install.cmake \
+ --exclude Makefile
+ rsync -a ${B}/LAPACKE ${D}${PTEST_PATH} \
+ --exclude CMakeFiles \
+ --exclude cmake_install.cmake \
+ --exclude Makefile
+ cp -r ${B}/bin ${D}${PTEST_PATH}
+ cp -r ${B}/lapack_testing.py ${D}${PTEST_PATH}
+ cp ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}
+ cp ${S}/TESTING/*.in ${S}/TESTING/runtest.cmake ${D}${PTEST_PATH}/TESTING
+ cp ${S}/BLAS/TESTING/*.in ${D}${PTEST_PATH}/BLAS/TESTING
+ sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+ sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+ sed -i -e 's#${RECIPE_SYSROOT_NATIVE}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+ sed -i -e 's#${PYTHON}#/usr/bin/python3#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+ sed -i -e 's#${WORKDIR}##g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+}
diff --git a/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb b/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb
deleted file mode 100644
index 62d4df5e09..0000000000
--- a/meta-oe/recipes-devtools/lapack/lapack_3.9.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Linear Algebra PACKage"
-URL = "http://www.netlib.org/lapack"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=930f8aa500a47c7dab0f8efb5a1c9a40"
-
-# Recipe needs FORTRAN support (copied from conf/local.conf.sample.extended)
-# Enabling FORTRAN
-# Note this is not officially supported and is just illustrated here to
-# show an example of how it can be done
-# You'll also need your fortran recipe to depend on libgfortran
-#FORTRAN_forcevariable = ",fortran"
-#RUNTIMETARGET_append_pn-gcc-runtime = " libquadmath"
-
-DEPENDS = "libgfortran"
-
-SRCREV = "6acc99d5f39130be7cec00fb835606042101a970"
-SRC_URI = "git://github.com/Reference-LAPACK/lapack.git;protocol=https"
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = " -DBUILD_SHARED_LIBS=ON "
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-inherit cmake pkgconfig
-EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb b/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb
deleted file mode 100644
index 2a52dd688a..0000000000
--- a/meta-oe/recipes-devtools/ldns/ldns_1.7.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "LDNS is a DNS library that facilitates DNS tool programming"
-HOMEPAGE = "https://nlnetlabs.nl/ldns"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019"
-
-SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz"
-SRC_URI[md5sum] = "166262a46995d9972aba417fd091acd5"
-SRC_URI[sha256sum] = "8ac84c16bdca60e710eea75782356f3ac3b55680d40e1530d7cea474ac208229"
-
-DEPENDS = "openssl"
-
-inherit autotools-brokensep
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[drill] = "--with-drill,--without-drill"
-
-EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR} \
- libtool=${TARGET_PREFIX}libtool"
diff --git a/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb b/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb
new file mode 100644
index 0000000000..16816e62d8
--- /dev/null
+++ b/meta-oe/recipes-devtools/ldns/ldns_1.8.3.bb
@@ -0,0 +1,23 @@
+SUMMARY = "LDNS is a DNS library that facilitates DNS tool programming"
+HOMEPAGE = "https://nlnetlabs.nl/ldns"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=34330f15b2b4abbbaaa7623f79a6a019"
+
+SRC_URI = "https://www.nlnetlabs.nl/downloads/ldns/ldns-${PV}.tar.gz"
+SRC_URI[sha256sum] = "c3f72dd1036b2907e3a56e6acf9dfb2e551256b3c1bbd9787942deeeb70e7860"
+
+DEPENDS = "openssl"
+
+inherit autotools-brokensep
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[drill] = "--with-drill,--without-drill"
+
+EXTRA_OECONF = "--with-ssl=${STAGING_EXECPREFIXDIR}"
+
+do_install:append() {
+ sed -e 's@[^ ]*-ffile-prefix-map=[^ "]*@@g' \
+ -e 's@[^ ]*-fdebug-prefix-map=[^ "]*@@g' \
+ -e 's@[^ ]*-fmacro-prefix-map=[^ "]*@@g' \
+ -i ${D}${libdir}/pkgconfig/*.pc
+}
diff --git a/meta-oe/recipes-devtools/lemon/files/lemon.1 b/meta-oe/recipes-devtools/lemon/files/lemon.1
deleted file mode 100644
index 914ee07013..0000000000
--- a/meta-oe/recipes-devtools/lemon/files/lemon.1
+++ /dev/null
@@ -1,63 +0,0 @@
-.Dd 2002-10-04
-.Dt LEMON 1
-.Os "Debian GNU/Linux"
-.\" Manual page created by Guus Sliepen <guus@debian.org>
-.Sh NAME
-.Nm lemon
-.Nd The Lemon Parser Generator
-.Sh SYNOPSIS
-.Nm
-.Op Fl bcgmqsx
-.Ar input
-.Sh DESCRIPTION
-.Nm
-is an LALR(1) parser generator for C or C++.
-It does the same job as bison and yacc.
-But
-.Nm
-is not another bison or yacc clone.
-It uses a different grammar syntax which is designed to reduce the number of coding errors.
-.Nm
-also uses a more sophisticated parsing engine that is faster than yacc and bison
-and which is both reentrant and thread-safe.
-Furthermore,
-.Nm
-implements features that can be used to eliminate resource leaks,
-making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers.
-.Pp
-.Nm
-will read the grammer from
-.Ar input
-and write out a parser for that grammar in the C language.
-.Sh OPTIONS
-.Bl -tag -width indent
-.It Fl b
-Print only the basis in report.
-.It Fl c
-Don't compress the action table.
-.It Fl g
-Print grammar without actions.
-.It Fl m
-Output a makeheaders compatible file.
-.It Fl q
-(Quiet) Don't print the report file.
-.It Fl s
-Print parser stats to standard output.
-.It Fl x
-Print the version number.
-.El
-.Sh FILES
-.Bl -tag -width indent
-.It Pa /usr/share/lemon/lempar.c
-Driver template for the
-.Nm
-parser generator.
-.El
-.Sh AUTHOR
-.Nm
-has been written by
-.An D. Richard Hipp Aq drh@hwaci.com .
-.Pp
-This manual page was written by
-.An Guus Sliepen Aq guus@debian.org
-for the Debian GNU/Linux system.
diff --git a/meta-oe/recipes-devtools/lemon/lemon.inc b/meta-oe/recipes-devtools/lemon/lemon.inc
deleted file mode 100644
index 57b9fb710e..0000000000
--- a/meta-oe/recipes-devtools/lemon/lemon.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-DESCRIPTION = "The Lemon Parser Generator"
-HOMEPAGE = "http://www.hwaci.com/sw/lemon/"
-LICENSE = "PD"
-SECTION = "devel"
-
-SRC_URI = "http://www.sqlite.org/sqlite-${PV}.tar.gz \
- file://lemon.1"
-
-S = "${WORKDIR}/sqlite-${PV}/tool"
-
-do_compile() {
- ${CC} ${CFLAGS} lemon.c -c -o lemon.o
- ${CCLD} ${LDFLAGS} lemon.o -o lemon
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 lemon ${D}${bindir}
- install -m 0644 lempar.c ${D}${bindir}
- install -d ${D}${mandir}/man1
- install -m 0644 ${WORKDIR}/lemon.1 ${D}${mandir}/man1/
-}
-
-BBCLASSEXTEND = "native"
-
diff --git a/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb b/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb
new file mode 100644
index 0000000000..2904a454dc
--- /dev/null
+++ b/meta-oe/recipes-devtools/lemon/lemon_3.44.2.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "The Lemon Parser Generator"
+HOMEPAGE = "https://sqlite.org/src/file/doc/lemon.html"
+LICENSE = "PD"
+SECTION = "devel"
+
+LIC_FILES_CHKSUM = "file://tool/lemon.c;endline=8;md5=c7551a78fa3fdecd96d1ad6761d205ee"
+
+SRC_URI = "git://github.com/sqlite/sqlite;protocol=https;branch=branch-3.44"
+
+SRCREV = "c8f9803dc32bfee78a9ca2b1abbe39499729219b"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} tool/lemon.c -o lemon
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 lemon ${D}${bindir}
+ install -m 0644 tool/lempar.c ${D}${bindir}
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb b/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb
deleted file mode 100644
index 354db17e6e..0000000000
--- a/meta-oe/recipes-devtools/lemon/lemon_3.7.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require lemon.inc
-
-LIC_FILES_CHKSUM = "file://lemon.c;endline=8;md5=c7551a78fa3fdecd96d1ad6761d205ee"
-
-SRC_URI[md5sum] = "5437978aae90350cf984993091e0d695"
-SRC_URI[sha256sum] = "dbf352e8fbb74829f5e7a88f9f6ceeb80a709537f668c36e4b6cdfb271309ef6"
-
diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb b/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb
deleted file mode 100644
index 576eff6d57..0000000000
--- a/meta-oe/recipes-devtools/libgee/libgee_0.20.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
-and classes for commonly used data structures."
-HOMEPAGE = "http://live.gnome.org/Libgee"
-SECTION = "libs"
-DEPENDS = "glib-2.0"
-
-BBCLASSEXTEND = "native"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-
-PE = "1"
-inherit gnomebase vala gobject-introspection
-
-do_configure_prepend() {
- MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
- for i in ${MACROS}; do
- rm -f m4/$i
- done
-}
-
-SRC_URI[archive.md5sum] = "e574b3952b93d219b5ec7c74c5892c33"
-SRC_URI[archive.sha256sum] = "d0b5edefc88cbca5f1709d19fa62aef490922c6577a14ac4e7b085507911a5de"
diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb b/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb
new file mode 100644
index 0000000000..0ed6e8235d
--- /dev/null
+++ b/meta-oe/recipes-devtools/libgee/libgee_0.20.6.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
+and classes for commonly used data structures."
+HOMEPAGE = "http://live.gnome.org/Libgee"
+SECTION = "libs"
+DEPENDS = "glib-2.0"
+
+BBCLASSEXTEND = "native"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+
+GNOMEBASEBUILDCLASS = "autotools"
+inherit gnomebase vala gobject-introspection
+
+do_configure:prepend() {
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+ for i in ${MACROS}; do
+ rm -f m4/$i
+ done
+}
+
+SRC_URI[archive.sha256sum] = "1bf834f5e10d60cc6124d74ed3c1dd38da646787fbf7872220b8b4068e476d4d"
diff --git a/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb b/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb
index b83e86a488..9b18269bcb 100644
--- a/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb
+++ b/meta-oe/recipes-devtools/libsombok3/libsombok3_2.4.0.bb
@@ -4,20 +4,19 @@ Unicode Standard Annex #14 (UAX #14). East_Asian_Width informative \
properties defined by Annex #11 (UAX #11) may be concerned to determin \
breaking positions. This package also implements "default" Grapheme \
Cluster segmentation described in Annex #29 (UAX #29)."
-LICENSE = "Artistic-1.0 | GPLv1+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=5b122a36d0f6dc55279a0ebc69f3c60b"
-SRC_URI = "git://github.com/hatukanezumi/sombok.git;protocol=https \
+SRC_URI = "git://github.com/hatukanezumi/sombok.git;protocol=https;branch=master \
file://0001-configure.ac-fix-cross-compiling-issue.patch \
"
-inherit autotools pkgconfig
+inherit autotools-brokensep pkgconfig
# sombok-2.4.0
SRCREV = "0098d85a037ef5c99a648a3669a077781a45e8cc"
S = "${WORKDIR}/git"
-B = "${S}"
# Disable libthai support
EXTRA_OECONF = "--disable-libthai"
diff --git a/meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch b/meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch
index 02117fa8d6..f82c31ad07 100644
--- a/meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch
+++ b/meta-oe/recipes-devtools/libubox/libubox/0001-version-libraries.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 57804cf..1aa7f27 100644
--- a/CMakeLists.txt
diff --git a/meta-oe/recipes-devtools/libubox/libubox_git.bb b/meta-oe/recipes-devtools/libubox/libubox_git.bb
index 7dbefa1152..39e18cdafd 100644
--- a/meta-oe/recipes-devtools/libubox/libubox_git.bb
+++ b/meta-oe/recipes-devtools/libubox/libubox_git.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "C utility functions for OpenWrt"
SECTION = "libs"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "\
file://avl.c;endline=39;md5=00810155fed3d604816ec5814523d60a \
file://avl-cmp.c;endline=15;md5=1603e6094b432a5f3f320877a06f41b5 \
@@ -13,18 +13,18 @@ LIC_FILES_CHKSUM = "\
"
SRC_URI = "\
- git://git.openwrt.org/project/libubox.git \
+ git://git.openwrt.org/project/libubox.git;branch=master \
file://0001-version-libraries.patch \
file://fix-libdir.patch \
file://0001-blobmsg-fix-array-out-of-bounds-GCC-10-warning.patch \
"
SRCREV = "07413cce72e19520af55dfcbc765484f5ab41dd9"
-PV = "1.0.1+git${SRCPV}"
+PV = "1.0.1+git"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake pkgconfig
DEPENDS = "json-c"
diff --git a/meta-oe/recipes-devtools/lshw/files/0001-Fix-musl-build.patch b/meta-oe/recipes-devtools/lshw/files/0001-Fix-musl-build.patch
deleted file mode 100644
index fa90aa1211..0000000000
--- a/meta-oe/recipes-devtools/lshw/files/0001-Fix-musl-build.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From a5a4bb4254b2109bd3e272174946f0bb36ee99a8 Mon Sep 17 00:00:00 2001
-From: Leon Anavi <leon.anavi@konsulko.com>
-Date: Tue, 25 Aug 2020 11:45:45 +0300
-Subject: [PATCH] Fix musl build
-
-Apply the following fixes for musl:
-
-- Fix basename() is in libgen.h
-- Fix wrong usage of LONG_BIT
-
-Same fixes have been submitted to the upstream of lshw by Sergio
-Prado but they have not been merged yet.
-
-Upstream-Status: Submitted
-
-Co-Authored-By: Sergio Prado <sergio.prado@e-labworks.com>
-Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
----
- src/core/abi.cc | 4 +---
- src/core/sysfs.cc | 19 ++++++++++---------
- 2 files changed, 11 insertions(+), 12 deletions(-)
-
-diff --git a/src/core/abi.cc b/src/core/abi.cc
-index adff7b5..76c664c 100644
---- a/src/core/abi.cc
-+++ b/src/core/abi.cc
-@@ -20,9 +20,7 @@ __ID("@(#) $Id: mem.cc 1352 2006-05-27 23:54:13Z ezix $");
- bool scan_abi(hwNode & system)
- {
- // are we compiled as 32- or 64-bit process ?
-- long sc = sysconf(LONG_BIT);
-- if(sc==-1) sc = sysconf(_SC_LONG_BIT);
-- if(sc!=-1) system.setWidth(sc);
-+ system.setWidth(LONG_BIT);
-
- pushd(PROC_SYS);
-
-diff --git a/src/core/sysfs.cc b/src/core/sysfs.cc
-index 32d6564..c2fa84f 100644
---- a/src/core/sysfs.cc
-+++ b/src/core/sysfs.cc
-@@ -16,6 +16,7 @@
- #include <sys/stat.h>
- #include <sys/types.h>
- #include <sys/mount.h>
-+#include <libgen.h>
-
-
- __ID("@(#) $Id$");
-@@ -100,7 +101,7 @@ static string sysfs_getbustype(const string & path)
- {
- devname =
- string(fs.path + "/bus/") + string(namelist[i]->d_name) +
-- "/devices/" + basename(path.c_str());
-+ "/devices/" + basename(const_cast<char*>(path.c_str()));
-
- if (samefile(devname, path))
- return string(namelist[i]->d_name);
-@@ -140,7 +141,7 @@ static string sysfstobusinfo(const string & path)
-
- if (bustype == "usb")
- {
-- string name = basename(path.c_str());
-+ string name = basename(const_cast<char*>(path.c_str()));
- if (matches(name, "^[0-9]+-[0-9]+(\\.[0-9]+)*:[0-9]+\\.[0-9]+$"))
- {
- size_t colon = name.rfind(":");
-@@ -151,7 +152,7 @@ static string sysfstobusinfo(const string & path)
-
- if (bustype == "virtio")
- {
-- string name = basename(path.c_str());
-+ string name = basename(const_cast<char*>(path.c_str()));
- if (name.compare(0, 6, "virtio") == 0)
- return "virtio@" + name.substr(6);
- else
-@@ -159,10 +160,10 @@ static string sysfstobusinfo(const string & path)
- }
-
- if (bustype == "vio")
-- return string("vio@") + basename(path.c_str());
-+ return string("vio@") + basename(const_cast<char*>(path.c_str()));
-
- if (bustype == "ccw")
-- return string("ccw@") + basename(path.c_str());
-+ return string("ccw@") + basename(const_cast<char*>(path.c_str()));
-
- if (bustype == "ccwgroup")
- {
-@@ -240,7 +241,7 @@ string entry::driver() const
- string driverlink = This->devpath + "/driver";
- if (!exists(driverlink))
- return "";
-- return basename(readlink(driverlink).c_str());
-+ return basename(const_cast<char*>(readlink(driverlink).c_str()));
- }
-
-
-@@ -328,7 +329,7 @@ string entry::name_in_class(const string & classname) const
-
- string entry::name() const
- {
-- return basename(This->devpath.c_str());
-+ return basename(const_cast<char*>(This->devpath.c_str()));
- }
-
-
-@@ -340,12 +341,12 @@ entry entry::parent() const
-
- string entry::classname() const
- {
-- return basename(dirname(This->devpath).c_str());
-+ return basename(const_cast<char*>(dirname(This->devpath).c_str()));
- }
-
- bool entry::isvirtual() const
- {
-- return string(basename(dirname(dirname(This->devpath)).c_str())) == "virtual";
-+ return string(basename(const_cast<char*>(dirname(dirname(This->devpath)).c_str()))) == "virtual";
- }
-
- string entry::string_attr(const string & name, const string & def) const
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/lshw/files/0001-disable-docbook2man.patch b/meta-oe/recipes-devtools/lshw/files/0001-disable-docbook2man.patch
new file mode 100644
index 0000000000..706f2d5248
--- /dev/null
+++ b/meta-oe/recipes-devtools/lshw/files/0001-disable-docbook2man.patch
@@ -0,0 +1,30 @@
+From 544df0f5fd99925a3ce568c777413e0c31cb0028 Mon Sep 17 00:00:00 2001
+From: Jose Quaresma <jose.quaresma@foundries.io>
+Date: Mon, 2 Jan 2023 15:32:39 +0000
+Subject: [PATCH] build: Do not build .sgml file
+
+It needs docbook2man tool which we do not have recipe for
+
+Upstream-Status: Inappropriate [needs native docbook2man tool]
+
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index ac726d0..af6281d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -102,7 +102,7 @@ $(PACKAGENAME)-compressed: $(PACKAGENAME)-static
+ upx -9 -o $@ $<
+
+ $(PACKAGENAME).1: $(PACKAGENAME).sgml
+- docbook2man $<
++ @echo "Needs docbook2man"
+
+ pci.ids:
+ wget http://pciids.sourceforge.net/pci.ids
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb b/meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb
deleted file mode 100644
index a26fac9924..0000000000
--- a/meta-oe/recipes-devtools/lshw/lshw_02.19.2.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "A small tool to provide detailed information on the hardware \
-configuration of the machine. It can report exact memory configuration, \
-firmware version, mainboard configuration, CPU version and speed, cache \
-configuration, bus speed, etc. on DMI-capable or EFI systems."
-SUMMARY = "Hardware lister"
-HOMEPAGE = "http://ezix.org/project/wiki/HardwareLiSter"
-SECTION = "console/tools"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
-
-SRC_URI = " \
- http://ezix.org/software/files/lshw-B.${PV}.tar.gz \
- file://0001-Fix-musl-build.patch \
-"
-SRC_URI[md5sum] = "8c70d46e906688309095c73ecb9396e3"
-SRC_URI[sha256sum] = "9bb347ac87142339a366a1759ac845e3dbb337ec000aa1b99b50ac6758a80f80"
-
-S = "${WORKDIR}/lshw-B.${PV}"
-
-do_compile() {
- # build core only - don't ship gui
- oe_runmake -C src core
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/lshw/lshw_02.20.bb b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb
new file mode 100644
index 0000000000..0fb68d8684
--- /dev/null
+++ b/meta-oe/recipes-devtools/lshw/lshw_02.20.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "A small tool to provide detailed information on the hardware \
+configuration of the machine. It can report exact memory configuration, \
+firmware version, mainboard configuration, CPU version and speed, cache \
+configuration, bus speed, etc. on DMI-capable or EFI systems."
+SUMMARY = "Hardware lister"
+HOMEPAGE = "http://ezix.org/project/wiki/HardwareLiSter"
+SECTION = "console/tools"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64|riscv64).*-linux"
+
+PV .= "+git"
+SRCREV = "4c6497c8b0a67cd9fa9693e9101a7cafd3297e81"
+SRC_URI = " \
+ git://github.com/lyonel/lshw.git;protocol=https;branch=master \
+ file://0001-disable-docbook2man.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+DEPENDS = "gettext-native"
+
+PACKAGECONFIG ??= "zlib"
+PACKAGECONFIG[sqlite] = "SQLITE=1,SQLITE=0,sqlite3"
+PACKAGECONFIG[zlib] = "ZLIB=1,ZLIB=0,zlib gzip-native"
+
+# use the PACKAGECONFIG configurations arguments
+EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS} RPM_OPT_FLAGS='${CFLAGS}'"
+
+do_compile() {
+ # build core only - don't ship gui
+ oe_runmake -C src core
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch
index 4d0e0392f7..c896e3ebb0 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ARM-code-has-unreachable-code-after-switch-statement.patch
@@ -11,6 +11,8 @@ sysdeps/linux-gnu/arm/trace.c:173:33: error: statement will never be executed [-
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
sysdeps/linux-gnu/arm/trace.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
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
new file mode 100644
index 0000000000..61932269bd
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Fix-type-of-single-bit-bitfields.patch
@@ -0,0 +1,86 @@
+From 491b3b153f6b5cbf2d23a9778e5676eb29a6705f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Feb 2023 16:37:19 -0800
+Subject: [PATCH] Fix type of single bit bitfields
+
+clang16 warns
+trace.c:311:22: error: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Werror,-Wsingle-bit-bitfield-constant-conversion]
+
+quash the warning by using an unsigned type to allow
+an assignment of 0 or 1 without implicit conversion.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ library.h | 6 +++---
+ prototype.h | 2 +-
+ sysdeps/linux-gnu/trace.h | 10 +++++-----
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+--- a/library.h
++++ b/library.h
+@@ -71,20 +71,20 @@ struct library_symbol {
+ * looking up one in LIB->protolib. */
+ struct prototype *proto;
+
+- int own_name : 1;
++ unsigned int own_name : 1;
+
+ /* This is relevant for PLT symbols. Latent PLT symbols are
+ * those that don't match any of the -e rules, but that might
+ * potentially become active if a library implementing them
+ * appears that matches a -l rule. Ltrace core is responsible
+ * for clearing latent flag. */
+- int latent : 1;
++ unsigned latent : 1;
+
+ /* Delayed symbols are those for which a breakpoint shouldn't
+ * be enabled yet. They are similar to latent symbols, but
+ * backend is responsible for clearing the delayed flag. See
+ * proc_activate_delayed_symbol. */
+- int delayed : 1;
++ unsigned int delayed : 1;
+
+ struct arch_library_symbol_data arch;
+ struct os_library_symbol_data os;
+--- a/prototype.h
++++ b/prototype.h
+@@ -162,7 +162,7 @@ struct protolib_cache {
+
+ /* For tracking uses of cache during cache's own
+ * initialization. */
+- int bootstrap : 1;
++ unsigned int bootstrap : 1;
+ };
+
+ /* Initialize CACHE. Returns 0 on success or a negative value on
+--- a/sysdeps/linux-gnu/trace.h
++++ b/sysdeps/linux-gnu/trace.h
+@@ -33,11 +33,11 @@
+ struct pid_task {
+ pid_t pid; /* This may be 0 for tasks that exited
+ * mid-handling. */
+- int sigstopped : 1;
+- int got_event : 1;
+- int delivered : 1;
+- int vforked : 1;
+- int sysret : 1;
++ unsigned int sigstopped : 1;
++ unsigned int got_event : 1;
++ unsigned int delivered : 1;
++ unsigned int vforked : 1;
++ unsigned int sysret : 1;
+ };
+
+ struct pid_set {
+--- a/sysdeps/linux-gnu/trace.c
++++ b/sysdeps/linux-gnu/trace.c
+@@ -1043,7 +1043,7 @@ ltrace_exiting_install_handler(struct pr
+ struct process_vfork_handler
+ {
+ struct event_handler super;
+- int vfork_bp_refd:1;
++ unsigned int vfork_bp_refd:1;
+ };
+
+ static Event *
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch
index 01a35842c8..38a7d055dc 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-Use-correct-enum-type.patch
@@ -7,6 +7,8 @@ Clang warns about wrong enum initializtion
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
sysdeps/linux-gnu/aarch64/fetch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
index 52264a17e6..f3a6d9e599 100644
--- 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
@@ -5,6 +5,8 @@ Subject: [PATCH] configure: Recognise linux-musl as a host OS
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch
new file mode 100644
index 0000000000..f83e0a2738
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch
@@ -0,0 +1,50 @@
+From ed8dbe1c793f2f770fef61adc4390277f903cceb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 9 Jul 2021 01:32:42 -0700
+Subject: [PATCH] mips: Use hardcodes values for ABI syscall bases
+
+mips kernels 5.13+ have stopped exposing the UAPIs which provided these
+defines, the values are more or less static so just use the hardcoded
+values for now. Use __NR_syscalls to get number of syscalls supported
+and include asm-generic/unistd.h to get this definition
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux-gnu/mips/trace.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/sysdeps/linux-gnu/mips/trace.c b/sysdeps/linux-gnu/mips/trace.c
+index d54818e..e72184d 100644
+--- a/sysdeps/linux-gnu/mips/trace.c
++++ b/sysdeps/linux-gnu/mips/trace.c
+@@ -33,6 +33,7 @@
+ #include <asm/unistd.h>
+ #include <assert.h>
+ #include <asm/unistd.h>
++#include <asm-generic/unistd.h>
+
+ #include "backend.h"
+ #include "common.h"
+@@ -135,12 +136,12 @@ syscall_p(struct process *proc, int status, int *sysnum)
+ int min_syscall, max_syscall, sigreturn, rt_sigreturn;
+ struct callstack_element *top = NULL;
+ int depth = proc->callstack_depth;
+- const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux,
+- __NR_64_Linux, __NR_O32_Linux};
+- const int syscallnum[] = {__NR_O32_Linux_syscalls,
+- __NR_N32_Linux_syscalls,
+- __NR_64_Linux_syscalls,
+- __NR_O32_Linux_syscalls};
++ const int syscallbase[] = {4000, 6000,
++ 5000, 4000};
++ const int syscallnum[] = {__NR_syscalls,
++ __NR_syscalls,
++ __NR_syscalls,
++ __NR_syscalls};
+ const int rt_sigreturn_list[] = {193, 211, 211, 193};
+ const int sigreturn_list[] = {119, -1, -1, 119};
+
+--
+2.32.0
+
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch
index 76ba7de785..ce4dcf8a98 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-mips-plt.c-Delete-include-error.h.patch
@@ -7,6 +7,8 @@ Its not needed
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
sysdeps/linux-gnu/mips/plt.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-Remove-unused-host_powerpc64-function.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-Remove-unused-host_powerpc64-function.patch
new file mode 100644
index 0000000000..35062debf2
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-Remove-unused-host_powerpc64-function.patch
@@ -0,0 +1,39 @@
+From 4517bf59838f40eb6e3f46e39adb5e5090c59df8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Jun 2021 18:14:36 -0700
+Subject: [PATCH] ppc: Remove unused host_powerpc64 function
+
+This function is dead code, remove it which avoids compiler warnings
+with clang
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ sysdeps/linux-gnu/ppc/plt.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c
+index 5f81889..9d1838b 100644
+--- a/sysdeps/linux-gnu/ppc/plt.c
++++ b/sysdeps/linux-gnu/ppc/plt.c
+@@ -142,16 +142,6 @@
+ #define PPC64_PLT_STUB_SIZE 4
+ #endif
+
+-static inline int
+-host_powerpc64()
+-{
+-#ifdef __powerpc64__
+- return 1;
+-#else
+- return 0;
+-#endif
+-}
+-
+ static void
+ mark_as_resolved(struct library_symbol *libsym, GElf_Addr value)
+ {
+--
+2.32.0
+
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch
new file mode 100644
index 0000000000..4793e561c0
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ppc-plt-do-not-free-symbol-libsym.patch
@@ -0,0 +1,29 @@
+From f47672bed5905ae382e80b09dafca9a8da45aa67 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 19 Apr 2022 18:44:36 -0700
+Subject: [PATCH] ppc/plt: do not free symbol libsym
+
+delete_symbol_chain() will call free as well if sybol is non-null
+it also fixes use-after-free warnings that compiler emits
+
+Upstream-Status: Submitted [https://gitlab.com/cespedes/ltrace/-/merge_requests/2]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/linux-gnu/ppc/plt.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c
+index 5f81889..7c1c025 100644
+--- a/sysdeps/linux-gnu/ppc/plt.c
++++ b/sysdeps/linux-gnu/ppc/plt.c
+@@ -687,7 +687,6 @@ arch_elf_add_func_entry(struct process *proc, struct ltelf *lte,
+ if (libsym == NULL
+ || library_symbol_init(libsym, addr, full_name, 1,
+ LS_TOPLT_NONE) < 0) {
+- free(libsym);
+ delete_symbol_chain(libsym);
+ libsym = NULL;
+ fprintf(stderr, "Couldn't add symbol %s"
+--
+2.36.0
+
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch b/meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch
index c152771923..f78db5b0db 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/0002-Fix-const-qualifier-error.patch
@@ -8,6 +8,8 @@ error: duplicate 'const' declaration specifier [-Werror,-Wduplicate-decl-specifi
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
dict.h | 2 +-
library.c | 2 +-
vect.h | 2 +-
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch b/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch
new file mode 100644
index 0000000000..dcd0285db6
--- /dev/null
+++ b/meta-oe/recipes-devtools/ltrace/ltrace/add_ppc64le.patch
@@ -0,0 +1,41 @@
+Upstream-Status: Pending
+
+--- a/sysdeps/linux-gnu/ppc/ptrace.h
++++ b/sysdeps/linux-gnu/ppc/ptrace.h
+@@ -18,4 +18,5 @@
+ * 02110-1301 USA
+ */
+
++#include <asm/ptrace.h>
+ #include <sys/ptrace.h>
+--- a/sysdeps/linux-gnu/ppc/regs.c
++++ b/sysdeps/linux-gnu/ppc/regs.c
+@@ -23,11 +23,14 @@
+
+ #include "config.h"
+
++#include <string.h>
+ #include <sys/types.h>
+ #include <sys/ptrace.h>
+ #include <asm/ptrace.h>
+ #include <errno.h>
++#ifdef HAVE_ERROR_H
+ #include <error.h>
++#endif
+
+ #include "proc.h"
+ #include "common.h"
+@@ -49,8 +52,11 @@ get_instruction_pointer(struct process *
+ void
+ set_instruction_pointer(struct process *proc, void *addr)
+ {
+- if (ptrace(PTRACE_POKEUSER, proc->pid, sizeof(long)*PT_NIP, addr) != 0)
+- error(0, errno, "set_instruction_pointer");
++ if (ptrace(PTRACE_POKEUSER, proc->pid, sizeof(long)*PT_NIP, addr) != 0){
++ report_global_error("%s: set_instruction_pointer",
++ strerror(errno));
++ exit(1);
++ }
+ }
+
+ void *
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch b/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch
deleted file mode 100644
index e4490bbb9e..0000000000
--- a/meta-oe/recipes-devtools/ltrace/ltrace/include_unistd_nr.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-kernel headers have restructured mips syscall generation in kernel
-in recent versions, however, ltrace still has logic to define the
-syscall numbers based on old logic, this patch includes the legacy
-UAPI headers to get these defines
-
-Fixes errors e.g.
-../../../../git/sysdeps/linux-gnu/mips/trace.c:138:29: error: '__NR_O32_Linux' undeclared (first use in this function)
- const int syscallbase[] = {__NR_O32_Linux, __NR_N32_Linux,
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/sysdeps/linux-gnu/mips/trace.c
-+++ b/sysdeps/linux-gnu/mips/trace.c
-@@ -34,6 +34,16 @@
- #include <assert.h>
- #include <asm/unistd.h>
-
-+#ifndef __NR_O32_Linux
-+#include <asm/unistd_nr_o32.h>
-+#endif
-+#ifndef __NR_N32_Linux
-+#include <asm/unistd_nr_n64.h>
-+#endif
-+#ifndef __NR_N64_Linux
-+#include <asm/unistd_nr_n32.h>
-+#endif
-+
- #include "backend.h"
- #include "common.h"
- #include "debug.h"
diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
index 5710943d74..63971970cf 100644
--- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
+++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
@@ -6,15 +6,15 @@ It can also intercept and print the system calls executed by the program.\
"
HOMEPAGE = "http://ltrace.org/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
PE = "1"
-PV = "7.91+git${SRCPV}"
+PV = "7.91+git"
SRCREV = "c22d359433b333937ee3d803450dc41998115685"
DEPENDS = "elfutils"
-SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http \
+SRC_URI = "git://github.com/sparkleholic/ltrace.git;protocol=https;branch=master \
file://configure-allow-to-disable-selinux-support.patch \
file://0001-replace-readdir_r-with-readdir.patch \
file://0001-Use-correct-enum-type.patch \
@@ -26,10 +26,15 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http
file://0001-mips-plt.c-Delete-include-error.h.patch \
file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
file://0001-hook-Do-not-append-int-to-std-string.patch \
- file://include_unistd_nr.patch \
file://0001-Bug-fix-for-data-type-length-judgment.patch \
file://0001-ensure-the-struct-pointers-are-null-initilized.patch \
+ file://0001-ppc-Remove-unused-host_powerpc64-function.patch \
+ file://0001-mips-Use-hardcodes-values-for-ABI-syscall-bases.patch \
+ file://0001-ppc-plt-do-not-free-symbol-libsym.patch \
+ file://0001-Fix-type-of-single-bit-bitfields.patch \
"
+SRC_URI:append:libc-musl = " file://add_ppc64le.patch"
+
S = "${WORKDIR}/git"
inherit autotools
@@ -38,9 +43,9 @@ PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
PACKAGECONFIG[unwind] = "--with-libunwind,--without-libunwind,libunwind"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
-do_configure_prepend () {
+do_configure:prepend () {
( cd ${S}; ./autogen.sh )
}
diff --git a/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch b/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch
deleted file mode 100644
index e767900864..0000000000
--- a/meta-oe/recipes-devtools/lua/lua/0001-Allow-building-lua-without-readline-on-Linux.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 601ef636fc4dfb2af3e7fda88d8ea1c1d92affe4 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 2 Oct 2019 17:54:15 +0200
-Subject: [PATCH] Allow building lua without readline on Linux
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- Makefile | 2 +-
- src/Makefile | 3 +++
- src/luaconf.h | 5 +++++
- 3 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 119110d..9f6df45 100644
---- a/Makefile
-+++ b/Makefile
-@@ -36,7 +36,7 @@ RM= rm -f
- # == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
-
- # Convenience platforms targets.
--PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
-+PLATS= aix bsd c89 freebsd generic linux linux-no-readline macosx mingw posix solaris
-
- # What to install.
- TO_BIN= lua luac
-diff --git a/src/Makefile b/src/Makefile
-index 64c78f7..5c0428a 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -109,6 +109,9 @@ generic: $(ALL)
- linux:
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
-
-+linux-no-readline:
-+ $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX_NO_READLINE" SYSLIBS="-Wl,-E -ldl"
-+
- macosx:
- $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline"
-
-diff --git a/src/luaconf.h b/src/luaconf.h
-index 9eeeea6..d71ca25 100644
---- a/src/luaconf.h
-+++ b/src/luaconf.h
-@@ -64,6 +64,11 @@
- #define LUA_USE_READLINE /* needs some extra libraries */
- #endif
-
-+#if defined(LUA_USE_LINUX_NO_READLINE)
-+#define LUA_USE_POSIX
-+#define LUA_USE_DLOPEN /* needs an extra library: -ldl */
-+#endif
-+
-
- #if defined(LUA_USE_MACOSX)
- #define LUA_USE_POSIX
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/lua/lua/0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch b/meta-oe/recipes-devtools/lua/lua/0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch
deleted file mode 100644
index a302874d76..0000000000
--- a/meta-oe/recipes-devtools/lua/lua/0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 1e6df25ac28dcd89f0324177bb55019422404b44 Mon Sep 17 00:00:00 2001
-From: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
-Date: Thu, 3 Sep 2020 15:32:17 +0800
-Subject: [PATCH] Fixed bug: barriers cannot be active during sweep
-
-Barriers cannot be active during sweep, even in generational mode.
-(Although gen. mode is not incremental, it can hit a barrier when
-deleting a thread and closing its upvalues.) The colors of objects are
-being changed during sweep and, therefore, cannot be trusted.
-
-Upstream-Status: Backport [https://github.com/lua/lua/commit/a6da1472c0c5e05ff249325f979531ad51533110]
-CVE: CVE-2020-24371
-
-[Adjust code KGC_INC -> KGC_NORMAL, refer 69371c4b84becac09c445aae01d005b49658ef82]
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
----
- src/lgc.c | 33 ++++++++++++++++++++++++---------
- 1 file changed, 24 insertions(+), 9 deletions(-)
-
-diff --git a/src/lgc.c b/src/lgc.c
-index 973c269..7af23d5 100644
---- a/src/lgc.c
-+++ b/src/lgc.c
-@@ -142,10 +142,17 @@ static int iscleared (global_State *g, const TValue *o) {
-
-
- /*
--** barrier that moves collector forward, that is, mark the white object
--** being pointed by a black object. (If in sweep phase, clear the black
--** object to white [sweep it] to avoid other barrier calls for this
--** same object.)
-+** Barrier that moves collector forward, that is, marks the white object
-+** 'v' being pointed by the black object 'o'. In the generational
-+** mode, 'v' must also become old, if 'o' is old; however, it cannot
-+** be changed directly to OLD, because it may still point to non-old
-+** objects. So, it is marked as OLD0. In the next cycle it will become
-+** OLD1, and in the next it will finally become OLD (regular old). By
-+** then, any object it points to will also be old. If called in the
-+** incremental sweep phase, it clears the black object to white (sweep
-+** it) to avoid other barrier calls for this same object. (That cannot
-+** be done is generational mode, as its sweep does not distinguish
-+** whites from deads.)
- */
- void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) {
- global_State *g = G(L);
-@@ -154,7 +161,8 @@ void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) {
- reallymarkobject(g, v); /* restore invariant */
- else { /* sweep phase */
- lua_assert(issweepphase(g));
-- makewhite(g, o); /* mark main obj. as white to avoid other barriers */
-+ if (g->gckind == KGC_NORMAL) /* incremental mode? */
-+ makewhite(g, o); /* mark 'o' as white to avoid other barriers */
- }
- }
-
-@@ -299,10 +307,15 @@ static void markbeingfnz (global_State *g) {
-
-
- /*
--** Mark all values stored in marked open upvalues from non-marked threads.
--** (Values from marked threads were already marked when traversing the
--** thread.) Remove from the list threads that no longer have upvalues and
--** not-marked threads.
-+** For each non-marked thread, simulates a barrier between each open
-+** upvalue and its value. (If the thread is collected, the value will be
-+** assigned to the upvalue, but then it can be too late for the barrier
-+** to act. The "barrier" does not need to check colors: A non-marked
-+** thread must be young; upvalues cannot be older than their threads; so
-+** any visited upvalue must be young too.) Also removes the thread from
-+** the list, as it was already visited. Removes also threads with no
-+** upvalues, as they have nothing to be checked. (If the thread gets an
-+** upvalue later, it will be linked in the list again.)
- */
- static void remarkupvals (global_State *g) {
- lua_State *thread;
-@@ -313,9 +326,11 @@ static void remarkupvals (global_State *g) {
- p = &thread->twups; /* keep marked thread with upvalues in the list */
- else { /* thread is not marked or without upvalues */
- UpVal *uv;
-+ lua_assert(!isold(thread) || thread->openupval == NULL);
- *p = thread->twups; /* remove thread from the list */
- thread->twups = thread; /* mark that it is out of list */
- for (uv = thread->openupval; uv != NULL; uv = uv->u.open.next) {
-+ lua_assert(getage(uv) <= getage(thread));
- if (uv->u.open.touched) {
- markvalue(g, uv->v); /* remark upvalue's value */
- uv->u.open.touched = 0;
---
-1.9.1
-
diff --git a/meta-oe/recipes-devtools/lua/lua/CVE-2020-15888.patch b/meta-oe/recipes-devtools/lua/lua/CVE-2020-15888.patch
deleted file mode 100644
index 60a4125971..0000000000
--- a/meta-oe/recipes-devtools/lua/lua/CVE-2020-15888.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 6298903e35217ab69c279056f925fb72900ce0b7 Mon Sep 17 00:00:00 2001
-From: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
-Date: Mon, 6 Jul 2020 12:11:54 -0300
-Subject: [PATCH] Keep minimum size when shrinking a stack
-
-When shrinking a stack (during GC), do not make it smaller than the
-initial stack size.
----
- ldo.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-==== end of original header ====
-
-CVE: CVE-2020-15888
-
-Upstream-Status: backport [https://github.com/lua/lua.git]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-====
-diff --git a/ldo.c b/ldo.c
-index c563b1d9..a89ac010 100644
---- a/src/ldo.c
-+++ b/src/ldo.c
-@@ -220,7 +220,7 @@ static int stackinuse (lua_State *L) {
-
- void luaD_shrinkstack (lua_State *L) {
- int inuse = stackinuse(L);
-- int goodsize = inuse + (inuse / 8) + 2*EXTRA_STACK;
-+ int goodsize = inuse + BASIC_STACK_SIZE;
- if (goodsize > LUAI_MAXSTACK)
- goodsize = LUAI_MAXSTACK; /* respect stack limit */
- if (L->stacksize > LUAI_MAXSTACK) /* had been handling stack overflow? */
-@@ -229,8 +229,7 @@ void luaD_shrinkstack (lua_State *L) {
- luaE_shrinkCI(L); /* shrink list */
- /* if thread is currently not handling a stack overflow and its
- good size is smaller than current size, shrink its stack */
-- if (inuse <= (LUAI_MAXSTACK - EXTRA_STACK) &&
-- goodsize < L->stacksize)
-+ if (inuse <= (LUAI_MAXSTACK - EXTRA_STACK) && goodsize < L->stacksize)
- luaD_reallocstack(L, goodsize);
- else /* don't change stack */
- condmovestack(L,{},{}); /* (change only for debugging) */
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/lua/lua/CVE-2020-15945.patch b/meta-oe/recipes-devtools/lua/lua/CVE-2020-15945.patch
deleted file mode 100644
index 89ce491487..0000000000
--- a/meta-oe/recipes-devtools/lua/lua/CVE-2020-15945.patch
+++ /dev/null
@@ -1,167 +0,0 @@
-From d8d344365945a534f700c82c5dd26f704f89fef3 Mon Sep 17 00:00:00 2001
-From: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
-Date: Wed, 5 Aug 2020 16:59:58 +0800
-Subject: [PATCH] Fixed bug: invalid 'oldpc' when returning to a function
-
-The field 'L->oldpc' is not always updated when control returns to a
-function; an invalid value can seg. fault when computing 'changedline'.
-(One example is an error in a finalizer; control can return to
-'luaV_execute' without executing 'luaD_poscall'.) Instead of trying to
-fix all possible corner cases, it seems safer to be resilient to invalid
-values for 'oldpc'. Valid but wrong values at most cause an extra call
-to a line hook.
-
-CVE: CVE-2020-15945
-
-[Adjust the code to be applicable to the tree]
-
-Upstream-Status: Backport [https://github.com/lua/lua/commit/a2195644d89812e5b157ce7bac35543e06db05e3]
-
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
-Signed-off-by: Joe Slater <joe.slater@@windriver.com>
-
----
- src/ldebug.c | 30 +++++++++++++++---------------
- src/ldebug.h | 4 ++++
- src/ldo.c | 2 +-
- src/lstate.c | 1 +
- src/lstate.h | 2 +-
- 5 files changed, 22 insertions(+), 17 deletions(-)
-
-diff --git a/src/ldebug.c b/src/ldebug.c
-index 239affb..832b16c 100644
---- a/src/ldebug.c
-+++ b/src/ldebug.c
-@@ -34,9 +34,8 @@
- #define noLuaClosure(f) ((f) == NULL || (f)->c.tt == LUA_TCCL)
-
-
--/* Active Lua function (given call info) */
--#define ci_func(ci) (clLvalue((ci)->func))
--
-+/* inverse of 'pcRel' */
-+#define invpcRel(pc, p) ((p)->code + (pc) + 1)
-
- static const char *funcnamefromcode (lua_State *L, CallInfo *ci,
- const char **name);
-@@ -71,20 +70,18 @@ static void swapextra (lua_State *L) {
-
- /*
- ** This function can be called asynchronously (e.g. during a signal).
--** Fields 'oldpc', 'basehookcount', and 'hookcount' (set by
--** 'resethookcount') are for debug only, and it is no problem if they
--** get arbitrary values (causes at most one wrong hook call). 'hookmask'
--** is an atomic value. We assume that pointers are atomic too (e.g., gcc
--** ensures that for all platforms where it runs). Moreover, 'hook' is
--** always checked before being called (see 'luaD_hook').
-+** Fields 'basehookcount' and 'hookcount' (set by 'resethookcount')
-+** are for debug only, and it is no problem if they get arbitrary
-+** values (causes at most one wrong hook call). 'hookmask' is an atomic
-+** value. We assume that pointers are atomic too (e.g., gcc ensures that
-+** for all platforms where it runs). Moreover, 'hook' is always checked
-+** before being called (see 'luaD_hook').
- */
- LUA_API void lua_sethook (lua_State *L, lua_Hook func, int mask, int count) {
- if (func == NULL || mask == 0) { /* turn off hooks? */
- mask = 0;
- func = NULL;
- }
-- if (isLua(L->ci))
-- L->oldpc = L->ci->u.l.savedpc;
- L->hook = func;
- L->basehookcount = count;
- resethookcount(L);
-@@ -665,7 +662,10 @@ l_noret luaG_runerror (lua_State *L, const char *fmt, ...) {
- void luaG_traceexec (lua_State *L) {
- CallInfo *ci = L->ci;
- lu_byte mask = L->hookmask;
-+ const Proto *p = ci_func(ci)->p;
- int counthook = (--L->hookcount == 0 && (mask & LUA_MASKCOUNT));
-+ /* 'L->oldpc' may be invalid; reset it in this case */
-+ int oldpc = (L->oldpc < p->sizecode) ? L->oldpc : 0;
- if (counthook)
- resethookcount(L); /* reset count */
- else if (!(mask & LUA_MASKLINE))
-@@ -677,15 +677,15 @@ void luaG_traceexec (lua_State *L) {
- if (counthook)
- luaD_hook(L, LUA_HOOKCOUNT, -1); /* call count hook */
- if (mask & LUA_MASKLINE) {
-- Proto *p = ci_func(ci)->p;
- int npc = pcRel(ci->u.l.savedpc, p);
- int newline = getfuncline(p, npc);
- if (npc == 0 || /* call linehook when enter a new function, */
-- ci->u.l.savedpc <= L->oldpc || /* when jump back (loop), or when */
-- newline != getfuncline(p, pcRel(L->oldpc, p))) /* enter a new line */
-+ ci->u.l.savedpc <= invpcRel(oldpc, p) || /* when jump back (loop), or when */
-+ newline != getfuncline(p, oldpc)) /* enter a new line */
- luaD_hook(L, LUA_HOOKLINE, newline); /* call line hook */
-+
-+ L->oldpc = npc; /* 'pc' of last call to line hook */
- }
-- L->oldpc = ci->u.l.savedpc;
- if (L->status == LUA_YIELD) { /* did hook yield? */
- if (counthook)
- L->hookcount = 1; /* undo decrement to zero */
-diff --git a/src/ldebug.h b/src/ldebug.h
-index 0e31546..c224cc4 100644
---- a/src/ldebug.h
-+++ b/src/ldebug.h
-@@ -13,6 +13,10 @@
-
- #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1)
-
-+/* Active Lua function (given call info) */
-+#define ci_func(ci) (clLvalue((ci)->func))
-+
-+
- #define getfuncline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : -1)
-
- #define resethookcount(L) (L->hookcount = L->basehookcount)
-diff --git a/src/ldo.c b/src/ldo.c
-index 90b695f..f66ac1a 100644
---- a/src/ldo.c
-+++ b/src/ldo.c
-@@ -382,7 +382,7 @@ int luaD_poscall (lua_State *L, CallInfo *ci, StkId firstResult, int nres) {
- luaD_hook(L, LUA_HOOKRET, -1);
- firstResult = restorestack(L, fr);
- }
-- L->oldpc = ci->previous->u.l.savedpc; /* 'oldpc' for caller function */
-+ L->oldpc = pcRel(ci->u.l.savedpc, ci_func(ci)->p); /* 'oldpc' for caller function */
- }
- res = ci->func; /* res == final position of 1st result */
- L->ci = ci->previous; /* back to caller */
-diff --git a/src/lstate.c b/src/lstate.c
-index 9194ac3..3573e36 100644
---- a/src/lstate.c
-+++ b/src/lstate.c
-@@ -236,6 +236,7 @@ static void preinit_thread (lua_State *L, global_State *g) {
- L->nny = 1;
- L->status = LUA_OK;
- L->errfunc = 0;
-+ L->oldpc = 0;
- }
-
-
-diff --git a/src/lstate.h b/src/lstate.h
-index a469466..d75eadf 100644
---- a/src/lstate.h
-+++ b/src/lstate.h
-@@ -164,7 +164,6 @@ struct lua_State {
- StkId top; /* first free slot in the stack */
- global_State *l_G;
- CallInfo *ci; /* call info for current function */
-- const Instruction *oldpc; /* last pc traced */
- StkId stack_last; /* last free slot in the stack */
- StkId stack; /* stack base */
- UpVal *openupval; /* list of open upvalues in this stack */
-@@ -174,6 +173,7 @@ struct lua_State {
- CallInfo base_ci; /* CallInfo for first level (C calling Lua) */
- volatile lua_Hook hook;
- ptrdiff_t errfunc; /* current error handling function (stack index) */
-+ int oldpc; /* last pc traced */
- int stacksize;
- int basehookcount;
- int hookcount;
---
-2.13.3
-
diff --git a/meta-oe/recipes-devtools/lua/lua/lua.pc.in b/meta-oe/recipes-devtools/lua/lua/lua.pc.in
deleted file mode 100644
index c27e86e85d..0000000000
--- a/meta-oe/recipes-devtools/lua/lua/lua.pc.in
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr
-libdir=${prefix}/lib
-includedir=${prefix}/include
-
-Name: Lua
-Description: Lua language engine
-Version: @VERSION@
-Requires:
-Libs: -L${libdir} -llua -lm -ldl
-Cflags: -I${includedir}
diff --git a/meta-oe/recipes-devtools/lua/lua/run-ptest b/meta-oe/recipes-devtools/lua/lua/run-ptest
deleted file mode 100644
index 8e085e1af9..0000000000
--- a/meta-oe/recipes-devtools/lua/lua/run-ptest
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-cd test
-lua -e"_U=true" all.lua > lua-test.tmp
-
-echo "--- test output ---"
-cat lua-test.tmp
-echo ""
-echo ""
-echo "--- ptest result ---"
-
-grep "final OK \!\!\!" lua-test.tmp > /dev/null
-if [ $? -eq 0 ]; then
- echo "PASS: lua"
-else
- echo "FAIL: lua"
-fi
-
-rm -f lua-test.tmp
diff --git a/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch b/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch
deleted file mode 100644
index f4cdc5d8c5..0000000000
--- a/meta-oe/recipes-devtools/lua/lua/uclibc-pthread.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: lua-5.1.4/src/Makefile
-===================================================================
---- a/src/Makefile.orig 2013-10-22 22:17:19.929103523 -0400
-+++ a/src/Makefile 2013-10-22 22:18:27.992104545 -0400
-@@ -9,7 +9,7 @@
- CC= gcc
- CFLAGS= -O2 -Wall -DLUA_COMPAT_ALL $(SYSCFLAGS) $(MYCFLAGS)
- LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
--LIBS= -lm $(SYSLIBS) $(MYLIBS)
-+LIBS= -lm -lpthread $(SYSLIBS) $(MYLIBS)
-
- AR= ar rcu
- RANLIB= ranlib
diff --git a/meta-oe/recipes-devtools/lua/lua_5.3.6.bb b/meta-oe/recipes-devtools/lua/lua_5.3.6.bb
deleted file mode 100644
index 5e8f54588b..0000000000
--- a/meta-oe/recipes-devtools/lua/lua_5.3.6.bb
+++ /dev/null
@@ -1,70 +0,0 @@
-DESCRIPTION = "Lua is a powerful light-weight programming language designed \
-for extending applications."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://doc/readme.html;beginline=318;endline=352;md5=f43d8ee6bc4df18ef8b276439cc4a153"
-HOMEPAGE = "http://www.lua.org/"
-
-SRC_URI = "http://www.lua.org/ftp/lua-${PV}.tar.gz;name=tarballsrc \
- file://lua.pc.in \
- file://0001-Allow-building-lua-without-readline-on-Linux.patch \
- file://CVE-2020-15888.patch \
- file://CVE-2020-15945.patch \
- file://0001-Fixed-bug-barriers-cannot-be-active-during-sweep.patch \
- "
-
-# if no test suite matches PV release of Lua exactly, download the suite for the closest Lua release.
-PV_testsuites = "5.3.4"
-
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', \
- 'http://www.lua.org/tests/lua-${PV_testsuites}-tests.tar.gz;name=tarballtest \
- file://run-ptest \
- ', '', d)}"
-
-SRC_URI[tarballsrc.md5sum] = "83f23dbd5230140a3770d5f54076948d"
-SRC_URI[tarballsrc.sha256sum] = "fc5fd69bb8736323f026672b1b7235da613d7177e72558893a0bdcd320466d60"
-SRC_URI[tarballtest.md5sum] = "b14fe3748c1cb2d74e3acd1943629ba3"
-SRC_URI[tarballtest.sha256sum] = "b80771238271c72565e5a1183292ef31bd7166414cd0d43a8eb79845fa7f599f"
-
-inherit pkgconfig binconfig ptest
-
-PACKAGECONFIG ??= "readline"
-PACKAGECONFIG[readline] = ",,readline"
-
-UCLIBC_PATCHES += "file://uclibc-pthread.patch"
-SRC_URI_append_libc-uclibc = " ${UCLIBC_PATCHES}"
-
-TARGET_CC_ARCH += " -fPIC ${LDFLAGS}"
-EXTRA_OEMAKE = "'CC=${CC} -fPIC' 'MYCFLAGS=${CFLAGS} -fPIC' MYLDFLAGS='${LDFLAGS}'"
-
-do_configure_prepend() {
- sed -i -e s:/usr/local:${prefix}:g src/luaconf.h
- sed -i -e s:lib/lua/:${baselib}/lua/:g src/luaconf.h
-}
-
-do_compile () {
- oe_runmake ${@bb.utils.contains('PACKAGECONFIG', 'readline', 'linux', 'linux-no-readline', d)}
-}
-
-do_install () {
- oe_runmake \
- 'INSTALL_TOP=${D}${prefix}' \
- 'INSTALL_BIN=${D}${bindir}' \
- 'INSTALL_INC=${D}${includedir}/' \
- 'INSTALL_MAN=${D}${mandir}/man1' \
- 'INSTALL_SHARE=${D}${datadir}/lua' \
- 'INSTALL_LIB=${D}${libdir}' \
- 'INSTALL_CMOD=${D}${libdir}/lua/5.3' \
- install
- install -d ${D}${libdir}/pkgconfig
-
- sed -e s/@VERSION@/${PV}/ ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc
- install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/
- rmdir ${D}${datadir}/lua/5.3
- rmdir ${D}${datadir}/lua
-}
-
-do_install_ptest () {
- cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV_testsuites}-tests ${D}${PTEST_PATH}/test
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/luajit/luajit/0001-Use-builtin-for-clear_cache.patch b/meta-oe/recipes-devtools/luajit/luajit/0001-Use-builtin-for-clear_cache.patch
new file mode 100644
index 0000000000..2c41180d91
--- /dev/null
+++ b/meta-oe/recipes-devtools/luajit/luajit/0001-Use-builtin-for-clear_cache.patch
@@ -0,0 +1,29 @@
+From ca8f7d968a212f2da64492faac4f80384a5ba395 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 11 Sep 2022 13:23:19 -0700
+Subject: [PATCH] Use builtin for clear_cache
+
+This makes it compile on mips/clang and also portable across platforms
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lj_mcode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lj_mcode.c b/src/lj_mcode.c
+index 163aada4..471897da 100644
+--- a/src/lj_mcode.c
++++ b/src/lj_mcode.c
+@@ -46,7 +46,7 @@ void lj_mcode_sync(void *start, void *end)
+ #elif LJ_TARGET_PPC
+ lj_vm_cachesync(start, end);
+ #elif defined(__GNUC__) || defined(__clang__)
+- __clear_cache(start, end);
++ __builtin___clear_cache(start, end);
+ #else
+ #error "Missing builtin to flush instruction cache"
+ #endif
+--
+2.37.3
+
diff --git a/meta-oe/recipes-devtools/luajit/luajit_git.bb b/meta-oe/recipes-devtools/luajit/luajit_git.bb
index 753835261f..240271d410 100644
--- a/meta-oe/recipes-devtools/luajit/luajit_git.bb
+++ b/meta-oe/recipes-devtools/luajit/luajit_git.bb
@@ -1,16 +1,15 @@
SUMMARY = "Just-In-Time Compiler for Lua"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=abe9020de9c00909317d02d5c803810e"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=076b97f5c7e61532f7f6f3865f04da57"
HOMEPAGE = "http://luajit.org"
SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \
file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \
- file://clang.patch \
+ file://0001-Use-builtin-for-clear_cache.patch \
"
-# Set PV to a version tag and date (YYMMDD) associated with SRCREV if it is later.
-PV = "2.1.0~beta3-210112"
-SRCREV = "ec6edc5c39c25e4eb3fca51b753f9995e97215da"
+PV = "2.1"
+SRCREV = "c525bcb9024510cad9e170e12b6209aedb330f83"
S = "${WORKDIR}/git"
@@ -24,15 +23,15 @@ BBCLASSEXTEND = "native"
# you need to install the multilib development package (e.g.
# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part
# (HOST_CC="gcc -m32").
-BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS') != '32']}"
+BUILD_CC_ARCH:append = " ${@['-m32',''][d.getVar('SITEINFO_BITS') != '32']}"
# The lua makefiles expect the TARGET_SYS to be from uname -s
# Values: Windows, Linux, Darwin, iOS, SunOS, PS3, GNU/kFreeBSD
LUA_TARGET_OS = "Unknown"
-LUA_TARGET_OS_darwin = "Darwin"
-LUA_TARGET_OS_linux = "Linux"
-LUA_TARGET_OS_linux-gnueabi = "Linux"
-LUA_TARGET_OS_mingw32 = "Windows"
+LUA_TARGET_OS:darwin = "Darwin"
+LUA_TARGET_OS:linux = "Linux"
+LUA_TARGET_OS:linux-gnueabi = "Linux"
+LUA_TARGET_OS:mingw32 = "Windows"
# We don't want the lua buildsystem's compiler optimizations, or its
# stripping, and we don't want it to pick up CFLAGS or LDFLAGS, as those apply
@@ -82,21 +81,18 @@ PACKAGES += 'luajit-common'
# See the comment for EXTRA_OEMAKEINST. This is needed to ensure the hardcoded
# paths are packaged regardless of what the libdir and datadir paths are.
-FILES_${PN} += "${prefix}/${baselib} ${prefix}/share"
-FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \
+FILES:${PN} += "${prefix}/${baselib} ${prefix}/share"
+FILES:${PN} += "${libdir}/libluajit-5.1.so.2 \
${libdir}/libluajit-5.1.so.${PV} \
"
-FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
+FILES:${PN}-dev += "${libdir}/libluajit-5.1.a \
${libdir}/libluajit-5.1.so \
${libdir}/pkgconfig/luajit.pc \
"
-FILES_luajit-common = "${datadir}/${BPN}-${PV}"
+FILES:luajit-common = "${datadir}/${BPN}-${PV}"
-# mips64/ppc/ppc64/riscv64 is not supported in this release
-COMPATIBLE_HOST_mipsarchn32 = "null"
-COMPATIBLE_HOST_mipsarchn64 = "null"
-COMPATIBLE_HOST_powerpc = "null"
-COMPATIBLE_HOST_powerpc64 = "null"
-COMPATIBLE_HOST_powerpc64le = "null"
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
+# ppc64/riscv64/riscv32 is not supported in this release
+COMPATIBLE_HOST:powerpc64 = "null"
+COMPATIBLE_HOST:powerpc64le = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
diff --git a/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch b/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch
deleted file mode 100644
index d8a9e3d2b7..0000000000
--- a/meta-oe/recipes-devtools/luaposix/luaposix/0001-fix-avoid-race-condition-between-test-and-mkdir.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 4dfca036c96071bd2a2c80ff84719c6d37858373 Mon Sep 17 00:00:00 2001
-From: Haseeb Ashraf <Haseeb_Ashraf@mentor.com>
-Date: Fri, 17 Apr 2020 14:36:50 +0500
-Subject: [PATCH 1/1] fix: avoid race condition between test and mkdir
-
-when building in parallel the race condition, when the directory
-is tested for existence and it is created, can break the build
-
-Signed-off-by: Haseeb Ashraf <Haseeb_Ashraf@mentor.com>
----
- Makefile.in | 6 +++---
- build-aux/rockspecs.mk | 2 +-
- local.mk | 2 +-
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 9b51ef3..4722525 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -1637,7 +1637,7 @@ distclean-tags:
-
- distdir: $(DISTFILES)
- $(am__remove_distdir)
-- test -d "$(distdir)" || mkdir "$(distdir)"
-+ $(MKDIR_P) "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
-@@ -1975,7 +1975,7 @@ clean-local:
- rm -f $(posix_submodules)
-
- $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
-- test -d $(builddir)/doc || mkdir $(builddir)/doc
-+ $(MKDIR_P) $(builddir)/doc
- @HAVE_LDOC_TRUE@ $(LDOC) -c build-aux/config.ld -d $(abs_srcdir)/doc .
- @HAVE_LDOC_FALSE@ $(MKDIR_P) doc
- @HAVE_LDOC_FALSE@ touch doc/index.html doc/ldoc.css
-@@ -1983,7 +1983,7 @@ $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
- doc: $(allhtml)
-
- $(luarocks_config): Makefile.am
-- @test -d build-aux || mkdir build-aux
-+ @$(MKDIR_P) build-aux
- $(AM_V_GEN){ \
- $(set_LUA_BINDIR); \
- echo 'rocks_trees = { "$(abs_srcdir)/luarocks" }'; \
-diff --git a/build-aux/rockspecs.mk b/build-aux/rockspecs.mk
-index ebd1dbf..c8fbdbc 100644
---- a/build-aux/rockspecs.mk
-+++ b/build-aux/rockspecs.mk
-@@ -62,7 +62,7 @@ LUA_INCDIR = `cd $$LUA_BINDIR/../include && pwd`
- LUA_LIBDIR = `cd $$LUA_BINDIR/../lib && pwd`
-
- $(luarocks_config): Makefile.am
-- @test -d build-aux || mkdir build-aux
-+ @$(MKDIR_P) build-aux
- $(AM_V_GEN){ \
- $(set_LUA_BINDIR); \
- echo 'rocks_trees = { "$(abs_srcdir)/luarocks" }'; \
-diff --git a/local.mk b/local.mk
-index d391ef7..80b22ce 100644
---- a/local.mk
-+++ b/local.mk
-@@ -255,7 +255,7 @@ dist_examples_DATA += \
- allhtml = $(dist_doc_DATA) $(dist_examples_DATA) $(dist_modules_DATA) $(dist_classes_DATA)
-
- $(allhtml): $(EXTRA_ext_posix_posix_la_SOURCES) $(ext_posix_posix_la_SOURCES)
-- test -d $(builddir)/doc || mkdir $(builddir)/doc
-+ $(MKDIR_P) $(builddir)/doc
- if HAVE_LDOC
- $(LDOC) -c build-aux/config.ld -d $(abs_srcdir)/doc .
- else
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb b/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb
deleted file mode 100644
index 1bee9fe0b9..0000000000
--- a/meta-oe/recipes-devtools/luaposix/luaposix_33.4.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "luaposix is a POSIX binding for Lua."
-LICENSE = "MIT"
-HOMEPAGE = "https://github.com/luaposix/luaposix"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7dd2aad04bb7ca212e69127ba8d58f9f"
-
-DEPENDS += "lua-native lua"
-
-SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release \
- file://0001-fix-avoid-race-condition-between-test-and-mkdir.patch \
-"
-SRCREV = "8e4902ed81c922ed8f76a7ed85be1eaa3fd7e66d"
-S = "${WORKDIR}/git"
-LUA_VERSION = "5.3"
-
-inherit autotools pkgconfig
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' 'luadir=${datadir}/lua/${LUA_VERSION}' 'luaexecdir=${libdir}/lua/${LUA_VERSION}' install
-}
-
-FILES_${PN} = "${datadir}/lua/${LUA_VERSION} ${libdir}/lua/${LUA_VERSION}"
diff --git a/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb b/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb
new file mode 100644
index 0000000000..1d27eb2588
--- /dev/null
+++ b/meta-oe/recipes-devtools/luaposix/luaposix_36.2.1.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "luaposix is a POSIX binding for Lua."
+LICENSE = "MIT"
+HOMEPAGE = "https://github.com/luaposix/luaposix"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f30d022f6ef53952fa87cc0b6fffb153"
+
+DEPENDS += "lua-native lua virtual/crypt"
+
+SRC_URI = "git://github.com/luaposix/luaposix.git;branch=release-v36.2;protocol=https \
+"
+SRCREV = "5a8d8c768fc3c51f42cb591e9523a60399efc6a1"
+S = "${WORKDIR}/git"
+LUA_VERSION = "5.4"
+
+B = "${S}"
+
+inherit pkgconfig
+
+do_compile() {
+ ${S}/build-aux/luke
+}
+
+do_install() {
+ ${S}/build-aux/luke PREFIX=${D}${prefix} INST_LIBDIR=${D}${libdir}/lua/${LUA_VERSION} install
+}
+
+FILES:${PN} = "${datadir}/lua/${LUA_VERSION} \
+ ${libdir}/lua/${LUA_VERSION}"
diff --git a/meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb b/meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb
new file mode 100644
index 0000000000..f94025dd05
--- /dev/null
+++ b/meta-oe/recipes-devtools/makeself/makeself_2.5.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "A self-extracting archiving tool for Unix systems, in 100% shell script."
+DESCRIPTION = "\
+ makeself.sh is a small shell script that generates a self-extractable \
+ compressed tar archive from a directory. The resulting file appears as \
+ a shell script (many of those have a .run suffix), and can be launched as is.\
+"
+HOMEPAGE = "https://makeself.io/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "\
+ git://github.com/megastep/${BPN}.git;protocol=https;branch=master \
+"
+
+SRCREV = "09488c50c6bdc40aec8e3a9b23a539c5054a634c"
+
+S = "${WORKDIR}/git"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/makeself.sh ${D}${bindir}/
+ install -m 0755 ${S}/makeself-header.sh ${D}${bindir}/
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb b/meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb
new file mode 100644
index 0000000000..028a8f9e46
--- /dev/null
+++ b/meta-oe/recipes-devtools/mbpoll/mbpoll_1.5.2.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Command line utility to communicate with ModBus slave (RTU or TCP)"
+DESCRIPTION = "mbpoll can: read discrete inputs; read and write binary outputs \
+(coil); read input registers; read and write output registers (holding register). \
+The reading and writing registers may be in decimal, hexadecimal or floating single \
+precision."
+LICENSE = "GPL-3.0-only"
+HOMEPAGE = "https://github.com/epsilonrt/mbpoll"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+DEPENDS = "libmodbus (>=3.1.4)"
+
+SRC_URI = "git://github.com/epsilonrt/mbpoll;protocol=https;branch=master"
+SRCREV = "a0bd6c08d3d15b086f2104477295c0705aed366a"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake
diff --git a/meta-oe/recipes-devtools/mcpp/files/0001-configure-Fix-checks-for-system-headers.patch b/meta-oe/recipes-devtools/mcpp/files/0001-configure-Fix-checks-for-system-headers.patch
new file mode 100644
index 0000000000..d9bdc01ca1
--- /dev/null
+++ b/meta-oe/recipes-devtools/mcpp/files/0001-configure-Fix-checks-for-system-headers.patch
@@ -0,0 +1,44 @@
+From c1e9f2f3d086e0df3c10a2468fd7b37fd0c5038c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 7 Sep 2022 00:02:08 -0700
+Subject: [PATCH] configure: Fix checks for system headers
+
+Define _DEFAULT_SOURCE in system.c so unistd.h can expose readlink API
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ src/system.c | 2 ++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index cdf1eba..6fc81e6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -152,7 +152,7 @@ fi
+
+ dnl Checks for header files.
+
+-AC_CHECK_HEADERS( [unistd.h, stdint.h, inttypes.h])
++AC_CHECK_HEADERS( [unistd.h stdint.h inttypes.h])
+
+ dnl Checks for typedefs, and compiler characteristics.
+
+diff --git a/src/system.c b/src/system.c
+index 4e008fa..98631a6 100644
+--- a/src/system.c
++++ b/src/system.c
+@@ -36,6 +36,8 @@
+ * 1. specify the constants in "configed.H" or "noconfig.H",
+ * 2. append the system-dependent routines in this file.
+ */
++
++#define _DEFAULT_SOURCE
+ #if PREPROCESSED
+ #include "mcpp.H"
+ #else
+--
+2.37.3
+
diff --git a/meta-oe/recipes-devtools/mcpp/files/CVE-2019-14274.patch b/meta-oe/recipes-devtools/mcpp/files/CVE-2019-14274.patch
index a0c6584ecb..b1e05c59d5 100644
--- a/meta-oe/recipes-devtools/mcpp/files/CVE-2019-14274.patch
+++ b/meta-oe/recipes-devtools/mcpp/files/CVE-2019-14274.patch
@@ -4,6 +4,8 @@ Date: Tue, 4 Feb 2014 11:00:40 -0800
Subject: [PATCH] line comment bug
---
+Upstream-Status: Pending
+
src/support.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch b/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
index 1df3ae55bc..36cc2bd64d 100644
--- a/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
+++ b/meta-oe/recipes-devtools/mcpp/files/ice-mcpp.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -r -c -N ../mcpp-2.7.2-old/noconfig/vc2010.dif ./noconfig/vc2010.dif
*** ../mcpp-2.7.2-old/noconfig/vc2010.dif Wed Dec 31 20:30:00 1969
--- ./noconfig/vc2010.dif Fri May 14 12:47:22 2010
diff --git a/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
index f8125f72d9..9445856730 100644
--- a/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
+++ b/meta-oe/recipes-devtools/mcpp/mcpp_2.7.2.bb
@@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5ca370b75ec890321888a00cea9bc1d5"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
file://ice-mcpp.patch \
+ file://0001-configure-Fix-checks-for-system-headers.patch \
file://CVE-2019-14274.patch"
SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05"
SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864"
diff --git a/meta-oe/recipes-devtools/memstat/memstat/0001-Include-limits.h-for-PATH_MAX-definition.patch b/meta-oe/recipes-devtools/memstat/memstat/0001-Include-limits.h-for-PATH_MAX-definition.patch
index 9a0a17e0e4..907ac9edbd 100644
--- a/meta-oe/recipes-devtools/memstat/memstat/0001-Include-limits.h-for-PATH_MAX-definition.patch
+++ b/meta-oe/recipes-devtools/memstat/memstat/0001-Include-limits.h-for-PATH_MAX-definition.patch
@@ -9,6 +9,8 @@ error: use of undeclared identifier 'PATH_MAX'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
memstat.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
index 91a9200c34..7e0ff54dc5 100644
--- a/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
+++ b/meta-oe/recipes-devtools/memstat/memstat_1.0.bb
@@ -6,7 +6,7 @@ is used and which 'old' libs are loaded. \
HOMEPAGE = "http://memstattool.sourceforge.net/"
SECTION = "devtool"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
S = "${WORKDIR}/memstattool"
@@ -19,7 +19,7 @@ SRC_URI = "http://sourceforge.net/projects/memstattool/files/memstat_${PV}.tar.g
SRC_URI[md5sum] = "2c3acc0c62b2a18f6601b84e54aa7462"
SRC_URI[sha256sum] = "245d5fc7fb87bcfd14486cd34917cae2856e799559ac568434af12c4852bce94"
-do_install_append(){
+do_install:append(){
install -d ${D}${bindir}
install -m 0755 memstat ${D}${bindir}
install -d ${D}${sysconfdir}
diff --git a/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb b/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb
deleted file mode 100644
index 7980960f1f..0000000000
--- a/meta-oe/recipes-devtools/mercurial/mercurial_5.5.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "The Mercurial distributed SCM"
-HOMEPAGE = "http://mercurial.selenic.com/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "python3 python3-native"
-RDEPENDS_${PN} = "python3 python3-modules"
-
-inherit python3native
-
-SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
-SRC_URI[md5sum] = "17b21729cbc61dda80b2e3dfc046319f"
-SRC_URI[sha256sum] = "c1ed28e1534304a7a4981ed59905286d1c56acd5b75755eedd184171a4a782b4"
-
-S = "${WORKDIR}/mercurial-${PV}"
-
-BBCLASSEXTEND = "native"
-
-export LDSHARED="${CCLD} -shared"
-
-EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
- PREFIX=${prefix}"
-
-do_configure_append () {
- sed -i -e 's:PYTHON?=python:PYTHON=python3:g' ${S}/Makefile
-}
-
-do_install () {
- oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
- sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg
-}
-PACKAGES =+ "${PN}-python"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}"
-
-FILES_${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
-
diff --git a/meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb b/meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb
new file mode 100644
index 0000000000..2451a36be2
--- /dev/null
+++ b/meta-oe/recipes-devtools/mercurial/mercurial_6.5.bb
@@ -0,0 +1,36 @@
+SUMMARY = "The Mercurial distributed SCM"
+HOMEPAGE = "http://mercurial.selenic.com/"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "python3 python3-native python3-setuptools-native"
+RDEPENDS:${PN} = "python3 python3-modules"
+
+inherit python3native python3targetconfig
+
+SRC_URI = "https://www.mercurial-scm.org/release/${BP}.tar.gz"
+SRC_URI[sha256sum] = "a5603d0d395ebf67fe5d27abbb3bd37fcc01871ecf394c793672d2c1e68be7e7"
+
+S = "${WORKDIR}/mercurial-${PV}"
+
+BBCLASSEXTEND = "native"
+
+export LDSHARED="${CCLD} -shared"
+
+EXTRA_OEMAKE = "STAGING_LIBDIR=${STAGING_LIBDIR} STAGING_INCDIR=${STAGING_INCDIR} \
+ PREFIX=${prefix}"
+
+do_configure:append () {
+ sed -i -e 's:PYTHON?=python:PYTHON=python3:g' ${S}/Makefile
+}
+
+do_install () {
+ oe_runmake -e install-bin DESTDIR=${D} PREFIX=${prefix}
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/hg
+}
+PACKAGES =+ "${PN}-python"
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}"
+FILES:${PN}-python = "${nonarch_libdir}/${PYTHON_DIR}"
+
diff --git a/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb b/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb
new file mode 100644
index 0000000000..4bb3e62d9f
--- /dev/null
+++ b/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Minimalistic terminal program for communicating with devices over a serial connection"
+HOMEPAGE = "https://github.com/pengutronix/microcom"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c9f7c009791eaa4b9ca90dc4c9538d24"
+
+SRC_URI = "https://github.com/pengutronix/microcom/releases/download/v${PV}/microcom-${PV}.tar.xz"
+SRC_URI[sha256sum] = "ef42184bb35c9762b3e9c70748696f7478efacad8412a88aaf2d9a6a500231a1"
+
+DEPENDS = "readline"
+
+inherit autotools update-alternatives
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[can] = "--enable-can,--disable-can"
+
+EXTRA_OECONF = "--enable-largefile"
+
+# higher priority than busybox' microcom
+ALTERNATIVE:${PN} = "microcom"
+ALTERNATIVE_PRIORITY[microcom] = "100"
diff --git a/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0001-Fix-initialization-in-test-1140.patch b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0001-Fix-initialization-in-test-1140.patch
new file mode 100644
index 0000000000..84a585d3c5
--- /dev/null
+++ b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0001-Fix-initialization-in-test-1140.patch
@@ -0,0 +1,113 @@
+From 1b4d42ca2e97061042ec44a0b34ceb176c78c7e1 Mon Sep 17 00:00:00 2001
+From: d-winsor <danwin@microsoft.com>
+Date: Mon, 26 Feb 2024 13:17:12 -0800
+Subject: [PATCH] Fix initialization in test (#1140)
+
+* Suppress unsafe-buffer-usage
+
+Upstream-Status: Backport [https://github.com/microsoft/GSL/commit/1b4d42ca2e97061042ec44a0b34ceb176c78c7e1]
+
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ include/gsl/span | 10 ++++++++++
+ include/gsl/util | 10 ++++++++++
+ tests/CMakeLists.txt | 10 ++++++++++
+ tests/span_tests.cpp | 2 +-
+ 4 files changed, 31 insertions(+), 1 deletion(-)
+
+diff --git a/include/gsl/span b/include/gsl/span
+index cc8a7b9..d254e4d 100644
+--- a/include/gsl/span
++++ b/include/gsl/span
+@@ -58,6 +58,12 @@
+ #pragma GCC diagnostic ignored "-Wsign-conversion"
+ #endif
+
++// Turn off clang unsafe buffer warnings as all accessed are guarded by runtime checks
++#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
++#endif // defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++
+ namespace gsl
+ {
+
+@@ -818,4 +824,8 @@ as_writable_bytes(span<ElementType, Extent> s) noexcept
+ #pragma GCC diagnostic pop
+ #endif // __GNUC__ > 6
+
++#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#pragma clang diagnostic pop
++#endif
++
+ #endif // GSL_SPAN_H
+diff --git a/include/gsl/util b/include/gsl/util
+index a215bad..11735a8 100644
+--- a/include/gsl/util
++++ b/include/gsl/util
+@@ -39,6 +39,12 @@
+
+ #endif // _MSC_VER
+
++// Turn off clang unsafe buffer warnings as all accessed are guarded by runtime checks
++#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#pragma clang diagnostic push
++#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
++#endif // defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++
+ #if defined(__cplusplus) && (__cplusplus >= 201703L)
+ #define GSL_NODISCARD [[nodiscard]]
+ #else
+@@ -157,4 +163,8 @@ constexpr auto at(std::span<T, extent> sp, const index i) -> decltype(sp[sp.size
+
+ #endif // _MSC_VER
+
++#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#pragma clang diagnostic pop
++#endif
++
+ #endif // GSL_UTIL_H
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index cab4e56..20de9e1 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -167,6 +167,11 @@ else()
+ >
+ )
+ endif(MSVC)
++check_cxx_compiler_flag("-Wno-unsafe-buffer-usage" WARN_UNSAFE_BUFFER)
++if (WARN_UNSAFE_BUFFER)
++ # This test uses very greedy heuristics such as "no pointer arithmetic on raw buffer"
++ target_compile_options(gsl_tests_config INTERFACE "-Wno-unsafe-buffer-usage")
++endif()
+
+ # for tests to find the gtest header
+ target_include_directories(gsl_tests_config SYSTEM INTERFACE
+@@ -267,6 +272,11 @@ else()
+ >
+ )
+ endif(MSVC)
++check_cxx_compiler_flag("-Wno-unsafe-buffer-usage" WARN_UNSAFE_BUFFER)
++if (WARN_UNSAFE_BUFFER)
++ # This test uses very greedy heuristics such as "no pointer arithmetic on raw buffer"
++ target_compile_options(gsl_tests_config_noexcept INTERFACE "-Wno-unsafe-buffer-usage")
++endif()
+
+ add_executable(gsl_noexcept_tests no_exception_ensure_tests.cpp)
+ target_link_libraries(gsl_noexcept_tests
+diff --git a/tests/span_tests.cpp b/tests/span_tests.cpp
+index 33ccf56..3c1dfe5 100644
+--- a/tests/span_tests.cpp
++++ b/tests/span_tests.cpp
+@@ -330,7 +330,7 @@ TEST(span_test, from_array_constructor)
+ EXPECT_TRUE(s.data() == std::addressof(arr2d[0]));
+ }
+
+- int arr3d[2][3][2] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
++ int arr3d[2][3][2] = { { {1, 2}, {3, 4}, {5, 6} }, { {7, 8}, {9, 10}, {11, 12} } };
+
+ #ifdef CONFIRM_COMPILATION_ERRORS
+ {
+--
+2.30.2
+
diff --git a/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0002-Fix-gcc-build-problem.patch b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0002-Fix-gcc-build-problem.patch
new file mode 100644
index 0000000000..2f7542c62c
--- /dev/null
+++ b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0002-Fix-gcc-build-problem.patch
@@ -0,0 +1,82 @@
+From aa4fd1f57794964640005900c2b47af1a0940b7b Mon Sep 17 00:00:00 2001
+From: Werner Henze <w.henze@avm.de>
+Date: Fri, 1 Mar 2024 15:53:50 +0100
+Subject: [PATCH] Fix gcc build problem
+
+Closes issue #1148 by fixing problems introduced in PR #1140.
+
+Upstream-Status: Submitted [https://github.com/microsoft/GSL/pull/1149]
+
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ include/gsl/span | 12 ++++++++----
+ include/gsl/util | 12 ++++++++----
+ 2 files changed, 16 insertions(+), 8 deletions(-)
+
+diff --git a/include/gsl/span b/include/gsl/span
+index 0de2932..d2ef9f7 100644
+--- a/include/gsl/span
++++ b/include/gsl/span
+@@ -59,10 +59,12 @@
+ #endif
+
+ // Turn off clang unsafe buffer warnings as all accessed are guarded by runtime checks
+-#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#if defined(__clang__)
++#if __has_warning("-Wunsafe-buffer-usage")
+ #pragma clang diagnostic push
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
+-#endif // defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#endif // __has_warning("-Wunsafe-buffer-usage")
++#endif // defined(__clang__)
+
+ namespace gsl
+ {
+@@ -824,8 +826,10 @@ as_writable_bytes(span<ElementType, Extent> s) noexcept
+ #pragma GCC diagnostic pop
+ #endif // __GNUC__ > 6
+
+-#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#if defined(__clang__)
++#if __has_warning("-Wunsafe-buffer-usage")
+ #pragma clang diagnostic pop
+-#endif
++#endif // __has_warning("-Wunsafe-buffer-usage")
++#endif // defined(__clang__)
+
+ #endif // GSL_SPAN_H
+diff --git a/include/gsl/util b/include/gsl/util
+index b853017..26b2f5f 100644
+--- a/include/gsl/util
++++ b/include/gsl/util
+@@ -40,10 +40,12 @@
+ #endif // _MSC_VER
+
+ // Turn off clang unsafe buffer warnings as all accessed are guarded by runtime checks
+-#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#if defined(__clang__)
++#if __has_warning("-Wunsafe-buffer-usage")
+ #pragma clang diagnostic push
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
+-#endif // defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#endif // __has_warning("-Wunsafe-buffer-usage")
++#endif // defined(__clang__)
+
+ #if defined(__cplusplus) && (__cplusplus >= 201703L)
+ #define GSL_NODISCARD [[nodiscard]]
+@@ -163,8 +165,10 @@ constexpr auto at(std::span<T, extent> sp, const index i) -> decltype(sp[sp.size
+
+ #endif // _MSC_VER
+
+-#if defined(__clang__) && __has_warning("-Wunsafe-buffer-usage")
++#if defined(__clang__)
++#if __has_warning("-Wunsafe-buffer-usage")
+ #pragma clang diagnostic pop
+-#endif
++#endif // __has_warning("-Wunsafe-buffer-usage")
++#endif // defined(__clang__)
+
+ #endif // GSL_UTIL_H
+--
+2.30.2
+
diff --git a/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0003-Adapt-check_cxx_compiler_flag-to-cmake-3.0.2.patch b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0003-Adapt-check_cxx_compiler_flag-to-cmake-3.0.2.patch
new file mode 100644
index 0000000000..ed057f5243
--- /dev/null
+++ b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/0003-Adapt-check_cxx_compiler_flag-to-cmake-3.0.2.patch
@@ -0,0 +1,53 @@
+From 85e1c38bcf84bd4e2ce63ef74f0cfa1f5e92261e Mon Sep 17 00:00:00 2001
+From: Peter Marko <peter.marko@siemens.com>
+Date: Wed, 27 Mar 2024 23:46:31 +0100
+Subject: [PATCH] Adapt check_cxx_compiler_flag to cmake 3.0.2
+
+Backporting commits which are upgrading cmake_minimum_required and
+include check_cxx_compiler_flag have too many additional changes.
+
+Let's just do a simple adaptation of our backported patch so
+it works with older cmake version instead.
+
+This can be safely removed when recipe version is upgraded.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ tests/CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 20de9e1..54c3ac5 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -5,6 +5,7 @@ enable_testing() # again, for support standalone testing
+
+ include(FindPkgConfig)
+ include(ExternalProject)
++include(CheckCXXCompilerFlag)
+
+ # will make visual studio generated project group files
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+@@ -167,7 +168,7 @@ else()
+ >
+ )
+ endif(MSVC)
+-check_cxx_compiler_flag("-Wno-unsafe-buffer-usage" WARN_UNSAFE_BUFFER)
++CHECK_CXX_COMPILER_FLAG("-Wno-unsafe-buffer-usage" WARN_UNSAFE_BUFFER)
+ if (WARN_UNSAFE_BUFFER)
+ # This test uses very greedy heuristics such as "no pointer arithmetic on raw buffer"
+ target_compile_options(gsl_tests_config INTERFACE "-Wno-unsafe-buffer-usage")
+@@ -272,7 +273,7 @@ else()
+ >
+ )
+ endif(MSVC)
+-check_cxx_compiler_flag("-Wno-unsafe-buffer-usage" WARN_UNSAFE_BUFFER)
++CHECK_CXX_COMPILER_FLAG("-Wno-unsafe-buffer-usage" WARN_UNSAFE_BUFFER)
+ if (WARN_UNSAFE_BUFFER)
+ # This test uses very greedy heuristics such as "no pointer arithmetic on raw buffer"
+ target_compile_options(gsl_tests_config_noexcept INTERFACE "-Wno-unsafe-buffer-usage")
+--
+2.30.2
+
diff --git a/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/run-ptest b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/run-ptest
new file mode 100644
index 0000000000..2d5bdf4ff2
--- /dev/null
+++ b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+gsl_tests && echo "PASS: gsl_tests" || echo "FAIL: gsl_tests"
+gsl_noexcept_tests && echo "PASS: gsl_noexcept_tests" || echo "FAIL: gsl_noexcept_tests"
diff --git a/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb
new file mode 100644
index 0000000000..6e29b2459d
--- /dev/null
+++ b/meta-oe/recipes-devtools/microsoft-gsl/microsoft-gsl_4.0.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "GSL: Guidelines Support Library"
+DESCRIPTION = "The Guidelines Support Library (GSL) contains functions \
+ and types that are suggested for use by the C++ Core Guidelines \
+ maintained by the Standard C++ Foundation. \
+ This repo contains Microsoft's implementation of GSL."
+HOMEPAGE = "https://github.com/microsoft/GSL"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=363055e71e77071107ba2bb9a54bd9a7"
+
+SRC_URI = "git://github.com/microsoft/GSL.git;protocol=https;branch=main \
+ file://run-ptest \
+ file://0001-Fix-initialization-in-test-1140.patch \
+ file://0002-Fix-gcc-build-problem.patch \
+ file://0003-Adapt-check_cxx_compiler_flag-to-cmake-3.0.2.patch \
+"
+SRCREV = "a3534567187d2edc428efd3f13466ff75fe5805c"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig ptest
+
+# this is header-only library
+ALLOW_EMPTY:${PN} = "1"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'ptest','', d)}"
+PACKAGECONFIG[ptest] = "-DGSL_TEST=ON,-DGSL_TEST=OFF,googletest"
+
+# clang disagrees with https://github.com/google/googletest/pull/3457
+CXXFLAGS:append:toolchain-clang = " -Wno-error=switch-default"
+# Disable disabled-macro-expansion warning as error as its seen on musl
+CXXFLAGS:append:toolchain-clang:libc-musl = " -Wno-error=disabled-macro-expansion"
+
+do_install_ptest() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/tests/gsl_tests ${D}${bindir}
+ install -m 0755 ${B}/tests/gsl_noexcept_tests ${D}${bindir}
+}
+
+FILES:${PN}-ptest = "${bindir}/gsl*_tests"
+
+# there is already other gsl recipe, so recipe name does not match the real component name
+CVE_PRODUCT = "microsoft:gsl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb b/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb
deleted file mode 100644
index 77e080c8b8..0000000000
--- a/meta-oe/recipes-devtools/mpich/mpich_3.4.1.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "Message Passing Interface (MPI) implementation"
-HOMEPAGE = "http://www.mpich.org/"
-SECTION = "devel"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163"
-
-SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
-SRC_URI[sha256sum] = "8836939804ef6d492bcee7d54abafd6477d2beca247157d92688654d13779727"
-
-RDEPENDS_${PN} += "bash perl libxml2"
-
-EXTRA_OECONF = "--enable-debuginfo \
- --enable-fast \
- --enable-shared \
- --with-pm=gforker \
- --disable-rpath \
- --disable-f77 \
- --disable-fc \
- --disable-fortran \
- --disable-cxx \
- BASH_SHELL='${USRBINPATH}/env bash' \
- PERL='${USRBINPATH}/env perl' \
- --with-device=ch3:nemesis \
- --with-rdmacm=no \
- --disable-numa \
-"
-
-PACKAGECONFIG += " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
-"
-PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
-
-inherit autotools gettext pkgconfig
-
-do_configure() {
- for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \
- src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \
- modules/yaksa/m4 modules/json-c modules/ucx test/mpi/dtpools/confdb \
- src/mpl/confdb src/mpi/romio/confdb; do
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d
- done
-# cd ${S}
-# autoupdate
-# autoreconf --verbose --install --force
-# cd ${B}
- oe_runconf
-}
-
-do_install_append() {
- sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
- sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
-}
diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.2.0.bb b/meta-oe/recipes-devtools/mpich/mpich_4.2.0.bb
new file mode 100644
index 0000000000..deb459ce57
--- /dev/null
+++ b/meta-oe/recipes-devtools/mpich/mpich_4.2.0.bb
@@ -0,0 +1,67 @@
+SUMMARY = "Message Passing Interface (MPI) implementation"
+HOMEPAGE = "http://www.mpich.org/"
+SECTION = "devel"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=7a88f0d96d0d7396a7c66bf353235b62"
+
+SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
+SRC_URI[sha256sum] = "a64a66781b9e5312ad052d32689e23252f745b27ee8818ac2ac0c8209bc0b90e"
+
+RDEPENDS:${PN} += "bash perl libxml2"
+
+EXTRA_OECONF = "--enable-debuginfo \
+ --enable-fast \
+ --enable-shared \
+ --with-pm=gforker \
+ BASH_SHELL='${USRBINPATH}/env bash' \
+ PERL='${USRBINPATH}/env perl' \
+ --with-device=ch3:nemesis \
+"
+
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx"
+PACKAGECONFIG[fortran] = "--with-cross=${WORKDIR}/cross_values.txt --enable-fortran,--disable-f77 --disable-fortran,libgfortran"
+
+# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang
+LDFLAGS:append:x86-64 = " -lgcc"
+LDFLAGS:append:x86 = " -lgcc"
+
+inherit autotools gettext pkgconfig qemu
+
+DEPENDS += "qemu-native"
+
+do_configure() {
+ if [ "${@bb.utils.contains('PACKAGECONFIG', 'fortran', '1', '', d)}" = "1" ]; then
+ qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
+ cat > ${WORKDIR}/qemuwrapper << EOF
+#!/bin/sh
+$qemu_binary "\$@"
+EOF
+ chmod +x ${WORKDIR}/qemuwrapper
+
+ sed -i 's:my \(.*\) ./t`;:my \1 ${WORKDIR}/qemuwrapper ${WORKDIR}/t`;:' ${S}/maint/gen_cross.pl
+
+ cd ${WORKDIR}
+ perl ${S}/maint/gen_cross.pl
+
+ sed -i 's:\(CROSS_F90_INTEGER_MODEL_MAP=.*\) }"$:\1 }, ":' ${WORKDIR}/cross_values.txt
+ fi
+
+ cd ${S}
+ ./autogen.sh
+
+ cd ${B}
+ oe_runconf
+ sed -i -e 's,${WORKDIR},,g' ${B}/src/include/mpichinfo.h
+}
+
+do_install:append() {
+ sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
+ sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}${bindir}/mpicxx
+ sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}${bindir}/mpicc
+ sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
+ sed -i 's,${RECIPE_SYSROOT},/,g' ${D}${bindir}/mpicc
+ sed -i 's,${RECIPE_SYSROOT},/,g' ${D}${bindir}/mpicxx
+}
diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb b/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb
deleted file mode 100644
index 5224f32b03..0000000000
--- a/meta-oe/recipes-devtools/msgpack/msgpack-c_3.2.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "MessagePack implementation for C and C++"
-DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small"
-HOMEPAGE = "http://msgpack.org/index.html"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \
- file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \
- file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \
- "
-
-PV .= "+git${SRCPV}"
-
-SRC_URI = "git://github.com/msgpack/msgpack-c \
- "
-# cpp-3.2.1
-SRCREV = "8085ab8721090a447cf98bb802d1406ad7afe420"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb b/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb
new file mode 100644
index 0000000000..40d997a52c
--- /dev/null
+++ b/meta-oe/recipes-devtools/msgpack/msgpack-c_6.0.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "MessagePack implementation for C and C++"
+DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small"
+HOMEPAGE = "http://msgpack.org/index.html"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \
+ file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \
+ file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \
+ "
+
+SRC_URI = "git://github.com/msgpack/msgpack-c;branch=c_master;protocol=https \
+ "
+SRCREV = "8160ede5e20fd3019a77eea46d9c72cf6163f802"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE += "-DMSGPACK_BUILD_TESTS=off"
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb b/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb
new file mode 100644
index 0000000000..5f5507bc74
--- /dev/null
+++ b/meta-oe/recipes-devtools/msgpack/msgpack-cpp_6.1.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "MessagePack implementation for C and C++"
+DESCRIPTION = "MessagePack is an efficient binary serialization format. It's like JSON. but fast and small"
+HOMEPAGE = "http://msgpack.org/index.html"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://NOTICE;md5=7a858c074723608e08614061dc044352 \
+ file://COPYING;md5=0639c4209b6f2abf1437c813b208f2d3 \
+ file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c \
+ "
+
+SRC_URI = "https://github.com/msgpack/msgpack-c/releases/download/cpp-${PV}/msgpack-cxx-${PV}.tar.gz"
+SRC_URI[sha256sum] = "23ede7e93c8efee343ad8c6514c28f3708207e5106af3b3e4969b3a9ed7039e7"
+
+S = "${WORKDIR}/msgpack-cxx-${PV}"
+
+DEPENDS += "boost"
+
+inherit cmake pkgconfig
+
+RDEPENDS:${PN}-dev = ""
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
index e4701afa87..05220c2492 100644
--- a/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
+++ b/meta-oe/recipes-devtools/msr-tools/msr-tools_1.3.bb
@@ -1,6 +1,6 @@
SUMMARY = "utilies to read and write Intel model-specific registers"
HOMEPAGE = "https://01.org/msr-tools"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://Makefile;beginline=1;endline=11;md5=678a3928c856042424c734f4a7586e65"
SECTION = "devel"
diff --git a/meta-oe/recipes-devtools/musl/musl-nscd/0001-Fix-build-under-GCC-fno-common.patch b/meta-oe/recipes-devtools/musl/musl-nscd/0001-Fix-build-under-GCC-fno-common.patch
deleted file mode 100644
index 6fee0526d2..0000000000
--- a/meta-oe/recipes-devtools/musl/musl-nscd/0001-Fix-build-under-GCC-fno-common.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 8c0e4b7907eb577b1e5214f9a7bc75d5c3263b0a Mon Sep 17 00:00:00 2001
-From: Ariadne Conill <ariadne@dereferenced.org>
-Date: Sat, 14 Nov 2020 22:55:30 -0700
-Subject: [PATCH] Fix build under GCC -fno-common.
-
-Upstream-Status: Submitted [https://github.com/pikhq/musl-nscd/pull/11]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- include/modules.h | 4 ++--
- src/main.c | 3 +++
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/include/modules.h b/include/modules.h
-index 70c1960..e77ec58 100644
---- a/include/modules.h
-+++ b/include/modules.h
-@@ -28,7 +28,7 @@ struct mod_passwd {
- link_t link;
- };
-
--list_t passwd_mods;
--list_t group_mods;
-+extern list_t passwd_mods;
-+extern list_t group_mods;
-
- #endif
-diff --git a/src/main.c b/src/main.c
-index c1a78bb..808ef74 100644
---- a/src/main.c
-+++ b/src/main.c
-@@ -18,6 +18,9 @@
- #include "parse.h"
- #include "util.h"
-
-+list_t passwd_mods;
-+list_t group_mods;
-+
- static void *get_dll(const char *service)
- {
- char *path;
---
-2.29.2
-
diff --git a/meta-oe/recipes-devtools/musl/musl-nscd/0001-configure-Check-for-flex-if-lex-is-not-found.patch b/meta-oe/recipes-devtools/musl/musl-nscd/0001-configure-Check-for-flex-if-lex-is-not-found.patch
deleted file mode 100644
index 691aa3d2ac..0000000000
--- a/meta-oe/recipes-devtools/musl/musl-nscd/0001-configure-Check-for-flex-if-lex-is-not-found.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4d09032741475c4e9d3de62c8187597f3f72f934 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 22 Nov 2020 12:32:01 -0800
-Subject: [PATCH] configure: Check for flex if lex is not found
-
-lex is already checked by this time, therefore check should be to find
-flex
-Upstream-Status: Submitted [https://github.com/pikhq/musl-nscd/pull/12]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index 256824a..4c94568 100755
---- a/configure
-+++ b/configure
-@@ -249,7 +249,7 @@ printf "checking for lex... "
- trylex ${CROSS_COMPILE}lex
- trylex lex
- trylex ${CROSS_COMPILE}flex
--trylex lex
-+trylex flex
- printf "%s\n" "$LEX"
- test -n "$LEX" || echo "$0: cannot find lex. Will try to use pre-provided source."
-
---
-2.29.2
-
diff --git a/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch b/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch
new file mode 100644
index 0000000000..67c8b1bcfd
--- /dev/null
+++ b/meta-oe/recipes-devtools/musl/musl-nscd/0001-nsswitch.y-Replace-empty-bison-extension.patch
@@ -0,0 +1,50 @@
+From 82e51fb8ba2640b318826ef4e17b0f5c09c8dded Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 8 Mar 2021 20:10:18 -0800
+Subject: [PATCH] nsswitch.y: Replace %empty bison extension
+
+POSIX compliant yacc do not understand %empty therefore replace it with
+/* empty */
+
+https://github.com/pikhq/musl-nscd/issues/13
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/nsswitch.y | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/nsswitch.y b/src/nsswitch.y
+index 107073b..0b7c71e 100644
+--- a/src/nsswitch.y
++++ b/src/nsswitch.y
+@@ -38,7 +38,7 @@ top:
+ ;
+
+ file:
+- %empty {
++ /* empty */ {
+ list_init(&$$);
+ }
+ | file line {
+@@ -88,7 +88,7 @@ modifier:
+ ;
+
+ modifiers:
+- %empty {
++ /* empty */ {
+ memcpy($$, default_actions, sizeof($$));
+ }
+ | modifiers modifier {
+@@ -112,7 +112,7 @@ item:
+ ;
+
+ list:
+- %empty {
++ /* empty */ {
+ list_init(&$$);
+ }
+ | list item {
+--
+2.30.1
+
diff --git a/meta-oe/recipes-devtools/musl/musl-nscd_git.bb b/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
index 83125a1ba4..82e5c3bc5e 100644
--- a/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
+++ b/meta-oe/recipes-devtools/musl/musl-nscd_git.bb
@@ -4,17 +4,16 @@
DESCRIPTION = "Musl-nscd is an implementation of the NSCD protocol, suitable for use with musl and with standard NSS modules"
HOMEPAGE = "https://github.com/pikhq/musl-nscd"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=9bf479a145bcaff8489e743da58afeee"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fff9baeb9a392879d7fb25ba3a2696e4"
SECTION = "utils"
DEPENDS += "flex-native bison-native flex bison"
-PV = "1.0.2"
+PV = "1.1.0"
-SRCREV = "af581482a3e1059458f3c8b20a56f82807ca3bd4"
-SRC_URI = "git://github.com/pikhq/musl-nscd \
- file://0001-Fix-build-under-GCC-fno-common.patch \
- file://0001-configure-Check-for-flex-if-lex-is-not-found.patch \
+SRCREV = "cddd6be6c629ca96f2d2e74ee52daf12bbef1f83"
+SRC_URI = "git://github.com/pikhq/musl-nscd;branch=master;protocol=https \
+ file://0001-nsswitch.y-Replace-empty-bison-extension.patch \
"
UPSTREAM_CHECK_COMMITS = "1"
diff --git a/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb b/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
index a97eb53c1d..36e46021bb 100644
--- a/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
+++ b/meta-oe/recipes-devtools/nlohmann-fifo/nlohmann-fifo_git.bb
@@ -4,11 +4,11 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=b67209a1e36b682a8226de19d265b1e0"
-SRC_URI = "git://github.com/nlohmann/fifo_map.git"
+SRC_URI = "git://github.com/nlohmann/fifo_map.git;branch=master;protocol=https"
-PV = "1.0.0+git${SRCPV}"
+PV = "1.0.0+git"
-SRCREV = "0dfbf5dacbb15a32c43f912a7e66a54aae39d0f9"
+SRCREV = "d732aaf9a315415ae8fd7eb11e3a4c1f80e42a48"
UPSTREAM_CHECK_COMMITS = "1"
@@ -16,10 +16,13 @@ S = "${WORKDIR}/git"
# nlohmann-fifo is a header only C++ library, so the main package will be empty.
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
BBCLASSEXTEND = "native nativesdk"
+# See https://github.com/SOCI/soci/issues/984
+CXXFLAGS:append:toolchain-clang:runtime-llvm = " -DCATCH_CONFIG_CPP11_NO_SHUFFLE"
+
do_install() {
install -d ${D}${includedir}
install -m 0644 ${S}/src/fifo_map.hpp ${D}${includedir}
diff --git a/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest
new file mode 100755
index 0000000000..2f00267d50
--- /dev/null
+++ b/meta-oe/recipes-devtools/nlohmann-json/files/run-ptest
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+cd tests
+for atest in test-* ; do
+ rm -rf tests.log
+ ./${atest} > tests.log 2>&1
+ if [ $? = 0 ] ; then
+ echo "PASS: ${atest}"
+ else
+ echo "FAIL: ${atest}"
+ fi
+done
diff --git a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb
new file mode 100644
index 0000000000..194e80546e
--- /dev/null
+++ b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.3.bb
@@ -0,0 +1,45 @@
+SUMMARY = "JSON for modern C++"
+HOMEPAGE = "https://nlohmann.github.io/json/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588"
+
+CVE_PRODUCT = "json-for-modern-cpp"
+
+SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \
+ git://github.com/nlohmann/json_test_data.git;destsuffix=git/json_test_data;name=json-test-data;branch=master;protocol=https \
+ file://run-ptest \
+"
+
+SRCREV = "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03"
+SRCREV_json-test-data = "a1375cea09d27cc1c4cadb8d00470375b421ac37"
+
+SRCREV_FORMAT .= "_json-test-data"
+
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+
+EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DJSON_BuildTests=ON -DJSON_TestDataDirectory=${PTEST_PATH}/json_test_data', '-DJSON_BuildTests=OFF', d)}"
+
+# nlohmann-json is a header only C++ library, so the main package will be empty.
+ALLOW_EMPTY:${PN} = "1"
+RDEPENDS:${PN}-dev = ""
+RDEPENDS:${PN}-ptest = "perl"
+
+BBCLASSEXTEND = "native nativesdk"
+
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -r ${S}/json_test_data/ ${D}${PTEST_PATH}/
+ cp -r ${B}/tests/test-* ${D}${PTEST_PATH}/tests
+ rm -rf ${D}${PTEST_PATH}/json_test_data/.git
+}
+
+
+# other packages commonly reference the file directly as "json.hpp"
+# create symlink to allow this usage
+do_install:append() {
+ ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp
+}
diff --git a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.1.bb b/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.1.bb
deleted file mode 100644
index 359324266d..0000000000
--- a/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.9.1.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "JSON for modern C++"
-HOMEPAGE = "https://nlohmann.github.io/json/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.MIT;md5=dd0607f896f392c8b7d0290a676efc24"
-
-SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1 \
- "
-
-SRCREV = "db78ac1d7716f56fc9f1b030b715f872f93964e4"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DJSON_BuildTests=OFF"
-
-# nlohmann-json is a header only C++ library, so the main package will be empty.
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native nativesdk"
-
-# other packages commonly reference the file directly as "json.hpp"
-# create symlink to allow this usage
-do_install_append() {
- ln -s nlohmann/json.hpp ${D}${includedir}/json.hpp
-}
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.11/oe-npm-cache b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.11/oe-npm-cache
new file mode 100755
index 0000000000..f596207648
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-20.11/oe-npm-cache
@@ -0,0 +1,77 @@
+#!/usr/bin/env node
+
+/// Usage: oe-npm-cache <cache-dir> <type> <key> <file-name>
+/// <type> ... meta - metainformation about package
+/// tgz - tarball
+
+const process = require("node:process");
+
+module.paths.unshift("@@libdir@@/node_modules/npm/node_modules");
+
+const cacache = require('cacache')
+const fs = require('fs')
+
+// argv[0] is 'node', argv[1] is this script
+const cache_dir = process.argv[2]
+const type = process.argv[3]
+const key = process.argv[4]
+const file = process.argv[5]
+
+const data = fs.readFileSync(file)
+
+// metadata content is highly nodejs dependent; when cache entries are not
+// found, place debug statements in 'make-fetch-happen/lib/cache/policy.js'
+// (CachePolicy::satisfies())
+const xlate = {
+ 'meta': {
+ 'key_prefix': 'make-fetch-happen:request-cache:',
+ 'metadata': function() {
+ return {
+ time: Date.now(),
+ url: key,
+ reqHeaders: {
+ 'accept': 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*',
+ },
+ resHeaders: {
+ "content-type": "application/json",
+ "status": 200,
+ },
+ options: {
+ compress: true,
+ }
+ };
+ },
+ },
+
+ 'tgz': {
+ 'key_prefix': 'make-fetch-happen:request-cache:',
+ 'metadata': function() {
+ return {
+ time: Date.now(),
+ url: key,
+ reqHeaders: {
+ 'accept': '*/*',
+ },
+ resHeaders: {
+ "content-type": "application/octet-stream",
+ "status": 200,
+ },
+ options: {
+ compress: true,
+ },
+ };
+ },
+ },
+};
+
+const info = xlate[type];
+let opts = {}
+
+if (info.metadata) {
+ opts['metadata'] = info.metadata();
+}
+
+cacache.put(cache_dir, info.key_prefix + key, data, opts)
+ .then(integrity => {
+ console.log(`Saved content of ${key} (${file}).`);
+})
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.11.bb b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.11.bb
new file mode 100644
index 0000000000..a61dd5018f
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs-oe-cache-native_20.11.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "OE helper for manipulating npm cache"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+SRC_URI = "\
+ file://oe-npm-cache \
+"
+
+inherit native
+
+B = "${WORKDIR}/build"
+
+do_configure() {
+ sed -e 's!@@libdir@@!${libdir}!g' < '${WORKDIR}/oe-npm-cache' > '${B}/oe-npm-cache'
+}
+
+do_install() {
+ install -D -p -m 0755 ${B}/oe-npm-cache ${D}${bindir}/oe-npm-cache
+}
+
+RDEPENDS:${PN} = "nodejs-native"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
index 4dd121f485..12f6cd8b96 100644
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Disable-running-gyp-files-for-bundled-deps.patch
@@ -1,25 +1,46 @@
-From c2aff16cc196a61f4ab1cdae4a91c7926123c239 Mon Sep 17 00:00:00 2001
+From 7d94bfe53beeb2d25eb5f2ff6b1d509df7e6ab80 Mon Sep 17 00:00:00 2001
From: Zuzana Svetlikova <zsvetlik@redhat.com>
Date: Thu, 27 Apr 2017 14:25:42 +0200
Subject: [PATCH] Disable running gyp on shared deps
+Upstream-Status: Inappropriate [embedded specific]
+
+Probably imported from:
+https://src.fedoraproject.org/rpms/nodejs/c/41af04f2a3c050fb44628e91ac65fd225b927acb?branch=22609d8c1bfeaa21fe0057645af20b3a2ccc7f53
+which is probably based on dont-run-gyp-files-for-bundled-deps.patch added in:
+https://github.com/alpinelinux/aports/commit/6662eb3199902e8451fb20dce82554ad96f796bb
+
+We also explicitly prune some dependencies from source in the bitbake recipe:
+
+python prune_sources() {
+ import shutil
+
+ shutil.rmtree(d.getVar('S') + '/deps/openssl')
+ if 'ares' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/cares')
+ if 'brotli' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/brotli')
+ if 'libuv' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/uv')
+ if 'nghttp2' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/nghttp2')
+ if 'zlib' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/zlib')
+}
+do_unpack[postfuncs] += "prune_sources"
+
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/Makefile b/Makefile
-index 0947300f24..6c98691984 100644
--- a/Makefile
+++ b/Makefile
-@@ -141,7 +141,7 @@ test-code-cache: with-code-cache
- echo "'test-code-cache' target is a noop"
+@@ -169,7 +169,7 @@ with-code-cache test-code-cache:
+ $(warning '$@' target is a noop)
out/Makefile: config.gypi common.gypi node.gyp \
-- deps/uv/uv.gyp deps/http_parser/http_parser.gyp deps/zlib/zlib.gyp \
-+ deps/http_parser/http_parser.gyp \
+- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \
++ deps/llhttp/llhttp.gyp \
+ deps/simdutf/simdutf.gyp deps/ada/ada.gyp \
tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \
tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp
- $(PYTHON) tools/gyp_node.py -f make
---
-2.20.1
-
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch
deleted file mode 100644
index a23f1c243e..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From be8d3cd6eab4b8f9849133060abb1aba4400276b Mon Sep 17 00:00:00 2001
-From: Amy Huang <akhuang@google.com>
-Date: Thu, 23 Apr 2020 11:25:53 -0700
-Subject: [PATCH] Remove use of register r7 because llvm now issues an error
- when "r7" is used (starting in commit d85b3877)
-
-Bug: chromium:1073270
-Change-Id: I7ec8112f170b98d2edaf92bc9341e738f8de07a3
-Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2163435
-Reviewed-by: Nico Weber <thakis@chromium.org>
-Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
-Commit-Queue: Nico Weber <thakis@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#67371}
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Backport [https://chromium.googlesource.com/v8/v8/+/00604cd2806b5d26bef592dd19989a234bd07a4b%5E%21/]
- deps/v8/src/codegen/arm/cpu-arm.cc | 13 -------------
- 1 file changed, 13 deletions(-)
-
-diff --git a/deps/v8/src/codegen/arm/cpu-arm.cc b/deps/v8/src/codegen/arm/cpu-arm.cc
-index 868f360..654d68f 100644
---- a/deps/v8/src/codegen/arm/cpu-arm.cc
-+++ b/deps/v8/src/codegen/arm/cpu-arm.cc
-@@ -30,18 +30,6 @@ V8_NOINLINE void CpuFeatures::FlushICache(void* start, size_t size) {
- register uint32_t end asm("r1") = beg + size;
- register uint32_t flg asm("r2") = 0;
-
--#ifdef __clang__
-- // This variant of the asm avoids a constant pool entry, which can be
-- // problematic when LTO'ing. It is also slightly shorter.
-- register uint32_t scno asm("r7") = __ARM_NR_cacheflush;
--
-- asm volatile("svc 0\n"
-- :
-- : "r"(beg), "r"(end), "r"(flg), "r"(scno)
-- : "memory");
--#else
-- // Use a different variant of the asm with GCC because some versions doesn't
-- // support r7 as an asm input.
- asm volatile(
- // This assembly works for both ARM and Thumb targets.
-
-@@ -59,7 +47,6 @@ V8_NOINLINE void CpuFeatures::FlushICache(void* start, size_t size) {
- : "r"(beg), "r"(end), "r"(flg), [scno] "i"(__ARM_NR_cacheflush)
- : "memory");
- #endif
--#endif
- #endif // !USE_SIMULATOR
- }
-
---
-2.29.2
-
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch
new file mode 100644
index 0000000000..0178cec777
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-Using-native-binaries.patch
@@ -0,0 +1,94 @@
+From 6c3ac20477a4bac643088f24df3c042e627fafa9 Mon Sep 17 00:00:00 2001
+From: Guillaume Burel <guillaume.burel@stormshield.eu>
+Date: Fri, 3 Jan 2020 11:25:54 +0100
+Subject: [PATCH] Using native binaries
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Originally added in:
+https://git.openembedded.org/meta-openembedded/commit/?id=1c8e4a679ae382f953b2e5c7a4966a4646314f3e
+later extended and renamed in:
+https://git.openembedded.org/meta-openembedded/commit/?id=feeb172d1a8bf010490d22b8df9448b20d9d2aed
+
+Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
+---
+ node.gyp | 3 +
+ tools/v8_gypfiles/v8.gyp | 5 +++++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/node.gyp b/node.gyp
+index e8e1d9f9..e60ccc10 100644
+--- a/node.gyp
++++ b/node.gyp
+@@ -320,6 +320,7 @@
+ 'action_name': 'node_mksnapshot',
+ 'process_outputs_as_sources': 1,
+ 'inputs': [
++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh',
+ '<(node_mksnapshot_exec)',
+ '<(node_snapshot_main)',
+ ],
+@@ -935,6 +935,7 @@
+ 'action_name': 'node_js2c',
+ 'process_outputs_as_sources': 1,
+ 'inputs': [
++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh',
+ '<(node_js2c_exec)',
+ '<@(library_files)',
+ '<@(deps_files)',
+@@ -944,6 +945,7 @@
+ '<(SHARED_INTERMEDIATE_DIR)/node_javascript.cc',
+ ],
+ 'action': [
++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh',
+ '<(node_js2c_exec)',
+ '<@(_outputs)',
+ 'lib',
+
+diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
+index 42e26cd9..bc721991 100644
+--- a/tools/v8_gypfiles/v8.gyp
++++ b/tools/v8_gypfiles/v8.gyp
+@@ -68,6 +68,7 @@
+ {
+ 'action_name': 'run_torque_action',
+ 'inputs': [ # Order matters.
++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh',
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
+ '<@(torque_files)',
+ ],
+@@ -99,6 +100,7 @@
+ '<@(torque_outputs_inc)',
+ ],
+ 'action': [
++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh',
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)',
+ '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated',
+ '-v8-root', '<(V8_ROOT)',
+@@ -211,6 +213,7 @@
+ {
+ 'action_name': 'generate_bytecode_builtins_list_action',
+ 'inputs': [
++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh',
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)bytecode_builtins_list_generator<(EXECUTABLE_SUFFIX)',
+ ],
+ 'outputs': [
+@@ -400,6 +403,7 @@
+ ],
+ },
+ 'inputs': [
++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh',
+ '<(mksnapshot_exec)',
+ ],
+ 'outputs': [
+@@ -1539,6 +1543,7 @@
+ {
+ 'action_name': 'run_gen-regexp-special-case_action',
+ 'inputs': [
++ '<(PRODUCT_DIR)/v8-qemu-wrapper.sh',
+ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)gen-regexp-special-case<(EXECUTABLE_SUFFIX)',
+ ],
+ 'outputs': [
+--
+2.34.1
+
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch
new file mode 100644
index 0000000000..39026d0742
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-build-fix-build-with-Python-3.12.patch
@@ -0,0 +1,55 @@
+From 656f6c91f1da7f1e1ffb01e2de7d9026a84958b5 Mon Sep 17 00:00:00 2001
+From: Luigi Pinca <luigipinca@gmail.com>
+Date: Wed, 8 Nov 2023 21:20:53 +0100
+Subject: [PATCH] build: fix build with Python 3.12
+
+Replace `distutils.version.StrictVersion` with
+`packaging.version.Version`.
+
+Refs: https://github.com/nodejs/node/pull/50209#issuecomment-1795852539
+PR-URL: https://github.com/nodejs/node/pull/50582
+Reviewed-By: Richard Lau <rlau@redhat.com>
+Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
+
+Upstream-Status: Backport [https://github.com/nodejs/node/commit/95534ad82f4e33f53fd50efe633d43f8da70cba6]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ configure.py | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/configure.py b/configure.py
+index 62f041ce..18fe7c14 100755
+--- a/configure.py
++++ b/configure.py
+@@ -14,8 +14,6 @@ import bz2
+ import io
+ from pathlib import Path
+
+-from distutils.version import StrictVersion
+-
+ # If not run from node/, cd to node/.
+ os.chdir(Path(__file__).parent)
+
+@@ -30,6 +28,7 @@ tools_path = Path('tools')
+
+ sys.path.insert(0, str(tools_path / 'gyp' / 'pylib'))
+ from gyp.common import GetFlavor
++from packaging.version import Version
+
+ # imports in tools/configure.d
+ sys.path.insert(0, str(tools_path / 'configure.d'))
+@@ -1565,10 +1564,10 @@ def configure_openssl(o):
+ # supported asm compiler for AVX2. See https://github.com/openssl/openssl/
+ # blob/OpenSSL_1_1_0-stable/crypto/modes/asm/aesni-gcm-x86_64.pl#L52-L69
+ openssl110_asm_supported = \
+- ('gas_version' in variables and StrictVersion(variables['gas_version']) >= StrictVersion('2.23')) or \
+- ('xcode_version' in variables and StrictVersion(variables['xcode_version']) >= StrictVersion('5.0')) or \
+- ('llvm_version' in variables and StrictVersion(variables['llvm_version']) >= StrictVersion('3.3')) or \
+- ('nasm_version' in variables and StrictVersion(variables['nasm_version']) >= StrictVersion('2.10'))
++ ('gas_version' in variables and Version(variables['gas_version']) >= Version('2.23')) or \
++ ('xcode_version' in variables and Version(variables['xcode_version']) >= Version('5.0')) or \
++ ('llvm_version' in variables and Version(variables['llvm_version']) >= Version('3.3')) or \
++ ('nasm_version' in variables and Version(variables['nasm_version']) >= Version('2.10'))
+
+ if is_x86 and not openssl110_asm_supported:
+ error('''Did not find a new enough assembler, install one or build with
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch
new file mode 100644
index 0000000000..9d878dfb8d
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-gyp-resolve-python-3.12-issues.patch
@@ -0,0 +1,63 @@
+From bf8c96ba6936050ed4a0de5bc8aeeaf2b3c50dc1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Thu, 7 Dec 2023 12:54:30 +0100
+Subject: [PATCH] gyp: resolve python 3.12 issues
+
+Upstream has updated gyp wholesale in the main branch, so
+this patch can be dropped in due time.
+
+Upstream-Status: Inappropriate [issue will be fixed upstream with the next nodejs LTS update]
+
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py | 4 ++--
+ tools/gyp/pylib/gyp/input.py | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
+index d9699a0a..173e9465 100644
+--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
++++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
+@@ -16,7 +16,7 @@ import subprocess
+ import sys
+ import threading
+ import traceback
+-from distutils.version import StrictVersion
++from packaging.version import Version
+ from gyp.common import GypError
+ from gyp.common import OrderedSet
+
+@@ -1183,7 +1183,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil
+ else:
+ ast_code = compile(cond_expr_expanded, "<string>", "eval")
+ cached_conditions_asts[cond_expr_expanded] = ast_code
+- env = {"__builtins__": {}, "v": StrictVersion}
++ env = {"__builtins__": {}, "v": Version}
+ if eval(ast_code, env, variables):
+ return true_dict
+ return false_dict
+diff --git a/tools/gyp/pylib/gyp/input.py b/tools/gyp/pylib/gyp/input.py
+index 354958bf..ab6112e5 100644
+--- a/tools/gyp/pylib/gyp/input.py
++++ b/tools/gyp/pylib/gyp/input.py
+@@ -16,7 +16,7 @@ import subprocess
+ import sys
+ import threading
+ import traceback
+-from distutils.version import StrictVersion
++from packaging.version import Version
+ from gyp.common import GypError
+ from gyp.common import OrderedSet
+
+@@ -1190,7 +1190,7 @@ def EvalSingleCondition(cond_expr, true_dict, false_dict, phase, variables, buil
+ else:
+ ast_code = compile(cond_expr_expanded, "<string>", "eval")
+ cached_conditions_asts[cond_expr_expanded] = ast_code
+- env = {"__builtins__": {}, "v": StrictVersion}
++ env = {"__builtins__": {}, "v": Version}
+ if eval(ast_code, env, variables):
+ return true_dict
+ return false_dict
+--
+2.39.2
+
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch
new file mode 100644
index 0000000000..5af87d866e
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-liftoff-Correct-function-signatures.patch
@@ -0,0 +1,71 @@
+From dc3652c0abcdf8573fd044907b19d8eda7ca1124 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 3 Jul 2023 12:33:16 +0000
+Subject: [PATCH] [liftoff] Correct function signatures
+
+Fixes builds on mips where clang reports an error
+../deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h:661:5: error: no matching member function for call to 'Move'
+ Move(tmp, src, type.value_type());
+ ^~~~
+
+Upstream-Status: Submitted [https://chromium-review.googlesource.com/c/v8/v8/+/3235674]
+
+Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
+---
+ deps/v8/src/wasm/baseline/liftoff-assembler.h | 6 +++---
+ deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h | 2 +-
+ deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/deps/v8/src/wasm/baseline/liftoff-assembler.h b/deps/v8/src/wasm/baseline/liftoff-assembler.h
+index aef63c64..f2a11b01 100644
+--- a/deps/v8/src/wasm/baseline/liftoff-assembler.h
++++ b/deps/v8/src/wasm/baseline/liftoff-assembler.h
+@@ -717,7 +717,7 @@ class LiftoffAssembler : public MacroAssembler {
+ void FinishCall(const ValueKindSig*, compiler::CallDescriptor*);
+
+ // Move {src} into {dst}. {src} and {dst} must be different.
+- void Move(LiftoffRegister dst, LiftoffRegister src, ValueKind);
++ void Move(LiftoffRegister dst, LiftoffRegister src, ValueKind kind);
+
+ // Parallel register move: For a list of tuples <dst, src, kind>, move the
+ // {src} register of kind {kind} into {dst}. If {src} equals {dst}, ignore
+@@ -884,8 +884,8 @@ class LiftoffAssembler : public MacroAssembler {
+ inline void MoveStackValue(uint32_t dst_offset, uint32_t src_offset,
+ ValueKind);
+
+- inline void Move(Register dst, Register src, ValueKind);
+- inline void Move(DoubleRegister dst, DoubleRegister src, ValueKind);
++ inline void Move(Register dst, Register src, ValueKind kind);
++ inline void Move(DoubleRegister dst, DoubleRegister src, ValueKind kind);
+
+ inline void Spill(int offset, LiftoffRegister, ValueKind);
+ inline void Spill(int offset, WasmValue);
+diff --git a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h b/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h
+index 96cba24c..53e1842d 100644
+--- a/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h
++++ b/deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h
+@@ -592,7 +592,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
+ pinned.set(dst_op.rm());
+ LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned);
+ // Save original value.
+- Move(tmp, src, type.value_type());
++ Move(tmp, src, type.value_type().kind());
+
+ src = tmp;
+ pinned.set(tmp);
+diff --git a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h
+index 1d6ae09e..397e82b2 100644
+--- a/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h
++++ b/deps/v8/src/wasm/baseline/riscv/liftoff-assembler-riscv64.h
+@@ -286,7 +286,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
+ pinned.set(dst_op.rm());
+ LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned);
+ // Save original value.
+- Move(tmp, src, type.value_type());
++ Move(tmp, src, type.value_type().kind());
+
+ src = tmp;
+ pinned.set(tmp);
+--
+2.40.0
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch
new file mode 100644
index 0000000000..dd9c9015e2
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch
@@ -0,0 +1,25 @@
+From 0976af0f3b328436ea44a74a406f311adb2ab211 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Jun 2021 19:01:31 -0700
+Subject: [PATCH] ppc64: Do not use -mminimal-toc with clang
+
+clang does not support this option
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ common.gypi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/common.gypi
++++ b/common.gypi
+@@ -417,7 +417,7 @@
+ 'ldflags': [ '-m32' ],
+ }],
+ [ 'target_arch=="ppc64" and OS!="aix"', {
+- 'cflags': [ '-m64', '-mminimal-toc' ],
++ 'cflags': [ '-m64' ],
+ 'ldflags': [ '-m64' ],
+ }],
+ [ 'target_arch=="s390x"', {
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch
deleted file mode 100644
index b5142dc9c1..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0002-Using-native-binaries.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 6c3ac20477a4bac643088f24df3c042e627fafa9 Mon Sep 17 00:00:00 2001
-From: Guillaume Burel <guillaume.burel@stormshield.eu>
-Date: Fri, 3 Jan 2020 11:25:54 +0100
-Subject: [PATCH] Using native binaries
-
----
- node.gyp | 4 ++--
- tools/v8_gypfiles/v8.gyp | 11 ++++-------
- 2 files changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/node.gyp b/node.gyp
-index 8f4dc518..d9389190 100644
---- a/node.gyp
-+++ b/node.gyp
-@@ -446,7 +446,7 @@
- '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
- ],
- 'action': [
-- '<@(_inputs)',
-+ 'mkcodecache',
- '<@(_outputs)',
- ],
- },
-@@ -471,7 +471,7 @@
- '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
- ],
- 'action': [
-- '<@(_inputs)',
-+ 'node_mksnapshot',
- '<@(_outputs)',
- ],
- },
-diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
-index a506a67d..c91f7dde 100644
---- a/tools/v8_gypfiles/v8.gyp
-+++ b/tools/v8_gypfiles/v8.gyp
-@@ -140,7 +140,8 @@
- '<@(torque_outputs)',
- ],
- 'action': [
-- '<@(_inputs)',
-+ 'torque',
-+ '<@(torque_files)',
- '-o', '<(torque_output_root)/torque-generated',
- '-v8-root', '<(V8_ROOT)'
- ],
-@@ -247,9 +248,7 @@
- '<(generate_bytecode_builtins_list_output)',
- ],
- 'action': [
-- 'python',
-- '<(V8_ROOT)/tools/run.py',
-- '<@(_inputs)',
-+ 'bytecode_builtins_list_generator',
- '<@(_outputs)',
- ],
- },
-@@ -1396,9 +1395,7 @@
- '<(SHARED_INTERMEDIATE_DIR)/src/regexp/special-case.cc',
- ],
- 'action': [
-- 'python',
-- '<(V8_ROOT)/tools/run.py',
-- '<@(_inputs)',
-+ 'gen-regexp-special-case',
- '<@(_outputs)',
- ],
- },
---
-2.20.1
-
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch b/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
deleted file mode 100644
index 92386fa779..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/0003-Install-both-binaries-and-use-libdir.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 5bfeffdf4b5de1c60a2ff0d1ddf65db2bb9a1533 Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
-Date: Tue, 19 Mar 2019 23:22:40 -0400
-Subject: [PATCH 3/3] Install both binaries and use libdir.
-
-This allows us to build with a shared library for other users while
-still providing the normal executable.
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
-
-Stolen from [1]
-
-[1] https://src.fedoraproject.org/rpms/nodejs/raw/master/f/0003-Install-both-binaries-and-use-libdir.patch
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- configure.py | 7 +++++++
- tools/install.py | 31 ++++++++++++++-----------------
- 2 files changed, 21 insertions(+), 17 deletions(-)
-
---- a/configure.py
-+++ b/configure.py
-@@ -602,6 +602,12 @@ parser.add_option('--shared',
- help='compile shared library for embedding node in another project. ' +
- '(This mode is not officially supported for regular applications)')
-
-+parser.add_option('--libdir',
-+ action='store',
-+ dest='libdir',
-+ default='lib',
-+ help='a directory to install the shared library into')
-+
- parser.add_option('--without-v8-platform',
- action='store_true',
- dest='without_v8_platform',
-@@ -1168,6 +1174,7 @@ def configure_node(o):
- o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
-
- o['variables']['node_shared'] = b(options.shared)
-+ o['variables']['libdir'] = options.libdir
- node_module_version = getmoduleversion.get_version()
-
- if options.dest_os == 'android':
---- a/tools/install.py
-+++ b/tools/install.py
-@@ -121,26 +121,23 @@ def subdir_files(path, dest, action):
-
- def files(action):
- is_windows = sys.platform == 'win32'
-- output_file = 'node'
- output_prefix = 'out/Release/'
-+ output_libprefix = output_prefix
-
-- if 'false' == variables.get('node_shared'):
-- if is_windows:
-- output_file += '.exe'
-+ if is_windows:
-+ output_bin = 'node.exe'
-+ output_lib = 'node.dll'
- else:
-- if is_windows:
-- output_file += '.dll'
-- else:
-- output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix')
-- # GYP will output to lib.target except on OS X, this is hardcoded
-- # in its source - see the _InstallableTargetInstallPath function.
-- if sys.platform != 'darwin':
-- output_prefix += 'lib.target/'
-+ output_bin = 'node'
-+ output_lib = 'libnode.' + variables.get('shlib_suffix')
-+ # GYP will output to lib.target except on OS X, this is hardcoded
-+ # in its source - see the _InstallableTargetInstallPath function.
-+ if sys.platform != 'darwin':
-+ output_libprefix += 'lib.target/'
-
-- if 'false' == variables.get('node_shared'):
-- action([output_prefix + output_file], 'bin/' + output_file)
-- else:
-- action([output_prefix + output_file], 'lib/' + output_file)
-+ action([output_prefix + output_bin], 'bin/' + output_bin)
-+ if 'true' == variables.get('node_shared'):
-+ action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib)
-
- if 'true' == variables.get('node_use_dtrace'):
- action(['out/Release/node.d'], 'lib/dtrace/node.d')
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch b/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch
deleted file mode 100644
index 529381842f..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/big-endian.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-
-https://github.com/v8/v8/commit/878ccb33bd3cf0e6dc018ff8d15843f585ac07be
-
-did some automated cleanups but it missed big-endian code.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/deps/v8/src/runtime/runtime-utils.h
-+++ b/deps/v8/src/runtime/runtime-utils.h
-@@ -126,7 +126,7 @@ static inline ObjectPair MakePair(Object
- #if defined(V8_TARGET_LITTLE_ENDIAN)
- return x.ptr() | (static_cast<ObjectPair>(y.ptr()) << 32);
- #elif defined(V8_TARGET_BIG_ENDIAN)
-- return y->ptr() | (static_cast<ObjectPair>(x->ptr()) << 32);
-+ return y.ptr() | (static_cast<ObjectPair>(x.ptr()) << 32);
- #else
- #error Unknown endianness
- #endif
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch b/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch
new file mode 100644
index 0000000000..cb0237309e
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/libatomic.patch
@@ -0,0 +1,21 @@
+Link mksnapshot with libatomic on x86
+
+Clang-12 on x86 emits atomic builtins
+
+Fixes
+| module-compiler.cc:(.text._ZN2v88internal4wasm12_GLOBAL__N_123ExecuteCompilationUnitsERKSt10shared_ptrINS2_22BackgroundCompileTokenEEPNS0_8CountersEiNS2_19CompileBaselineOnlyE+0x558): un
+defined reference to `__atomic_load'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/tools/v8_gypfiles/v8.gyp
++++ b/tools/v8_gypfiles/v8.gyp
+@@ -1436,6 +1436,7 @@
+ {
+ 'target_name': 'mksnapshot',
+ 'type': 'executable',
++ 'libraries': [ '-latomic' ],
+ 'dependencies': [
+ 'v8_base_without_compiler',
+ 'v8_compiler_for_mksnapshot',
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch b/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch
deleted file mode 100644
index 1a773f23d8..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs/mips-warnings.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Add explicit static cast to fix narrowing warning
-
-Fixes
-deps/v8/src/codegen/mips/assembler-mips.cc:3556:44: error: non-constant-expression cannot be narrowed from type 'int' to 'size_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing]
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/deps/v8/src/codegen/mips/assembler-mips.cc
-+++ b/deps/v8/src/codegen/mips/assembler-mips.cc
-@@ -3553,7 +3553,7 @@ void Assembler::GrowBuffer() {
- reloc_info_writer.last_pc() + pc_delta);
-
- // Relocate runtime entries.
-- Vector<byte> instructions{buffer_start_, pc_offset()};
-+ Vector<byte> instructions{buffer_start_, static_cast<size_t>(pc_offset())};
- Vector<const byte> reloc_info{reloc_info_writer.pos(), reloc_size};
- for (RelocIterator it(instructions, reloc_info, 0); !it.done(); it.next()) {
- RelocInfo::Mode rmode = it.rinfo()->rmode();
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/run-ptest b/meta-oe/recipes-devtools/nodejs/nodejs/run-ptest
new file mode 100755
index 0000000000..e82f373626
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/run-ptest
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+./cctest
+if [ $? = 0 ]; then
+ echo "PASS: nodejs"
+else
+ echo "FAIL: nodejs"
+fi
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch b/meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch
new file mode 100644
index 0000000000..141889ad23
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs/system-c-ares.patch
@@ -0,0 +1,24 @@
+keep nodejs compatible with c-ares 1.17.1
+
+Upstream-Status: Inappropriate [c-ares specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/src/cares_wrap.h
++++ b/src/cares_wrap.h
+@@ -22,7 +22,15 @@
+ # include <netdb.h>
+ #endif // __POSIX__
+
+-# include <ares_nameser.h>
++#if defined(__ANDROID__) || \
++ defined(__MINGW32__) || \
++ defined(__OpenBSD__) || \
++ defined(_MSC_VER)
++
++# include <nameser.h>
++#else
++# include <arpa/nameser.h>
++#endif
+
+ namespace node {
+ namespace cares_wrap {
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb b/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb
deleted file mode 100644
index 6acc36b4fb..0000000000
--- a/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb
+++ /dev/null
@@ -1,161 +0,0 @@
-DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
-HOMEPAGE = "http://nodejs.org"
-LICENSE = "MIT & BSD & Artistic-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8c66ff8861d9f96076a7cb61e3d75f54"
-
-DEPENDS = "openssl"
-DEPENDS_append_class-target = " nodejs-native"
-
-inherit pkgconfig python3native
-
-COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
-COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
-COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
-
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
-
-SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
- file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
- file://0003-Install-both-binaries-and-use-libdir.patch \
- file://0004-v8-don-t-override-ARM-CFLAGS.patch \
- file://big-endian.patch \
- file://mips-warnings.patch \
- file://0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch \
- "
-SRC_URI_append_class-target = " \
- file://0002-Using-native-binaries.patch \
- "
-SRC_URI[sha256sum] = "961ad600f0706c396390ebc7767fb01d5e3792a5022dc2e7774796756eec6d3c"
-
-S = "${WORKDIR}/node-v${PV}"
-
-# v8 errors out if you have set CCACHE
-CCACHE = ""
-
-def map_nodejs_arch(a, d):
- import re
-
- if re.match('i.86$', a): return 'ia32'
- elif re.match('x86_64$', a): return 'x64'
- elif re.match('aarch64$', a): return 'arm64'
- elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64'
- elif re.match('powerpc$', a): return 'ppc'
- return a
-
-ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
- ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
- bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
- '--with-arm-fpu=vfp', d), d), d)}"
-GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
-ARCHFLAGS ?= ""
-
-PACKAGECONFIG ??= "ares brotli icu zlib"
-
-PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
-PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
-PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
-PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
-PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
-PACKAGECONFIG[shared] = "--shared"
-PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
-
-# We don't want to cross-compile during target compile,
-# and we need to use the right flags during host compile,
-# too.
-EXTRA_OEMAKE = "\
- CC.host='${CC}' \
- CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \
- CXX.host='${CXX}' \
- CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \
- LDFLAGS.host='${LDFLAGS}' \
- AR.host='${AR}' \
- \
- builddir_name=./ \
-"
-
-python do_unpack() {
- import shutil
-
- bb.build.exec_func('base_do_unpack', d)
-
- shutil.rmtree(d.getVar('S') + '/deps/openssl', True)
- if 'ares' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/cares', True)
- if 'brotli' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/brotli', True)
- if 'libuv' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/uv', True)
- if 'nghttp2' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/nghttp2', True)
- if 'zlib' in d.getVar('PACKAGECONFIG'):
- shutil.rmtree(d.getVar('S') + '/deps/zlib', True)
-}
-
-# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
-do_configure () {
- export LD="${CXX}"
- GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
- # $TARGET_ARCH settings don't match --dest-cpu settings
- python3 configure.py --prefix=${prefix} --cross-compiling --without-snapshot --shared-openssl \
- --without-dtrace \
- --without-etw \
- --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
- --dest-os=linux \
- --libdir=${D}${libdir} \
- ${ARCHFLAGS} \
- ${PACKAGECONFIG_CONFARGS}
-}
-
-do_compile () {
- export LD="${CXX}"
- oe_runmake BUILDTYPE=Release
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-
- # wasn't updated since 2009 and is the only thing requiring python2 in runtime
- # ERROR: nodejs-12.14.1-r0 do_package_qa: QA Issue: /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples contained in package nodejs-npm requires /usr/bin/python, but no providers found in RDEPENDS_nodejs-npm? [file-rdeps]
- rm -f ${D}${exec_prefix}/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples
-}
-
-do_install_append_class-native() {
- # use node from PATH instead of absolute path to sysroot
- # node-v0.10.25/tools/install.py is using:
- # shebang = os.path.join(node_prefix, 'bin/node')
- # update_shebang(link_path, shebang)
- # and node_prefix can be very long path to bindir in native sysroot and
- # when it exceeds 128 character shebang limit it's stripped to incorrect path
- # and npm fails to execute like in this case with 133 characters show in log.do_install:
- # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node
- # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js
- # use sed on npm-cli.js because otherwise symlink is replaced with normal file and
- # npm-cli.js continues to use old shebang
- sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-
- # Install the native binaries to provide it within sysroot for the target compilation
- install -d ${D}${bindir}
- install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque
- install -m 0755 ${S}/out/Release/bytecode_builtins_list_generator ${D}${bindir}/bytecode_builtins_list_generator
- if ${@bb.utils.contains('PACKAGECONFIG','icu','true','false',d)}; then
- install -m 0755 ${S}/out/Release/gen-regexp-special-case ${D}${bindir}/gen-regexp-special-case
- fi
- install -m 0755 ${S}/out/Release/mkcodecache ${D}${bindir}/mkcodecache
- install -m 0755 ${S}/out/Release/node_mksnapshot ${D}${bindir}/node_mksnapshot
-}
-
-do_install_append_class-target() {
- sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js
-}
-
-PACKAGES =+ "${PN}-npm"
-FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx"
-RDEPENDS_${PN}-npm = "bash python3-core python3-shell python3-datetime \
- python3-misc python3-multiprocessing"
-
-PACKAGES =+ "${PN}-systemtap"
-FILES_${PN}-systemtap = "${datadir}/systemtap"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb b/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
new file mode 100644
index 0000000000..9a61cfcf71
--- /dev/null
+++ b/meta-oe/recipes-devtools/nodejs/nodejs_20.11.1.bb
@@ -0,0 +1,182 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=78ad16dab3c1d15d4878c81770be0be7"
+
+CVE_PRODUCT = "nodejs node.js"
+
+DEPENDS = "openssl file-replacement-native python3-packaging-native"
+DEPENDS:append:class-target = " qemu-native"
+DEPENDS:append:class-native = " c-ares-native"
+
+inherit pkgconfig python3native qemu ptest
+
+COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*"
+
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:powerpc = "null"
+
+SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
+ file://0001-Disable-running-gyp-files-for-bundled-deps.patch \
+ file://0004-v8-don-t-override-ARM-CFLAGS.patch \
+ file://system-c-ares.patch \
+ file://0001-liftoff-Correct-function-signatures.patch \
+ file://run-ptest \
+ "
+
+SRC_URI:append:class-target = " \
+ file://0001-Using-native-binaries.patch \
+ "
+SRC_URI:append:toolchain-clang:x86 = " \
+ file://libatomic.patch \
+ "
+SRC_URI:append:toolchain-clang:powerpc64le = " \
+ file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
+ "
+SRC_URI[sha256sum] = "77813edbf3f7f16d2d35d3353443dee4e61d5ee84d9e3138c7538a3c0ca5209e"
+
+S = "${WORKDIR}/node-v${PV}"
+
+CVE_PRODUCT += "node.js"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+def map_nodejs_arch(a, d):
+ import re
+
+ if re.match('i.86$', a): return 'ia32'
+ elif re.match('x86_64$', a): return 'x64'
+ elif re.match('aarch64$', a): return 'arm64'
+ elif re.match('(powerpc64|powerpc64le|ppc64le)$', a): return 'ppc64'
+ elif re.match('powerpc$', a): return 'ppc'
+ return a
+
+ARCHFLAGS:arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
+ ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
+ bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
+ '--with-arm-fpu=vfp', d), d), d)}"
+ARCHFLAGS:append:mips = " --v8-lite-mode"
+ARCHFLAGS:append:mipsel = " --v8-lite-mode"
+ARCHFLAGS ?= ""
+
+PACKAGECONFIG ??= "ares brotli icu zlib"
+
+PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
+PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
+PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
+PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
+PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
+PACKAGECONFIG[shared] = "--shared"
+PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
+
+# We don't want to cross-compile during target compile,
+# and we need to use the right flags during host compile,
+# too.
+EXTRA_OEMAKE = "\
+ CC.host='${CC} -pie -fPIE' \
+ CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \
+ CXX.host='${CXX} -pie -fPIE' \
+ CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \
+ LDFLAGS.host='${LDFLAGS}' \
+ AR.host='${AR}' \
+ \
+ builddir_name=./ \
+"
+
+EXTRANATIVEPATH += "file-native"
+
+python prune_sources() {
+ import shutil
+
+ shutil.rmtree(d.getVar('S') + '/deps/openssl')
+ if 'ares' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/cares')
+ if 'brotli' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/brotli')
+ if 'libuv' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/uv')
+ if 'nghttp2' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/nghttp2')
+ if 'zlib' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/zlib')
+}
+do_unpack[postfuncs] += "prune_sources"
+
+# V8's JIT infrastructure requires binaries such as mksnapshot and
+# mkpeephole to be run in the host during the build. However, these
+# binaries must have the same bit-width as the target (e.g. a x86_64
+# host targeting ARMv6 needs to produce a 32-bit binary). Instead of
+# depending on a third Yocto toolchain, we just build those binaries
+# for the target and run them on the host with QEMU.
+python do_create_v8_qemu_wrapper () {
+ """Creates a small wrapper that invokes QEMU to run some target V8 binaries
+ on the host."""
+ qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'),
+ d.expand('${STAGING_DIR_HOST}${base_libdir}')]
+ qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'),
+ qemu_libdirs)
+ wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh')
+ with open(wrapper_path, 'w') as wrapper_file:
+ wrapper_file.write("""#!/bin/sh
+
+# This file has been generated automatically.
+# It invokes QEMU to run binaries built for the target in the host during the
+# build process.
+
+%s "$@"
+""" % qemu_cmd)
+ os.chmod(wrapper_path, 0o755)
+}
+
+do_create_v8_qemu_wrapper[dirs] = "${B}"
+addtask create_v8_qemu_wrapper after do_configure before do_compile
+
+LDFLAGS:append:x86 = " -latomic"
+
+CROSS_FLAGS = "--cross-compiling"
+CROSS_FLAGS:class-native = "--no-cross-compiling"
+
+# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi
+do_configure () {
+ GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+ # $TARGET_ARCH settings don't match --dest-cpu settings
+ python3 configure.py --verbose --prefix=${prefix} \
+ --shared-openssl \
+ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+ --dest-os=linux \
+ --libdir=${baselib} \
+ ${CROSS_FLAGS} \
+ ${ARCHFLAGS} \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_compile () {
+ install -D ${RECIPE_SYSROOT_NATIVE}/etc/ssl/openssl.cnf ${B}/deps/openssl/nodejs-openssl.cnf
+ install -D ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh
+ oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+do_install_ptest () {
+ cp -r ${B}/out/Release/cctest ${D}${PTEST_PATH}/
+ cp -r ${B}/test ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES:${PN}-npm = "${nonarch_libdir}/node_modules ${bindir}/npm ${bindir}/npx ${bindir}/corepack"
+RDEPENDS:${PN}-npm = "bash python3-core python3-shell python3-datetime \
+ python3-misc python3-multiprocessing"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES:${PN}-systemtap = "${datadir}/systemtap"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch b/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch
index e89d7d3466..4189d4083a 100644
--- a/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch
+++ b/meta-oe/recipes-devtools/octave/files/fix-blas-library-integer-size.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Naur octave-4.4.1.orig/configure.ac octave-4.4.1/configure.ac
--- octave-4.4.1.orig/configure.ac 2019-02-23 10:46:24.287240571 +0000
+++ octave-4.4.1/configure.ac 2019-02-23 10:46:42.255249333 +0000
diff --git a/meta-oe/recipes-devtools/octave/octave_4.4.1.bb b/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
deleted file mode 100644
index ec3e8258a5..0000000000
--- a/meta-oe/recipes-devtools/octave/octave_4.4.1.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-DESCRIPTION = "High-level language, primarily intended for numerical computations"
-HOMEPAGE = "http://www.gnu.org/software/octave/"
-SECTION = "math"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-DEPENDS = "gperf-native texinfo lapack pcre readline"
-
-inherit autotools pkgconfig texinfo gettext mime-xdg
-
-EXTRA_OECONF = "--disable-java --disable-docs"
-
-SRC_URI = "${GNU_MIRROR}/octave/${BPN}-${PV}.tar.gz \
- file://fix-blas-library-integer-size.patch \
-"
-
-SRC_URI[md5sum] = "b43bd5f4309a0c048c91af10cf8e8674"
-SRC_URI[sha256sum] = "09fbd0f212f4ef21e53f1d9c41cf30ce3d7f9450fb44911601e21ed64c67ae97"
-
-do_compile_prepend() {
- for folder in "liboctave/operators liboctave/numeric liboctave/array liboctave/util"; do
- mkdir -p ${B}/${folder}
- done
-}
-
-PACKAGES =+ " octave-common liboctave liboctave-dev liboctave-dbg"
-
-FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${datadir}/${PN} \
- ${libdir}/${PN}/${PV}/oct ${libdir}/${PN}/${PV}/site \
- ${libdir}/${PN}/site ${datadir}/applications ${datadir}/metainfo"
-FILES_${PN}-common = "${datadir}/icons"
-
-FILES_liboctave = "${libdir}/${PN}/${PV}/lib*${SOLIBS}"
-FILES_liboctave-dev = "${libdir}/${PN}/${PV}/lib*${SOLIBSDEV}"
-FILES_liboctave-dbg = "${libdir}/${PN}/${PV}/.debug"
-
-FILES_${PN}-dbg = "${bindir}/.debug ${libdir}/${PN}/${PV}/oct/${TARGET_SYS}/.debug"
-
-EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-oe/recipes-devtools/octave/octave_7.2.0.bb b/meta-oe/recipes-devtools/octave/octave_7.2.0.bb
new file mode 100644
index 0000000000..eb96a624f6
--- /dev/null
+++ b/meta-oe/recipes-devtools/octave/octave_7.2.0.bb
@@ -0,0 +1,56 @@
+SUMMARY = "High-level language, primarily intended for numerical computations"
+HOMEPAGE = "http://www.gnu.org/software/octave/"
+SECTION = "math"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+# To build, add 'FORTRAN:forcevariable = ",fortran"' to your local.conf (or use
+# meta-mortsgna as distro :)
+
+DEPENDS = " \
+ gperf-native \
+ libglu \
+ lapack \
+ fftw \
+ curl \
+ freetype \
+ fontconfig \
+ texinfo \
+ pcre \
+ readline \
+ fltk \
+ hdf5 \
+ libsndfile1 \
+"
+
+inherit autotools pkgconfig texinfo gettext gtk-icon-cache mime-xdg features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRC_URI = " \
+ ${GNU_MIRROR}/octave/${BPN}-${PV}.tar.gz \
+ file://fix-blas-library-integer-size.patch \
+"
+SRC_URI[sha256sum] = "b12cb652587d31c5c382b39ed73463c22a5259ecb2fa6b323a27da409222dacc"
+
+# Note: Qt5Help is required for gui -> qttools(-native) must be build with
+# clang in PACKAGECONFIG
+PACKAGECONFIG[gui] = "--with-qt=yes,--with-qt=no,qttools-native qttools qtbase"
+
+EXTRA_OECONF = " \
+ --disable-java \
+ --disable-docs \
+"
+
+do_compile:prepend() {
+ for folder in "liboctave/operators liboctave/numeric liboctave/array liboctave/util"; do
+ mkdir -p ${B}/${folder}
+ done
+}
+
+FILES:${PN} += "${datadir}/metainfo"
+FILES:${PN}-dev += "${libdir}/${BPN}/${PV}/lib*${SOLIBSDEV}"
+
+# fortran is not enabled by default
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-oe/recipes-devtools/openocd/openocd_git.bb b/meta-oe/recipes-devtools/openocd/openocd_git.bb
index 05e06a25d5..559fe29ff8 100644
--- a/meta-oe/recipes-devtools/openocd/openocd_git.bb
+++ b/meta-oe/recipes-devtools/openocd/openocd_git.bb
@@ -1,30 +1,30 @@
SUMMARY = "Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=599d2d1ee7fc84c0467b3d19801db870"
DEPENDS = "libusb-compat libftdi"
-RDEPENDS_${PN} = "libusb1"
+RDEPENDS:${PN} = "libusb1"
SRC_URI = " \
- git://repo.or.cz/openocd.git;protocol=http;name=openocd \
- git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl \
- git://repo.or.cz/r/jimtcl.git;protocol=http;destsuffix=git/jimtcl;name=jimtcl \
- git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink \
+ git://repo.or.cz/openocd.git;protocol=http;name=openocd;branch=master \
+ git://repo.or.cz/r/git2cl.git;protocol=http;destsuffix=tools/git2cl;name=git2cl;branch=master \
+ git://github.com/msteveb/jimtcl.git;protocol=https;destsuffix=git/jimtcl;name=jimtcl;branch=master \
+ git://repo.or.cz/r/libjaylink.git;protocol=http;destsuffix=git/src/jtag/drivers/libjaylink;name=libjaylink;branch=master \
"
SRCREV_FORMAT = "openocd"
-SRCREV_openocd = "d46f28c2ea2611f5fbbc679a5eed253d3dcd2fe3"
+SRCREV_openocd = "91bd4313444c5a949ce49d88ab487608df7d6c37"
SRCREV_git2cl = "8373c9f74993e218a08819cbcdbab3f3564bbeba"
-SRCREV_jimtcl = "0aa0fb4e3a38d38a49de9eb585d93d63a370dcf6"
+SRCREV_jimtcl = "fcbb4499a6b46ef69e7a95da53e30796e20817f0"
SRCREV_libjaylink = "9aa7a5957c07bb6e862fc1a6d3153d109c7407e4"
-PV = "0.10+gitr${SRCPV}"
+PV = "0.12+git"
S = "${WORKDIR}/git"
inherit pkgconfig autotools-brokensep gettext
BBCLASSEXTEND += "native nativesdk"
-EXTRA_OECONF = "--enable-ftdi --disable-doxygen-html --disable-werror"
+EXTRA_OECONF = "--enable-ftdi --enable-jtag_vpi --enable-buspirate --disable-doxygen-html --disable-werror"
do_configure() {
./bootstrap nosubmodule
@@ -46,7 +46,7 @@ do_install() {
fi
}
-FILES_${PN} = " \
+FILES:${PN} = " \
${datadir}/openocd/* \
${bindir}/openocd \
"
diff --git a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
index 4bd9a12554..4a0383e0a1 100644
--- a/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
+++ b/meta-oe/recipes-devtools/packagegroups/packagegroup-sdk-target.bb
@@ -1,13 +1,12 @@
SUMMARY = "Packages required for a target (on-device) SDK"
-PR = "r1"
inherit packagegroup
-RPROVIDES_${PN} += "packagegroup-native-sdk"
-RREPLACES_${PN} += "packagegroup-native-sdk"
-RCONFLICTS_${PN} += "packagegroup-native-sdk"
-RDEPENDS_${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \
+RPROVIDES:${PN} += "packagegroup-native-sdk"
+RREPLACES:${PN} += "packagegroup-native-sdk"
+RCONFLICTS:${PN} += "packagegroup-native-sdk"
+RDEPENDS:${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \
binutils-symlinks \
perl-modules \
flex flex-dev \
@@ -23,4 +22,4 @@ RDEPENDS_${PN} = "gcc-symlinks g++-symlinks cpp cpp-symlinks \
pkgconfig"
# usefull, but not in oe-core/meta-oe yet: patchutils
-RRECOMMENDS_${PN} = " g77-symlinks gfortran-symlinks"
+RRECOMMENDS:${PN} = " g77-symlinks gfortran-symlinks"
diff --git a/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch b/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
new file mode 100644
index 0000000000..4f7dfd4cca
--- /dev/null
+++ b/meta-oe/recipes-devtools/pahole/files/0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch
@@ -0,0 +1,35 @@
+From 436163ab845c263312cf3d4717a43727cf5f0747 Mon Sep 17 00:00:00 2001
+From: Matteo Croce <mcroce@microsoft.com>
+Date: Wed, 15 Sep 2021 17:54:01 +0200
+Subject: [PATCH] Use /usr/bin/env python3 instead of just /usr/bin/python3
+
+Upstream-Status: Inappropriate [OE specific]
+
+---
+ ostra/ostra-cg | 2 +-
+ ostra/python/ostra.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ostra/ostra-cg b/ostra/ostra-cg
+index 52c902e..8142e67 100755
+--- a/ostra/ostra-cg
++++ b/ostra/ostra-cg
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ # ostra-cg - generate callgraphs from encoded trace
+ #
+ # Arnaldo Carvalho de Melo <acme@redhat.com>
+diff --git a/ostra/python/ostra.py b/ostra/python/ostra.py
+index 86fe079..9bb5ad1 100755
+--- a/ostra/python/ostra.py
++++ b/ostra/python/ostra.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ #
+ # Copyright (C) 2005, 2006, 2007 Arnaldo Carvalho de Melo
+ #
+--
+2.31.1
+
diff --git a/meta-oe/recipes-devtools/pahole/pahole_1.25.bb b/meta-oe/recipes-devtools/pahole/pahole_1.25.bb
new file mode 100644
index 0000000000..1334c850e6
--- /dev/null
+++ b/meta-oe/recipes-devtools/pahole/pahole_1.25.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Shows and manipulates data structure layout"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "elfutils zlib libbpf"
+
+# Depends on MACHINE_ARCH libbpf
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_HOST = "(x86_64|i.86|aarch64).*-linux"
+
+SRCREV = "81558a5a996005df0d607dd33f74ec5b7bdb619d"
+SRC_URI = "git://git.kernel.org/pub/scm/devel/pahole/pahole.git;branch=master \
+ file://0002-Use-usr-bin-env-python3-instead-of-just-usr-bin-pyth.patch"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG[python3] = ",,python3-core,python3-core"
+
+EXTRA_OECMAKE = "-D__LIB=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} -DCMAKE_BUILD_TYPE=Release -DLIBBPF_EMBEDDED=OFF"
+
+FILES:${PN} = "${bindir}/pahole \
+ ${libdir}/libdwarves.so* \
+ ${libdir}/libdwarves_reorganize.so*"
+
+PACKAGES += "${PN}-extra"
+FILES:${PN}-extra = "${datadir} ${bindir} ${libdir}/libdwarves_emit.so*"
+RDEPENDS:${PN}-extra += "bash python3-core"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/pax-utils/pax-utils_1.2.2.bb b/meta-oe/recipes-devtools/pax-utils/pax-utils_1.2.2.bb
deleted file mode 100644
index 9635a5e708..0000000000
--- a/meta-oe/recipes-devtools/pax-utils/pax-utils_1.2.2.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Security-focused ELF files checking tool"
-DESCRIPTION = "This is a small set of various PaX aware and related \
-utilities for ELF binaries. It can check ELF binary files and running \
-processes for issues that might be relevant when using ELF binaries \
-along with PaX, such as non-PIC code or executable stack and heap."
-HOMEPAGE = "http://www.gentoo.org/proj/en/hardened/pax-utils.xml"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
-
-SRC_URI = "https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
-SRC_URI[md5sum] = "a580468318f0ff42edf4a8cd314cc942"
-SRC_URI[sha256sum] = "7f4a7f8db6b4743adde7582fa48992ad01776796fcde030683732f56221337d9"
-
-RDEPENDS_${PN} += "bash"
-
-export GNULIB_OVERRIDES_WINT_T = "0"
-
-do_configure_prepend() {
- touch ${S}/NEWS ${S}/AUTHORS ${S}/ChangeLog ${S}/README
-}
-
-do_install() {
- oe_runmake PREFIX=${D}${prefix} DESTDIR=${D} install
-}
-
-BBCLASSEXTEND = "native"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-
-PACKAGECONFIG[libcap] = "--with-caps, --without-caps, libcap"
-PACKAGECONFIG[libseccomp] = "--with-seccomp, --without-seccomp, libseccomp"
-PACKAGECONFIG[pyelftools] = "--with-python, --without-python,, pyelftools"
-
-EXTRA_OECONF += "--enable-largefile"
diff --git a/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb b/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb
new file mode 100644
index 0000000000..d512c85704
--- /dev/null
+++ b/meta-oe/recipes-devtools/pax-utils/pax-utils_1.3.3.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Security-focused ELF files checking tool"
+DESCRIPTION = "This is a small set of various PaX aware and related \
+utilities for ELF binaries. It can check ELF binary files and running \
+processes for issues that might be relevant when using ELF binaries \
+along with PaX, such as non-PIC code or executable stack and heap."
+HOMEPAGE = "http://www.gentoo.org/proj/en/hardened/pax-utils.xml"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SRC_URI = "https://dev.gentoo.org/~vapier/dist/pax-utils-${PV}.tar.xz"
+SRC_URI[sha256sum] = "eeca7fbd98bc66bead4a77000c2025d9f17ea8201b84245882406ce00b9b6b14"
+
+RDEPENDS:${PN} += "bash"
+
+export GNULIB_OVERRIDES_WINT_T = "0"
+
+do_configure:prepend() {
+ touch ${S}/NEWS ${S}/AUTHORS ${S}/ChangeLog ${S}/README
+}
+
+do_install() {
+ oe_runmake PREFIX=${D}${prefix} DESTDIR=${D} install
+}
+
+BBCLASSEXTEND = "native"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[libcap] = "--with-caps, --without-caps, libcap"
+PACKAGECONFIG[libseccomp] = "--with-seccomp, --without-seccomp, libseccomp"
+PACKAGECONFIG[pyelftools] = "--with-python, --without-python,, pyelftools"
+
+EXTRA_OECONF += "--enable-largefile"
diff --git a/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb b/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
index 107d5a8b72..85c4fa95ae 100644
--- a/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
+++ b/meta-oe/recipes-devtools/pcimem/pcimem_2.0.bb
@@ -2,13 +2,13 @@ SUMMARY = "Simple program to read & write to a pci device from userspace"
HOMEPAGE = "https://github.com/billfarrow/pcimem"
BUGTRACKER = "https://github.com/billfarrow/pcimem/issues"
SECTION = "devel"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-COMPATIBLE_HOST = "(x86_64|aarch64|arm)"
+COMPATIBLE_HOST = "(x86_64|aarch64|arm|riscv64)"
SRCREV = "09724edb1783a98da2b7ae53c5aaa87493aabc9b"
-SRC_URI = "git://github.com/billfarrow/pcimem.git "
+SRC_URI = "git://github.com/billfarrow/pcimem.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch b/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch
new file mode 100644
index 0000000000..d08721ae65
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/files/0001-Add-missing-header-cstdint-for-uintXX_t-types.patch
@@ -0,0 +1,58 @@
+From e63949205682bbd2a0e33e256119472d704a2549 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 29 Jan 2023 22:03:01 -0800
+Subject: [PATCH] Add missing header <cstdint> for uintXX_t types
+
+This is detected by gcc-13
+gcc 13 moved some includes around and as a result <cstdint> is no
+longer transitively included [1]. Explicitly include it for uintXX_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://android-review.googlesource.com/c/platform/external/perfetto/+/2399128]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/perfetto/ext/base/http/sha1.h | 1 +
+ include/perfetto/ext/base/uuid.h | 1 +
+ src/traced/probes/common/cpu_freq_info.h | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/include/perfetto/ext/base/http/sha1.h b/include/perfetto/ext/base/http/sha1.h
+index c583d69d4..7e3a48c83 100644
+--- a/include/perfetto/ext/base/http/sha1.h
++++ b/include/perfetto/ext/base/http/sha1.h
+@@ -20,6 +20,7 @@
+ #include <stddef.h>
+
+ #include <array>
++#include <cstdint>
+ #include <string>
+
+ namespace perfetto {
+diff --git a/include/perfetto/ext/base/uuid.h b/include/perfetto/ext/base/uuid.h
+index 1b4c53815..472042fab 100644
+--- a/include/perfetto/ext/base/uuid.h
++++ b/include/perfetto/ext/base/uuid.h
+@@ -18,6 +18,7 @@
+ #define INCLUDE_PERFETTO_EXT_BASE_UUID_H_
+
+ #include <array>
++#include <cstdint>
+ #include <string>
+
+ #include "perfetto/ext/base/optional.h"
+diff --git a/src/traced/probes/common/cpu_freq_info.h b/src/traced/probes/common/cpu_freq_info.h
+index 36f7f9c09..8232cbf64 100644
+--- a/src/traced/probes/common/cpu_freq_info.h
++++ b/src/traced/probes/common/cpu_freq_info.h
+@@ -17,6 +17,7 @@
+ #ifndef SRC_TRACED_PROBES_COMMON_CPU_FREQ_INFO_H_
+ #define SRC_TRACED_PROBES_COMMON_CPU_FREQ_INFO_H_
+
++#include <cstdint>
+ #include <map>
+ #include <string>
+ #include <vector>
+--
+2.39.1
+
diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch b/meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch
new file mode 100644
index 0000000000..c10400aef4
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/files/0001-Remove-check_build_deps-build-steps.patch
@@ -0,0 +1,73 @@
+From 3b7091243ec03054ca8800b51b85a1c09e7e3075 Mon Sep 17 00:00:00 2001
+From: Sui Chen <suichen6@gmail.com>
+Date: Mon, 13 Jun 2022 17:46:49 +0000
+Subject: [PATCH] Remove "check_build_deps" build steps
+
+When building with Bitbake, we want Bitbake to manage our dependencies,
+so we remove the "check_build_deps" steps from Perfetto.
+
+Also setting "is_cross_compiling" to true, so that the host-side tools
+(such as protoc) will always be generated using the native toolchain,
+rather than the Bitbake-generated one.
+
+Signed-off-by: Sui Chen <suichen6@gmail.com>
+---
+Upstream-Status: Pending
+
+ gn/BUILD.gn | 1 -
+ gn/standalone/BUILD.gn | 12 ++++++------
+ gn/standalone/BUILDCONFIG.gn | 5 +++--
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/gn/BUILD.gn b/gn/BUILD.gn
+index 8a7ca72a8..e4a2d39f0 100644
+--- a/gn/BUILD.gn
++++ b/gn/BUILD.gn
+@@ -111,7 +111,6 @@ group("default_deps") {
+ deps = [ ":gen_buildflags" ]
+ if (perfetto_build_standalone) {
+ public_deps = [
+- "//gn/standalone:check_build_deps",
+ "//gn/standalone/libc++:deps",
+ "//gn/standalone/sanitizers:deps",
+ ]
+diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn
+index 582e9b867..9c77ac64c 100644
+--- a/gn/standalone/BUILD.gn
++++ b/gn/standalone/BUILD.gn
+@@ -441,10 +441,10 @@ config("android_liblog") {
+ }
+
+ # Checks that tools/install-build-deps has been run since it last changed.
+-perfetto_check_build_deps("check_build_deps") {
+- args = []
+-}
++#perfetto_check_build_deps("check_build_deps") {
++# args = []
++#}
+
+-perfetto_check_build_deps("check_build_deps_android") {
+- args = [ "--android" ]
+-}
++#perfetto_check_build_deps("check_build_deps_android") {
++# args = [ "--android" ]
++#}
+diff --git a/gn/standalone/BUILDCONFIG.gn b/gn/standalone/BUILDCONFIG.gn
+index 6f32686c1..c041989b0 100644
+--- a/gn/standalone/BUILDCONFIG.gn
++++ b/gn/standalone/BUILDCONFIG.gn
+@@ -59,8 +59,9 @@ declare_args() {
+ # the ossfuzz sanitizer overrides this to true. In that config the
+ # host/target cpu and arch are identical, but we want to build only the
+ # targets with the sanitizer/fuzzer flags
+- is_cross_compiling =
+- target_cpu != host_cpu || target_os != host_os || target_triplet != ""
++
++ # for Bitbake build
++ is_cross_compiling = true
+ }
+ default_configs = [
+ "//gn/standalone:debug_symbols",
+--
+2.37.1
+
diff --git a/meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch b/meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch
new file mode 100644
index 0000000000..ae644747c1
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/files/0001-meson-add-pc-file-for-lib_perfetto.patch
@@ -0,0 +1,49 @@
+From 027f90dc9386ec08f2a5107025683e5fed6f3444 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 17 Oct 2022 19:20:53 +0200
+Subject: [PATCH] meson: add PC file for lib_perfetto
+
+---
+Upstream-Status: Pending
+
+ meson.build | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+--- a/meson.build
++++ b/meson.build
+@@ -19,9 +19,12 @@
+ project(
+ 'perfetto',
+ ['cpp'],
+- default_options: ['cpp_std=c++17']
++ default_options: ['cpp_std=c++17'],
++ version: '31.0'
+ )
+
++soversion = meson.project_version()
++
+ fs = import('fs')
+
+ if not fs.is_dir('sdk')
+@@ -36,8 +39,9 @@ if host_machine.system() == 'android'
+ deps_perfetto += cpp.find_library('log')
+ endif
+
+-lib_perfetto = static_library(
++lib_perfetto = shared_library(
+ 'perfetto',
++ version: soversion,
+ sources: 'sdk/perfetto.cc',
+ dependencies: deps_perfetto,
+ install: true,
+@@ -50,6 +54,10 @@ dir_perfetto_trace = join_paths(meson.cu
+
+ install_data(dir_perfetto_trace / 'perfetto_trace.proto')
+
++install_headers('sdk/perfetto.h')
++pkg = import('pkgconfig')
++pkg.generate(lib_perfetto)
++
+ dep_perfetto = declare_dependency(
+ link_with: lib_perfetto,
+ include_directories: inc_perfetto,
diff --git a/meta-oe/recipes-devtools/perfetto/libperfetto.bb b/meta-oe/recipes-devtools/perfetto/libperfetto.bb
new file mode 100644
index 0000000000..c8f56fd527
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/libperfetto.bb
@@ -0,0 +1,14 @@
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f87516e0b698007e9e75a1fe1012b390"
+
+require perfetto.inc
+
+inherit meson
+
+SRC_URI:append = " file://0001-meson-add-pc-file-for-lib_perfetto.patch"
+
+LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed"
+
+FILES:${PN} += "${datadir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.bb b/meta-oe/recipes-devtools/perfetto/perfetto.bb
new file mode 100644
index 0000000000..7e9408b0b2
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/perfetto.bb
@@ -0,0 +1,156 @@
+LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f87516e0b698007e9e75a1fe1012b390 \
+ file://buildtools/libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \
+ file://buildtools/libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \
+ file://buildtools/libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \
+ file://buildtools/protobuf/LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \
+ file://buildtools/zlib/LICENSE;md5=f09575dbfb09420642318b413159496f \
+ file://debian/copyright;md5=4e08364c82141f181de69d0a2b89d612 \
+ file://python/LICENSE;md5=c602a632c34ade9c78a976734077bce7"
+
+SRC_URI:append = " \
+ git://github.com/protocolbuffers/protobuf.git;branch=3.9.x;protocol=https;destsuffix=git/buildtools/protobuf;name=protobuf \
+ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git;protocol=https;destsuffix=git/buildtools/libcxx;branch=main;name=libcxx \
+ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git;protocol=https;destsuffix=git/buildtools/libcxxabi;branch=main;name=libcxxabi \
+ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git;protocol=https;destsuffix=git/buildtools/libunwind;branch=main;name=libunwind \
+ git://android.googlesource.com/platform/system/libbase.git;branch=master;protocol=https;destsuffix=git/buildtools/android-libbase;name=libbase \
+ git://android.googlesource.com/platform/system/unwinding.git;branch=master;protocol=https;destsuffix=git/buildtools/android-unwinding;name=unwinding \
+ git://android.googlesource.com/platform/system/logging.git;branch=master;protocol=https;destsuffix=git/buildtools/android-logging;name=logging \
+ git://android.googlesource.com/platform/system/libprocinfo.git;branch=master;protocol=https;destsuffix=git/buildtools/android-libprocinfo;name=libprocinfo \
+ git://android.googlesource.com/platform/system/core.git;branch=master;protocol=https;destsuffix=git/buildtools/android-core;name=core \
+ git://android.googlesource.com/platform/bionic.git;branch=master;protocol=https;destsuffix=git/buildtools/bionic;name=bionic \
+ git://android.googlesource.com/platform/external/zlib.git;branch=master;protocol=https;destsuffix=git/buildtools/zlib;name=zlib \
+ git://android.googlesource.com/platform/external/lzma.git;branch=master;protocol=https;destsuffix=git/buildtools/lzma;name=lzma \
+ https://storage.googleapis.com/perfetto/gn-linux64-1968-0725d782;subdir=git/buildtools/;name=gn \
+ \
+ file://0001-Remove-check_build_deps-build-steps.patch \
+ file://0001-Add-missing-header-cstdint-for-uintXX_t-types.patch"
+
+SRCREV_bionic = "4b0e16bc72a82a63c699977376a7d6eadca1b206"
+SRCREV_core = "9e6cef7f07d8c11b3ea820938aeb7ff2e9dbaa52"
+SRCREV_lzma = "7851dce6f4ca17f5caa1c93a4e0a45686b1d56c3"
+SRCREV_libprocinfo = "fd214c13ededecae97a3b15b5fccc8925a749a84"
+SRCREV_logging = "7b36b566c9113fc703d68f76e8f40c0c2432481c"
+SRCREV_unwinding = "d66882575ebe3700d6a6b10185f3aee28acc1051"
+SRCREV_protobuf = "6a59a2ad1f61d9696092f79b6d74368b4d7970a3"
+SRCREV_libbase = "78f1c2f83e625bdf66d55b48bdb3a301c20d2fb3"
+SRCREV_libcxx = "f8571eaba606bde2eb8cd34b30104ca33e7c207e"
+SRCREV_libcxxabi = "8dd405113a4f3694e910b79785dd7fb7535a888a"
+SRCREV_libunwind = "aabcd8753678f1536e15eb6385a948470debdae4"
+SRCREV_zlib = "5c85a2da4c13eda07f69d81a1579a5afddd35f59"
+
+SRCREV_FORMAT .="_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib"
+
+SRC_URI[gn.sha256sum] = "f706aaa0676e3e22f5fc9ca482295d7caee8535d1869f99efa2358177b64f5cd"
+
+require perfetto.inc
+
+DEPENDS += " ninja-native"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm).*-linux*"
+
+CCACHE_DISABLE = "1"
+
+# Some musl hacks gets through compiling it for musl
+# Nullifying -DTEMP_FAILURE_RETRY might be grossest of them
+TUNE_CCARGS:append:libc-musl = " -D_LIBCPP_HAS_MUSL_LIBC -Dgetprogname\(\)=program_invocation_name -DTEMP_FAILURE_RETRY="
+FILES:${PN}:append = " \
+ ${bindir}/tracebox \
+ "
+
+B = "${WORKDIR}/build"
+
+# Run the GN (Generate Ninja) script, and replace the compiler flags where applicable
+do_configure () {
+ # Configuration needs to be done from the source directory
+ cd ${S}
+ # Rename a few build tools if they have not been renamed
+ cd buildtools
+ x="gn-linux64-1968-0725d782"
+ [ -f $x ] && mkdir linux64 && mv $x linux64/gn
+ chmod +x linux64/gn
+ cd ..
+
+ CC_BIN=`echo $CC | awk '{print $1}'`
+ CXX_BIN=`echo $CXX | awk '{print $1}'`
+ STRIP_BIN=`echo $STRIP | awk '{print $1}'`
+
+ ARGS="is_debug=false " # Tell gn to use release mode
+
+ if [ -z `echo ${TOOLCHAIN} | grep clang` ]; then
+ ARGS=$ARGS" is_clang=false"
+ else
+ ARGS=$ARGS" is_clang=true"
+ fi
+
+ # Architecture parameter accepted by Perfetto
+ arch=${TARGET_ARCH}
+ if [ $arch = "i686" ]; then
+ arch="x86"
+ elif [ $arch = "x86_64" ]; then
+ arch="x64"
+ elif [ $arch = "aarch64" ]; then
+ arch="arm64"
+ fi
+
+ ARGS=$ARGS" target_os=\"linux\""
+ ARGS=$ARGS" target_cpu=\"$arch\""
+ ARGS=$ARGS" target_cc=\"$CC_BIN ${TUNE_CCARGS}\""
+ ARGS=$ARGS" target_cxx=\"$CXX_BIN -std=c++11 ${TUNE_CCARGS}\""
+ ARGS=$ARGS" target_strip=\"$STRIP_BIN\"" #
+ ARGS=$ARGS" target_sysroot=\"${RECIPE_SYSROOT}\""
+ ARGS=$ARGS" target_linker=\"$CC_BIN ${TUNE_CCARGS} ${LDFLAGS}\""
+ ARGS=$ARGS" target_ar=\"$AR\""
+ ARGS="'$ARGS'"
+ cmd="tools/gn gen --args=$ARGS ${B}"
+
+ echo $cmd
+ # Use eval, not just call $cmd, due to escaping of single quotation marks
+ eval $cmd
+
+ cd ${B}
+ # Eliminate a few incompatible build flags
+ REPLACES="s/-Wl,--icf=all//g"
+ REPLACES=$REPLACES";s/-Werror//g"
+ REPLACES=$REPLACES";s/-fcolor-diagnostics//g"
+ REPLACES=$REPLACES";s/=format-security//g"
+ REPLACES=$REPLACES";s/-fdiagnostics-show-template-tree//g"
+ REPLACES=$REPLACES";s/-D_FORTIFY_SOURCE=2//g"
+ REPLACES=$REPLACES";s/-fuse-ld=\S*//g"
+
+ find . -name "*.ninja" | xargs sed $REPLACES -i
+
+ # If using the clang toolchain: use the clang host-side binaries built by Bitbake
+ if [ "${TOOLCHAIN}" = "clang" ]; then
+ BB_CLANGXX="${BUILD_CXX} ${BUILD_LDFLAGS}"
+ BB_CLANG="${BUILD_CC}"
+ BB_LLVM_OBJCOPY="${RECIPE_SYSROOT_NATIVE}/usr/bin/llvm-objcopy"
+
+ HOST_CLANGXX="${STAGING_DIR_NATIVE}/usr/bin/clang++ -stdlib=libc++ -rtlib=libgcc -unwindlib=libgcc"
+ HOST_CLANG="${STAGING_DIR_NATIVE}/usr/bin/clang"
+ HOST_LLVM_OBJCOPY="${STAGING_DIR_NATIVE}/usr/bin/llvm-objcopy"
+
+ cd gcc_like_host
+ REPLACES="s:\S*clang++ :$HOST_CLANGXX :g"
+ REPLACES=$REPLACES";s:\S*clang :$HOST_CLANG :g"
+ REPLACES=$REPLACES";s:\S*llvm-objcopy :$HOST_LLVM_OBJCOPY :g"
+ find . -name "*.ninja" | xargs sed "$REPLACES" -i
+ cd ..
+ fi
+ # Done processing the Ninja files
+}
+
+# Perfetto generates a few different binaries, such as traced and traced_probes and perfetto.
+# The "tracebox" is a busybox that combines the 3 above and provides a single stop for trace capture, so we only build "tracebox" here.
+do_compile () {
+ cd ${B}
+ ninja -C . tracebox
+}
+
+do_install () {
+ BIN_DIR=${D}${bindir}
+
+ install -d -m0755 $BIN_DIR
+ install ${B}/tracebox $BIN_DIR/tracebox
+}
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.inc b/meta-oe/recipes-devtools/perfetto/perfetto.inc
new file mode 100644
index 0000000000..4b06c5bf04
--- /dev/null
+++ b/meta-oe/recipes-devtools/perfetto/perfetto.inc
@@ -0,0 +1,10 @@
+SUMMARY = "Perfetto - System profiling, app tracing and trace analysis."
+HOMEPAGE = "https://github.com/google/perfetto"
+
+SRC_URI = "git://github.com/google/perfetto.git;protocol=https;name=perfetto;nobranch=1"
+
+SRCREV_perfetto = "b8da07095979310818f0efde2ef3c69ea70d62c5"
+SRCREV_FORMAT = "perfetto"
+PV = "31.0"
+
+S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/perl/exiftool_12.72.bb b/meta-oe/recipes-devtools/perl/exiftool_12.72.bb
new file mode 100644
index 0000000000..ba3e3fdf7e
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/exiftool_12.72.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Exiftool"
+DESCRIPTION = "ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files."
+HOMEPAGE = "https://exiftool.org/"
+SECTION = "libs"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://perl-Image-ExifTool.spec;beginline=5;endline=5;md5=ffefffc98dab025cb49489bd4d88ee10"
+
+inherit cpan
+
+SRCREV = "fc4f6614ff0c19bb5f332a9c464dcef7267931df"
+SRC_URI = "git://github.com/exiftool/exiftool;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN} = " \
+ perl \
+ perl-module-list-util \
+ perl-module-overload \
+ perl-module-file-glob \
+ perl-module-scalar-util \
+ perl-module-compress-zlib \
+"
diff --git a/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb b/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb
deleted file mode 100644
index 27dc358d15..0000000000
--- a/meta-oe/recipes-devtools/perl/ipc-run_20200505.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "\
-IPC::Run allows you run and interact with child processes \
-using files, pipes, and pseudo-ttys. Both system()-style and scripted \
-usages are supported and may be mixed. Likewise, functional and OO API \
-styles are both supported and may be mixed."
-HOMEPAGE = "https://metacpan.org/release/IPC-Run"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
-DEPENDS = "perl"
-
-SRC_URI = "git://github.com/toddr/IPC-Run.git"
-SRCREV = "af435a1635ef9e48a84adc3230099e7ecf20c79d"
-
-S = "${WORKDIR}/git"
-
-inherit cpan
-
-EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
-
-do_compile() {
- export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
- cpan_do_compile
-}
diff --git a/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb b/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
new file mode 100644
index 0000000000..e28b6ea018
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/ipc-run_20231003.0.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "\
+IPC::Run allows you run and interact with child processes \
+using files, pipes, and pseudo-ttys. Both system()-style and scripted \
+usages are supported and may be mixed. Likewise, functional and OO API \
+styles are both supported and may be mixed."
+HOMEPAGE = "https://metacpan.org/release/IPC-Run"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0ebd37caf53781e8b7223e6b99b63f4e"
+DEPENDS = "perl"
+
+SRC_URI = "git://github.com/toddr/IPC-Run.git;branch=master;protocol=https"
+SRCREV = "ad56c3b5f5a211d32bbb8ac29f180d707ee58c1b"
+
+S = "${WORKDIR}/git"
+
+inherit cpan
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
diff --git a/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb b/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb
new file mode 100644
index 0000000000..b2266394d6
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libconfig-general-perl_2.65.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Config file parser module"
+HOMEPAGE = "http://search.cpan.org/dist/Config-General/"
+LICENSE = "Artistic-2.0 | GPL-1.0-or-later"
+SECTION = "libs"
+LIC_FILES_CHKSUM = "file://README;beginline=90;endline=90;md5=53fe13727e61798809ec5c160dc93e6e"
+
+SRCNAME = "Config-General"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/${SRCNAME}-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "4d6d5754be3a9f30906836f0cc10e554c8832e14e7a1341efb15b05d706fc58f"
+
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+EXTRA_CPANFLAGS = "EXPATLIBPATH=${STAGING_LIBDIR} EXPATINCPATH=${STAGING_INCDIR}"
+
+inherit cpan
+
+do_compile() {
+ export LIBC="$(find ${STAGING_DIR_TARGET}/${base_libdir}/ -name 'libc-*.so')"
+ cpan_do_compile
+}
diff --git a/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb b/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
index 049dc665dd..fc505fe1e8 100644
--- a/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
+++ b/meta-oe/recipes-devtools/perl/libdbd-mysql-perl_4.050.bb
@@ -9,13 +9,13 @@ functions are missing, mainly because no-one ever requested them. \
HOMEPAGE = "https://github.com/perl5-dbi/DBD-mysql"
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
DEPENDS += "libdev-checklib-perl-native libdbi-perl-native libmysqlclient"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d0a06964340e5c0cde88b7af611f755c"
SRCREV = "9b5b70ea372f49fe9bc9e592dae3870596d1e3d6"
-SRC_URI = "git://github.com/perl5-dbi/DBD-mysql.git;protocol=https"
+SRC_URI = "git://github.com/perl5-dbi/DBD-mysql.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch b/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch
new file mode 100644
index 0000000000..b41bbe0a50
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libdbi-perl/CVE-2014-10402.patch
@@ -0,0 +1,56 @@
+Backport patch to fix CVE-2014-10402.
+
+CVE: CVE-2014-10402
+Upstream-Status: Backport [https://github.com/rehsack/dbi/commit/19d0fb1]
+
+Ref:
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=972180#12
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+
+From 19d0fb169eed475e1c053e99036b8668625cfa94 Mon Sep 17 00:00:00 2001
+From: Jens Rehsack <sno@netbsd.org>
+Date: Tue, 6 Oct 2020 10:22:17 +0200
+Subject: [PATCH] lib/DBD/File.pm: fix CVE-2014-10401
+
+Dig into the root cause of RT#99508 - which resulted in CVE-2014-10401 - and
+figure out that DBI->parse_dsn is the wrong helper to parse our attributes in
+DSN, since in DBD::dr::connect only the "dbname" remains from DSN which causes
+parse_dsn to bailout.
+
+Parsing on our own similar to parse_dsn shows the way out.
+
+Signed-off-by: Jens Rehsack <sno@netbsd.org>
+---
+ lib/DBD/File.pm | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/lib/DBD/File.pm b/lib/DBD/File.pm
+index fb14e9a..f55076f 100644
+--- a/lib/DBD/File.pm
++++ b/lib/DBD/File.pm
+@@ -109,7 +109,11 @@ sub connect
+ # We do not (yet) care about conflicting attributes here
+ # my $dbh = DBI->connect ("dbi:CSV:f_dir=test", undef, undef, { f_dir => "text" });
+ # will test here that both test and text should exist
+- if (my $attr_hash = (DBI->parse_dsn ($dbname))[3]) {
++ #
++ # Parsing on our own similar to parse_dsn to find attributes in 'dbname' parameter.
++ if ($dbname) {
++ my @attrs = split /;/ => $dbname;
++ my $attr_hash = { map { split /\s*=>?\s*|\s*,\s*/, $_} @attrs };
+ if (defined $attr_hash->{f_dir} && ! -d $attr_hash->{f_dir}) {
+ my $msg = "No such directory '$attr_hash->{f_dir}";
+ $drh->set_err (2, $msg);
+@@ -120,7 +124,6 @@ sub connect
+ if ($attr and defined $attr->{f_dir} && ! -d $attr->{f_dir}) {
+ my $msg = "No such directory '$attr->{f_dir}";
+ $drh->set_err (2, $msg);
+- $attr->{RaiseError} and croak $msg;
+ return;
+ }
+
+--
+2.17.1
+
diff --git a/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb b/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
index 75fad46bfd..1fee83a8fd 100644
--- a/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
+++ b/meta-oe/recipes-devtools/perl/libdbi-perl_1.643.bb
@@ -6,10 +6,12 @@ database interface independent of the actual database being used. \
"
HOMEPAGE = "http://search.cpan.org/dist/DBI/"
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE;md5=10982c7148e0a012c0fd80534522f5c5"
-SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz"
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-${PV}.tar.gz \
+ file://CVE-2014-10402.patch \
+ "
SRC_URI[md5sum] = "352f80b1e23769c116082a90905d7398"
SRC_URI[sha256sum] = "8a2b993db560a2c373c174ee976a51027dd780ec766ae17620c20393d2e836fa"
@@ -17,7 +19,7 @@ S = "${WORKDIR}/DBI-${PV}"
inherit cpan ptest-perl
-do_install_prepend() {
+do_install:prepend() {
# test requires "-T" (taint) command line option
rm -rf ${B}/t/pod-coverage.t
rm -rf ${B}/t/13taint.t
@@ -27,7 +29,12 @@ do_install_prepend() {
rm -rf ${B}/t/z*.t
}
-RDEPENDS_${PN}_class-target = " \
+do_install:append() {
+ sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/dbiproxy \
+ ${D}${bindir}/dbiprof ${D}${bindir}/dbilogstrip
+}
+
+RDEPENDS:${PN}:class-target = " \
perl \
perl-module-carp \
perl-module-exporter \
@@ -38,7 +45,7 @@ RDEPENDS_${PN}_class-target = " \
perl-module-universal \
"
-RDEPENDS_${PN}-ptest = " \
+RDEPENDS:${PN}-ptest = " \
${PN} \
perl-module-b \
perl-module-benchmark \
diff --git a/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch b/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch
index 78a7e63b9e..f79b158114 100644
--- a/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch
+++ b/meta-oe/recipes-devtools/perl/libdev-checklib-perl/0001-CheckLib.pm-don-t-execute-the-binary.patch
@@ -21,7 +21,7 @@ and use the return status to determine the lib's
checking status is not appropriate in cross compile env.
$ /yocto/builds/upgrade1/tmp/work/core2-64-poky-linux/libdbd-mysql-perl/4.050-r0/git/assertlibCOw_eujb
-Upstream-Status: Inappropriate[oe specific]
+Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
@@ -29,18 +29,18 @@ Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Devel/CheckLib.pm b/lib/Devel/CheckLib.pm
-index e45cfb4..d228bb5 100644
+index 2e5a252..5c2f0b0 100644
--- a/lib/Devel/CheckLib.pm
+++ b/lib/Devel/CheckLib.pm
-@@ -424,7 +424,7 @@ sub assert_lib {
- my $absexefile = File::Spec->rel2abs($exefile);
- $absexefile = '"'.$absexefile.'"' if $absexefile =~ m/\s/;
- if (!$not_execute && system($absexefile) != 0) {
-- push @wrongresult, $lib;
-+ print "Checking the lib $lib\n";
+@@ -403,7 +403,7 @@ sub assert_lib {
+ if ($execute) {
+ my $retval = system($absexefile);
+ warn "# return value: $retval\n" if $args{debug};
+- push @wrongresult, $lib if $retval != 0;
++ print "Checking the lib $lib\n" if $retval != 0;
}
- else {
- if ($analyze_binary) {
+ push @wronganalysis, $lib
+ if $analyze_binary and !$analyze_binary->($lib, $exefile);
--
-2.17.1
+2.25.1
diff --git a/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb
deleted file mode 100644
index a96e3adc77..0000000000
--- a/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.14.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A Perl module that checks whether a particular C library and its headers are available"
-DESCRIPTION = "This module provides a way of checking whether a particular library \
-and its headers are available, by attempting to compile a simple program and \
-link against it."
-HOMEPAGE = "https://metacpan.org/pod/Devel::CheckLib"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-
-LIC_FILES_CHKSUM = "file://README;md5=7911cdbb572d25c5f2e2ea17f669efc2"
-
-SRC_URI = "https://cpan.metacpan.org/modules/by-module/Devel/Devel-CheckLib-${PV}.tar.gz \
- file://0001-CheckLib.pm-don-t-execute-the-binary.patch \
-"
-SRC_URI[md5sum] = "3519cbf9fe5ec3404449d5330ee5537f"
-SRC_URI[sha256sum] = "f21c5e299ad3ce0fdc0cb0f41378dca85a70e8d6c9a7599f0e56a957200ec294"
-
-S = "${WORKDIR}/Devel-CheckLib-${PV}"
-
-inherit cpan
-
-BBCLASSEXTEND="native"
diff --git a/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb
new file mode 100644
index 0000000000..74a09e7bf8
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libdev-checklib-perl_1.16.bb
@@ -0,0 +1,28 @@
+SUMMARY = "A Perl module that checks whether a particular C library and its headers are available"
+DESCRIPTION = "This module provides a way of checking whether a particular library \
+and its headers are available, by attempting to compile a simple program and \
+link against it."
+HOMEPAGE = "https://metacpan.org/pod/Devel::CheckLib"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+
+LIC_FILES_CHKSUM = "file://README;md5=7911cdbb572d25c5f2e2ea17f669efc2"
+
+SRC_URI = "https://cpan.metacpan.org/modules/by-module/Devel/Devel-CheckLib-${PV}.tar.gz \
+ file://0001-CheckLib.pm-don-t-execute-the-binary.patch \
+"
+SRC_URI[sha256sum] = "869d38c258e646dcef676609f0dd7ca90f085f56cf6fd7001b019a5d5b831fca"
+
+S = "${WORKDIR}/Devel-CheckLib-${PV}"
+
+inherit cpan
+
+do_install:append() {
+ # update interpreter on shebang line
+ # since old version env doesn't support multiple arguments, replace option
+ # '-w' with 'use warnings;'
+ sed -i -e "s:^#!.*:#!/usr/bin/env perl:" \
+ -e "/use strict;/ause warnings;" ${D}${bindir}/use-devel-checklib
+}
+
+BBCLASSEXTEND="native"
diff --git a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.16.bb b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.16.bb
deleted file mode 100644
index b6bc80784a..0000000000
--- a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.16.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Perl module for pseudo tty IO"
-SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
-LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42e8ce9d45f628e587"
-
-SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "5ee30bf7c76f00cc69f92388ad776e2a"
-SRC_URI[sha256sum] = "8f1a09c070738adc695df903f2e7f74308dd8d991b914c0bc390a0e6021294dd"
-
-S = "${WORKDIR}/IO-Tty-${PV}"
-
-inherit cpan
-
-FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/IO/Tty/.debug/"
-
diff --git a/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb
new file mode 100644
index 0000000000..6029b7aae9
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libio-pty-perl_1.20.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Perl module for pseudo tty IO"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://META.yml;beginline=11;endline=12;md5=b2562f94907eeb42e8ce9d45f628e587"
+
+SRC_URI = "http://www.cpan.org/modules/by-module/IO/IO-Tty-${PV}.tar.gz"
+
+SRC_URI[sha256sum] = "b15309fc85623893289cb9b2b88dfa9ed1e69156b75f29938553a45be6d730af"
+
+S = "${WORKDIR}/IO-Tty-${PV}"
+
+inherit cpan ptest-perl
+
+RDEPENDS:${PN} += "\
+ perl-module-carp \
+ perl-module-exporter \
+ perl-module-io-handle \
+ perl-module-posix \
+"
+
+RDEPENDS:${PN}-ptest += "\
+ perl-module-test-more \
+"
+
+FILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/IO/Tty/.debug/"
+
diff --git a/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb b/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
index 4e7aeb1286..88d0d26d03 100644
--- a/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
+++ b/meta-oe/recipes-devtools/perl/libjson-perl_4.03000.bb
@@ -4,12 +4,12 @@ The module implements JSON encode/decode."
HOMEPAGE = "https://metacpan.org/pod/JSON"
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=1171;endline=1176;md5=3be2cb8159d094768e67386c453e8bbe"
DEPENDS += "perl"
-SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https"
+SRC_URI = "git://github.com/makamaka/JSON.git;protocol=https;branch=master"
SRCREV = "ebbae181c5e311fa80ee4c6379b598c7a6400570"
@@ -17,6 +17,6 @@ S = "${WORKDIR}/git"
inherit cpan
-RDEPENDS_${PN} += "perl"
+RDEPENDS:${PN} += "perl"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb b/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
new file mode 100644
index 0000000000..be9704a313
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libparse-yapp-perl_1.21.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Perl extension for generating and using LALR parsers"
+DESCRIPTION = "Parse::Yapp (Yet Another Perl Parser compiler) is a collection \
+of modules that let you generate and use yacc like thread safe (reentrant) parsers \
+with perl object oriented interface."
+
+HOMEPAGE = "http://search.cpan.org/dist/Parse-Yapp/"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+
+LIC_FILES_CHKSUM = "file://lib/Parse/Yapp.pm;beginline=508;endline=521;md5=41a4542fcde97a600c9de0d782a90256"
+
+SRC_URI = "https://www.cpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "69584d5b0f0304bb2a23cffcd982c5de"
+SRC_URI[sha256sum] = "3810e998308fba2e0f4f26043035032b027ce51ce5c8a52a8b8e340ca65f13e5"
+
+S = "${WORKDIR}/Parse-Yapp-${PV}"
+
+inherit cpan
+
+do_install:append() {
+ sed -i "s:^#!.*:#!/usr/bin/env perl:" ${D}${bindir}/yapp
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb b/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb
new file mode 100644
index 0000000000..ff4e1f0563
--- /dev/null
+++ b/meta-oe/recipes-devtools/perl/libpcsc-perl_1.4.14.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Perl interface to the PC/SC smart card library"
+DESCRIPTION = "Perl wrapper to the PC/SC smartcard library (pcsc-lite) \
+together with some small examples. \
+The provided modules are Chipcard::PCSC and Chipcard::PCSC::Card."
+HOMEPAGE = "https://metacpan.org/dist/pcsc-perl"
+SECTION = "libs"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://cpan.metacpan.org/authors/id/W/WH/WHOM/pcsc-perl-${PV}.tar.bz2"
+SRC_URI[md5sum] = "45601505dbb7b27329811ac9bad35fab"
+SRC_URI[sha256sum] = "2722b7e5543e4faf3ba1ec6b29a7dfec6d92be1edec09d0a3191992d4d88c69d"
+
+S = "${WORKDIR}/pcsc-perl-${PV}"
+
+inherit cpan pkgconfig
+
+DEPENDS += "pcsc-lite"
+
+RDEPENDS:${PN} += "perl-module-carp"
+
+BBCLASSEXTEND="native"
diff --git a/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb b/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
index ffe7a7d991..11f6a1ad19 100644
--- a/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
+++ b/meta-oe/recipes-devtools/perl/libperlio-gzip-perl_0.20.bb
@@ -4,7 +4,7 @@ The module implements perlio layer for gzip."
HOMEPAGE = "https://metacpan.org/pod/PerlIO::gzip"
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=55;endline=61;md5=bc3da2dec1fbea59ac91172c5e0eb837"
DEPENDS += "perl"
@@ -25,6 +25,6 @@ do_compile() {
cpan_do_compile
}
-RDEPENDS_${PN} += "perl perl-module-perlio"
+RDEPENDS:${PN} += "perl perl-module-perlio"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/php/php/0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch b/meta-oe/recipes-devtools/php/php/0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch
new file mode 100644
index 0000000000..5b8c76209a
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch
@@ -0,0 +1,93 @@
+From 1eeb59366d6140a799f6051fb9f57d988b81fd5b Mon Sep 17 00:00:00 2001
+From: easyaspi314 <easyaspi314@users.noreply.github.com>
+Date: Wed, 12 Apr 2023 13:33:07 +0800
+Subject: [PATCH] Change whether to inline XXH3_hashLong_withSecret to a config
+ option
+
+Change whether to inline XXH3_hashLong_withSecret to a config option to fix
+GCC 12 -Og.
+
+Upstream-Status: Submitted [https://github.com/php/php-src/pull/11062]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ ext/hash/xxhash/xxhash.h | 35 +++++++++++++++++++++++++++++++++--
+ 1 file changed, 33 insertions(+), 2 deletions(-)
+
+diff --git a/ext/hash/xxhash/xxhash.h b/ext/hash/xxhash/xxhash.h
+index b5bd2864..8e816c05 100644
+--- a/ext/hash/xxhash/xxhash.h
++++ b/ext/hash/xxhash/xxhash.h
+@@ -1375,6 +1375,23 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr,
+ */
+ # define XXH_NO_INLINE_HINTS 0
+
++/*!
++ * @def XXH3_INLINE_SECRET
++ * @brief Determines whether to inline the XXH3 withSecret code.
++ *
++ * When the secret size is known, the compiler can improve the performance
++ * of XXH3_64bits_withSecret() and XXH3_128bits_withSecret().
++ *
++ * However, if the secret size is not known, it doesn't have any benefit. This
++ * happens when xxHash is compiled into a global symbol. Therefore, if
++ * @ref XXH_INLINE_ALL is *not* defined, this will be defined to 0.
++ *
++ * Additionally, this defaults to 0 on GCC 12+, which has an issue with function pointers
++ * that are *sometimes* force inline on -Og, and it is impossible to automatically
++ * detect this optimization level.
++ */
++# define XXH3_INLINE_SECRET 0
++
+ /*!
+ * @def XXH32_ENDJMP
+ * @brief Whether to use a jump for `XXH32_finalize`.
+@@ -1439,6 +1456,15 @@ XXH3_128bits_reset_withSecretandSeed(XXH3_state_t* statePtr,
+ # endif
+ #endif
+
++#ifndef XXH3_INLINE_SECRET
++# if (defined(__GNUC__) && !defined(__clang__) && __GNUC__ >= 12) \
++ || !defined(XXH_INLINE_ALL)
++# define XXH3_INLINE_SECRET 0
++# else
++# define XXH3_INLINE_SECRET 1
++# endif
++#endif
++
+ #ifndef XXH32_ENDJMP
+ /* generally preferable for performance */
+ # define XXH32_ENDJMP 0
+@@ -1515,6 +1541,11 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size)
+ # define XXH_NO_INLINE static
+ #endif
+
++#if XXH3_INLINE_SECRET
++# define XXH3_WITH_SECRET_INLINE XXH_FORCE_INLINE
++#else
++# define XXH3_WITH_SECRET_INLINE XXH_NO_INLINE
++#endif
+
+
+ /* *************************************
+@@ -4465,7 +4496,7 @@ XXH3_hashLong_64b_internal(const void* XXH_RESTRICT input, size_t len,
+ * so that the compiler can properly optimize the vectorized loop.
+ * This makes a big performance difference for "medium" keys (<1 KB) when using AVX instruction set.
+ */
+-XXH_FORCE_INLINE XXH64_hash_t
++XXH3_WITH_SECRET_INLINE XXH64_hash_t
+ XXH3_hashLong_64b_withSecret(const void* XXH_RESTRICT input, size_t len,
+ XXH64_hash_t seed64, const xxh_u8* XXH_RESTRICT secret, size_t secretLen)
+ {
+@@ -5263,7 +5294,7 @@ XXH3_hashLong_128b_default(const void* XXH_RESTRICT input, size_t len,
+ * It's important for performance to pass @secretLen (when it's static)
+ * to the compiler, so that it can properly optimize the vectorized loop.
+ */
+-XXH_FORCE_INLINE XXH128_hash_t
++XXH3_WITH_SECRET_INLINE XXH128_hash_t
+ XXH3_hashLong_128b_withSecret(const void* XXH_RESTRICT input, size_t len,
+ XXH64_hash_t seed64,
+ const void* XXH_RESTRICT secret, size_t secretLen)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch b/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch
deleted file mode 100644
index 2861366a6b..0000000000
--- a/meta-oe/recipes-devtools/php/php/0001-configure.ac-don-t-include-build-libtool.m4.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f5a34e771532b8433f307b679500c26af328ba35 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 17 Apr 2020 15:01:57 +0800
-Subject: [PATCH] configure.ac: don't include build/libtool.m4
-
-we delete build/libtool.m4 before do_configure,
-we will use libtool.m4 under ACLOCALDIR
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- configure.ac | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 06c6a27..f85144e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -6,7 +6,6 @@ dnl ----------------------------------------------------------------------------
- m4_include([build/ax_check_compile_flag.m4])
- m4_include([build/ax_func_which_gethostbyname_r.m4])
- m4_include([build/ax_gcc_func_attribute.m4])
--m4_include([build/libtool.m4])
- m4_include([build/php_cxx_compile_stdcxx.m4])
- m4_include([build/php.m4])
- m4_include([build/pkg.m4])
---
-2.7.4
-
diff --git a/meta-oe/recipes-devtools/php/php/0001-ext-opcache-config.m4-enable-opcache.patch b/meta-oe/recipes-devtools/php/php/0001-ext-opcache-config.m4-enable-opcache.patch
new file mode 100644
index 0000000000..a967d64120
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0001-ext-opcache-config.m4-enable-opcache.patch
@@ -0,0 +1,251 @@
+From ca9b419f2c146061f73ee045cb0a069c18b40cd0 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 15 Dec 2021 14:00:08 +0800
+Subject: [PATCH 01/11] ext/opcache/config.m4: enable opcache
+
+We can't use AC_TRY_RUN to run programs in a cross compile
+environment. Set the variables directly instead since we know
+that we'd be running on latest enough linux kernel.
+
+Upstream-Status: Inappropriate [Configuration]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+update patch to version 8.0.12
+fix issue linking with librt
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+
+update patch to version 8.1.0
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ ext/opcache/config.m4 | 204 ++----------------------------------------
+ 1 file changed, 8 insertions(+), 196 deletions(-)
+
+diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
+index 2a83fa2..9471b5d 100644
+--- a/ext/opcache/config.m4
++++ b/ext/opcache/config.m4
+@@ -108,209 +108,21 @@ if test "$PHP_OPCACHE" != "no"; then
+ AC_CHECK_FUNCS([mprotect])
+
+ AC_MSG_CHECKING(for sysvipc shared memory support)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/ipc.h>
+-#include <sys/shm.h>
+-#include <unistd.h>
+-#include <string.h>
+-
+-int main() {
+- pid_t pid;
+- int status;
+- int ipc_id;
+- char *shm;
+- struct shmid_ds shmbuf;
+-
+- ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W));
+- if (ipc_id == -1) {
+- return 1;
+- }
+-
+- shm = shmat(ipc_id, NULL, 0);
+- if (shm == (void *)-1) {
+- shmctl(ipc_id, IPC_RMID, NULL);
+- return 2;
+- }
+-
+- if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) {
+- shmdt(shm);
+- shmctl(ipc_id, IPC_RMID, NULL);
+- return 3;
+- }
+-
+- shmbuf.shm_perm.uid = getuid();
+- shmbuf.shm_perm.gid = getgid();
+- shmbuf.shm_perm.mode = 0600;
+-
+- if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) {
+- shmdt(shm);
+- shmctl(ipc_id, IPC_RMID, NULL);
+- return 4;
+- }
+-
+- shmctl(ipc_id, IPC_RMID, NULL);
+-
+- strcpy(shm, "hello");
+-
+- pid = fork();
+- if (pid < 0) {
+- return 5;
+- } else if (pid == 0) {
+- strcpy(shm, "bye");
+- return 6;
+- }
+- if (wait(&status) != pid) {
+- return 7;
+- }
+- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+- return 8;
+- }
+- if (strcmp(shm, "bye") != 0) {
+- return 9;
+- }
+- return 0;
+-}
+-]])],[have_shm_ipc=yes],[have_shm_ipc=no],[have_shm_ipc=no])
+- if test "$have_shm_ipc" = "yes"; then
+- AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
+- fi
++ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
++ have_shm_ipc=yes
+ AC_MSG_RESULT([$have_shm_ipc])
+
+ AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <unistd.h>
+-#include <string.h>
+-
+-#ifndef MAP_ANON
+-# ifdef MAP_ANONYMOUS
+-# define MAP_ANON MAP_ANONYMOUS
+-# endif
+-#endif
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+- pid_t pid;
+- int status;
+- char *shm;
+-
+- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
+- if (shm == MAP_FAILED) {
+- return 1;
+- }
+-
+- strcpy(shm, "hello");
+-
+- pid = fork();
+- if (pid < 0) {
+- return 5;
+- } else if (pid == 0) {
+- strcpy(shm, "bye");
+- return 6;
+- }
+- if (wait(&status) != pid) {
+- return 7;
+- }
+- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+- return 8;
+- }
+- if (strcmp(shm, "bye") != 0) {
+- return 9;
+- }
+- return 0;
+-}
+-]])],[have_shm_mmap_anon=yes],[have_shm_mmap_anon=no],[
+- case $host_alias in
+- *linux*)
+- have_shm_mmap_anon=yes
+- ;;
+- *)
+- have_shm_mmap_anon=no
+- ;;
+- esac
+-])
+- if test "$have_shm_mmap_anon" = "yes"; then
+- AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
+- fi
++ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
++ have_shm_mmap_anon=yes
+ AC_MSG_RESULT([$have_shm_mmap_anon])
+
+ PHP_CHECK_FUNC_LIB(shm_open, rt, root)
+ AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#include <sys/types.h>
+-#include <sys/wait.h>
+-#include <sys/mman.h>
+-#include <sys/stat.h>
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <string.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-
+-#ifndef MAP_FAILED
+-# define MAP_FAILED ((void*)-1)
+-#endif
+-
+-int main() {
+- pid_t pid;
+- int status;
+- int fd;
+- char *shm;
+- char tmpname[4096];
+-
+- sprintf(tmpname,"/opcache.test.shm.%dXXXXXX", getpid());
+- if (mktemp(tmpname) == NULL) {
+- return 1;
+- }
+- fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+- if (fd == -1) {
+- return 2;
+- }
+- if (ftruncate(fd, 4096) < 0) {
+- close(fd);
+- shm_unlink(tmpname);
+- return 3;
+- }
+-
+- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+- if (shm == MAP_FAILED) {
+- return 4;
+- }
+- shm_unlink(tmpname);
+- close(fd);
+-
+- strcpy(shm, "hello");
+-
+- pid = fork();
+- if (pid < 0) {
+- return 5;
+- } else if (pid == 0) {
+- strcpy(shm, "bye");
+- return 6;
+- }
+- if (wait(&status) != pid) {
+- return 7;
+- }
+- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
+- return 8;
+- }
+- if (strcmp(shm, "bye") != 0) {
+- return 9;
+- }
+- return 0;
+-}
+-]])],[have_shm_mmap_posix=yes],[have_shm_mmap_posix=no],[have_shm_mmap_posix=no])
+- if test "$have_shm_mmap_posix" = "yes"; then
+- AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
+- PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
+- fi
+- AC_MSG_RESULT([$have_shm_mmap_posix])
++ AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
++ AC_MSG_RESULT([yes])
++ have_shm_mmap_posix=yes
++ PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
+
+ PHP_NEW_EXTENSION(opcache,
+ ZendAccelerator.c \
+--
+2.17.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch b/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
deleted file mode 100644
index 1f3e683a0f..0000000000
--- a/meta-oe/recipes-devtools/php/php/0001-opcache-config.m4-enable-opcache.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-From a74b42098aededd296ec6a3cd4cf5a17e59d6f29 Mon Sep 17 00:00:00 2001
-From: Claude Bing <cbing@cybernetics.com>
-Date: Fri, 8 May 2020 10:15:32 -0400
-Subject: [PATCH] opcache/config.m4: enable opcache
-
-We can't use AC_TRY_RUN to run programs in a cross compile environment.
-Set
-the variables directly instead since we know that we'd be running on
-latest
-enough linux kernel.
-
-Upstream-Status: Inappropriate [Configuration]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
-update patch to version 7.4.4
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-fix issue linking with librt
-Signed-off-by: Claude Bing <cbing@cybernetics.com>
----
- ext/opcache/config.m4 | 195 +-----------------------------------------
- 1 file changed, 4 insertions(+), 191 deletions(-)
-
-diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4
-index 6c40cafc1c..6569aa9e1c 100644
---- a/ext/opcache/config.m4
-+++ b/ext/opcache/config.m4
-@@ -23,201 +23,14 @@ if test "$PHP_OPCACHE" != "no"; then
- AC_CHECK_FUNCS([mprotect])
-
- AC_MSG_CHECKING(for sysvipc shared memory support)
-- AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/ipc.h>
--#include <sys/shm.h>
--#include <unistd.h>
--#include <string.h>
--
--int main() {
-- pid_t pid;
-- int status;
-- int ipc_id;
-- char *shm;
-- struct shmid_ds shmbuf;
--
-- ipc_id = shmget(IPC_PRIVATE, 4096, (IPC_CREAT | SHM_R | SHM_W));
-- if (ipc_id == -1) {
-- return 1;
-- }
--
-- shm = shmat(ipc_id, NULL, 0);
-- if (shm == (void *)-1) {
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 2;
-- }
--
-- if (shmctl(ipc_id, IPC_STAT, &shmbuf) != 0) {
-- shmdt(shm);
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 3;
-- }
--
-- shmbuf.shm_perm.uid = getuid();
-- shmbuf.shm_perm.gid = getgid();
-- shmbuf.shm_perm.mode = 0600;
--
-- if (shmctl(ipc_id, IPC_SET, &shmbuf) != 0) {
-- shmdt(shm);
-- shmctl(ipc_id, IPC_RMID, NULL);
-- return 4;
-- }
--
-- shmctl(ipc_id, IPC_RMID, NULL);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--]])],[dnl
-- AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-- msg=yes],[msg=no],[msg=no])
-- AC_MSG_RESULT([$msg])
-+ AC_DEFINE(HAVE_SHM_IPC, 1, [Define if you have SysV IPC SHM support])
-
- AC_MSG_CHECKING(for mmap() using MAP_ANON shared memory support)
-- AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <unistd.h>
--#include <string.h>
--
--#ifndef MAP_ANON
--# ifdef MAP_ANONYMOUS
--# define MAP_ANON MAP_ANONYMOUS
--# endif
--#endif
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
-+ AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-
--int main() {
-- pid_t pid;
-- int status;
-- char *shm;
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0);
-- if (shm == MAP_FAILED) {
-- return 1;
-- }
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--]])],[dnl
-- AC_DEFINE(HAVE_SHM_MMAP_ANON, 1, [Define if you have mmap(MAP_ANON) SHM support])
-- msg=yes],[msg=no],[msg=no])
-- AC_MSG_RESULT([$msg])
--
-- PHP_CHECK_FUNC_LIB(shm_open, rt)
- AC_MSG_CHECKING(for mmap() using shm_open() shared memory support)
-- AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <sys/types.h>
--#include <sys/wait.h>
--#include <sys/mman.h>
--#include <sys/stat.h>
--#include <fcntl.h>
--#include <unistd.h>
--#include <string.h>
--#include <stdlib.h>
--#include <stdio.h>
--
--#ifndef MAP_FAILED
--# define MAP_FAILED ((void*)-1)
--#endif
--
--int main() {
-- pid_t pid;
-- int status;
-- int fd;
-- char *shm;
-- char tmpname[4096];
--
-- sprintf(tmpname,"/opcache.test.shm.%dXXXXXX", getpid());
-- if (mktemp(tmpname) == NULL) {
-- return 1;
-- }
-- fd = shm_open(tmpname, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-- if (fd == -1) {
-- return 2;
-- }
-- if (ftruncate(fd, 4096) < 0) {
-- close(fd);
-- shm_unlink(tmpname);
-- return 3;
-- }
--
-- shm = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
-- if (shm == MAP_FAILED) {
-- return 4;
-- }
-- shm_unlink(tmpname);
-- close(fd);
--
-- strcpy(shm, "hello");
--
-- pid = fork();
-- if (pid < 0) {
-- return 5;
-- } else if (pid == 0) {
-- strcpy(shm, "bye");
-- return 6;
-- }
-- if (wait(&status) != pid) {
-- return 7;
-- }
-- if (!WIFEXITED(status) || WEXITSTATUS(status) != 6) {
-- return 8;
-- }
-- if (strcmp(shm, "bye") != 0) {
-- return 9;
-- }
-- return 0;
--}
--]])],[dnl
-- AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-- AC_MSG_RESULT([yes])
-- PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
-- ],[
-- AC_MSG_RESULT([no])
-- ],[
-- AC_MSG_RESULT([no])
-- ])
-+ AC_DEFINE(HAVE_SHM_MMAP_POSIX, 1, [Define if you have POSIX mmap() SHM support])
-+ PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)])
-
- PHP_NEW_EXTENSION(opcache,
- ZendAccelerator.c \
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch b/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
deleted file mode 100644
index d68737366e..0000000000
--- a/meta-oe/recipes-devtools/php/php/0001-php-don-t-use-broken-wrapper-for-mkdir.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From ebc101e0728b9db6c687cff525e5dfc8eb0edbf3 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 3 Nov 2011 14:27:15 +0100
-Subject: [PATCH 2/8] php: don't use broken wrapper for mkdir
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-
-update patch to version 7.4.4
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
-
-Upstream-Status: Inappropriate
-
- build/Makefile.global | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build/Makefile.global b/build/Makefile.global
-index ff858c2..ae554b4 100644
---- a/build/Makefile.global
-+++ b/build/Makefile.global
-@@ -1,4 +1,4 @@
--mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
-+mkinstalldirs = mkdir -p
- INSTALL = $(top_srcdir)/build/shtool install -c
- INSTALL_DATA = $(INSTALL) -m 644
-
---
-1.9.3
-
diff --git a/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch b/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch
deleted file mode 100644
index 0d721ec506..0000000000
--- a/meta-oe/recipes-devtools/php/php/0001-php.m4-don-t-unset-cache-variables.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-php.m4: don't unset cache variables
-
-Unsetting prevents cache variable from being passed to configure.
-
-Upstream-Status: Inappropriate [OE-specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
-update this patch to 7.4.4, acinclude.m4 move to build/php.m4
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- build/php.m4 | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/build/php.m4 b/build/php.m4
-index 5c45d13..218ec47 100644
---- a/build/php.m4
-+++ b/build/php.m4
-@@ -1587,8 +1587,6 @@ dnl PHP_CHECK_FUNC_LIB
- dnl
- AC_DEFUN([PHP_CHECK_FUNC_LIB],[
- ifelse($2,,:,[
-- unset ac_cv_lib_$2[]_$1
-- unset ac_cv_lib_$2[]___$1
- unset found
- AC_CHECK_LIB($2, $1, [found=yes], [
- AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
-@@ -1620,8 +1618,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and
- dnl HAVE_library if found and adds the library to LIBS.
- dnl
- AC_DEFUN([PHP_CHECK_FUNC],[
-- unset ac_cv_func_$1
-- unset ac_cv_func___$1
- unset found
-
- AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
---
-2.7.4
-
diff --git a/meta-oe/recipes-devtools/php/php/0002-build-php.m4-don-t-unset-cache-variables.patch b/meta-oe/recipes-devtools/php/php/0002-build-php.m4-don-t-unset-cache-variables.patch
new file mode 100644
index 0000000000..6183f49c28
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0002-build-php.m4-don-t-unset-cache-variables.patch
@@ -0,0 +1,45 @@
+From 1af203e8e385d46ad3e33b1c253b1c564aa99034 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:01:55 -0500
+Subject: [PATCH 02/11] build/php.m4: don't unset cache variables
+
+Unsetting prevents cache variable from being passed to configure.
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+update this patch to 7.4.4, acinclude.m4 move to build/php.m4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+update patch to 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+ build/php.m4 | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/build/php.m4 b/build/php.m4
+index 9746ba28f3..93551d9ca7 100644
+--- a/build/php.m4
++++ b/build/php.m4
+@@ -1568,8 +1568,6 @@ dnl PHP_CHECK_FUNC_LIB
+ dnl
+ AC_DEFUN([PHP_CHECK_FUNC_LIB],[
+ ifelse($2,,:,[
+- unset ac_cv_lib_$2[]_$1
+- unset ac_cv_lib_$2[]___$1
+ unset found
+ AC_CHECK_LIB($2, $1, [found=yes], [
+ AC_CHECK_LIB($2, __$1, [found=yes], [found=no])
+@@ -1601,8 +1599,6 @@ dnl and as a fall back in the specified library. Defines HAVE_func and
+ dnl HAVE_library if found and adds the library to LIBS.
+ dnl
+ AC_DEFUN([PHP_CHECK_FUNC],[
+- unset ac_cv_func_$1
+- unset ac_cv_func___$1
+ unset found
+
+ AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ])
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0003-php-remove-host-specific-info-from-header-file.patch b/meta-oe/recipes-devtools/php/php/0003-php-remove-host-specific-info-from-header-file.patch
new file mode 100644
index 0000000000..9637ed9516
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0003-php-remove-host-specific-info-from-header-file.patch
@@ -0,0 +1,36 @@
+From c81d0bd3491a6c6371d9df2f43956d109f984310 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:02:29 -0500
+Subject: [PATCH 03/11] php: remove host specific info from header file
+
+Based on:
+https://sources.debian.org/data/main/p/php7.3/7.3.6-1/debian/patches/
+ 0036-php-5.4.9-fixheader.patch
+
+Upstream-Status: Inappropriate [not author]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+
+update patch to 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1eafd62a44..90c94323aa 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1289,7 +1289,7 @@ PHP_REMOVE_USR_LIB(LDFLAGS)
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
+ EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
+
+-UNAME=`uname -a | xargs`
++UNAME=`uname | xargs`
+ PHP_UNAME=${PHP_UNAME:-$UNAME}
+ AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
+ PHP_OS=`uname | xargs`
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0004-configure.ac-don-t-include-build-libtool.m4.patch b/meta-oe/recipes-devtools/php/php/0004-configure.ac-don-t-include-build-libtool.m4.patch
new file mode 100644
index 0000000000..19a8bf8e4f
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0004-configure.ac-don-t-include-build-libtool.m4.patch
@@ -0,0 +1,33 @@
+From 41ef1121682c245b10df7de4b78c45baf9114c04 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:03:46 -0500
+Subject: [PATCH 04/11] configure.ac: don't include build/libtool.m4
+
+we delete build/libtool.m4 before do_configure,
+we will use libtool.m4 under ACLOCALDIR
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+update patch to 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 90c94323aa..161e7c3f53 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,7 +6,6 @@ dnl ----------------------------------------------------------------------------
+ m4_include([build/ax_check_compile_flag.m4])
+ m4_include([build/ax_func_which_gethostbyname_r.m4])
+ m4_include([build/ax_gcc_func_attribute.m4])
+-m4_include([build/libtool.m4])
+ m4_include([build/php_cxx_compile_stdcxx.m4])
+ m4_include([build/php.m4])
+ m4_include([build/pkg.m4])
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0005-pear-fix-Makefile.frag-for-Yocto.patch b/meta-oe/recipes-devtools/php/php/0005-pear-fix-Makefile.frag-for-Yocto.patch
new file mode 100644
index 0000000000..37752ef949
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0005-pear-fix-Makefile.frag-for-Yocto.patch
@@ -0,0 +1,31 @@
+From f22958b4c1348eec3bb4c0f2cbe2d22676e0ad23 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:04:29 -0500
+Subject: [PATCH 05/11] pear: fix Makefile.frag for Yocto
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+update patch to 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+Upstream-Status: Pending
+
+ pear/Makefile.frag | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pear/Makefile.frag b/pear/Makefile.frag
+index 9408757a3a..69072f39e0 100644
+--- a/pear/Makefile.frag
++++ b/pear/Makefile.frag
+@@ -10,7 +10,7 @@ PEAR_SUFFIX = -ds a$(program_suffix)
+ PEAR_INSTALLER_URL = https://pear.php.net/install-pear-nozlib.phar
+
+ install-pear-installer: $(SAPI_CLI_PATH)
+- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
++ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
+
+ install-pear:
+ @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch b/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch
new file mode 100644
index 0000000000..acf2940839
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch
@@ -0,0 +1,46 @@
+From eab5babdadea487bbbef025068c553f5ba741774 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:07:25 -0500
+Subject: [PATCH 06/11] ext/phar/Makefile.frag: Fix phar packaging
+
+Inherited from OE-Classic, with some additions to fix host paths leaking
+into the target package.
+
+Upstream-Status: Inappropriate [config]
+
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+update patch to version 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+ ext/phar/Makefile.frag | 17 +++--------------
+ 1 file changed, 3 insertions(+), 14 deletions(-)
+
+--- a/ext/phar/Makefile.frag
++++ b/ext/phar/Makefile.frag
+@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir
+
+ PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
+ PHP_PHARCMD_EXECUTABLE = ` \
+- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
+- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
+- if test "x$(PHP_MODULES)" != "x"; then \
+- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
+- for i in bz2 zlib phar; do \
+- if test -f "$(top_builddir)/modules/$$i.la"; then \
+- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+- fi; \
+- done; \
+- fi; \
+- else \
+- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
+- fi;`
+-PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
++ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
++
++PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "/usr/bin/env $(program_prefix)php$(program_suffix)$(EXEEXT)";`
+
+ $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
+ -@test -d $(builddir)/phar || mkdir $(builddir)/phar
diff --git a/meta-oe/recipes-devtools/php/php/0007-sapi-cli-config.m4-fix-build-directory.patch b/meta-oe/recipes-devtools/php/php/0007-sapi-cli-config.m4-fix-build-directory.patch
new file mode 100644
index 0000000000..9776e7f6db
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0007-sapi-cli-config.m4-fix-build-directory.patch
@@ -0,0 +1,32 @@
+From 03aa51625e0d1aa156c2f7cd71503b1f435d35a4 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:08:06 -0500
+Subject: [PATCH 07/11] sapi/cli/config.m4: fix build directory
+
+Upstream-Status: Inappropriate
+
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+update patch to version 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+ sapi/cli/config.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
+index d17d531683..f2f87f9164 100644
+--- a/sapi/cli/config.m4
++++ b/sapi/cli/config.m4
+@@ -47,7 +47,7 @@ if test "$PHP_CLI" != "no"; then
+ esac
+
+ dnl Set executable for tests.
+- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
++ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
+ PHP_SUBST(PHP_EXECUTABLE)
+
+ dnl Expose to Makefile.
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0008-ext-imap-config.m4-fix-include-paths.patch b/meta-oe/recipes-devtools/php/php/0008-ext-imap-config.m4-fix-include-paths.patch
new file mode 100644
index 0000000000..78bae58e00
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0008-ext-imap-config.m4-fix-include-paths.patch
@@ -0,0 +1,45 @@
+From c3c20db4415e0f6c4a601d6f9da1f3746a96b301 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:08:58 -0500
+Subject: [PATCH 08/11] ext/imap/config.m4: fix include paths
+
+Upstream-Status: Pending
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+update patch to version 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+ ext/imap/config.m4 | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
+index 5086a312d0..0e938bd544 100644
+--- a/ext/imap/config.m4
++++ b/ext/imap/config.m4
+@@ -110,7 +110,7 @@ if test "$PHP_IMAP" != "no"; then
+ PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+ AC_DEFINE(HAVE_IMAP,1,[ ])
+
+- for i in $PHP_IMAP /usr/local /usr; do
++ for i in $PHP_IMAP $PHP_IMAP/usr /usr/local /usr; do
+ IMAP_INC_CHK()
+ el[]IMAP_INC_CHK(/include/c-client)
+ el[]IMAP_INC_CHK(/include/imap)
+@@ -199,13 +199,7 @@ if test "$PHP_IMAP" != "no"; then
+ AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
+ fi
+
+- if test ! -r "$IMAP_DIR/c-client/libc-client.a" && test -r "$IMAP_DIR/c-client/c-client.a" ; then
+- ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
+- elif test ! -r "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" && test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
+- ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1
+- fi
+-
+- for lib in c-client4 c-client imap; do
++ for lib in /usr/lib c-client4 c-client imap; do
+ IMAP_LIB=$lib
+ IMAP_LIB_CHK($PHP_LIBDIR)
+ IMAP_LIB_CHK(c-client)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0009-php-don-t-use-broken-wrapper-for-mkdir.patch b/meta-oe/recipes-devtools/php/php/0009-php-don-t-use-broken-wrapper-for-mkdir.patch
new file mode 100644
index 0000000000..b5a33cca7f
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0009-php-don-t-use-broken-wrapper-for-mkdir.patch
@@ -0,0 +1,31 @@
+From 8707720c0aea405f0e06d67354f239232cc823cc Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:10:02 -0500
+Subject: [PATCH 09/11] php: don't use broken wrapper for mkdir
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+update patch to version 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+Upstream-Status: Pending
+
+ build/Makefile.global | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/Makefile.global b/build/Makefile.global
+index 6566d052de..eb39421f2a 100644
+--- a/build/Makefile.global
++++ b/build/Makefile.global
+@@ -1,4 +1,4 @@
+-mkinstalldirs = $(top_srcdir)/build/shtool mkdir -p
++mkinstalldirs = mkdir -p
+ INSTALL = $(top_srcdir)/build/shtool install -c
+ INSTALL_DATA = $(INSTALL) -m 644
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/0010-iconv-fix-detection.patch b/meta-oe/recipes-devtools/php/php/0010-iconv-fix-detection.patch
new file mode 100644
index 0000000000..e3b8cd4707
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/0010-iconv-fix-detection.patch
@@ -0,0 +1,35 @@
+From a04aabc5b80371e579fbaffdd417627390d22722 Mon Sep 17 00:00:00 2001
+From: Claude Bing <cbing@cybernetics.com>
+Date: Tue, 9 Nov 2021 13:10:33 -0500
+Subject: [PATCH 10/11] iconv: fix detection
+
+Upstream-Status: Pending
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+
+update patch to version 7.4.4
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+update patch to version 8.0.12
+Signed-off-by: Claude Bing <cbing@cybernetics.com>
+---
+ build/php.m4 | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/build/php.m4 b/build/php.m4
+index 93551d9ca7..dba50825fb 100644
+--- a/build/php.m4
++++ b/build/php.m4
+@@ -1919,7 +1919,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
+ unset ICONV_DIR
+
+ dnl Check libc first if no path is provided in --with-iconv.
+- if test "$PHP_ICONV" = "yes"; then
++ dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes
++ if test "$PHP_ICONV" != "no"; then
+ dnl Reset LIBS temporarily as it may have already been included -liconv in.
+ LIBS_save="$LIBS"
+ LIBS=
+--
+2.25.1
+
diff --git a/meta-oe/recipes-devtools/php/php/70_mod_php7.conf b/meta-oe/recipes-devtools/php/php/70_mod_php7.conf
deleted file mode 100644
index d206265a25..0000000000
--- a/meta-oe/recipes-devtools/php/php/70_mod_php7.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-LoadModule php7_module lib/apache2/modules/libphp7.so
-
-<FilesMatch "\.ph(p[2-7]?|tml)$">
- SetHandler application/x-httpd-php
-</FilesMatch>
-
-<FilesMatch "\.phps$">
- SetHandler application/x-httpd-php-source
-</FilesMatch>
diff --git a/meta-oe/recipes-devtools/php/php/70_mod_php8.conf b/meta-oe/recipes-devtools/php/php/70_mod_php8.conf
new file mode 100644
index 0000000000..58ce408aa4
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php/70_mod_php8.conf
@@ -0,0 +1,9 @@
+LoadModule php_module lib/apache2/modules/libphp.so
+
+<FilesMatch "\.ph(p[2-8]?|tml)$">
+ SetHandler application/x-httpd-php
+</FilesMatch>
+
+<FilesMatch "\.phps$">
+ SetHandler application/x-httpd-php-source
+</FilesMatch>
diff --git a/meta-oe/recipes-devtools/php/php/CVE-2020-7069.patch b/meta-oe/recipes-devtools/php/php/CVE-2020-7069.patch
deleted file mode 100644
index 0cf4d5ed60..0000000000
--- a/meta-oe/recipes-devtools/php/php/CVE-2020-7069.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-Subject: Fix bug #79601 (Wrong ciphertext/tag in AES-CCM encryption
- for a 12 bytes IV)
-
----
- ext/openssl/openssl.c | 10 ++++-----
- ext/openssl/tests/cipher_tests.inc | 21 +++++++++++++++++
- ext/openssl/tests/openssl_decrypt_ccm.phpt | 22 +++++++++++-------
- ext/openssl/tests/openssl_encrypt_ccm.phpt | 26 ++++++++++++++--------
- 4 files changed, 57 insertions(+), 22 deletions(-)
-
-diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
-index 04cb9b0f..fdad2c3b 100644
---- a/ext/openssl/openssl.c
-+++ b/ext/openssl/openssl.c
-@@ -6521,11 +6521,6 @@ static int php_openssl_validate_iv(char **piv, size_t *piv_len, size_t iv_requir
- {
- char *iv_new;
-
-- /* Best case scenario, user behaved */
-- if (*piv_len == iv_required_len) {
-- return SUCCESS;
-- }
--
- if (mode->is_aead) {
- if (EVP_CIPHER_CTX_ctrl(cipher_ctx, mode->aead_ivlen_flag, *piv_len, NULL) != 1) {
- php_error_docref(NULL, E_WARNING, "Setting of IV length for AEAD mode failed");
-@@ -6534,6 +6529,11 @@ static int php_openssl_validate_iv(char **piv, size_t *piv_len, size_t iv_requir
- return SUCCESS;
- }
-
-+ /* Best case scenario, user behaved */
-+ if (*piv_len == iv_required_len) {
-+ return SUCCESS;
-+ }
-+
- iv_new = ecalloc(1, iv_required_len + 1);
-
- if (*piv_len == 0) {
-diff --git a/ext/openssl/tests/cipher_tests.inc b/ext/openssl/tests/cipher_tests.inc
-index b1e46b41..779bfa85 100644
---- a/ext/openssl/tests/cipher_tests.inc
-+++ b/ext/openssl/tests/cipher_tests.inc
-@@ -1,5 +1,26 @@
- <?php
- $php_openssl_cipher_tests = array(
-+ 'aes-128-ccm' => array(
-+ array(
-+ 'key' => '404142434445464748494a4b4c4d4e4f',
-+ 'iv' => '1011121314151617',
-+ 'aad' => '000102030405060708090a0b0c0d0e0f',
-+ 'tag' => '1fc64fbfaccd',
-+ 'pt' => '202122232425262728292a2b2c2d2e2f',
-+ 'ct' => 'd2a1f0e051ea5f62081a7792073d593d',
-+ ),
-+ array(
-+ 'key' => '404142434445464748494a4b4c4d4e4f',
-+ 'iv' => '101112131415161718191a1b',
-+ 'aad' => '000102030405060708090a0b0c0d0e0f' .
-+ '10111213',
-+ 'tag' => '484392fbc1b09951',
-+ 'pt' => '202122232425262728292a2b2c2d2e2f' .
-+ '3031323334353637',
-+ 'ct' => 'e3b201a9f5b71a7a9b1ceaeccd97e70b' .
-+ '6176aad9a4428aa5',
-+ ),
-+ ),
- 'aes-256-ccm' => array(
- array(
- 'key' => '1bde3251d41a8b5ea013c195ae128b21' .
-diff --git a/ext/openssl/tests/openssl_decrypt_ccm.phpt b/ext/openssl/tests/openssl_decrypt_ccm.phpt
-index a5f01b87..08ef5bb7 100644
---- a/ext/openssl/tests/openssl_decrypt_ccm.phpt
-+++ b/ext/openssl/tests/openssl_decrypt_ccm.phpt
-@@ -10,14 +10,16 @@ if (!in_array('aes-256-ccm', openssl_get_cipher_methods()))
- --FILE--
- <?php
- require_once __DIR__ . "/cipher_tests.inc";
--$method = 'aes-256-ccm';
--$tests = openssl_get_cipher_tests($method);
-+$methods = ['aes-128-ccm', 'aes-256-ccm'];
-
--foreach ($tests as $idx => $test) {
-- echo "TEST $idx\n";
-- $pt = openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA,
-- $test['iv'], $test['tag'], $test['aad']);
-- var_dump($test['pt'] === $pt);
-+foreach ($methods as $method) {
-+ $tests = openssl_get_cipher_tests($method);
-+ foreach ($tests as $idx => $test) {
-+ echo "$method - TEST $idx\n";
-+ $pt = openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA,
-+ $test['iv'], $test['tag'], $test['aad']);
-+ var_dump($test['pt'] === $pt);
-+ }
- }
-
- // no IV
-@@ -32,7 +34,11 @@ var_dump(openssl_decrypt($test['ct'], $method, $test['key'], OPENSSL_RAW_DATA,
-
- ?>
- --EXPECTF--
--TEST 0
-+aes-128-ccm - TEST 0
-+bool(true)
-+aes-128-ccm - TEST 1
-+bool(true)
-+aes-256-ccm - TEST 0
- bool(true)
-
- Warning: openssl_decrypt(): Setting of IV length for AEAD mode failed in %s on line %d
-diff --git a/ext/openssl/tests/openssl_encrypt_ccm.phpt b/ext/openssl/tests/openssl_encrypt_ccm.phpt
-index fb5dbbc8..8c4c41f8 100644
---- a/ext/openssl/tests/openssl_encrypt_ccm.phpt
-+++ b/ext/openssl/tests/openssl_encrypt_ccm.phpt
-@@ -10,15 +10,17 @@ if (!in_array('aes-256-ccm', openssl_get_cipher_methods()))
- --FILE--
- <?php
- require_once __DIR__ . "/cipher_tests.inc";
--$method = 'aes-256-ccm';
--$tests = openssl_get_cipher_tests($method);
-+$methods = ['aes-128-ccm', 'aes-256-ccm'];
-
--foreach ($tests as $idx => $test) {
-- echo "TEST $idx\n";
-- $ct = openssl_encrypt($test['pt'], $method, $test['key'], OPENSSL_RAW_DATA,
-- $test['iv'], $tag, $test['aad'], strlen($test['tag']));
-- var_dump($test['ct'] === $ct);
-- var_dump($test['tag'] === $tag);
-+foreach ($methods as $method) {
-+ $tests = openssl_get_cipher_tests($method);
-+ foreach ($tests as $idx => $test) {
-+ echo "$method - TEST $idx\n";
-+ $ct = openssl_encrypt($test['pt'], $method, $test['key'], OPENSSL_RAW_DATA,
-+ $test['iv'], $tag, $test['aad'], strlen($test['tag']));
-+ var_dump($test['ct'] === $ct);
-+ var_dump($test['tag'] === $tag);
-+ }
- }
-
- // Empty IV error
-@@ -32,7 +34,13 @@ var_dump(strlen($tag));
- var_dump(openssl_encrypt('data', $method, 'password', 0, str_repeat('x', 16), $tag, '', 1024));
- ?>
- --EXPECTF--
--TEST 0
-+aes-128-ccm - TEST 0
-+bool(true)
-+bool(true)
-+aes-128-ccm - TEST 1
-+bool(true)
-+bool(true)
-+aes-256-ccm - TEST 0
- bool(true)
- bool(true)
-
---
-2.25.1
-
diff --git a/meta-oe/recipes-devtools/php/php/CVE-2020-7070.patch b/meta-oe/recipes-devtools/php/php/CVE-2020-7070.patch
deleted file mode 100644
index e5b527f989..0000000000
--- a/meta-oe/recipes-devtools/php/php/CVE-2020-7070.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Patch fix-urldecode for HTTP related Bug #79699
-
----
- main/php_variables.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/main/php_variables.c b/main/php_variables.c
-index 1a40c2a1..cbdc7cf1 100644
---- a/main/php_variables.c
-+++ b/main/php_variables.c
-@@ -514,7 +514,9 @@ SAPI_API SAPI_TREAT_DATA_FUNC(php_default_treat_data)
- }
-
- val = estrndup(val, val_len);
-- php_url_decode(var, strlen(var));
-+ if (arg != PARSE_COOKIE) {
-+ php_url_decode(var, strlen(var));
-+ }
- if (sapi_module.input_filter(arg, var, &val, val_len, &new_val_len)) {
- php_register_variable_safe(var, val, new_val_len, &array);
- }
---
-2.25.1
-
diff --git a/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch b/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch
deleted file mode 100644
index a4804d1849..0000000000
--- a/meta-oe/recipes-devtools/php/php/debian-php-fixheader.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1234a8ef7c5ab88e24bc5908f0ccfd55af21aa39 Mon Sep 17 00:00:00 2001
-From: Leon Anavi <leon.anavi@konsulko.com>
-Date: Mon, 31 Aug 2020 16:03:27 +0300
-Subject: [PATCH] php: remove host specific info from header file
-
-Based on:
-https://sources.debian.org/data/main/p/php7.3/7.3.6-1/debian/patches/
- 0036-php-5.4.9-fixheader.patch
-
-Upstream-Status: Inappropriate [not author]
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 2a474ba36d..6d22a21630 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1323,7 +1323,7 @@ PHP_BUILD_DATE=`date -u +%Y-%m-%d`
- fi
- AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
-
--UNAME=`uname -a | xargs`
-+UNAME=`uname | xargs`
- PHP_UNAME=${PHP_UNAME:-$UNAME}
- AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
- PHP_OS=`uname | xargs`
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/php/php/iconv.patch b/meta-oe/recipes-devtools/php/php/iconv.patch
deleted file mode 100644
index 9ec8a89b57..0000000000
--- a/meta-oe/recipes-devtools/php/php/iconv.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Subject: [PATCH] From 17cc5645f3acf943a5a06465d09d0ebcfea987bd Mon Sep 17
- 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
- 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Pending
-
-update patch to version 7.4.4
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- build/php.m4 | 3 ++-
- ext/iconv/config.m4 | 2 +-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/build/php.m4 b/build/php.m4
-index 7392876..5c45d13 100644
---- a/build/php.m4
-+++ b/build/php.m4
-@@ -1950,7 +1950,8 @@ AC_DEFUN([PHP_SETUP_ICONV], [
- echo > ext/iconv/php_iconv_supports_errno.h
-
- dnl Check libc first if no path is provided in --with-iconv.
-- if test "$PHP_ICONV" = "yes"; then
-+ dnl must check against no, not against yes as PHP_ICONV can also include a path, which implies yes
-+ if test "$PHP_ICONV" != "no"; then
- dnl Reset LIBS temporarily as it may have already been included -liconv in.
- LIBS_save="$LIBS"
- LIBS=
-diff --git a/ext/iconv/config.m4 b/ext/iconv/config.m4
-index fe9b47a..b6b632f 100644
---- a/ext/iconv/config.m4
-+++ b/ext/iconv/config.m4
-@@ -14,7 +14,7 @@ if test "$PHP_ICONV" != "no"; then
-
- if test "$iconv_avail" != "no"; then
- if test -z "$ICONV_DIR"; then
-- for i in /usr/local /usr; do
-+ for i in $PHP_ICONV /usr/local /usr; do
- if test -f "$i/include/iconv.h" || test -f "$i/include/giconv.h"; then
- PHP_ICONV_PREFIX="$i"
- break
---
-2.7.4
-
diff --git a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch b/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
deleted file mode 100644
index ebe5f6a93c..0000000000
--- a/meta-oe/recipes-devtools/php/php/imap-fix-autofoo.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Subject: [PATCH] From c084c8349d1780980e232cb28b60a109e3d89438 Mon Sep 17
- 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
- 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Pending
-
-update patch to version 7.4.4
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- ext/imap/config.m4 | 10 ++--------
- 1 file changed, 2 insertions(+), 8 deletions(-)
-
-diff --git a/ext/imap/config.m4 b/ext/imap/config.m4
-index 5086a31..0e938bd 100644
---- a/ext/imap/config.m4
-+++ b/ext/imap/config.m4
-@@ -110,7 +110,7 @@ if test "$PHP_IMAP" != "no"; then
- PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
- AC_DEFINE(HAVE_IMAP,1,[ ])
-
-- for i in $PHP_IMAP /usr/local /usr; do
-+ for i in $PHP_IMAP $PHP_IMAP/usr /usr/local /usr; do
- IMAP_INC_CHK()
- el[]IMAP_INC_CHK(/include/c-client)
- el[]IMAP_INC_CHK(/include/imap)
-@@ -199,13 +199,7 @@ if test "$PHP_IMAP" != "no"; then
- AC_MSG_ERROR(Cannot find rfc822.h. Please check your c-client installation.)
- fi
-
-- if test ! -r "$IMAP_DIR/c-client/libc-client.a" && test -r "$IMAP_DIR/c-client/c-client.a" ; then
-- ln -s "$IMAP_DIR/c-client/c-client.a" "$IMAP_DIR/c-client/libc-client.a" >/dev/null 2>&1
-- elif test ! -r "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" && test -r "$IMAP_DIR/$PHP_LIBDIR/c-client.a"; then
-- ln -s "$IMAP_DIR/$PHP_LIBDIR/c-client.a" "$IMAP_DIR/$PHP_LIBDIR/libc-client.a" >/dev/null 2>&1
-- fi
--
-- for lib in c-client4 c-client imap; do
-+ for lib in /usr/lib c-client4 c-client imap; do
- IMAP_LIB=$lib
- IMAP_LIB_CHK($PHP_LIBDIR)
- IMAP_LIB_CHK(c-client)
---
-2.7.4
-
diff --git a/meta-oe/recipes-devtools/php/php/pear-makefile.patch b/meta-oe/recipes-devtools/php/php/pear-makefile.patch
deleted file mode 100644
index fcbf25be9b..0000000000
--- a/meta-oe/recipes-devtools/php/php/pear-makefile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From edd575a546d56bb5683aff19782b16963d61fd0b Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Wed, 2 Nov 2011 16:54:57 +0100
-Subject: [PATCH] Upstream-Status: Pending
-
----
- pear/Makefile.frag | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pear/Makefile.frag b/pear/Makefile.frag
-index bbe8ec3..16f43e2 100644
---- a/pear/Makefile.frag
-+++ b/pear/Makefile.frag
-@@ -12,7 +12,7 @@ PEAR_SUFFIX = -ds a$(program_suffix)
- PEAR_INSTALLER_URL = https://pear.php.net/install-pear-nozlib.phar
-
- install-pear-installer: $(SAPI_CLI_PATH)
-- @$(top_builddir)/sapi/cli/php $(PEAR_INSTALL_FLAGS) pear/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
-+ @$(PHP_NATIVE_DIR)/php $(PEAR_INSTALL_FLAGS) $(builddir)/install-pear-nozlib.phar -d "$(peardir)" -b "$(bindir)" ${PEAR_PREFIX} ${PEAR_SUFFIX}
-
- install-pear:
- @echo "Installing PEAR environment: $(INSTALL_ROOT)$(peardir)/"
diff --git a/meta-oe/recipes-devtools/php/php/phar-makefile.patch b/meta-oe/recipes-devtools/php/php/phar-makefile.patch
deleted file mode 100644
index eb73bc440e..0000000000
--- a/meta-oe/recipes-devtools/php/php/phar-makefile.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Subject: [PATCH] From 08962a56f69963e01892d98ca5b75de8354bd3f5 Mon Sep 17
- 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
- 2011 16:54:57 +0100 Subject: [PATCH] Fix phar packaging
-
-Inherited from OE-Classic, with some additions to fix host paths leaking
-into the target package.
-
-Upstream-Status: Inappropriate [config]
-
-update patch to version 7.4.4
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- ext/phar/Makefile.frag | 17 +++--------------
- 1 file changed, 3 insertions(+), 14 deletions(-)
-
-diff --git a/ext/phar/Makefile.frag b/ext/phar/Makefile.frag
-index 6442f33..6145412 100644
---- a/ext/phar/Makefile.frag
-+++ b/ext/phar/Makefile.frag
-@@ -10,20 +10,9 @@ pharcmd: $(builddir)/phar.php $(builddir)/phar.phar
-
- PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0
- PHP_PHARCMD_EXECUTABLE = ` \
-- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \
-- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
-- if test "x$(PHP_MODULES)" != "x"; then \
-- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
-- for i in bz2 zlib phar; do \
-- if test -f "$(top_builddir)/modules/$$i.la"; then \
-- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
-- fi; \
-- done; \
-- fi; \
-- else \
-- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
-- fi;`
--PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
-+ $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; `
-+
-+PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
-
- $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
- -@test -d $(builddir)/phar || mkdir $(builddir)/phar
---
-2.7.4
-
diff --git a/meta-oe/recipes-devtools/php/php/php-fpm.service b/meta-oe/recipes-devtools/php/php/php-fpm.service
index eec76fb563..918ffe6749 100644
--- a/meta-oe/recipes-devtools/php/php/php-fpm.service
+++ b/meta-oe/recipes-devtools/php/php/php-fpm.service
@@ -1,10 +1,57 @@
+# It's not recommended to modify this file in-place, because it
+# will be overwritten during upgrades. If you want to customize,
+# the best way is to use the "systemctl edit" command.
+
[Unit]
-Description=PHP-FPM
+Description=The PHP FastCGI Process Manager
After=network.target
+
[Service]
-Type=forking
-PIDFile=/run/php-fpm.pid
-ExecStart=@SYSCONFDIR@/init.d/php-fpm start
-ExecStop=@SYSCONFDIR@/init.d/php-fpm stop
+Type=simple
+PIDFile=@LOCALSTATEDIR@/run/php-fpm.pid
+ExecStart=@SBINDIR@/php-fpm --nodaemonize --fpm-config /etc/php-fpm.conf
+ExecReload=@BINDIR@/kill -USR2 $MAINPID
+
+# Set up a new file system namespace and mounts private /tmp and /var/tmp directories
+# so this service cannot access the global directories and other processes cannot
+# access this service's directories.
+PrivateTmp=true
+
+# Mounts the /usr, /boot, and /etc directories read-only for processes invoked by this unit.
+ProtectSystem=full
+
+# Sets up a new /dev namespace for the executed processes and only adds API pseudo devices
+# such as /dev/null, /dev/zero or /dev/random (as well as the pseudo TTY subsystem) to it,
+# but no physical devices such as /dev/sda.
+PrivateDevices=true
+
+# Explicit module loading will be denied. This allows to turn off module load and unload
+# operations on modular kernels. It is recommended to turn this on for most services that
+# do not need special file systems or extra kernel modules to work.
+ProtectKernelModules=true
+
+# Kernel variables accessible through /proc/sys, /sys, /proc/sysrq-trigger, /proc/latency_stats,
+# /proc/acpi, /proc/timer_stats, /proc/fs and /proc/irq will be made read-only to all processes
+# of the unit. Usually, tunable kernel variables should only be written at boot-time, with the
+# sysctl.d(5) mechanism. Almost no services need to write to these at runtime; it is hence
+# recommended to turn this on for most services.
+ProtectKernelTunables=true
+
+# The Linux Control Groups (cgroups(7)) hierarchies accessible through /sys/fs/cgroup will be
+# made read-only to all processes of the unit. Except for container managers no services should
+# require write access to the control groups hierarchies; it is hence recommended to turn this on
+# for most services
+ProtectControlGroups=true
+
+# Any attempts to enable realtime scheduling in a process of the unit are refused.
+RestrictRealtime=true
+
+# Restricts the set of socket address families accessible to the processes of this unit.
+# Protects against vulnerabilities such as CVE-2016-8655
+RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX
+
+# Takes away the ability to create or manage any kind of namespace
+RestrictNamespaces=true
+
[Install]
WantedBy=multi-user.target
diff --git a/meta-oe/recipes-devtools/php/php/php_exec_native.patch b/meta-oe/recipes-devtools/php/php/php_exec_native.patch
deleted file mode 100644
index 4aec4812f6..0000000000
--- a/meta-oe/recipes-devtools/php/php/php_exec_native.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Subject: [PATCH] rom d251b5aa3d23803d016ca16818e2e1d2f2b70a02 Mon Sep 17
- 00:00:00 2001 From: Koen Kooi <koen@dominion.thruhere.net> Date: Wed, 2 Nov
- 2011 16:54:57 +0100 Subject: [PATCH] Upstream-Status: Inappriate
-
-update patch to version 7.4.4
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- sapi/cli/config.m4 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4
-index 917d45f..aaf1e27 100644
---- a/sapi/cli/config.m4
-+++ b/sapi/cli/config.m4
-@@ -47,7 +47,7 @@ if test "$PHP_CLI" != "no"; then
- esac
-
- dnl Set executable for tests.
-- PHP_EXECUTABLE="\$(top_builddir)/\$(SAPI_CLI_PATH)"
-+ PHP_EXECUTABLE="${PHP_NATIVE_DIR}/php"
- PHP_SUBST(PHP_EXECUTABLE)
-
- dnl Expose to Makefile.
---
-2.7.4
-
diff --git a/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch b/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch
deleted file mode 100644
index 21057439c9..0000000000
--- a/meta-oe/recipes-devtools/php/php/xfail_two_bug_tests.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-php-ptest: xfail two tests
-
-If and when these tests are modified to expect the correct output, they will
-succeed and generate warnings in the test summary. This patch can then be removed.
-
-Note that we add a closing '?>' to one test so that it can be executed directly by php.
-
-Upstream-Status: Pending
-
-Signed-off-By: Joe Slater <joe.slater@windriver.com>
-
-
---- a/tests/basic/bug71273.phpt
-+++ b/tests/basic/bug71273.phpt
-@@ -16,6 +16,8 @@ Bug #71273 A wrong ext directory setup i
- var_dump(preg_match(",.+a[\\/].+[\\/]w.php_kartoffelbrei.dll.+,s", $out));
- ?>
- ==DONE==
-+--XFAIL--
-+Output is int(0), not int(1)
- --EXPECT--
- int(1)
- ==DONE==
---- a/tests/run-test/bug75042-3.phpt
-+++ b/tests/run-test/bug75042-3.phpt
-@@ -8,5 +8,8 @@ display_errors=1
- nonexistentsharedmodule
- --FILE--
- <?php
-+?>
-+--XFAIL--
-+No warning message printed.
- --EXPECTF--
- PHP Warning: PHP Startup: Unable to load dynamic library '%snonexistentsharedmodule.%s' %A
diff --git a/meta-oe/recipes-devtools/php/php_7.4.9.bb b/meta-oe/recipes-devtools/php/php_7.4.9.bb
deleted file mode 100644
index f8a8755b91..0000000000
--- a/meta-oe/recipes-devtools/php/php_7.4.9.bb
+++ /dev/null
@@ -1,271 +0,0 @@
-SUMMARY = "A server-side, HTML-embedded scripting language"
-HOMEPAGE = "http://www.php.net"
-SECTION = "console/network"
-
-LICENSE = "PHP-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=7e571b888d585b31f9ef5edcc647fa30"
-
-BBCLASSEXTEND = "native"
-DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native lemon-native"
-DEPENDS_class-native = "zlib-native libxml2-native"
-
-PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}"
-
-SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
- file://0001-php-don-t-use-broken-wrapper-for-mkdir.patch \
- file://debian-php-fixheader.patch \
- file://0001-configure.ac-don-t-include-build-libtool.m4.patch \
- file://0001-php.m4-don-t-unset-cache-variables.patch \
- "
-
-SRC_URI_append_class-target = " \
- file://iconv.patch \
- file://imap-fix-autofoo.patch \
- file://php_exec_native.patch \
- file://php-fpm.conf \
- file://php-fpm-apache.conf \
- file://70_mod_php${PHP_MAJOR_VERSION}.conf \
- file://php-fpm.service \
- file://pear-makefile.patch \
- file://phar-makefile.patch \
- file://0001-opcache-config.m4-enable-opcache.patch \
- file://xfail_two_bug_tests.patch \
- file://CVE-2020-7070.patch \
- file://CVE-2020-7069.patch \
- "
-
-S = "${WORKDIR}/php-${PV}"
-SRC_URI[md5sum] = "e68a66c54b080d108831f6dc2e1e403d"
-SRC_URI[sha256sum] = "2e270958a4216480da7886743438ccc92b6acf32ea96fefda88d07e0a5095deb"
-
-inherit autotools pkgconfig python3native gettext
-
-# phpize is not scanned for absolute paths by default (but php-config is).
-#
-SSTATE_SCAN_FILES += "phpize"
-SSTATE_SCAN_FILES += "build-defs.h"
-
-PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}"
-
-# Common EXTRA_OECONF
-COMMON_EXTRA_OECONF = "--enable-sockets \
- --enable-pcntl \
- --enable-shared \
- --disable-rpath \
- --with-pic \
- --libdir=${PHP_LIBDIR} \
-"
-EXTRA_OECONF = "--enable-mbstring \
- --enable-fpm \
- --with-libdir=${baselib} \
- --with-gettext=${STAGING_LIBDIR}/.. \
- --with-zlib=${STAGING_LIBDIR}/.. \
- --with-iconv=${STAGING_LIBDIR}/.. \
- --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
- --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
- ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
- ${COMMON_EXTRA_OECONF} \
-"
-
-EXTRA_OECONF_append_riscv64 = " --with-pcre-jit=no"
-EXTRA_OECONF_append_riscv32 = " --with-pcre-jit=no"
-
-CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes"
-
-EXTRA_OECONF_class-native = " \
- --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
- --without-iconv \
- ${COMMON_EXTRA_OECONF} \
-"
-
-PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
-"
-PACKAGECONFIG_class-native = ""
-
-PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip"
-
-PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
- --with-pdo-mysql=mysqlnd \
- ,--without-mysqli --without-pdo-mysql \
- ,mysql5"
-
-PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
- --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
- ,--without-sqlite3 --without-pdo-sqlite \
- ,sqlite3"
-PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
-PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2"
-PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
-PACKAGECONFIG[pam] = ",,libpam"
-PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
- --with-imap-ssl=${STAGING_DIR_HOST} \
- ,--without-imap --without-imap-ssl \
- ,uw-imap"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache"
-PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
-PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind"
-PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma"
-PACKAGECONFIG[mbstring] = "--enable-mbstring,,"
-
-export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
-export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
-CFLAGS += " -D_GNU_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
-
-# Adding these flags enables dynamic library support, which is disabled by
-# default when cross compiling
-# See https://bugs.php.net/bug.php?id=60109
-CFLAGS += " -DHAVE_LIBDL "
-LDFLAGS += " -ldl "
-
-EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
-
-acpaths = ""
-
-do_configure_prepend () {
- rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
- find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!'
-}
-
-do_configure_append() {
- # No, libtool, we really don't want rpath set...
- sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${HOST_SYS}-libtool
- sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${HOST_SYS}-libtool
-}
-
-do_install_append_class-native() {
- rm -rf ${D}/${PHP_LIBDIR}/php/.registry
- rm -rf ${D}/${PHP_LIBDIR}/php/.channels
- rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]*
-}
-
-do_install_prepend() {
- cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \
- ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4
-}
-
-do_install_prepend_class-target() {
- if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
- # Install dummy config file so apxs doesn't fail
- install -d ${D}${sysconfdir}/apache2
- printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf
- fi
-}
-
-# fixme
-do_install_append_class-target() {
- install -d ${D}${sysconfdir}/
- rm -rf ${D}/.registry
- rm -rf ${D}/.channels
- rm -rf ${D}/.[a-z]*
- rm -rf ${D}/var
- rm -f ${D}/${sysconfdir}/php-fpm.conf.default
- install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
- install -d ${D}/${sysconfdir}/apache2/conf.d
- install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
- install -d ${D}${sysconfdir}/init.d
- sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm
- sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm
- sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm
- install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
- install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
- ${D}${systemd_unitdir}/system/php-fpm.service
- fi
-
- if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/apache2/modules.d
- install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}
- install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d
- sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf
- cat ${S}/php.ini-production | \
- sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
- > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini
- rm -f ${D}${sysconfdir}/apache2/httpd.conf*
- fi
-}
-
-SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess"
-
-php_sysroot_preprocess () {
- install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/
- install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
-
- sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize
- sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config
-}
-
-MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
-
-PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-phpdbg ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}"
-
-RDEPENDS_${PN} += "libgcc"
-RDEPENDS_${PN}-pear = "${PN}"
-RDEPENDS_${PN}-phar = "${PN}-cli"
-RDEPENDS_${PN}-cli = "${PN}"
-RDEPENDS_${PN}-modphp = "${PN} apache2"
-RDEPENDS_${PN}-opcache = "${PN}"
-
-INITSCRIPT_PACKAGES = "${PN}-fpm"
-inherit update-rc.d
-
-FILES_${PN}-dbg =+ "${bindir}/.debug \
- ${libexecdir}/apache2/modules/.debug"
-FILES_${PN}-doc += "${PHP_LIBDIR}/php/doc"
-FILES_${PN}-cli = "${bindir}/php"
-FILES_${PN}-phpdbg = "${bindir}/phpdbg"
-FILES_${PN}-phar = "${bindir}/phar*"
-FILES_${PN}-cgi = "${bindir}/php-cgi"
-FILES_${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${systemd_unitdir}/system/php-fpm.service ${sysconfdir}/php-fpm.d/www.conf.default"
-FILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
-CONFFILES_${PN}-fpm = "${sysconfdir}/php-fpm.conf"
-CONFFILES_${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
-INITSCRIPT_NAME_${PN}-fpm = "php-fpm"
-INITSCRIPT_PARAMS_${PN}-fpm = "defaults 60"
-FILES_${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \
- ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \
- ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \
- ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \
- ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \
- ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \
- ${PHP_LIBDIR}/php/data/PEAR \
- ${sysconfdir}/pear.conf"
-FILES_${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \
- ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \
- ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \
- ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test"
-FILES_${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a"
-FILES_${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}"
-FILES_${PN} = "${PHP_LIBDIR}/php"
-FILES_${PN} += "${bindir} ${libexecdir}/apache2"
-
-SUMMARY_${PN}-modphp = "PHP module for the Apache HTTP server"
-FILES_${PN}-modphp = "${libdir}/apache2 ${sysconfdir}"
-
-MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}"
-RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
-RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
-RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
-
-do_install_append_class-native() {
- create_wrapper ${D}${bindir}/php \
- PHP_PEAR_SYSCONF_DIR=${sysconfdir}/
-}
-
-
-# Fails to build with thumb-1 (qemuarm)
-# | {standard input}: Assembler messages:
-# | {standard input}:3719: Error: selected processor does not support Thumb mode `smull r0,r2,r9,r3'
-# | {standard input}:3720: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
-# | {standard input}:3796: Error: selected processor does not support Thumb mode `smull r0,r2,r3,r3'
-# | {standard input}:3797: Error: unshifted register required -- `sub r2,r2,r0,asr#31'
-# | make: *** [ext/standard/math.lo] Error 1
-ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-oe/recipes-devtools/php/php_8.2.16.bb b/meta-oe/recipes-devtools/php/php_8.2.16.bb
new file mode 100644
index 0000000000..1cb378fb94
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php_8.2.16.bb
@@ -0,0 +1,299 @@
+SUMMARY = "A server-side, HTML-embedded scripting language"
+HOMEPAGE = "http://www.php.net"
+SECTION = "console/network"
+
+LICENSE = "PHP-3.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fd469cce1a919f0cc95bab7afb28d19d"
+
+BBCLASSEXTEND = "native"
+DEPENDS = "zlib bzip2 libxml2 virtual/libiconv php-native"
+DEPENDS:append:libc-musl = " libucontext"
+DEPENDS:class-native = "zlib-native libxml2-native"
+
+PHP_MAJOR_VERSION = "${@d.getVar('PV').split('.')[0]}"
+
+SRC_URI = "http://php.net/distributions/php-${PV}.tar.bz2 \
+ file://0002-build-php.m4-don-t-unset-cache-variables.patch \
+ file://0003-php-remove-host-specific-info-from-header-file.patch \
+ file://0004-configure.ac-don-t-include-build-libtool.m4.patch \
+ file://0006-ext-phar-Makefile.frag-Fix-phar-packaging.patch \
+ file://0009-php-don-t-use-broken-wrapper-for-mkdir.patch \
+ file://0010-iconv-fix-detection.patch \
+ file://0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch \
+ "
+
+SRC_URI:append:class-target = " \
+ file://0001-ext-opcache-config.m4-enable-opcache.patch \
+ file://0005-pear-fix-Makefile.frag-for-Yocto.patch \
+ file://0007-sapi-cli-config.m4-fix-build-directory.patch \
+ file://0008-ext-imap-config.m4-fix-include-paths.patch \
+ file://php-fpm.conf \
+ file://php-fpm-apache.conf \
+ file://70_mod_php${PHP_MAJOR_VERSION}.conf \
+ file://php-fpm.service \
+ "
+
+S = "${WORKDIR}/php-${PV}"
+SRC_URI[sha256sum] = "2658c1b8935ab6b53a7f209354602761ab07066e66920bc472b8815fd1b43f71"
+
+CVE_STATUS_GROUPS += "CVE_STATUS_PHP"
+CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored."
+CVE_STATUS_PHP = " \
+ CVE-2007-2728 \
+ CVE-2007-3205 \
+ CVE-2007-4596 \
+"
+
+inherit autotools pkgconfig python3native gettext multilib_header multilib_script systemd
+
+# phpize is not scanned for absolute paths by default (but php-config is).
+#
+SSTATE_SCAN_FILES += "phpize"
+SSTATE_SCAN_FILES += "build-defs.h"
+
+PHP_LIBDIR = "${libdir}/php${PHP_MAJOR_VERSION}"
+
+# Common EXTRA_OECONF
+COMMON_EXTRA_OECONF = "--enable-sockets \
+ --enable-pcntl \
+ --enable-shared \
+ --disable-rpath \
+ --with-pic \
+ --libdir=${PHP_LIBDIR} \
+"
+EXTRA_OECONF = "--enable-mbstring \
+ --enable-fpm \
+ --with-libdir=${baselib} \
+ --with-gettext=${STAGING_LIBDIR}/.. \
+ --with-zlib=${STAGING_LIBDIR}/.. \
+ --with-iconv=${STAGING_LIBDIR}/.. \
+ --with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
+ --with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
+ ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
+ ${COMMON_EXTRA_OECONF} \
+"
+
+EXTRA_OECONF:append:riscv64 = " --with-pcre-jit=no"
+EXTRA_OECONF:append:riscv32 = " --with-pcre-jit=no"
+# Needs fibers assembly implemented for rv32
+# for example rv64 implementation is below
+# see https://github.com/php/php-src/commit/70b02d75f2abe3a292d49c4a4e9e4f850c2fee68
+EXTRA_OECONF:append:riscv32:libc-musl = " --disable-fiber-asm"
+
+CACHED_CONFIGUREVARS += "ac_cv_func_dlopen=no ac_cv_lib_dl_dlopen=yes"
+
+EXTRA_OECONF:class-native = " \
+ --with-zlib=${STAGING_LIBDIR_NATIVE}/.. \
+ --without-iconv \
+ ${COMMON_EXTRA_OECONF} \
+"
+
+PACKAGECONFIG ??= "mysql sqlite3 imap opcache openssl \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 pam', d)} \
+"
+PACKAGECONFIG:class-native = ""
+
+PACKAGECONFIG[zip] = "--with-zip --with-zlib-dir=${STAGING_EXECPREFIXDIR},,libzip"
+
+PACKAGECONFIG[mysql] = "--with-mysqli=mysqlnd \
+ --with-pdo-mysql=mysqlnd \
+ ,--without-mysqli --without-pdo-mysql \
+ ,mysql5"
+
+PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_LIBDIR}/.. \
+ --with-pdo-sqlite=${STAGING_LIBDIR}/.. \
+ ,--without-sqlite3 --without-pdo-sqlite \
+ ,sqlite3"
+PACKAGECONFIG[pgsql] = "--with-pgsql=${STAGING_DIR_TARGET}${exec_prefix},--without-pgsql,postgresql"
+PACKAGECONFIG[soap] = "--enable-soap, --disable-soap, libxml2"
+PACKAGECONFIG[apache2] = "--with-apxs2=${STAGING_BINDIR_CROSS}/apxs,,apache2-native apache2"
+PACKAGECONFIG[pam] = ",,libpam"
+PACKAGECONFIG[imap] = "--with-imap=${STAGING_DIR_HOST} \
+ --with-imap-ssl=${STAGING_DIR_HOST} \
+ ,--without-imap --without-imap-ssl \
+ ,uw-imap"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[opcache] = "--enable-opcache,--disable-opcache"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
+PACKAGECONFIG[valgrind] = "--with-valgrind=${STAGING_DIR_TARGET}/usr,--with-valgrind=no,valgrind"
+PACKAGECONFIG[mbregex] = "--enable-mbregex, --disable-mbregex, oniguruma"
+PACKAGECONFIG[mbstring] = "--enable-mbstring,,"
+
+export HOSTCC = "${BUILD_CC}"
+export PHP_NATIVE_DIR = "${STAGING_BINDIR_NATIVE}"
+export PHP_PEAR_PHP_BIN = "${STAGING_BINDIR_NATIVE}/php"
+CFLAGS += " -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED -I${STAGING_INCDIR}/apache2"
+
+# Adding these flags enables dynamic library support, which is disabled by
+# default when cross compiling
+# See https://bugs.php.net/bug.php?id=60109
+CFLAGS += " -DHAVE_LIBDL "
+LDFLAGS += " -ldl "
+LDFLAGS:append:libc-musl = " -lucontext "
+LDFLAGS:append:riscv64 = " -latomic"
+
+EXTRA_OEMAKE = "INSTALL_ROOT=${D}"
+
+acpaths = ""
+
+do_configure:prepend () {
+ rm -f ${S}/build/libtool.m4 ${S}/ltmain.sh ${S}/aclocal.m4
+ find ${S} -name config.m4 | xargs -n1 sed -i 's!APXS_HTTPD=.*!APXS_HTTPD=${STAGING_SBINDIR_NATIVE}/httpd!'
+}
+
+do_configure:append() {
+ # No, libtool, we really don't want rpath set...
+ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+ sed -i -e's@${RECIPE_SYSROOT}@@g' \
+ -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \
+ -e's@-fdebug-prefix-map=[^ ]*[ ]*@@g' \
+ -e's@-ffile-prefix-map=[^ ]*[ ]*@@g' \
+ -e's@-fmacro-prefix-map=[^ ]*[ ]*@@g' \
+ ${B}/main/build-defs.h \
+ ${B}/scripts/php-config
+}
+
+do_install:append:class-native() {
+ rm -rf ${D}/${PHP_LIBDIR}/php/.registry
+ rm -rf ${D}/${PHP_LIBDIR}/php/.channels
+ rm -rf ${D}/${PHP_LIBDIR}/php/.[a-z]*
+}
+
+do_install:prepend() {
+ cat ${ACLOCALDIR}/libtool.m4 ${ACLOCALDIR}/lt~obsolete.m4 ${ACLOCALDIR}/ltoptions.m4 \
+ ${ACLOCALDIR}/ltsugar.m4 ${ACLOCALDIR}/ltversion.m4 > ${S}/build/libtool.m4
+}
+
+do_install:prepend:class-target() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
+ # Install dummy config file so apxs doesn't fail
+ install -d ${D}${sysconfdir}/apache2
+ printf "\nLoadModule dummy_module modules/mod_dummy.so\n" > ${D}${sysconfdir}/apache2/httpd.conf
+ fi
+}
+
+# fixme
+do_install:append:class-target() {
+ install -d ${D}${sysconfdir}/
+ rm -rf ${D}/.registry
+ rm -rf ${D}/.channels
+ rm -rf ${D}/.[a-z]*
+ rm -rf ${D}/var
+ rm -f ${D}/${sysconfdir}/php-fpm.conf.default
+ install -m 0644 ${WORKDIR}/php-fpm.conf ${D}/${sysconfdir}/php-fpm.conf
+ install -d ${D}/${sysconfdir}/apache2/conf.d
+ install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
+ install -d ${D}${sysconfdir}/init.d
+ sed -i 's:=/usr/sbin:=${sbindir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ sed -i 's:=/etc:=${sysconfdir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ sed -i 's:=/var:=${localstatedir}:g' ${B}/sapi/fpm/init.d.php-fpm
+ install -m 0755 ${B}/sapi/fpm/init.d.php-fpm ${D}${sysconfdir}/init.d/php-fpm
+ install -m 0644 ${WORKDIR}/php-fpm-apache.conf ${D}/${sysconfdir}/apache2/conf.d/php-fpm.conf
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)};then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/php-fpm.service ${D}${systemd_system_unitdir}/php-fpm.service
+ sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_system_unitdir}/php-fpm.service
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/php-fpm.service
+ sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/php-fpm.service
+ fi
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/apache2/modules.d
+ install -d ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}
+ install -m 644 ${WORKDIR}/70_mod_php${PHP_MAJOR_VERSION}.conf ${D}${sysconfdir}/apache2/modules.d
+ sed -i s,lib/,${libexecdir}/, ${D}${sysconfdir}/apache2/modules.d/70_mod_php${PHP_MAJOR_VERSION}.conf
+ cat ${S}/php.ini-production | \
+ sed -e 's,extension_dir = \"\./\",extension_dir = \"/usr/lib/extensions\",' \
+ > ${D}${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION}/php.ini
+ rm -f ${D}${sysconfdir}/apache2/httpd.conf*
+ fi
+}
+
+MULTILIB_SCRIPTS += "${PN}:${bindir}/php-config \
+ ${PN}:${bindir}/phpize \
+"
+
+do_install:append () {
+ oe_multilib_header php/main/build-defs.h php/main/php_config.h
+}
+
+SYSROOT_PREPROCESS_FUNCS += "php_sysroot_preprocess"
+
+php_sysroot_preprocess () {
+ install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/phpize ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+ install -m 755 ${D}${bindir}/php-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/
+
+ sed -i 's!eval echo /!eval echo ${STAGING_DIR_HOST}/!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/phpize
+ sed -i 's!^include_dir=.*!include_dir=${STAGING_INCDIR}/php!' ${SYSROOT_DESTDIR}${bindir_crossscripts}/php-config
+}
+
+MODPHP_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', '${PN}-modphp', '', d)}"
+
+PACKAGES = "${PN}-dbg ${PN}-cli ${PN}-phpdbg ${PN}-cgi ${PN}-fpm ${PN}-fpm-apache2 ${PN}-pear ${PN}-phar ${MODPHP_PACKAGE} ${PN}-dev ${PN}-staticdev ${PN}-doc ${PN}-opcache ${PN}"
+
+RDEPENDS:${PN} += "libgcc"
+RDEPENDS:${PN}-pear = "${PN}"
+RDEPENDS:${PN}-phar = "${PN}-cli"
+RDEPENDS:${PN}-cli = "${PN}"
+RDEPENDS:${PN}-modphp = "${PN} apache2"
+RDEPENDS:${PN}-opcache = "${PN}"
+
+ALLOW_EMPTY:${PN} = "1"
+
+INITSCRIPT_PACKAGES = "${PN}-fpm"
+inherit update-rc.d
+
+# WARNING: lib32-php-8.0.12-r0 do_package_qa: QA Issue: lib32-php: ELF binary /usr/libexec/apache2/modules/libphp.so has relocations in .text [textrel]
+#WARNING: lib32-php-8.0.12-r0 do_package_qa: QA Issue: lib32-php-opcache: ELF binary /usr/lib/php8/extensions/no-debug-zts-20200930/opcache.so has relocations in .text [textrel]
+INSANE_SKIP:${PN}:append:x86 = " textrel"
+INSANE_SKIP:${PN}-opcache:append:x86 = " textrel"
+
+FILES:${PN}-dbg =+ "${bindir}/.debug \
+ ${libexecdir}/apache2/modules/.debug"
+FILES:${PN}-doc += "${PHP_LIBDIR}/php/doc"
+FILES:${PN}-cli = "${bindir}/php"
+FILES:${PN}-phpdbg = "${bindir}/phpdbg"
+FILES:${PN}-phar = "${bindir}/phar*"
+FILES:${PN}-cgi = "${bindir}/php-cgi"
+FILES:${PN}-fpm = "${sbindir}/php-fpm ${sysconfdir}/php-fpm.conf ${datadir}/fpm ${sysconfdir}/init.d/php-fpm ${sysconfdir}/php-fpm.d/www.conf.default"
+FILES:${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
+CONFFILES:${PN}-fpm = "${sysconfdir}/php-fpm.conf"
+CONFFILES:${PN}-fpm-apache2 = "${sysconfdir}/apache2/conf.d/php-fpm.conf"
+INITSCRIPT_NAME:${PN}-fpm = "php-fpm"
+INITSCRIPT_PARAMS:${PN}-fpm = "defaults 60"
+FILES:${PN}-pear = "${bindir}/pear* ${bindir}/pecl ${PHP_LIBDIR}/php/PEAR \
+ ${PHP_LIBDIR}/php/PEAR*.php ${PHP_LIBDIR}/php/System.php \
+ ${PHP_LIBDIR}/php/peclcmd.php ${PHP_LIBDIR}/php/pearcmd.php \
+ ${PHP_LIBDIR}/php/.channels ${PHP_LIBDIR}/php/.channels/.alias \
+ ${PHP_LIBDIR}/php/.registry ${PHP_LIBDIR}/php/Archive/Tar.php \
+ ${PHP_LIBDIR}/php/Console/Getopt.php ${PHP_LIBDIR}/php/OS/Guess.php \
+ ${PHP_LIBDIR}/php/data/PEAR \
+ ${sysconfdir}/pear.conf"
+FILES:${PN}-dev = "${includedir}/php ${PHP_LIBDIR}/build ${bindir}/phpize \
+ ${bindir}/php-config ${PHP_LIBDIR}/php/.depdb \
+ ${PHP_LIBDIR}/php/.depdblock ${PHP_LIBDIR}/php/.filemap \
+ ${PHP_LIBDIR}/php/.lock ${PHP_LIBDIR}/php/test"
+FILES:${PN}-staticdev += "${PHP_LIBDIR}/extensions/*/*.a"
+FILES:${PN}-opcache = "${PHP_LIBDIR}/extensions/*/opcache${SOLIBSDEV}"
+FILES:${PN} = "${PHP_LIBDIR}/php"
+FILES:${PN} += "${bindir} ${libexecdir}/apache2"
+
+SUMMARY:${PN}-modphp = "PHP module for the Apache HTTP server"
+FILES:${PN}-modphp = "${libdir}/apache2 ${sysconfdir}"
+
+MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', '', d)}"
+RPROVIDES:${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+RREPLACES:${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+RCONFLICTS:${PN}-modphp = "${MODPHP_OLDPACKAGE}"
+
+SYSTEMD_SERVICE:${PN}-fpm = "php-fpm.service"
+SYSTEMD_PACKAGES += "${PN}-fpm"
+
+do_install:append:class-native() {
+ create_wrapper ${D}${bindir}/php \
+ PHP_PEAR_SYSCONF_DIR=${sysconfdir}/
+}
diff --git a/meta-oe/recipes-devtools/ply/ply_git.bb b/meta-oe/recipes-devtools/ply/ply_git.bb
index 7d693b36da..7793971083 100644
--- a/meta-oe/recipes-devtools/ply/ply_git.bb
+++ b/meta-oe/recipes-devtools/ply/ply_git.bb
@@ -1,15 +1,19 @@
SUMMARY = "Ply: A light-weight dynamic tracer for eBPF"
HOMEPAGE = "https://github.com/iovisor/ply"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS += "bison-native"
-SRC_URI = "git://github.com/iovisor/ply"
-SRCREV = "aa5b9ac31307ec1acece818be334ef801c802a12"
+PV = "2.3.0"
+
+SRC_URI = "git://github.com/iovisor/ply;branch=master;protocol=https"
+SRCREV = "864fac79116870df1ab7aa21e639578807e41e75"
S = "${WORKDIR}/git"
+CACHED_CONFIGUREVARS = 'LD="${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}"'
+
inherit autotools-brokensep
-COMPATIBLE_HOST = "(x86_64.*|aarch64.*|arm.*|powerpc.*)-linux"
+COMPATIBLE_HOST = "(x86_64.*|aarch64.*|arm.*|powerpc)-linux"
diff --git a/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch b/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch
index 7ccdab0f22..3be18986fc 100644
--- a/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch
+++ b/meta-oe/recipes-devtools/pmtools/pmtools/pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch
@@ -18,22 +18,41 @@ Signed-off-by: Kai Kang <kai.kang@windriver.com>
madt/madt.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
-diff --git a/madt/madt.c b/madt/madt.c
-index aed965c..8770cd5 100644
--- a/madt/madt.c
+++ b/madt/madt.c
-@@ -51,7 +51,9 @@ get_next_entry(acpi_table_entry_header * entry_header)
+@@ -34,14 +34,16 @@ typedef unsigned long long u64;
+ //#include <sys/mman.h>
+ #include <stdio.h> // fread
+ #include <stdlib.h> // malloc
++#include <string.h> // memset/memcpy
+
+ #include "./tables.c"
+
+ int verbose = 0;
+ /*
+-/* read standard input
++ * read standard input
+ * write decoded madt to standard output
+ */
++size_t
+ get_next_entry(acpi_table_entry_header * entry_header)
+ {
+ size_t retval;
+@@ -51,9 +53,11 @@ get_next_entry(acpi_table_entry_header *
return retval;
}
-u8 buffer[1024];
-+
+
+-main()
+u8 buf[1024];
+u8 *buffer = buf;
-
- main()
++int
++main(int argc, char *argv[])
{
-@@ -75,6 +77,17 @@ main()
+ size_t retval;
+ struct acpi_table_madt *madt_header;
+@@ -75,6 +79,17 @@ main()
if (verbose) printf("header.length %d\n", madt_header->header.length);
@@ -51,7 +70,7 @@ index aed965c..8770cd5 100644
acpi_table_print((void*)&(buffer[bytes_read]), 0);
bytes_read = sizeof(struct acpi_table_madt);
-@@ -118,6 +131,9 @@ done:
+@@ -118,6 +133,9 @@ done:
printf("Checksum 0x%x != 0; 0x%x in header ERROR\n", csum,
madt_header->header.checksum);
@@ -61,6 +80,3 @@ index aed965c..8770cd5 100644
return 0;
}
---
-1.8.1.2
-
diff --git a/meta-oe/recipes-devtools/pmtools/pmtools_git.bb b/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
index 9afcbbb7f5..ad149de12c 100644
--- a/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
+++ b/meta-oe/recipes-devtools/pmtools/pmtools_git.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "This is a small collection of power management \
test and investigation tools"
HOMEPAGE = "http://lesswatts.org/projects/acpi"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-PV = "20130209+git${SRCPV}"
+PV = "20130209+git"
-SRC_URI = "git://github.com/anyc/pmtools.git \
+SRC_URI = "git://github.com/anyc/pmtools.git;branch=master;protocol=https \
file://pmtools-switch-to-dynamic-buffer-for-huge-ACPI-table.patch \
"
SRCREV = "3ebe0e54c54061b4c627236cbe35d820de2e1168"
@@ -18,7 +18,7 @@ S = "${WORKDIR}/git"
inherit update-alternatives
ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN} = "acpixtract acpidump"
+ALTERNATIVE:${PN} = "acpixtract acpidump"
do_configure[noexec] = "1"
do_compile() {
diff --git a/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch b/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
new file mode 100644
index 0000000000..a41f985eb8
--- /dev/null
+++ b/meta-oe/recipes-devtools/poke/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
@@ -0,0 +1,45 @@
+From cef3fc90f02ef4fc49515745194bac3d81a2265b Mon Sep 17 00:00:00 2001
+From: "Jose E. Marchesi" <jose.marchesi@oracle.com>
+Date: Fri, 30 Apr 2021 13:17:05 +0200
+Subject: [PATCH] build: do not check for Tcl/Tk if --disable-gui is specified
+
+2021-04-30 Jose E. Marchesi <jemarch@gnu.org>
+
+ * configure.ac: Do not check for tcl/tk if --disable-gui is
+ specified at configure time.
+
+(cherry picked from commit 280a5e154287e43c0a40d9530a9cc658a7367a9c)
+[Romain: remove Changelog entry]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+Upstream-Status: Pending
+
+ configure.ac | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c7205513..c2f0760a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -214,12 +214,15 @@ fi
+ dnl The GUI is optional, and depends on the availability of Tcl and
+ dnl Tk.
+
+-POKE_TCLTK
+-
+ AC_ARG_ENABLE([gui],
+ AS_HELP_STRING([--enable-gui],
+ [Enable the GUI (default is YES)]),
+- [gui_enabled=$enableval], [gui_enabled=$has_tcltk])
++ [gui_enabled=$enableval], [gui_enabled=yes])
++
++if test "x$gui_enabled" = "xyes"; then
++ POKE_TCLTK
++ gui_enabled=$has_tcltk
++fi
+
+ AM_CONDITIONAL([GUI], [test "x$gui_enabled" = "xyes"])
+
+--
+2.30.2
+
diff --git a/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch b/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch
new file mode 100644
index 0000000000..660b19f514
--- /dev/null
+++ b/meta-oe/recipes-devtools/poke/poke/0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch
@@ -0,0 +1,47 @@
+From c37419e459bd5863534719fa50755174d0912e6d Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Fri, 30 Apr 2021 14:32:21 +0200
+Subject: [PATCH] jitter: jitter-config.in: avoit host poisoning while
+ cross-compiling
+
+When jitter is bundled into another project (poke), jitter-config --cppflags
+return an unsafe path "-I /usr/include".
+
+In the context of Buildroot, such configuration script woulf be "fixed"
+after installation. But jitter-config is not installed by poke since it's
+build as static library and liked to poke.
+
+For now, patch jitter-config.in instead of jitter-config.in.m4sh since
+there is an issue while converting the M4sh m4sh script ( .in.m4sh )
+into a portable shell script ( .in ) ready to be processed by aclocal
+for @-substitutions.
+
+[1] https://git.buildroot.net/buildroot/tree/package/pkg-generic.mk?h=2021.02.1#n291
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+Upstream-Status: Pending
+
+ jitter/bin/jitter-config.in | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/jitter/bin/jitter-config.in b/jitter/bin/jitter-config.in
+index 5e124f0..af0ac9d 100644
+--- a/jitter/bin/jitter-config.in
++++ b/jitter/bin/jitter-config.in
+@@ -998,11 +998,7 @@ while test "$#" != "0"; do
+ append_to_output cflags;;
+ --cppflags)
+ no_option_argument
+- append_to_output cppflags
+- # Append a -I argument. This is defined separately from the rest,
+- # as the installation prefix can be decided very late, at Jitter
+- # installation time.
+- output="$output -I $includedir";;
++ append_to_output cppflags;;
+ --ldadd)
+ no_option_argument
+ append_to_output ldadd;;
+--
+2.30.2
+
diff --git a/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch b/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch
new file mode 100644
index 0000000000..ad2bf764d3
--- /dev/null
+++ b/meta-oe/recipes-devtools/poke/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch
@@ -0,0 +1,36 @@
+From 8ba76a5a7ce311f67890199c5595bc1f626495ad Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Fri, 30 Apr 2021 15:43:59 +0200
+Subject: [PATCH] configure.ac: HELP2MAN replace ':' by 'true' when
+ cross-compiling
+
+Avoid:
+/usr/bin/make ./../poke/poke
+../run \
+ : -p poke --name="The GNU extensible binary editor" \
+ ./../poke/poke -o ./poke.1
+../run: line 51: exec: :: not found
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+Upstream-Status: Pending
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c2f0760a..93769ef9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -74,7 +74,7 @@ gl_LIBTEXTSTYLE_OPTIONAL([0.20.5])
+ if test $cross_compiling = no; then
+ AM_MISSING_PROG(HELP2MAN, help2man)
+ else
+- HELP2MAN=:
++ HELP2MAN=true
+ fi
+
+ dnl recfix is part of the GNU recutils suite, and is used in cfg.mk to
+--
+2.30.2
+
diff --git a/meta-oe/recipes-devtools/poke/poke_1.2.bb b/meta-oe/recipes-devtools/poke/poke_1.2.bb
new file mode 100644
index 0000000000..af85d21705
--- /dev/null
+++ b/meta-oe/recipes-devtools/poke/poke_1.2.bb
@@ -0,0 +1,32 @@
+SUMMARY = "GNU poke is an extensible editor for structured binary data"
+HOMEPAGE = "https://pokology.org"
+DESCRIPTION = "GNU poke is an interactive, extensible editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them."
+SECTION = "console/utils"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "${GNU_MIRROR}/poke/poke-${PV}.tar.gz \
+ file://0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch \
+ file://0002-jitter-jitter-config.in-avoit-host-poisoning-while-c.patch \
+ file://0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch \
+ "
+
+DEPENDS = "flex-native bison-native bdwgc readline"
+
+SRC_URI[sha256sum] = "f61cf8da5b64c01a1359373725aad1ca257f35c1c9269e4d50dd0664183ddf62"
+
+# poke does not support using out-of-tree builds
+inherit autotools-brokensep gettext pkgconfig
+
+# The automatic m4 path detection gets confused, so force the right value from
+# the poke bootstrap script.
+acpaths = "-I ./m4"
+
+EXTRA_OECONF = "--disable-gui \
+ --disable-libnbd \
+ --with-libreadline-prefix=${STAGING_INCDIR} \
+ "
+
+PACKAGECONFIG[mi] = "--enable-mi,--disable-mi,json-c"
+
+FILES:${PN} += "${datadir}/emacs/site-lisp"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch b/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch
new file mode 100644
index 0000000000..896a568e19
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch
@@ -0,0 +1,106 @@
+From 62b2fd0a150133b6439f6537cb1762d35f5790ee Mon Sep 17 00:00:00 2001
+From: Xiangyu Chen <xiangyu.chen@windriver.com>
+Date: Fri, 31 Mar 2023 16:02:50 +0800
+Subject: [PATCH] Makefile.am: do not compile the code which was generated from
+ test-full.proto in protobuf-c-native
+
+Those code was auto generated by protoc command with test-full.proto, those code are not compatible
+with protobuf 4.22.x, so temporarily disable compile those code until protobuf-c upstream adapt
+the test-full.proto with latest version protobuf.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
+---
+ Makefile.am | 75 -----------------------------------------------------
+ 1 file changed, 75 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ff12664..7412aef 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -136,81 +136,6 @@ else
+
+ LOG_COMPILER = $(VALGRIND)
+
+-check_PROGRAMS += \
+- t/generated-code/test-generated-code \
+- t/generated-code2/test-generated-code2 \
+- t/generated-code3/test-generated-code3 \
+- t/version/version
+-
+-TESTS += \
+- t/generated-code/test-generated-code \
+- t/generated-code2/test-generated-code2 \
+- t/generated-code3/test-generated-code3 \
+- t/version/version
+-
+-t_generated_code_test_generated_code_SOURCES = \
+- t/generated-code/test-generated-code.c \
+- t/test.pb-c.c
+-t_generated_code_test_generated_code_LDADD = \
+- protobuf-c/libprotobuf-c.la
+-
+-t_generated_code2_test_generated_code2_SOURCES = \
+- t/generated-code2/test-generated-code2.c \
+- t/test-full.pb-c.c \
+- t/test-optimized.pb-c.c
+-t_generated_code2_test_generated_code2_LDADD = \
+- protobuf-c/libprotobuf-c.la
+-
+-t_generated_code3_test_generated_code3_CPPFLAGS = \
+- -DPROTO3
+-
+-t_generated_code3_test_generated_code3_SOURCES = \
+- t/generated-code/test-generated-code.c \
+- t/test-proto3.pb-c.c
+-
+-t_generated_code3_test_generated_code3_LDADD = \
+- protobuf-c/libprotobuf-c.la
+-
+-noinst_PROGRAMS += \
+- t/generated-code2/cxx-generate-packed-data
+-
+-t_generated_code2_cxx_generate_packed_data_SOURCES = \
+- t/generated-code2/cxx-generate-packed-data.cc \
+- t/test-full.pb.cc \
+- protobuf-c/protobuf-c.pb.cc
+-$(t_generated_code2_cxx_generate_packed_data_OBJECTS): t/test-full.pb.h
+-t_generated_code2_cxx_generate_packed_data_CXXFLAGS = \
+- $(AM_CXXFLAGS) \
+- $(protobuf_CFLAGS)
+-t_generated_code2_cxx_generate_packed_data_LDADD = \
+- $(protobuf_LIBS)
+-
+-t/test.pb-c.c t/test.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test.proto
+-
+-t/test-optimized.pb-c.c t/test-optimized.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-optimized.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-optimized.proto
+-
+-t/test-full.pb-c.c t/test-full.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-full.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
+-
+-t/test-full.pb.cc t/test-full.pb.h: @PROTOC@ $(top_srcdir)/t/test-full.proto
+- $(AM_V_GEN)@PROTOC@ -I$(top_srcdir) --cpp_out=$(top_builddir) $(top_srcdir)/t/test-full.proto
+-
+-t/test-proto3.pb-c.c t/test-proto3.pb-c.h: $(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) $(top_srcdir)/t/test-proto3.proto
+- $(AM_V_GEN)@PROTOC@ --plugin=protoc-gen-c=$(top_builddir)/protoc-c/protoc-gen-c$(EXEEXT) -I$(top_srcdir) --c_out=$(top_builddir) $(top_srcdir)/t/test-proto3.proto
+-
+-t/generated-code2/test-full-cxx-output.inc: t/generated-code2/cxx-generate-packed-data$(EXEEXT)
+- $(AM_V_GEN)$(top_builddir)/t/generated-code2/cxx-generate-packed-data$(EXEEXT) > $(top_builddir)/t/generated-code2/test-full-cxx-output.inc
+-
+-BUILT_SOURCES += \
+- t/test.pb-c.c t/test.pb-c.h \
+- t/test-full.pb-c.c t/test-full.pb-c.h \
+- t/test-optimized.pb-c.c t/test-optimized.pb-c.h \
+- t/test-full.pb.cc t/test-full.pb.h \
+- t/test-proto3.pb-c.c t/test-proto3.pb-c.h \
+- t/generated-code2/test-full-cxx-output.inc
+-
+ t_version_version_SOURCES = \
+ t/version/version.c
+ t_version_version_LDADD = \
+--
+2.34.1
+
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch b/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch
deleted file mode 100644
index 4fc7703d81..0000000000
--- a/meta-oe/recipes-devtools/protobuf/protobuf-c/0001-avoid-race-condition.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 216e31260b618ec73862f9f5336597f391444dac Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Sun, 29 Sep 2019 17:20:42 +0800
-Subject: [PATCH] avoid race condition
-
-It's possible that the cxx-generate-packed-data.cc is compiled
-while the t/test-full.pb.h is being generated. This will result
-the following error.
-
- DEBUG: ./t/test-full.pb.h:4:0: error: unterminated #ifndef
- ./t/test-full.pb.h:4:0: error: unterminated #ifndef
-
-Add a dependency to avoid such problem.
-
-Upstream-Status: Pending
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Makefile.am b/Makefile.am
-index b0cb065..1608ae0 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -156,6 +156,7 @@ noinst_PROGRAMS += \
- t_generated_code2_cxx_generate_packed_data_SOURCES = \
- t/generated-code2/cxx-generate-packed-data.cc \
- t/test-full.pb.cc
-+t/generated-code2/cxx-generate-packed-data.cc: t/test-full.pb.h
- $(t_generated_code2_cxx_generate_packed_data_OBJECTS): t/test-full.pb.h
- t_generated_code2_cxx_generate_packed_data_CXXFLAGS = \
- $(AM_CXXFLAGS) \
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb
deleted file mode 100644
index 6fef0bed2c..0000000000
--- a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.3.3.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
-DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
-serialization format. It includes libprotobuf-c, a pure C library that \
-implements protobuf encoding and decoding, and protoc-c, a code generator that \
-converts Protocol Buffer .proto files to C descriptor code, based on the \
-original protoc. protobuf-c formerly included an RPC implementation; that code \
-has been split out into the protobuf-c-rpc project."
-HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
-SECTION = "console/tools"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cb901168715f4782a2b06c3ddaefa558"
-
-DEPENDS = "protobuf-native protobuf"
-
-SRCREV = "f20a3fa131c275a0e795d99a28f94b4dbbb5af26"
-
-SRC_URI = "git://github.com/protobuf-c/protobuf-c.git \
- file://0001-avoid-race-condition.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-# After several fix attempts there is still a race between generating
-# t.test-full.pb.h and compiling cxx_generate_packed_data.c despite
-# BUILT_SOURCES and explicit dependencies.
-PARALLEL_MAKE = ""
-
-PACKAGE_BEFORE_PN = "${PN}-compiler"
-
-FILES_${PN}-compiler = "${bindir}"
-
-RDEPENDS_${PN}-compiler = "protobuf-compiler"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.0.bb b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.0.bb
new file mode 100644
index 0000000000..24de6b8119
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf-c_1.5.0.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "This is protobuf-c, a C implementation of the Google Protocol Buffers data \
+serialization format. It includes libprotobuf-c, a pure C library that \
+implements protobuf encoding and decoding, and protoc-c, a code generator that \
+converts Protocol Buffer .proto files to C descriptor code, based on the \
+original protoc. protobuf-c formerly included an RPC implementation; that code \
+has been split out into the protobuf-c-rpc project."
+HOMEPAGE = "https://github.com/protobuf-c/protobuf-c"
+SECTION = "console/tools"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d11077c6a2b5d2e64b9f32b61a9b78ba"
+
+DEPENDS = "protobuf-native protobuf"
+
+SRC_URI = "git://github.com/protobuf-c/protobuf-c.git;branch=master;protocol=https"
+SRC_URI:append:class-native = " file://0001-Makefile.am-do-not-compile-the-code-which-was-genera.patch"
+
+SRCREV = "8c201f6e47a53feaab773922a743091eb6c8972a"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+export PROTOC = "${STAGING_BINDIR_NATIVE}/protoc"
+
+# After several fix attempts there is still a race between generating
+# t.test-full.pb.h and compiling cxx_generate_packed_data.c despite
+# BUILT_SOURCES and explicit dependencies.
+PARALLEL_MAKE = ""
+
+PACKAGE_BEFORE_PN = "${PN}-compiler"
+
+FILES:${PN}-compiler = "${bindir}"
+
+RDEPENDS:${PN}-compiler = "protobuf-compiler"
+RDEPENDS:${PN}-dev += "${PN}-compiler"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
new file mode 100644
index 0000000000..9f6116c4c4
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Fix-build-on-mips-clang.patch
@@ -0,0 +1,26 @@
+From 08e46feb6553af670754e65d94c3bb6fcd4e0cf9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 31 Oct 2021 23:39:44 -0700
+Subject: [PATCH] Fix build on mips/clang
+
+clang13 crashes on mips, until its fixed upstream disable tailcall on
+mips
+
+https://bugs.llvm.org/show_bug.cgi?id=52367
+
+Upstream-Status: Inappropriate [Clang workaround]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/google/protobuf/port_def.inc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/google/protobuf/port_def.inc
++++ b/src/google/protobuf/port_def.inc
+@@ -255,6 +255,7 @@
+ #error PROTOBUF_TAILCALL was previously defined
+ #endif
+ #if __has_cpp_attribute(clang::musttail) && !defined(__arm__) && \
++ !defined(__mips__) && \
+ !defined(_ARCH_PPC) && !defined(__wasm__) && \
+ !(defined(_MSC_VER) && defined(_M_IX86)) && \
+ !(defined(__NDK_MAJOR__) && __NDK_MAJOR <= 24)
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
deleted file mode 100644
index fc7286122c..0000000000
--- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-Makefile.am-include-descriptor.cc-when-building-libp.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 321709837f412e2f590e36e3fe33571bb40036a7 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Thu, 27 Jun 2019 13:27:18 +0000
-Subject: [PATCH] Makefile.am: include descriptor.pb.cc when building libprotoc.so
-
-* otherwise plugin.pb.o has undefined symbol scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto
- and build with gold fails with:
- core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `descriptor_table_google_2fprotobuf_2fdescriptor_2eproto'
- core2-32-oe-linux/protobuf/3.8.0-r0/recipe-sysroot-native/usr/bin/i686-oe-linux/../../libexec/i686-oe-linux/gcc/i686-oe-linux/9.1.0/ld.bfd: ./.libs/libprotoc.so: undefined reference to `scc_info_FileDescriptorProto_google_2fprotobuf_2fdescriptor_2eproto'
-
-Upstream-Status: Pending
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index be18ba761..57e3daec1 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -313,6 +313,7 @@ libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
- EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map
- endif
- libprotoc_la_SOURCES = \
-+ google/protobuf/descriptor.pb.cc \
- google/protobuf/compiler/code_generator.cc \
- google/protobuf/compiler/command_line_interface.cc \
- google/protobuf/compiler/plugin.cc \
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
index 934c981938..7c4bf260eb 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
+++ b/meta-oe/recipes-devtools/protobuf/protobuf/0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch
@@ -1,4 +1,4 @@
-From e5340f816aa273cfda36998466739ca0748caafb Mon Sep 17 00:00:00 2001
+From e3fa241637ab5a7fa78c0d474802134cff75f91e Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Fri, 28 Jun 2019 13:50:52 +0000
Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
@@ -24,12 +24,13 @@ Subject: [PATCH] examples/Makefile: respect CXX,LDFLAGS variables, fix build
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
+
---
examples/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/examples/Makefile b/examples/Makefile
-index e9f9635ae..b2fbe2de1 100644
+index ef7a4ef58..7206e14e1 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -2,6 +2,8 @@
@@ -45,16 +46,16 @@ index e9f9635ae..b2fbe2de1 100644
add_person_cpp: add_person.cc protoc_middleman
pkg-config --cflags protobuf # fails if protobuf is not installed
-- c++ -std=c++11 add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
-+ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
+- c++ -std=c++14 add_person.cc addressbook.pb.cc -o add_person_cpp `pkg-config --cflags --libs protobuf`
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp #$(CXX) -std=c++17 $(PROTOBUF) add_person.cc addressbook.pb.cc -o add_person_cpp
list_people_cpp: list_people.cc protoc_middleman
pkg-config --cflags protobuf # fails if protobuf is not installed
-- c++ -std=c++11 list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
-+ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
+- c++ -std=c++14 list_people.cc addressbook.pb.cc -o list_people_cpp `pkg-config --cflags --libs protobuf`
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) ../src/google/protobuf/.libs/timestamp.pb.o $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp #$(CXX) -std=c++17 $(PROTOBUF) list_people.cc addressbook.pb.cc -o list_people_cpp
add_person_dart: add_person.dart protoc_middleman_dart
---
-2.17.1
+--
+2.34.1
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf/0001-protobuf-fix-configure-error.patch b/meta-oe/recipes-devtools/protobuf/protobuf/0001-protobuf-fix-configure-error.patch
deleted file mode 100644
index a2f7a4b771..0000000000
--- a/meta-oe/recipes-devtools/protobuf/protobuf/0001-protobuf-fix-configure-error.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 52959e8e01e39139d18f752e97283e45b4b7a426 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Wed, 18 Jul 2018 17:52:34 +0800
-Subject: [PATCH] protobuf: fix configure error
-
-fix below error:
-gnu-configize: 'configure.ac' or 'configure.in' is required
-
-third_party/googletest is git submodule of protobuf. Above error
-caused by missing submodule googletest.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- configure.ac | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index aec10cf..7fbe57d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -214,7 +214,6 @@ AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
- # too.
- export CFLAGS
- export CXXFLAGS
--AC_CONFIG_SUBDIRS([third_party/googletest])
-
- AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc])
- AC_OUTPUT
---
-2.7.4
-
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb b/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb
deleted file mode 100644
index 0392f9339b..0000000000
--- a/meta-oe/recipes-devtools/protobuf/protobuf_3.15.2.bb
+++ /dev/null
@@ -1,90 +0,0 @@
-SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
-DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
-efficient yet extensible format. Google uses Protocol Buffers for almost \
-all of its internal RPC protocols and file formats."
-HOMEPAGE = "https://github.com/google/protobuf"
-SECTION = "console/tools"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
-
-DEPENDS = "zlib"
-DEPENDS_append_class-target = " protobuf-native"
-
-SRCREV = "d7e943b8d2bc444a8c770644e73d090b486f8b37"
-
-SRC_URI = "git://github.com/protocolbuffers/protobuf.git \
- file://run-ptest \
- file://0001-protobuf-fix-configure-error.patch \
- file://0001-Makefile.am-include-descriptor.cc-when-building-libp.patch \
- file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
-"
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig ptest
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[python] = ",,"
-
-EXTRA_OECONF += "--with-protoc=echo"
-
-TEST_SRC_DIR = "examples"
-LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
-
-do_compile_ptest() {
- mkdir -p "${B}/${TEST_SRC_DIR}"
-
- # Add the location of the cross-compiled header and library files
- # which haven't been installed yet.
- cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|Cflags:|Cflags: -I${S}/src|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- sed -e 's|Libs:|Libs: -L${B}/src/.libs|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
- export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
-
- # Save the pkgcfg sysroot variable, and update it to nothing so
- # that it doesn't append the sysroot to the beginning of paths.
- # The header and library files aren't installed to the target
- # system yet. So the absolute paths were specified above.
- save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
- export PKG_CONFIG_SYSROOT_DIR=
-
- # Compile the tests
- for lang in ${LANG_SUPPORT}; do
- oe_runmake -C "${S}/${TEST_SRC_DIR}" ${lang}
- done
-
- # Restore the pkgconfig sysroot variable
- export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
-}
-
-do_install_ptest() {
- local olddir=`pwd`
-
- cd "${S}/${TEST_SRC_DIR}"
- install -d "${D}/${PTEST_PATH}"
- for i in add_person* list_people*; do
- if [ -x "$i" ]; then
- install "$i" "${D}/${PTEST_PATH}"
- fi
- done
- cp "${S}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
- cd "$olddir"
-}
-
-PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
-
-FILES_${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
-FILES_${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
-
-RDEPENDS_${PN}-compiler = "${PN}"
-RDEPENDS_${PN}-dev += "${PN}-compiler"
-RDEPENDS_${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python-protobuf', '', d)}"
-
-MIPS_INSTRUCTION_SET = "mips"
-
-BBCLASSEXTEND = "native nativesdk"
-
-LDFLAGS_append_arm = " -latomic"
-LDFLAGS_append_mips = " -latomic"
-LDFLAGS_append_powerpc = " -latomic"
-LDFLAGS_append_mipsel = " -latomic"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_4.25.3.bb b/meta-oe/recipes-devtools/protobuf/protobuf_4.25.3.bb
new file mode 100644
index 0000000000..3241345963
--- /dev/null
+++ b/meta-oe/recipes-devtools/protobuf/protobuf_4.25.3.bb
@@ -0,0 +1,118 @@
+SUMMARY = "Protocol Buffers - structured data serialisation mechanism"
+DESCRIPTION = "Protocol Buffers are a way of encoding structured data in an \
+efficient yet extensible format. Google uses Protocol Buffers for almost \
+all of its internal RPC protocols and file formats."
+HOMEPAGE = "https://github.com/google/protobuf"
+SECTION = "console/tools"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b"
+
+DEPENDS = "zlib abseil-cpp"
+DEPENDS:append:class-target = " protobuf-native"
+
+SRCREV = "4a2aef570deb2bfb8927426558701e8bfc26f2a4"
+
+SRC_URI = "gitsm://github.com/protocolbuffers/protobuf.git;branch=25.x;protocol=https \
+ file://run-ptest \
+ file://0001-examples-Makefile-respect-CXX-LDFLAGS-variables-fix-.patch \
+ "
+SRC_URI:append:mips:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch "
+SRC_URI:append:mipsel:toolchain-clang = " file://0001-Fix-build-on-mips-clang.patch "
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig ptest
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG:class-native ?= "compiler"
+PACKAGECONFIG:class-nativesdk ?= "compiler"
+PACKAGECONFIG[python] = ",,"
+PACKAGECONFIG[compiler] = "-Dprotobuf_BUILD_PROTOC_BINARIES=ON,-Dprotobuf_BUILD_PROTOC_BINARIES=OFF"
+
+EXTRA_OECMAKE += "\
+ -Dprotobuf_BUILD_SHARED_LIBS=ON \
+ -Dprotobuf_BUILD_LIBPROTOC=ON \
+ -Dprotobuf_BUILD_TESTS=OFF \
+ -Dprotobuf_BUILD_EXAMPLES=OFF \
+ -Dprotobuf_ABSL_PROVIDER="package" \
+"
+
+TEST_SRC_DIR = "examples"
+LANG_SUPPORT = "cpp ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python', '', d)}"
+
+do_compile_ptest() {
+ mkdir -p "${B}/${TEST_SRC_DIR}"
+
+ # Add the location of the cross-compiled header and library files
+ # which haven't been installed yet.
+ cp "${B}/protobuf.pc" "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ cp ${S}/${TEST_SRC_DIR}/*.cc "${B}/${TEST_SRC_DIR}/"
+ cp ${S}/${TEST_SRC_DIR}/*.proto "${B}/${TEST_SRC_DIR}/"
+ cp ${S}/${TEST_SRC_DIR}/*.py "${B}/${TEST_SRC_DIR}/"
+ cp ${S}/${TEST_SRC_DIR}/Makefile "${B}/${TEST_SRC_DIR}/"
+ # Adapt protobuf.pc
+ sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Cflags:|Cflags: -I${S}/src |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Cflags:|Cflags: -I${WORKDIR}/recipe-sysroot${includedir} |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Libs:|Libs: -L${B}|' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Libs:|Libs: -L${WORKDIR}/recipe-sysroot/usr/lib |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Libs:|Libs: -labsl_log_internal_check_op |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ sed -e 's|Libs:|Libs: -labsl_log_internal_message |' -i "${B}/${TEST_SRC_DIR}/protobuf.pc"
+ # Adapt uf8_range.pc
+ cp "${B}/third_party/utf8_range/utf8_range.pc" "${B}/${TEST_SRC_DIR}/utf8_range.pc"
+ sed -e 's|libdir=|libdir=${PKG_CONFIG_SYSROOT_DIR}|' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc"
+ sed -e 's|Libs:|Libs= -L${B}/third_party/utf8_range |' -i "${B}/${TEST_SRC_DIR}/utf8_range.pc"
+ # Until out-of-tree build of examples is supported, we have to use this approach
+ sed -e 's|../src/google/protobuf/.libs/timestamp.pb.o|${B}/CMakeFiles/libprotobuf.dir/src/google/protobuf/timestamp.pb.cc.o|' -i "${B}/${TEST_SRC_DIR}/Makefile"
+ export PKG_CONFIG_PATH="${B}/${TEST_SRC_DIR}"
+
+ # Save the pkgcfg sysroot variable, and update it to nothing so
+ # that it doesn't append the sysroot to the beginning of paths.
+ # The header and library files aren't installed to the target
+ # system yet. So the absolute paths were specified above.
+ save_pkg_config_sysroot_dir=$PKG_CONFIG_SYSROOT_DIR
+ export PKG_CONFIG_SYSROOT_DIR=
+
+ # Compile the tests
+ for lang in ${LANG_SUPPORT}; do
+ oe_runmake -C "${B}/${TEST_SRC_DIR}" ${lang}
+ done
+
+ # Restore the pkgconfig sysroot variable
+ export PKG_CONFIG_SYSROOT_DIR=$save_pkg_config_sysroot_dir
+}
+
+do_install_ptest() {
+ local olddir=`pwd`
+
+ cd "${S}/${TEST_SRC_DIR}"
+ install -d "${D}/${PTEST_PATH}"
+ for i in add_person* list_people*; do
+ if [ -x "$i" ]; then
+ install "$i" "${D}/${PTEST_PATH}"
+ fi
+ done
+ cp "${B}/${TEST_SRC_DIR}/addressbook_pb2.py" "${D}/${PTEST_PATH}"
+ cd "$olddir"
+}
+
+PACKAGE_BEFORE_PN = "${PN}-compiler ${PN}-lite"
+
+FILES:${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
+FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
+
+# CMake requires protoc binary to exist in sysroot, even if it has wrong architecture.
+SYSROOT_DIRS += "${bindir}"
+
+RDEPENDS:${PN}-compiler = "${PN}"
+RDEPENDS:${PN}-dev += "${PN}-compiler"
+RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}"
+
+MIPS_INSTRUCTION_SET = "mips"
+
+BBCLASSEXTEND = "native nativesdk"
+
+LDFLAGS:append:arm = " -latomic"
+LDFLAGS:append:mips = " -latomic"
+LDFLAGS:append:powerpc = " -latomic"
+LDFLAGS:append:mipsel = " -latomic"
diff --git a/meta-oe/recipes-devtools/pugixml/pugixml_1.11.2.bb b/meta-oe/recipes-devtools/pugixml/pugixml_1.11.2.bb
deleted file mode 100644
index 09abbd9c37..0000000000
--- a/meta-oe/recipes-devtools/pugixml/pugixml_1.11.2.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Light-weight C++ XML Processing Library"
-DESCRIPTION = "pugixml is a C++ XML processing library, which consists of a \
-DOM-like interface with rich traversal/modification capabilities, \
-an extremely fast XML parser which constructs the DOM tree from \
-n XML file/buffer, and an XPath 1.0 implementation for complex \
-data-driven tree queries."
-HOMEPAGE = "https://pugixml.org/"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=d5ee91fb74cbb64223b3693fd64eb169"
-
-SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
-SRC_URI[md5sum] = "2d0be30b843eb9d1893c1ba9ad334946"
-SRC_URI[sha256sum] = "599eabdf8976aad86ac092a198920d8c127623d1376842bc6d683b12a37fb74f"
-
-UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DBUILD_PKGCONFIG=ON \
- -DBUILD_SHARED_LIBS=ON \
- -DCMAKE_BUILD_TYPE=Release \
- "
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb b/meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb
new file mode 100644
index 0000000000..458958edf5
--- /dev/null
+++ b/meta-oe/recipes-devtools/pugixml/pugixml_1.14.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Light-weight C++ XML Processing Library"
+DESCRIPTION = "pugixml is a C++ XML processing library, which consists of a \
+DOM-like interface with rich traversal/modification capabilities, \
+an extremely fast XML parser which constructs the DOM tree from \
+n XML file/buffer, and an XPath 1.0 implementation for complex \
+data-driven tree queries."
+HOMEPAGE = "https://pugixml.org/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://readme.txt;beginline=29;endline=52;md5=ad370df61d83846cf9e4726244671201"
+
+SRC_URI = "https://github.com/zeux/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "2f10e276870c64b1db6809050a75e11a897a8d7456c4be5c6b2e35a11168a015"
+
+UPSTREAM_CHECK_URI = "https://github.com/zeux/${BPN}/releases"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_PKGCONFIG=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/python/python-distutils-extra.inc b/meta-oe/recipes-devtools/python/python-distutils-extra.inc
deleted file mode 100644
index 3430cedf63..0000000000
--- a/meta-oe/recipes-devtools/python/python-distutils-extra.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "python-distutils extension"
-DESCRIPTION = "python-distutils extension integrating gettext support, themed icons and scrollkeeper based documentation"
-HOMEPAGE = "https://launchpad.net/python-distutils-extra"
-SECTION = "devel/python"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4325afd396febcb659c36b49533135d4"
-
-PV = "2.39"
-SRC_URI = "https://launchpad.net/python-distutils-extra/trunk/${PV}/+download/python-distutils-extra-${PV}.tar.gz"
-SRC_URI[md5sum] = "16e06db0ef73a35b4bff4b9eed5699b5"
-SRC_URI[sha256sum] = "723f24f4d65fc8d99b33a002fbbb3771d4cc9d664c97085bf37f3997ae8063af"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/python/python3-apscheduler_3.10.4.bb b/meta-oe/recipes-devtools/python/python3-apscheduler_3.10.4.bb
new file mode 100644
index 0000000000..01ffa25ac6
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python3-apscheduler_3.10.4.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Advanced Python Scheduler (APScheduler) is a Python library that lets you schedule your Python code to be executed later, either just once or periodically."
+HOMEPAGE = "https://github.com/agronholm/apscheduler"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f0e423eea5c91e7aa21bdb70184b3e53"
+
+SRC_URI[sha256sum] = "e6df071b27d9be898e486bc7940a7be50b4af2e9da7c08f0744a96d4bd4cef4a"
+
+PYPI_PACKAGE = "APScheduler"
+
+inherit pypi python_setuptools_build_meta
+
+DEPENDS += "python3-setuptools-scm-native"
diff --git a/meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb b/meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb
new file mode 100644
index 0000000000..1d54b9f6af
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python3-apt_2.5.3.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Python-apt is a wrapper to use features of apt from python."
+LICENSE = "GPL-2.0-only & FSFAP"
+LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3 \
+ file://debian/copyright;md5=4ed7b6862ca422678b17e7d4ed592285"
+
+SRC_URI = "git://salsa.debian.org/apt-team/python-apt.git;protocol=https;branch=main"
+
+SRCREV = "3252935b6224b3bd2e2250894b9559b47c61b2e1"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+DEPENDS += "apt"
+RDEPENDS:${PN} += "apt python3-core"
+
+FILES:${PN} = "${libdir} ${datadir}/python-apt"
diff --git a/meta-oe/recipes-devtools/python/python3-distutils-extra.bb b/meta-oe/recipes-devtools/python/python3-distutils-extra.bb
deleted file mode 100644
index 5836b090e0..0000000000
--- a/meta-oe/recipes-devtools/python/python3-distutils-extra.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require python-distutils-extra.inc
-
-inherit setuptools3
-
-S = "${WORKDIR}/python-distutils-extra-${PV}"
-
-RDEPENDS_${PN} = "\
- python3-setuptools \
-"
diff --git a/meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb b/meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb
new file mode 100644
index 0000000000..a98dfab6d9
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python3-distutils-extra_2.39.bb
@@ -0,0 +1,15 @@
+SUMMARY = "python-distutils extension"
+DESCRIPTION = "python-distutils extension integrating gettext support, themed icons and scrollkeeper based documentation"
+HOMEPAGE = "https://launchpad.net/python-distutils-extra"
+SECTION = "devel/python"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4325afd396febcb659c36b49533135d4"
+
+SRC_URI = "https://launchpad.net/python-distutils-extra/trunk/${PV}/+download/python-distutils-extra-${PV}.tar.gz"
+SRC_URI[sha256sum] = "723f24f4d65fc8d99b33a002fbbb3771d4cc9d664c97085bf37f3997ae8063af"
+
+inherit setuptools3
+
+S = "${WORKDIR}/python-distutils-extra-${PV}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/python/python3-pycups_2.0.1.bb b/meta-oe/recipes-devtools/python/python3-pycups_2.0.1.bb
new file mode 100644
index 0000000000..1508273009
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python3-pycups_2.0.1.bb
@@ -0,0 +1,19 @@
+# Python bindings for libcups, from the CUPS project.
+#
+# Copyright (c) Ambu A/S - All rights reserved
+# SPDX-License-Identifier: MIT
+#
+# Author(s)
+# clst@ambu.com (Claus Stovgaard)
+#
+
+DESCRIPTION = "pycups - CUPS bindings for Python"
+HOMEPAGE = "https://github.com/OpenPrinting/pycups"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+DEPENDS += "cups"
+
+# See https://pypi.org/project/pycups/ for data
+SRC_URI[sha256sum] = "57434ce5f62548eb12949ca8217f066f4eeb21a5d6ab8b13471dce350e380c90"
+
+inherit pypi python_setuptools_build_meta
diff --git a/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
index 5b5c8b2570..8519479c4d 100644
--- a/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
+++ b/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
@@ -4,20 +4,23 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://license.txt;md5=ba04aa8f65de1396a7e59d1d746c2125"
-SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1"
+SRC_URI = "git://github.com/miloyip/rapidjson.git;branch=master;protocol=https"
SRCREV = "0ccdbf364c577803e2a751f5aededce935314313"
-PV = "1.1.0+git${SRCPV}"
+PV = "1.1.0+git"
S = "${WORKDIR}/git"
inherit cmake
-EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DLIB_INSTALL_DIR:STRING=${libdir}"
+EXTRA_OECMAKE += "-DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF"
+# the install path for cmake modules etc. is hardcoded as ${prefix}/lib in
+# CMakeLists.txt, which breaks the package split with multilib
+EXTRA_OECMAKE += "-DLIB_INSTALL_DIR=${libdir}"
# RapidJSON is a header-only C++ library, so the main package will be empty.
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb b/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
index 16eaf62f78..29abfe1af5 100644
--- a/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
+++ b/meta-oe/recipes-devtools/serialcheck/serialcheck_1.0.0.bb
@@ -1,10 +1,10 @@
SUMMARY = "Application to verify operation of serial ports"
HOMEPAGE = "https://github.com/nsekhar/serialcheck"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = " \
- git://github.com/nsekhar/serialcheck.git \
+ git://github.com/nsekhar/serialcheck.git;branch=master;protocol=https \
"
SRCREV = "45eb2ffa5378396e85432872833890b0a1cba872"
@@ -13,8 +13,8 @@ S = "${WORKDIR}/git"
inherit autotools
-DEPENDS_append_libc-musl = " argp-standalone"
-EXTRA_OEMAKE_append_libc-musl = " LIBS='-largp'"
+DEPENDS:append:libc-musl = " argp-standalone"
+EXTRA_OEMAKE:append:libc-musl = " LIBS='-largp'"
PACKAGE_BEFORE_PN += "${PN}-stats"
@@ -26,6 +26,6 @@ do_install() {
install ${S}/README ${D}${docdir}/${BP}
}
-FILES_${PN}-stats = "${bindir}/serialstats"
+FILES:${PN}-stats = "${bindir}/serialstats"
BBCLASSEXTEND = "nativesdk"
diff --git a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb b/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
deleted file mode 100644
index ae8df5055a..0000000000
--- a/meta-oe/recipes-devtools/sip/sip3_4.19.23.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "SIP is a C++/Python Wrapper Generator"
-HOMEPAGE = "https://riverbankcomputing.com/software/sip/"
-SECTION = "devel"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
-
-SRC_URI = "https://www.riverbankcomputing.com/static/Downloads/sip/${PV}/sip-${PV}.tar.gz \
-"
-SRC_URI[md5sum] = "70adc0c9734e2d9dcd241d3f931dfc74"
-SRC_URI[sha256sum] = "22ca9bcec5388114e40d4aafd7ccd0c4fe072297b628d0c5cdfa2f010c0bc7e7"
-
-inherit python3-dir python3native
-
-S = "${WORKDIR}/sip-${PV}"
-
-DEPENDS = "python3"
-
-PACKAGES += "python3-sip3"
-
-BBCLASSEXTEND = "native"
-
-CONFIGURE_SYSROOT = "${STAGING_DIR_HOST}"
-CONFIGURE_SYSROOT_class-native = "${STAGING_DIR_NATIVE}"
-
-do_configure_prepend() {
- echo "py_platform = linux" > sip.cfg
- echo "py_inc_dir = ${STAGING_INCDIR}/python%(py_major).%(py_minor)${PYTHON_ABI}" >> sip.cfg
- echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
- echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
- echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
- echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
- ${PYTHON} configure.py --configuration sip.cfg --sip-module PyQt5.sip --sysroot ${CONFIGURE_SYSROOT} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}"
-}
-
-do_install() {
- oe_runmake install
-}
-
-FILES_python3-sip3 = "${libdir}/${PYTHON_DIR}/site-packages/"
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
diff --git a/meta-oe/recipes-devtools/sip/sip_6.8.3.bb b/meta-oe/recipes-devtools/sip/sip_6.8.3.bb
new file mode 100644
index 0000000000..d12130af43
--- /dev/null
+++ b/meta-oe/recipes-devtools/sip/sip_6.8.3.bb
@@ -0,0 +1,24 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A Python bindings generator for C/C++ libraries"
+
+HOMEPAGE = "https://www.riverbankcomputing.com/software/sip/"
+LICENSE = "GPL-2.0-or-later"
+SECTION = "devel"
+LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
+
+inherit pypi setuptools3 python3native
+
+PYPI_PACKAGE = "sip"
+SRC_URI[sha256sum] = "888547b018bb24c36aded519e93d3e513d4c6aa0ba55b7cc1affbd45cf10762c"
+
+RDEPENDS:${PN} = " \
+ python3-core \
+ python3-packaging \
+ python3-logging \
+ python3-tomllib \
+ python3-setuptools \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb b/meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb
new file mode 100644
index 0000000000..bf5c52fe50
--- /dev/null
+++ b/meta-oe/recipes-devtools/smemstat/smemstat_0.02.13.bb
@@ -0,0 +1,22 @@
+SUMMARY = "smemstat reports the physical memory usage taking into consideration shared memory"
+HOMEPAGE = "https://github.com/ColinIanKing/smemstat"
+LICENSE = "GPL-2.0-or-later"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "ncurses"
+
+SRC_URI = "git://github.com/ColinIanKing/smemstat.git;protocol=https;branch=master"
+SRCREV = "1edc560602aa116b96408110b8b9d66a4edef60e"
+
+S = "${WORKDIR}/git"
+
+inherit bash-completion
+
+do_compile () {
+ oe_runmake smemstat
+}
+
+do_install () {
+ oe_runmake DESTDIR=${D} install
+}
diff --git a/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb b/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb
index 4a27e4b2a5..db90bc589e 100644
--- a/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb
+++ b/meta-oe/recipes-devtools/sqlite-orm/sqlite-orm_1.5.bb
@@ -8,15 +8,17 @@ inherit cmake
DEPENDS += "sqlite3"
SRCREV = "e8a9e9416f421303f4b8970caab26dadf8bae98b"
-SRC_URI = "git://github.com/fnc12/sqlite_orm;protocol=https"
+SRC_URI = "git://github.com/fnc12/sqlite_orm;protocol=https;branch=master"
S = "${WORKDIR}/git"
-EXTRA_OECMAKE += "-DSqliteOrm_BuildTests=OFF"
+EXTRA_OECMAKE += "-DSqliteOrm_BuildTests=OFF -DLIB_INSTALL_DIR=${libdir} \
+ -DCMAKE_INSTALL_DIR=${libdir}/cmake \
+ -DPKGCONFIG_INSTALL_DIR=${libdir}/pkgconfig"
BBCLASSEXTEND = "native nativesdk"
-FILES_${PN}-dev += "${libdir}/cmake/${BPN}"
+FILES:${PN}-dev += "${libdir}/cmake/${BPN}"
# Header-only library
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" \ No newline at end of file
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.0.2.bb b/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.0.2.bb
deleted file mode 100644
index 6e2606be68..0000000000
--- a/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.0.2.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "New set of tools for working with SquashFS images"
-SECTION = "base"
-LICENSE = "GPL-3.0+ & LGPL-3.0+ & MIT & BSD-2-Clause & Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.md;md5=c0de2c0aca56349dab98e97992316f7e \
- file://licenses/GPLv3.txt;md5=1ebbd3e34237af26da5dc08a4e440464 \
- file://licenses/hash_table.txt;md5=874823605326caeaabaa95bfbd0f9fb0 \
- file://licenses/LGPLv3.txt;md5=3000208d539ec061b899bce1d9ce9404 \
- file://licenses/LZ4.txt;md5=ebc2ea4814a64de7708f1571904b32cc \
- file://licenses/xxhash.txt;md5=f042a9be092bd6d7fe6f217d8d00f4ca \
- file://licenses/xz.txt;md5=1c389b9610ccfdb25f7abaea6a0bb5a4 \
- file://licenses/zlib.txt;md5=ae27c72096606131f760e5f59cf98b06 \
- file://licenses/zstd.txt;md5=8df8137b630239cbdd4c0674124cb0c8"
-
-SRCREV = "b96f0fc154feef531be76034bf6e38925636146f"
-SRC_URI = "git://github.com/AgentD/squashfs-tools-ng.git;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "gzip xz lzo lz4 zstd ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
-PACKAGECONFIG[gzip] = "--with-gzip,--without-gzip,zlib"
-PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz"
-PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo"
-PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4"
-PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
-PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
-
-PACKAGES =+ "libsquashfs"
-FILES_libsquashfs = "${libdir}/libsquashfs*${SOLIBS}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb b/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb
new file mode 100644
index 0000000000..880af82bba
--- /dev/null
+++ b/meta-oe/recipes-devtools/squashfs-tools-ng/squashfs-tools-ng_1.2.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "New set of tools for working with SquashFS images"
+SECTION = "base"
+LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later & MIT & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING.md;md5=a709b68f1ce8a9f10aeea6401446c1f4 \
+ file://licenses/GPLv3.txt;md5=1ebbd3e34237af26da5dc08a4e440464 \
+ file://licenses/hash_table.txt;md5=874823605326caeaabaa95bfbd0f9fb0 \
+ file://licenses/LGPLv3.txt;md5=3000208d539ec061b899bce1d9ce9404 \
+ file://licenses/LZ4.txt;md5=ebc2ea4814a64de7708f1571904b32cc \
+ file://licenses/xxhash.txt;md5=f042a9be092bd6d7fe6f217d8d00f4ca \
+ file://licenses/xz.txt;md5=1c389b9610ccfdb25f7abaea6a0bb5a4 \
+ file://licenses/zstd.txt;md5=8df8137b630239cbdd4c0674124cb0c8 \
+ "
+
+SRCREV = "f2a3ad56e40c9711b23371238f9fa07dd24245f1"
+SRC_URI = "git://github.com/AgentD/squashfs-tools-ng.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "gzip xz lzo lz4 zstd ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[gzip] = "--with-gzip,--without-gzip,zlib"
+PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz"
+PACKAGECONFIG[lzo] = "--with-lzo,--without-lzo,lzo"
+PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4"
+PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+
+PACKAGES =+ "libsquashfs"
+FILES:libsquashfs = "${libdir}/libsquashfs*${SOLIBS}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb b/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb
new file mode 100644
index 0000000000..f9e3679590
--- /dev/null
+++ b/meta-oe/recipes-devtools/ssd1306/ssd1306_git.bb
@@ -0,0 +1,24 @@
+SUMMARY="SSD1306 OLED I2C drive"
+DESCRIPTION = "SSD1306 OLED I2C driver working in Linux"
+HOMEPAGE = "https://github.com/armlabs/ssd1306_linux"
+SECTION = "console/utils"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7b694e603a996c3bfdc6093ed1f70c8f"
+
+SRC_URI = " \
+ git://github.com/armlabs/ssd1306_linux.git;protocol=https;branch=master \
+"
+SRCREV = "34b42992a43fda69c6ba2557b718601cafe16251"
+
+S = "${WORKDIR}/git"
+
+# coreutils provides fmt which is used in the Makefile
+DEPENDS = "i2c-tools coreutils-native"
+
+EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/ssd1306_bin ${D}${bindir}
+}
diff --git a/meta-oe/recipes-devtools/suitesparse/suitesparse/0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch b/meta-oe/recipes-devtools/suitesparse/suitesparse/0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch
index c955b5fa7d..47865de858 100644
--- a/meta-oe/recipes-devtools/suitesparse/suitesparse/0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch
+++ b/meta-oe/recipes-devtools/suitesparse/suitesparse/0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch
@@ -8,6 +8,8 @@ build process, instead of overwriting them. This is useful in a cross
compile context where the CXXFLAGS variable might contain necessary
flags for cross compiling.
---
+Upstream-Status: Pending
+
Mongoose/CMakeLists.txt | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-devtools/suitesparse/suitesparse/0002-Preserve-links-when-installing-libmetis.patch b/meta-oe/recipes-devtools/suitesparse/suitesparse/0002-Preserve-links-when-installing-libmetis.patch
index 190eaf164d..d80c1a7362 100644
--- a/meta-oe/recipes-devtools/suitesparse/suitesparse/0002-Preserve-links-when-installing-libmetis.patch
+++ b/meta-oe/recipes-devtools/suitesparse/suitesparse/0002-Preserve-links-when-installing-libmetis.patch
@@ -4,6 +4,8 @@ Date: Wed, 21 Oct 2020 15:26:52 -0600
Subject: [PATCH] Preserve links when installing libmetis
---
+Upstream-Status: Pending
+
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-devtools/suitesparse/suitesparse/0003-Add-version-information-to-libmetis.patch b/meta-oe/recipes-devtools/suitesparse/suitesparse/0003-Add-version-information-to-libmetis.patch
index dee6039a81..fc83897a05 100644
--- a/meta-oe/recipes-devtools/suitesparse/suitesparse/0003-Add-version-information-to-libmetis.patch
+++ b/meta-oe/recipes-devtools/suitesparse/suitesparse/0003-Add-version-information-to-libmetis.patch
@@ -4,6 +4,8 @@ Date: Wed, 21 Oct 2020 15:27:07 -0600
Subject: [PATCH] Add version information to libmetis
---
+Upstream-Status: Pending
+
metis-5.1.0/Makefile | 8 ++++----
metis-5.1.0/libmetis/CMakeLists.txt | 1 +
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb b/meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb
new file mode 100644
index 0000000000..13e6fd066c
--- /dev/null
+++ b/meta-oe/recipes-devtools/suitesparse/suitesparse_5.10.1.bb
@@ -0,0 +1,75 @@
+LICENSE = "GPL-2.0-only & GPL-3.0-only & BSD-3-Clause & LGPL-2.0-only & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5fa987762101f748a6cdd951b64ffc6b"
+SRC_URI = "git://github.com/DrTimothyAldenDavis/SuiteSparse;protocol=https;branch=stable \
+ file://0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch \
+ file://0002-Preserve-links-when-installing-libmetis.patch \
+ file://0003-Add-version-information-to-libmetis.patch \
+ "
+SRCREV = "538273cfd53720a10e34a3d80d3779b607e1ac26"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "cmake-native lapack gmp mpfr chrpath-native"
+
+PROVIDES = "mongoose graphblas"
+RPROVIDES:${PN} = "mongoose graphblas"
+
+# The values of $CC, $CXX, and $LD that Bitbake uses have spaces in them which
+# causes problems when the SuiteSparse Makefiles try to pass these values on
+# the command line. To get around this problem, set these variables to only the
+# program name and prepend the rest of the value onto the corresponding FLAGS
+# variable.
+CFLAGS:prepend := "${@" ".join(d.getVar('CC').split()[1:])} "
+export CC := "${@d.getVar('CC').split()[0]}"
+
+CXXFLAGS:prepend := "${@" ".join(d.getVar('CXX').split()[1:])} "
+export CXX := "${@d.getVar('CXX').split()[0]}"
+
+LDFLAGS:prepend := "${@" ".join(d.getVar('LD').split()[1:])} "
+export LD := "${@d.getVar('LD').split()[0]}"
+
+export CMAKE_OPTIONS = " \
+ -DCMAKE_INSTALL_PREFIX=${D}${prefix} \
+ -DCMAKE_INSTALL_LIBDIR=${baselib} \
+"
+
+do_compile () {
+ oe_runmake library
+}
+
+do_install () {
+ oe_runmake prefix=${D}${prefix} INSTALL=${D}${prefix} install
+
+ # Remove runtime paths from shared libraries
+ for file in ${D}${libdir}/*.so.*; do
+ if [ ! -L "$file" ]; then
+ chrpath -d "$file"
+ fi
+ done
+}
+
+FILES:${PN} += " \
+ ${libdir}/libmongoose.so.* \
+ ${libdir}/libgraphblas.so.* \
+ ${libdir}/libmetis.so.* \
+ ${libdir}/libsuitesparseconfig.so.* \
+ ${libdir}/libamd.so.* \
+ ${libdir}/libbtf.so.* \
+ ${libdir}/libcamd.so.* \
+ ${libdir}/libccolamd.so.* \
+ ${libdir}/libcolamd.so.* \
+ ${libdir}/libcholmod.so.* \
+ ${libdir}/libcxsparse.so.* \
+ ${libdir}/libldl.so.* \
+ ${libdir}/libklu.so.* \
+ ${libdir}/libumfpack.so.* \
+ ${libdir}/librbio.so.* \
+ ${libdir}/libspqr.so.* \
+ ${libdir}/libsliplu.so.* \
+ ${bindir}/mongoose \
+"
+
+FILES:${PN}-staticdev += "${libdir}/libmongoose.a"
+FILES:${PN}-dev += "${includedir} ${libdir}/*.so"
+
+EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-oe/recipes-devtools/suitesparse/suitesparse_5.8.1.bb b/meta-oe/recipes-devtools/suitesparse/suitesparse_5.8.1.bb
deleted file mode 100644
index 9ccf2d0bff..0000000000
--- a/meta-oe/recipes-devtools/suitesparse/suitesparse_5.8.1.bb
+++ /dev/null
@@ -1,80 +0,0 @@
-LICENSE = "GPLv2 & GPLv3 & BSD-3-Clause & LGPL-2.0 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f9f2b9d61cb769a67c4cd079e1166de7"
-SRC_URI = "git://github.com/DrTimothyAldenDavis/SuiteSparse;protocol=https \
- file://0001-Preserve-CXXFLAGS-from-environment-in-Mongoose.patch \
- file://0002-Preserve-links-when-installing-libmetis.patch \
- file://0003-Add-version-information-to-libmetis.patch \
- "
-
-SRC_URI[md5sum] = "c414679bbc9432a3def01b31ad921140"
-SRC_URI[sha256sum] = "06726e471fbaa55f792578f9b4ab282ea9d008cf39ddcc3b42b73400acddef40"
-
-SRCREV = "v${PV}"
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "cmake-native lapack gmp mpfr chrpath-native"
-
-PROVIDES = "mongoose graphblas"
-RPROVIDES_${PN} = "mongoose graphblas"
-
-# The values of $CC, $CXX, and $LD that Bitbake uses have spaces in them which
-# causes problems when the SuiteSparse Makefiles try to pass these values on
-# the command line. To get around this problem, set these variables to only the
-# program name and prepend the rest of the value onto the corresponding FLAGS
-# variable.
-CFLAGS_prepend := "${@" ".join(d.getVar('CC', True).split()[1:])} "
-export CC := "${@d.getVar('CC', True).split()[0]}"
-
-CXXFLAGS_prepend := "${@" ".join(d.getVar('CXX', True).split()[1:])} "
-export CXX := "${@d.getVar('CXX', True).split()[0]}"
-
-LDFLAGS_prepend := "${@" ".join(d.getVar('LD', True).split()[1:])} "
-export LD := "${@d.getVar('LD', True).split()[0]}"
-
-export CMAKE_OPTIONS = " \
- -DCMAKE_INSTALL_PREFIX=${D}${prefix} \
- -DCMAKE_INSTALL_LIBDIR=${baselib} \
-"
-
-do_compile () {
- oe_runmake library
-}
-
-do_install () {
- oe_runmake prefix=${D}${prefix} INSTALL=${D}${prefix} install
-
- # Remove runtime paths from shared libraries
- for file in ${D}${libdir}/*.so.*; do
- if [ ! -L "$file" ]; then
- chrpath -d "$file"
- fi
- done
-}
-
-FILES_${PN} += " \
- ${libdir}/libmongoose.so.* \
- ${libdir}/libgraphblas.so.* \
- ${libdir}/libmetis.so.* \
- ${libdir}/libsuitesparseconfig.so.* \
- ${libdir}/libamd.so.* \
- ${libdir}/libbtf.so.* \
- ${libdir}/libcamd.so.* \
- ${libdir}/libccolamd.so.* \
- ${libdir}/libcolamd.so.* \
- ${libdir}/libcholmod.so.* \
- ${libdir}/libcxsparse.so.* \
- ${libdir}/libldl.so.* \
- ${libdir}/libklu.so.* \
- ${libdir}/libumfpack.so.* \
- ${libdir}/librbio.so.* \
- ${libdir}/libspqr.so.* \
- ${libdir}/libsliplu.so.* \
- ${bindir}/mongoose \
-"
-
-FILES_${PN}-staticdev += "${libdir}/libmongoose.a"
-FILES_${PN}-dev += "${includedir} ${libdir}/*.so"
-
-EXCLUDE_FROM_WORLD = "1"
-
diff --git a/meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb b/meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb
new file mode 100644
index 0000000000..f7160f508b
--- /dev/null
+++ b/meta-oe/recipes-devtools/systemd/nativesdk-systemd-systemctl.bb
@@ -0,0 +1,15 @@
+SUMMARY = "Wrapper for enabling systemd services"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit nativesdk
+
+SRC_URI = "file://systemctl"
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${WORKDIR}/systemctl ${D}${bindir}
+}
diff --git a/meta-oe/recipes-devtools/systemd/systemd-systemctl/systemctl b/meta-oe/recipes-devtools/systemd/systemd-systemctl/systemctl
new file mode 100755
index 0000000000..07d24fd175
--- /dev/null
+++ b/meta-oe/recipes-devtools/systemd/systemd-systemctl/systemctl
@@ -0,0 +1,340 @@
+#!/usr/bin/env python3
+"""systemctl: subset of systemctl used for image construction
+
+Mask/preset systemd units
+"""
+
+import argparse
+import fnmatch
+import os
+import re
+import sys
+
+from collections import namedtuple
+from pathlib import Path
+
+version = 1.0
+
+ROOT = Path("/")
+SYSCONFDIR = Path("etc")
+BASE_LIBDIR = Path("lib")
+LIBDIR = Path("usr", "lib")
+
+locations = list()
+
+
+class SystemdFile():
+ """Class representing a single systemd configuration file"""
+ def __init__(self, root, path):
+ self.sections = dict()
+ self._parse(root, path)
+ dirname = os.path.basename(path.name) + ".d"
+ for location in locations:
+ for path2 in sorted((root / location / "system" / dirname).glob("*.conf")):
+ self._parse(root, path2)
+
+ def _parse(self, root, path):
+ """Parse a systemd syntax configuration file
+
+ Args:
+ path: A pathlib.Path object pointing to the file
+
+ """
+ skip_re = re.compile(r"^\s*([#;]|$)")
+ section_re = re.compile(r"^\s*\[(?P<section>.*)\]")
+ kv_re = re.compile(r"^\s*(?P<key>[^\s]+)\s*=\s*(?P<value>.*)")
+ section = None
+
+ if path.is_symlink():
+ try:
+ path.resolve()
+ except FileNotFoundError:
+ # broken symlink, try relative to root
+ path = root / Path(os.readlink(str(path))).relative_to(ROOT)
+
+ with path.open() as f:
+ for line in f:
+ if skip_re.match(line):
+ continue
+
+ line = line.strip()
+ m = section_re.match(line)
+ if m:
+ if m.group('section') not in self.sections:
+ section = dict()
+ self.sections[m.group('section')] = section
+ else:
+ section = self.sections[m.group('section')]
+ continue
+
+ while line.endswith("\\"):
+ line += f.readline().rstrip("\n")
+
+ m = kv_re.match(line)
+ k = m.group('key')
+ v = m.group('value')
+ if k not in section:
+ section[k] = list()
+ section[k].extend(v.split())
+
+ def get(self, section, prop):
+ """Get a property from section
+
+ Args:
+ section: Section to retrieve property from
+ prop: Property to retrieve
+
+ Returns:
+ List representing all properties of type prop in section.
+
+ Raises:
+ KeyError: if ``section`` or ``prop`` not found
+ """
+ return self.sections[section][prop]
+
+
+class Presets():
+ """Class representing all systemd presets"""
+ def __init__(self, scope, root):
+ self.directives = list()
+ self._collect_presets(scope, root)
+
+ def _parse_presets(self, presets):
+ """Parse presets out of a set of preset files"""
+ skip_re = re.compile(r"^\s*([#;]|$)")
+ directive_re = re.compile(r"^\s*(?P<action>enable|disable)\s+(?P<unit_name>(.+))")
+
+ Directive = namedtuple("Directive", "action unit_name")
+ for preset in presets:
+ with preset.open() as f:
+ for line in f:
+ m = directive_re.match(line)
+ if m:
+ directive = Directive(action=m.group('action'),
+ unit_name=m.group('unit_name'))
+ self.directives.append(directive)
+ elif skip_re.match(line):
+ pass
+ else:
+ sys.exit("Unparsed preset line in {}".format(preset))
+
+ def _collect_presets(self, scope, root):
+ """Collect list of preset files"""
+ presets = dict()
+ for location in locations:
+ paths = (root / location / scope).glob("*.preset")
+ for path in paths:
+ # earlier names override later ones
+ if path.name not in presets:
+ presets[path.name] = path
+
+ self._parse_presets([v for k, v in sorted(presets.items())])
+
+ def state(self, unit_name):
+ """Return state of preset for unit_name
+
+ Args:
+ presets: set of presets
+ unit_name: name of the unit
+
+ Returns:
+ None: no matching preset
+ `enable`: unit_name is enabled
+ `disable`: unit_name is disabled
+ """
+ for directive in self.directives:
+ if fnmatch.fnmatch(unit_name, directive.unit_name):
+ return directive.action
+
+ return None
+
+
+def add_link(path, target):
+ try:
+ path.parent.mkdir(parents=True)
+ except FileExistsError:
+ pass
+ if not path.is_symlink():
+ print("ln -s {} {}".format(target, path))
+ path.symlink_to(target)
+
+
+class SystemdUnitNotFoundError(Exception):
+ def __init__(self, path, unit):
+ self.path = path
+ self.unit = unit
+
+
+class SystemdUnit():
+ def __init__(self, root, unit):
+ self.root = root
+ self.unit = unit
+ self.config = None
+
+ def _path_for_unit(self, unit):
+ for location in locations:
+ path = self.root / location / "system" / unit
+ if path.exists() or path.is_symlink():
+ return path
+
+ raise SystemdUnitNotFoundError(self.root, unit)
+
+ def _process_deps(self, config, service, location, prop, dirstem):
+ systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+
+ target = ROOT / location.relative_to(self.root)
+ try:
+ for dependent in config.get('Install', prop):
+ wants = systemdir / "{}.{}".format(dependent, dirstem) / service
+ add_link(wants, target)
+
+ except KeyError:
+ pass
+
+ def enable(self, caller_unit=None):
+ # if we're enabling an instance, first extract the actual instance
+ # then figure out what the template unit is
+ template = re.match(r"[^@]+@(?P<instance>[^\.]*)\.", self.unit)
+ if template:
+ instance = template.group('instance')
+ unit = re.sub(r"@[^\.]*\.", "@.", self.unit, 1)
+ else:
+ instance = None
+ unit = self.unit
+
+ path = self._path_for_unit(unit)
+
+ if path.is_symlink():
+ # ignore aliases
+ return
+
+ config = SystemdFile(self.root, path)
+ if instance == "":
+ try:
+ default_instance = config.get('Install', 'DefaultInstance')[0]
+ except KeyError:
+ # no default instance, so nothing to enable
+ return
+
+ service = self.unit.replace("@.",
+ "@{}.".format(default_instance))
+ else:
+ service = self.unit
+
+ self._process_deps(config, service, path, 'WantedBy', 'wants')
+ self._process_deps(config, service, path, 'RequiredBy', 'requires')
+
+ try:
+ for also in config.get('Install', 'Also'):
+ try:
+ if caller_unit != also:
+ SystemdUnit(self.root, also).enable(unit)
+ except SystemdUnitNotFoundError as e:
+ sys.exit("Error: Systemctl also enable issue with %s (%s)" % (service, e.unit))
+
+ except KeyError:
+ pass
+
+ systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+ target = ROOT / path.relative_to(self.root)
+ try:
+ for dest in config.get('Install', 'Alias'):
+ alias = systemdir / dest
+ add_link(alias, target)
+
+ except KeyError:
+ pass
+
+ def mask(self):
+ systemdir = self.root / SYSCONFDIR / "systemd" / "system"
+ add_link(systemdir / self.unit, "/dev/null")
+
+
+def collect_services(root):
+ """Collect list of service files"""
+ services = set()
+ for location in locations:
+ paths = (root / location / "system").glob("*")
+ for path in paths:
+ if path.is_dir():
+ continue
+ services.add(path.name)
+
+ return services
+
+
+def preset_all(root):
+ presets = Presets('system-preset', root)
+ services = collect_services(root)
+
+ for service in services:
+ state = presets.state(service)
+
+ if state == "enable" or state is None:
+ try:
+ SystemdUnit(root, service).enable()
+ except SystemdUnitNotFoundError:
+ sys.exit("Error: Systemctl preset_all issue in %s" % service)
+
+ # If we populate the systemd links we also create /etc/machine-id, which
+ # allows systemd to boot with the filesystem read-only before generating
+ # a real value and then committing it back.
+ #
+ # For the stateless configuration, where /etc is generated at runtime
+ # (for example on a tmpfs), this script shouldn't run at all and we
+ # allow systemd to completely populate /etc.
+ (root / SYSCONFDIR / "machine-id").touch()
+
+
+def main():
+ if sys.version_info < (3, 4, 0):
+ sys.exit("Python 3.4 or greater is required")
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument('command', nargs='?', choices=['enable', 'mask',
+ 'preset-all'])
+ parser.add_argument('service', nargs=argparse.REMAINDER)
+ parser.add_argument('--root')
+ parser.add_argument('--preset-mode',
+ choices=['full', 'enable-only', 'disable-only'],
+ default='full')
+
+ args = parser.parse_args()
+
+ root = Path(args.root) if args.root else ROOT
+
+ locations.append(SYSCONFDIR / "systemd")
+ # Handle the usrmerge case by ignoring /lib when it's a symlink
+ if not (root / BASE_LIBDIR).is_symlink():
+ locations.append(BASE_LIBDIR / "systemd")
+ locations.append(LIBDIR / "systemd")
+
+ command = args.command
+ if not command:
+ parser.print_help()
+ return 0
+
+ if command == "mask":
+ for service in args.service:
+ try:
+ SystemdUnit(root, service).mask()
+ except SystemdUnitNotFoundError as e:
+ sys.exit("Error: Systemctl main mask issue in %s (%s)" % (service, e.unit))
+ elif command == "enable":
+ for service in args.service:
+ try:
+ SystemdUnit(root, service).enable()
+ except SystemdUnitNotFoundError as e:
+ sys.exit("Error: Systemctl main enable issue in %s (%s)" % (service, e.unit))
+ elif command == "preset-all":
+ if len(args.service) != 0:
+ sys.exit("Too many arguments.")
+ if args.preset_mode != "enable-only":
+ sys.exit("Only enable-only is supported as preset-mode.")
+ preset_all(root)
+ else:
+ raise RuntimeError()
+
+
+if __name__ == '__main__':
+ main()
diff --git a/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch b/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch
new file mode 100644
index 0000000000..58c9aec088
--- /dev/null
+++ b/meta-oe/recipes-devtools/tclap/files/0001-tclap-add-pkg-config-file.patch
@@ -0,0 +1,50 @@
+From 9d47d2fd45c455339759dbfe9a0d6fd24b0a0fa1 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 24 Mar 2021 15:39:36 +0800
+Subject: [PATCH] tclap: add pkg-config file
+
+The tclap switched from autotools to CMake in 1.4.0 and drop the
+pkg-config file tclap.pc. Some projects (e.g. ima-inspect) still require
+it. So add it back.
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CMakeLists.txt | 5 +++++
+ tclap.pc.in | 7 +++++++
+ 2 files changed, 12 insertions(+)
+ create mode 100644 tclap.pc.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c2c9a26..b56eac7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,6 +25,11 @@ install(FILES "${PROJECT_BINARY_DIR}/tclap/TCLAPConfig.h"
+ DESTINATION include/tclap
+ )
+
++configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tclap.pc.in
++ ${CMAKE_CURRENT_BINARY_DIR}/tclap.pc @ONLY)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tclap.pc
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++
+ add_subdirectory(docs)
+ add_subdirectory(examples)
+ add_subdirectory(tests)
+diff --git a/tclap.pc.in b/tclap.pc.in
+new file mode 100644
+index 0000000..ef51c94
+--- /dev/null
++++ b/tclap.pc.in
+@@ -0,0 +1,7 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
++
++Name: tclap
++Description: Templatized C++ Command Line Parser
++Version: @PROJECT_VERSION@
++Cflags: -I${includedir}
+--
+2.17.1
+
diff --git a/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch b/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch
deleted file mode 100644
index 358cbefdde..0000000000
--- a/meta-oe/recipes-devtools/tclap/tclap/Makefile.am-disable-docs.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From c209ed0e7ffca32fe3714bad9cc54bdb00c286bb Mon Sep 17 00:00:00 2001
-From: Ting Liu <b28495@freescale.com>
-Date: Mon, 15 Apr 2013 16:28:37 +0800
-Subject: [PATCH] Makefile.am: disable docs
-
-Upstream-Status: Inappropriate [OE specific]
-
-docs need some generating tool (for example, doxygen) from host which may
-be not available. Disable it to avoid build issue.
-
-Signed-off-by: Ting Liu <b28495@freescale.com>
----
- Makefile.am | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 0a6ebc9..6b42f41 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1,7 +1,7 @@
-
- ACLOCAL_AMFLAGS = -I config
-
--SUBDIRS = include examples docs tests msc config
-+SUBDIRS = include examples tests msc config
-
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = $(PACKAGE).pc
---
-1.7.5
-
diff --git a/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb b/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb
deleted file mode 100644
index bba8d5c215..0000000000
--- a/meta-oe/recipes-devtools/tclap/tclap_1.2.2.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Templatized C++ Command Line Parser"
-HOMEPAGE = "http://tclap.sourceforge.net/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0ca8b9c5c5445cfa7af7e78fd27e60ed"
-
-SRCREV = "ec3ddcfe41b0544a4551a57439b6b3682fe31479"
-SRC_URI = "git://git.code.sf.net/p/tclap/code;branch=1.2 \
- file://Makefile.am-disable-docs.patch \
-"
-
-S = "${WORKDIR}/git"
-inherit autotools
-
-ALLOW_EMPTY_${PN} = "1"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb b/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb
new file mode 100644
index 0000000000..6d55c58526
--- /dev/null
+++ b/meta-oe/recipes-devtools/tclap/tclap_1.4.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Templatized C++ Command Line Parser"
+HOMEPAGE = "http://tclap.sourceforge.net/"
+DESCRIPTION = "TCLAP is a small, flexible library that provides a simple interface \
+for defining and accessing command line arguments. It was intially inspired by the \
+user friendly CLAP libary. The difference is that this library is templatized, so \
+the argument class is type independent. Type independence avoids identical-except-for-type \
+objects, such as IntArg, FloatArg, and StringArg. While the library is not strictly \
+compliant with the GNU or POSIX standards, it is close. \
+"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5c64b2e8cc50917b2744a90950faa7cd"
+
+SRCREV = "799a8b1f99818e39fee19d0601030770af1221e1"
+SRC_URI = "git://git.code.sf.net/p/tclap/code;branch=1.4 \
+ file://0001-tclap-add-pkg-config-file.patch \
+"
+
+S = "${WORKDIR}/git"
+inherit cmake
+
+ALLOW_EMPTY:${PN} = "1"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff b/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
index 229acf3e7a..e13bf69b23 100644
--- a/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
+++ b/meta-oe/recipes-devtools/tcltk/tk/confsearch.diff
@@ -8,6 +8,8 @@ and tkConfig.sh in /usr/share/tcltk/tk8.5 where they are located in Debian
installation.
---
+Upstream-Status: Pending
+
unix/configure | 1 +
unix/tcl.m4 | 2 ++
2 files changed, 3 insertions(+)
diff --git a/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff b/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
index 4aa5d6b894..fdf3c66535 100644
--- a/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
+++ b/meta-oe/recipes-devtools/tcltk/tk/fix-xft.diff
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- /tmp/configure.in 2010-05-19 13:29:03.000000000 +0200
+++ unix/configure.in 2010-05-19 13:42:05.000000000 +0200
@@ -526,13 +526,9 @@
diff --git a/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff b/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff
index 4e15469736..62467af1d5 100644
--- a/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff
+++ b/meta-oe/recipes-devtools/tcltk/tk/tkprivate.diff
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Patch by Chris Waters sets path which are normally point to a directory
with Tk sources to a subdirectory of /usr/include/tcl8.4 (debian/rules
puts private Tk headers there).
diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb
index b564e12603..237c4e7389 100644
--- a/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb
+++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.10.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "http://tcl.sourceforge.net"
SECTION = "devel/tcltk"
# http://www.tcl.tk/software/tcltk/license.html
-LICENSE = "tcl"
+LICENSE = "TCL"
LIC_FILES_CHKSUM = "file://${S}/../license.terms;md5=c88f99decec11afa967ad33d314f87fe \
file://${S}/../compat/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
file://${S}/../doc/license.terms;md5=c88f99decec11afa967ad33d314f87fe \
@@ -28,11 +28,15 @@ SRC_URI[sha256sum] = "63df418a859d0a463347f95ded5cd88a3dd3aaa1ceecaeee362194bc30
S = "${WORKDIR}/${BPN}${PV}/unix"
+DEBUG_PREFIX_MAP += "-fdebug-prefix-map=${S}/../=${TARGET_DBGSRC_DIR}/.."
+
+PSEUDO_IGNORE_PATHS .= ",${WORKDIR}/${BPN}${PV}"
+
# Short version format: "8.6"
VER = "${@os.path.splitext(d.getVar('PV'))[0]}"
LDFLAGS += "-Wl,-rpath,${libdir}/tcltk/${PV}/lib"
-inherit autotools features_check
+inherit autotools features_check pkgconfig
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
@@ -43,7 +47,7 @@ EXTRA_OECONF = "\
--libdir=${libdir} \
"
export TK_LIBRARY='${libdir}/tk${VER}'
-do_install_append() {
+do_install:append() {
ln -sf libtk${VER}.so ${D}${libdir}/libtk${VER}.so.0
oe_libinstall -so libtk${VER} ${D}${libdir}
ln -sf wish${VER} ${D}${bindir}/wish
@@ -60,12 +64,12 @@ PACKAGECONFIG[xss] = "--enable-xss,--disable-xss,libxscrnsaver libxext"
PACKAGES =+ "${PN}-lib"
-FILES_${PN}-lib = "${libdir}/libtk${VER}.so*"
-FILES_${PN} += "${libdir}/tk*"
+FILES:${PN}-lib = "${libdir}/libtk${VER}.so*"
+FILES:${PN} += "${libdir}/tk*"
# isn't getting picked up by shlibs code
-RDEPENDS_${PN} += "tk-lib"
-RDEPENDS_${PN}_class-native = ""
+RDEPENDS:${PN} += "tk-lib"
+RDEPENDS:${PN}:class-native = ""
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-libgen.h-for-basename.patch
new file mode 100644
index 0000000000..4844003517
--- /dev/null
+++ b/meta-oe/recipes-devtools/uftrace/uftrace/0001-include-libgen.h-for-basename.patch
@@ -0,0 +1,34 @@
+From 8e4e5479cee153db7315d5134663fa87082b39fc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 17:46:24 -0700
+Subject: [PATCH] include libgen.h for basename
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [https://github.com/namhyung/uftrace/pull/1909]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/utils.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/utils/utils.h b/utils/utils.h
+index 69a6072b..60265431 100644
+--- a/utils/utils.h
++++ b/utils/utils.h
+@@ -11,6 +11,9 @@
+
+ #include <ctype.h>
+ #include <endian.h>
++#ifndef __GLIBC__
++#include <libgen.h>
++#endif
+ #include <limits.h>
+ #include <signal.h>
+ #include <stdbool.h>
+--
+2.44.0
+
diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.15.2.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.15.2.bb
new file mode 100644
index 0000000000..60436025a3
--- /dev/null
+++ b/meta-oe/recipes-devtools/uftrace/uftrace_0.15.2.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Trace and analyze execution of a program written in C/C++, Rust and Python"
+HOMEPAGE = "https://github.com/namhyung/uftrace"
+BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
+SECTION = "devel"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "elfutils"
+DEPENDS:append:libc-musl = " argp-standalone"
+
+inherit autotools
+
+SRCREV = "9d8657e90b918994d7d2bcf6dd2cc7354c35a1b4"
+SRC_URI = "git://github.com/namhyung/${BPN};branch=master;protocol=https \
+ file://0001-include-libgen.h-for-basename.patch"
+S = "${WORKDIR}/git"
+
+LDFLAGS:append:libc-musl = " -largp"
+
+def set_target_arch(d):
+ import re
+ arch = d.getVar('TARGET_ARCH')
+ if re.match(r'i.86', arch, re.I):
+ return 'i386'
+ elif re.match('armeb', arch, re.I):
+ return 'arm'
+ else:
+ return arch
+
+EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
+ with_elfutils=/use/libelf/from/sysroot"
+
+do_configure() {
+ ${S}/configure ${EXTRA_UFTRACE_OECONF}
+}
+
+FILES_SOLIBSDEV = ""
+FILES:${PN} += "${libdir}/*.so"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm|riscv64)"
+
+# uftrace supports armv6 and above
+COMPATIBLE_HOST:armv4 = 'null'
+COMPATIBLE_HOST:armv5 = 'null'
diff --git a/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb b/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb
deleted file mode 100644
index a3d0602182..0000000000
--- a/meta-oe/recipes-devtools/uftrace/uftrace_0.9.4.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Trace and analyze execution of a program written in C/C++"
-HOMEPAGE = "https://github.com/namhyung/uftrace"
-BUGTRACKER = "https://github.com/namhyung/uftrace/issues"
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "elfutils"
-DEPENDS_append_libc-musl = " argp-standalone"
-
-inherit autotools
-
-PV .= "+git${SRCPV}"
-SRCREV = "d648bbffedef529220896283fb59e35531c13804"
-SRC_URI = "git://github.com/namhyung/${BPN} \
- "
-S = "${WORKDIR}/git"
-
-LDFLAGS_append_libc-musl = " -largp"
-
-def set_target_arch(d):
- import re
- arch = d.getVar('TARGET_ARCH')
- if re.match(r'i.86', arch, re.I):
- return 'i386'
- elif re.match('armeb', arch, re.I):
- return 'arm'
- else:
- return arch
-
-EXTRA_UFTRACE_OECONF = "ARCH=${@set_target_arch(d)} \
- with_elfutils=/use/libelf/from/sysroot"
-
-do_configure() {
- ${S}/configure ${EXTRA_UFTRACE_OECONF}
-}
-
-FILES_SOLIBSDEV = ""
-FILES_${PN} += "${libdir}/*.so"
-
-COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm)"
-
-# uftrace supports armv6 and above
-COMPATIBLE_HOST_armv4 = 'null'
-COMPATIBLE_HOST_armv5 = 'null'
diff --git a/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch b/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch
new file mode 100644
index 0000000000..ec70dd6570
--- /dev/null
+++ b/meta-oe/recipes-devtools/unattended-upgrades/files/0001-setup.py-Disable-autodection-of-modules.patch
@@ -0,0 +1,28 @@
+From 8fd80ead718ffc53d7182b9df6f49974113ff8fc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 23 May 2022 11:23:58 -0700
+Subject: [PATCH] setup.py: Disable autodection of modules
+
+This helps to fix build with latest setuptools
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ setup.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/setup.py b/setup.py
+index 932bf01..fd5a092 100755
+--- a/setup.py
++++ b/setup.py
+@@ -12,6 +12,7 @@ if __name__ == "__main__":
+ name='unattended-upgrades',
+ version='0.1',
+ scripts=['unattended-upgrade'],
++ py_modules=[],
+ data_files=[
+ ('../etc/logrotate.d/',
+ ["data/logrotate.d/unattended-upgrades"]),
+--
+2.36.1
+
diff --git a/meta-oe/recipes-devtools/unattended-upgrades/files/0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch b/meta-oe/recipes-devtools/unattended-upgrades/files/0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch
new file mode 100644
index 0000000000..d39427e9fd
--- /dev/null
+++ b/meta-oe/recipes-devtools/unattended-upgrades/files/0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch
@@ -0,0 +1,78 @@
+From a52d763559d1017ca73d2a2933aba1c78ad354c6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= <anibal@rzerosystems.com>
+Date: Thu, 27 Jan 2022 16:32:25 -0600
+Subject: [PATCH] unattended-upgrade: Remove distro_info usage to check devel
+ releases
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The distro-info python3 package is used to check if the release is a
+devel release and choice if continue with unattended-upgrade for now
+remove it because needs support into python3-distro-info [1].
+
+[1] https://salsa.debian.org/debian/distro-info
+
+Signed-off-by: Aníbal Limón <anibal@rzerosystems.com>
+
+Upstream-Status: Inappropriate
+---
+ unattended-upgrade | 38 --------------------------------------
+ 1 file changed, 38 deletions(-)
+
+diff --git a/unattended-upgrade b/unattended-upgrade
+index 802d4d5..3b4e83e 100755
+--- a/unattended-upgrade
++++ b/unattended-upgrade
+@@ -83,9 +83,6 @@ import apt
+ import apt_inst
+ import apt_pkg
+
+-import distro_info
+-
+-
+ # the reboot required flag file used by packages
+ REBOOT_REQUIRED_FILE = "/var/run/reboot-required"
+ KEPT_PACKAGES_FILE = "var/lib/unattended-upgrades/kept-back"
+@@ -2061,41 +2058,6 @@ def run(options, # type: Options
+ if should_stop():
+ return UnattendedUpgradesResult(False)
+
+- # check to see if want to auto-upgrade the devel release
+- if apt_pkg.config.find("Unattended-Upgrade::DevRelease") == "auto":
+- try:
+- if DISTRO_ID.lower() == 'ubuntu':
+- devel = (distro_info.UbuntuDistroInfo() .
+- devel(result="object"))
+- elif DISTRO_ID.lower() == 'debian':
+- devel = (distro_info.DebianDistroInfo() .
+- devel(result="object"))
+- else:
+- devel = (distro_info.DistroInfo(DISTRO_ID) .
+- devel(result="object"))
+- except Exception as e:
+- logging.warning("Could not figure out development release: %s" % e)
+- else:
+- if ((devel.series == DISTRO_CODENAME
+- and devel.release is not None
+- and devel.release - date.today() > DEVEL_UNTIL_RELEASE)):
+- syslog.syslog((_("Not running on this development "
+- "release before %s") %
+- (devel.release - DEVEL_UNTIL_RELEASE
+- - datetime.timedelta(days=1))))
+- logging.warning(_("Not running on this development "
+- "release before %s") %
+- (devel.release - DEVEL_UNTIL_RELEASE
+- - datetime.timedelta(days=1)))
+- return UnattendedUpgradesResult(True)
+-
+- logging.debug("Running on the development release")
+- elif "(development branch)" in DISTRO_DESC and not\
+- apt_pkg.config.find_b("Unattended-Upgrade::DevRelease", True):
+- syslog.syslog(_("Not running on the development release."))
+- logging.info(_("Not running on the development release."))
+- return UnattendedUpgradesResult(True)
+-
+ logging.info(_("Starting unattended upgrades script"))
+
+ # check and get lock
diff --git a/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb b/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb
new file mode 100644
index 0000000000..e37dbcd02f
--- /dev/null
+++ b/meta-oe/recipes-devtools/unattended-upgrades/unattended-upgrades_2.9.1.bb
@@ -0,0 +1,32 @@
+SUMMARY = "This script upgrades packages automatically and unattended."
+DESCRIPTION = "The purpose of unattended-upgrades is to keep the computer current with the latest security (and other) updates automatically."
+HOMEPAGE = "https://wiki.debian.org/UnattendedUpgrades"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://debian/copyright;md5=62b5f2ac0ede901fb245eefbe54c181f"
+
+SRC_URI = "git://github.com/mvo5/unattended-upgrades.git;protocol=https;branch=master \
+ file://0001-unattended-upgrade-Remove-distro_info-usage-to-check.patch \
+ file://0001-setup.py-Disable-autodection-of-modules.patch \
+ "
+
+SRCREV = "5aff8fa2b5b60b7c11bbfb39c884477e72d11d02"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3_legacy
+
+DEPENDS += "apt intltool-native python3-distutils-extra-native"
+RDEPENDS:${PN} += "apt lsb-release python3-apt python3-core python3-datetime python3-email python3-fcntl python3-io python3-logging python3-stringold python3-syslog"
+
+do_configure:prepend () {
+ install -Dm 0644 ${S}/data/50unattended-upgrades.Debian ${S}/data/50unattended-upgrades
+}
+
+do_install:append () {
+ # fix bad installation path's
+ mv -v ${D}/usr/usr/share/* ${D}/usr/share/
+ rm -r ${D}/usr/usr
+}
+
+FILES:${PN} = "${bindir} ${exec_prefix}/etc ${libdir} ${datadir} ${nonarch_libdir}"
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Define-prototype-for-safe_flock.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Define-prototype-for-safe_flock.patch
new file mode 100644
index 0000000000..11f1c18d4d
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Define-prototype-for-safe_flock.patch
@@ -0,0 +1,105 @@
+From c512c877a7ca933bee980dcc1268a7319f233d59 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 00:07:47 -0700
+Subject: [PATCH] Define prototype for safe_flock
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/osdep/unix/env_unix.c | 3 +++
+ src/osdep/unix/mbx.c | 2 ++
+ src/osdep/unix/os_lnx.h | 2 ++
+ src/osdep/unix/os_slx.h | 3 +++
+ src/osdep/unix/unix.c | 4 ++++
+ 5 files changed, 14 insertions(+)
+
+diff --git a/src/osdep/unix/env_unix.c b/src/osdep/unix/env_unix.c
+index 6b2c447..cefefca 100644
+--- a/src/osdep/unix/env_unix.c
++++ b/src/osdep/unix/env_unix.c
+@@ -59,6 +59,9 @@
+ #define S_IXOTH (S_IEXEC >> 6)
+ #endif
+
++
++extern int safe_flock (int fd,int op);
++
+ /* c-client environment parameters */
+
+ static char *myUserName = NIL; /* user name */
+diff --git a/src/osdep/unix/mbx.c b/src/osdep/unix/mbx.c
+index 1ece5d8..c8a45a5 100644
+--- a/src/osdep/unix/mbx.c
++++ b/src/osdep/unix/mbx.c
+@@ -41,12 +41,14 @@ extern int errno; /* just in case */
+ #include "mail.h"
+ #include "osdep.h"
+ #include <pwd.h>
++#include <utime.h>
+ #include <sys/stat.h>
+ #include <sys/time.h>
+ #include "misc.h"
+ #include "dummy.h"
+ #include "fdstring.h"
+
++extern int safe_flock (int fd,int op);
+
+ /* Build parameters */
+
+diff --git a/src/osdep/unix/os_lnx.h b/src/osdep/unix/os_lnx.h
+index b5f39ff..22c216b 100644
+--- a/src/osdep/unix/os_lnx.h
++++ b/src/osdep/unix/os_lnx.h
+@@ -57,6 +57,8 @@
+
+ #define direct dirent
+
++extern int safe_flock (int fd,int op);
++
+ #define flock safe_flock
+
+
+diff --git a/src/osdep/unix/os_slx.h b/src/osdep/unix/os_slx.h
+index b5f39ff..c9adbcd 100644
+--- a/src/osdep/unix/os_slx.h
++++ b/src/osdep/unix/os_slx.h
+@@ -46,11 +46,14 @@
+ #include <sys/types.h>
+ #include <dirent.h>
+ #include <time.h> /* for struct tm */
++#include <utime.h> /* for struct tm */
+ #include <fcntl.h>
+ #include <syslog.h>
+ #include <sys/file.h>
+
+
++extern int safe_flock (int fd,int op);
++
+ /* Linux gets this wrong */
+
+ #define setpgrp setpgid
+diff --git a/src/osdep/unix/unix.c b/src/osdep/unix/unix.c
+index be3c437..86be3f9 100644
+--- a/src/osdep/unix/unix.c
++++ b/src/osdep/unix/unix.c
+@@ -45,6 +45,7 @@ extern int errno; /* just in case */
+ #include "mail.h"
+ #include "osdep.h"
+ #include <time.h>
++#include <utime.h>
+ #include <sys/stat.h>
+ #include "unix.h"
+ #include "pseudo.h"
+@@ -52,6 +53,9 @@ extern int errno; /* just in case */
+ #include "misc.h"
+ #include "dummy.h"
+
++
++extern int safe_flock (int fd,int op);
++
+ /* UNIX I/O stream local data */
+
+ typedef struct unix_local {
+--
+2.37.3
+
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Do-not-build-mtest.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Do-not-build-mtest.patch
new file mode 100644
index 0000000000..fd2f30cd14
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Do-not-build-mtest.patch
@@ -0,0 +1,38 @@
+From f92becaf97be16a28013693cd99bac92c54074f2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 7 Sep 2022 13:54:58 -0700
+Subject: [PATCH 1/2] Do not build mtest
+
+its a test utility which is not generally used. We need to disable it
+because it uses gets() function which is not available in glibc, if we
+want to use it then port it to use something like fgets
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index cf6d405..1e2d0fb 100644
+--- a/Makefile
++++ b/Makefile
+@@ -669,7 +669,6 @@ an ua:
+ $(TOOLS)/$@ "$(LN)" src/ansilib c-client
+ $(TOOLS)/$@ "$(LN)" src/charset c-client
+ $(TOOLS)/$@ "$(LN)" src/osdep/$(SYSTEM) c-client
+- $(TOOLS)/$@ "$(LN)" src/mtest mtest
+ $(TOOLS)/$@ "$(LN)" src/ipopd ipopd
+ $(TOOLS)/$@ "$(LN)" src/imapd imapd
+ $(TOOLS)/$@ "$(LN)" src/mailutil mailutil
+@@ -706,7 +705,6 @@ rebuildclean:
+
+ bundled:
+ @echo Building bundled tools...
+- $(CD) mtest;$(MAKE)
+ $(CD) ipopd;$(MAKE)
+ $(CD) imapd;$(MAKE)
+ $(CD) mailutil;$(MAKE)
+--
+2.37.3
+
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Fix-Wincompatible-function-pointer-types.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Fix-Wincompatible-function-pointer-types.patch
new file mode 100644
index 0000000000..428ee91031
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Fix-Wincompatible-function-pointer-types.patch
@@ -0,0 +1,178 @@
+From 3170b245aba99694390c3c87d326639b6685d4dd Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 19 Jan 2023 14:34:05 -0800
+Subject: [PATCH] Fix -Wincompatible-function-pointer-types
+
+Fixes new found errors with clang 16
+
+news.c:370:36: error: incompatible function pointer types passing 'int (struct dirent *)' to parameter of type 'int (*)(const struct dirent *)' [-Wincompatible-function-pointer-types]
+ if ((nmsgs = scandir (tmp,&names,news_select,news_numsort)) >= 0) {
+ ^~~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/uw-imap/2007f-r0/recipe-sysroot/usr/include/dirent.h:259:13: note: passing argument to parameter '__selector' here
+ int (*__selector) (const struct dirent *),
+ ^
+news.c:370:48: error: incompatible function pointer types passing 'int (const void *, const void *)' to parameter of type 'int (*)(const struct dirent **, const struct dirent **)' [-Wincompatible-function-pointer-types]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/osdep/unix/mh.c | 8 ++++----
+ src/osdep/unix/mix.c | 12 ++++++------
+ src/osdep/unix/mx.c | 8 ++++----
+ src/osdep/unix/news.c | 8 ++++----
+ 4 files changed, 18 insertions(+), 18 deletions(-)
+
+diff --git a/src/osdep/unix/mh.c b/src/osdep/unix/mh.c
+index 0226b7a..9264624 100644
+--- a/src/osdep/unix/mh.c
++++ b/src/osdep/unix/mh.c
+@@ -103,8 +103,8 @@ long mh_copy (MAILSTREAM *stream,char *sequence,char *mailbox,
+ long options);
+ long mh_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data);
+
+-int mh_select (struct direct *name);
+-int mh_numsort (const void *d1,const void *d2);
++int mh_select (const struct direct *name);
++int mh_numsort (const struct dirent **d1,const struct dirent **d2);
+ char *mh_file (char *dst,char *name);
+ long mh_canonicalize (char *pattern,char *ref,char *pat);
+ void mh_setdate (char *file,MESSAGECACHE *elt);
+@@ -1194,7 +1194,7 @@ long mh_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
+ * Returns: T to use file name, NIL to skip it
+ */
+
+-int mh_select (struct direct *name)
++int mh_select (const struct direct *name)
+ {
+ char c;
+ char *s = name->d_name;
+@@ -1209,7 +1209,7 @@ int mh_select (struct direct *name)
+ * Returns: negative if d1 < d2, 0 if d1 == d2, postive if d1 > d2
+ */
+
+-int mh_numsort (const void *d1,const void *d2)
++int mh_numsort (const struct dirent **d1,const struct dirent **d2)
+ {
+ return atoi ((*(struct direct **) d1)->d_name) -
+ atoi ((*(struct direct **) d2)->d_name);
+diff --git a/src/osdep/unix/mix.c b/src/osdep/unix/mix.c
+index fbf4a02..c2207f6 100644
+--- a/src/osdep/unix/mix.c
++++ b/src/osdep/unix/mix.c
+@@ -125,7 +125,7 @@ long mix_unsubscribe (MAILSTREAM *stream,char *mailbox);
+ long mix_create (MAILSTREAM *stream,char *mailbox);
+ long mix_delete (MAILSTREAM *stream,char *mailbox);
+ long mix_rename (MAILSTREAM *stream,char *old,char *newname);
+-int mix_rselect (struct direct *name);
++int mix_rselect (const struct direct *name);
+ MAILSTREAM *mix_open (MAILSTREAM *stream);
+ void mix_close (MAILSTREAM *stream,long options);
+ void mix_abort (MAILSTREAM *stream);
+@@ -140,8 +140,8 @@ THREADNODE *mix_thread (MAILSTREAM *stream,char *type,char *charset,
+ long mix_ping (MAILSTREAM *stream);
+ void mix_check (MAILSTREAM *stream);
+ long mix_expunge (MAILSTREAM *stream,char *sequence,long options);
+-int mix_select (struct direct *name);
+-int mix_msgfsort (const void *d1,const void *d2);
++int mix_select (const struct direct *name);
++int mix_msgfsort (const struct dirent **d1,const struct dirent **d2);
+ long mix_addset (SEARCHSET **set,unsigned long start,unsigned long size);
+ long mix_burp (MAILSTREAM *stream,MIXBURP *burp,unsigned long *reclaimed);
+ long mix_burp_check (SEARCHSET *set,size_t size,char *file);
+@@ -587,7 +587,7 @@ long mix_rename (MAILSTREAM *stream,char *old,char *newname)
+ * Returns: T if mix file name, NIL otherwise
+ */
+
+-int mix_rselect (struct direct *name)
++int mix_rselect (const struct direct *name)
+ {
+ return mix_dirfmttest (name->d_name);
+ }
+@@ -1146,7 +1146,7 @@ long mix_expunge (MAILSTREAM *stream,char *sequence,long options)
+ * ".mix" with no suffix was used by experimental versions
+ */
+
+-int mix_select (struct direct *name)
++int mix_select (const struct direct *name)
+ {
+ char c,*s;
+ /* make sure name has prefix */
+@@ -1165,7 +1165,7 @@ int mix_select (struct direct *name)
+ * Returns: -1 if d1 < d2, 0 if d1 == d2, 1 d1 > d2
+ */
+
+-int mix_msgfsort (const void *d1,const void *d2)
++int mix_msgfsort (const struct dirent **d1,const struct dirent **d2)
+ {
+ char *n1 = (*(struct direct **) d1)->d_name + sizeof (MIXNAME) - 1;
+ char *n2 = (*(struct direct **) d2)->d_name + sizeof (MIXNAME) - 1;
+diff --git a/src/osdep/unix/mx.c b/src/osdep/unix/mx.c
+index 4549527..b5c5adf 100644
+--- a/src/osdep/unix/mx.c
++++ b/src/osdep/unix/mx.c
+@@ -98,8 +98,8 @@ long mx_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data);
+ long mx_append_msg (MAILSTREAM *stream,char *flags,MESSAGECACHE *elt,
+ STRING *st,SEARCHSET *set);
+
+-int mx_select (struct direct *name);
+-int mx_numsort (const void *d1,const void *d2);
++int mx_select (const struct direct *name);
++int mx_numsort (const struct dirent **d1,const struct dirent **d2);
+ char *mx_file (char *dst,char *name);
+ long mx_lockindex (MAILSTREAM *stream);
+ void mx_unlockindex (MAILSTREAM *stream);
+@@ -1110,7 +1110,7 @@ long mx_append_msg (MAILSTREAM *stream,char *flags,MESSAGECACHE *elt,
+ * Returns: T to use file name, NIL to skip it
+ */
+
+-int mx_select (struct direct *name)
++int mx_select (const struct direct *name)
+ {
+ char c;
+ char *s = name->d_name;
+@@ -1125,7 +1125,7 @@ int mx_select (struct direct *name)
+ * Returns: negative if d1 < d2, 0 if d1 == d2, postive if d1 > d2
+ */
+
+-int mx_numsort (const void *d1,const void *d2)
++int mx_numsort (const struct dirent **d1,const struct dirent **d2)
+ {
+ return atoi ((*(struct direct **) d1)->d_name) -
+ atoi ((*(struct direct **) d2)->d_name);
+diff --git a/src/osdep/unix/news.c b/src/osdep/unix/news.c
+index 4cf5bb7..3da5207 100644
+--- a/src/osdep/unix/news.c
++++ b/src/osdep/unix/news.c
+@@ -76,8 +76,8 @@ long news_create (MAILSTREAM *stream,char *mailbox);
+ long news_delete (MAILSTREAM *stream,char *mailbox);
+ long news_rename (MAILSTREAM *stream,char *old,char *newname);
+ MAILSTREAM *news_open (MAILSTREAM *stream);
+-int news_select (struct direct *name);
+-int news_numsort (const void *d1,const void *d2);
++int news_select (const struct direct *name);
++int news_numsort (const struct dirent ** d1,const struct dirent ** d2);
+ void news_close (MAILSTREAM *stream,long options);
+ void news_fast (MAILSTREAM *stream,char *sequence,long flags);
+ void news_flags (MAILSTREAM *stream,char *sequence,long flags);
+@@ -402,7 +402,7 @@ MAILSTREAM *news_open (MAILSTREAM *stream)
+ * Returns: T to use file name, NIL to skip it
+ */
+
+-int news_select (struct direct *name)
++int news_select (const struct direct *name)
+ {
+ char c;
+ char *s = name->d_name;
+@@ -417,7 +417,7 @@ int news_select (struct direct *name)
+ * Returns: negative if d1 < d2, 0 if d1 == d2, postive if d1 > d2
+ */
+
+-int news_numsort (const void *d1,const void *d2)
++int news_numsort (const struct dirent ** d1,const struct dirent ** d2)
+ {
+ return atoi ((*(struct direct **) d1)->d_name) -
+ atoi ((*(struct direct **) d2)->d_name);
+--
+2.39.1
+
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Support-OpenSSL-1.1.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Support-OpenSSL-1.1.patch
index d5610bbcd5..e9c80fa3af 100644
--- a/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Support-OpenSSL-1.1.patch
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/0001-Support-OpenSSL-1.1.patch
@@ -8,7 +8,7 @@ When building with OpenSSL 1.1 and newer, use the new built-in
structs having been made opaque.
Bug-Debian: https://bugs.debian.org/828589
-Upstream-Status: Unknown
+Upstream-Status: Pending [Unknown]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/0002-tmail-Include-ctype.h-for-isdigit.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/0002-tmail-Include-ctype.h-for-isdigit.patch
new file mode 100644
index 0000000000..5778a00346
--- /dev/null
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/0002-tmail-Include-ctype.h-for-isdigit.patch
@@ -0,0 +1,26 @@
+From fbd00d93cc07fa5da20414b355fffe628dcd37b3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 7 Sep 2022 13:57:19 -0700
+Subject: [PATCH 2/2] tmail: Include ctype.h for isdigit
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/tmail/tmail.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/tmail/tmail.c b/src/tmail/tmail.c
+index ed5fc58..a9e3645 100644
+--- a/src/tmail/tmail.c
++++ b/src/tmail/tmail.c
+@@ -26,6 +26,7 @@
+ * Last Edited: 30 October 2008
+ */
+
++#include <ctype.h> /* for isdigit */
+ #include <stdio.h>
+ #include <pwd.h>
+ #include <errno.h>
+--
+2.37.3
+
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch
index f729ee2074..10c91673c3 100644
--- a/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap/quote_cctype.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -urN imap-2007.orig/Makefile imap-2007/Makefile
--- imap-2007.orig/Makefile 2007-12-20 23:11:10.000000000 +0100
+++ imap-2007/Makefile 2008-03-19 14:08:47.000000000 +0100
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
index 0000f05ae4..dcb59f4ea0 100644
--- a/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
@@ -11,6 +11,10 @@ SRC_URI = "https://fossies.org/linux/misc/old/imap-${PV}.tar.gz \
file://imap-2007e-shared.patch \
file://imap-2007f-format-security.patch \
file://0001-Support-OpenSSL-1.1.patch \
+ file://0001-Define-prototype-for-safe_flock.patch \
+ file://0001-Do-not-build-mtest.patch \
+ file://0002-tmail-Include-ctype.h-for-isdigit.patch \
+ file://0001-Fix-Wincompatible-function-pointer-types.patch \
"
SRC_URI[md5sum] = "2126fd125ea26b73b20f01fcd5940369"
@@ -18,10 +22,12 @@ SRC_URI[sha256sum] = "53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520
S = "${WORKDIR}/imap-${PV}"
+CVE_STATUS[CVE-2005-0198] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
PACKAGECONFIG[pam] = ",,libpam"
-EXTRA_OEMAKE = "CC='${CC}' ARRC='${AR} -rc' RANLIB='${RANLIB}'"
+EXTRA_OEMAKE = "CC='${CC} -std=c99 -D_GNU_SOURCE' ARRC='${AR} -rc' RANLIB='${RANLIB}' EXTRACFLAGS='${CFLAGS}'"
HEADERS = "src/c-client/*.h src/osdep/unix/*.h c-client/auths.c c-client/linkage.c c-client/linkage.h c-client/osdep.h"
@@ -37,9 +43,11 @@ do_install() {
install c-client/c-client.a ${D}${libdir}/libc-client.a
}
-RPROVIDES_${PN} = "libc-client"
-RREPLACES_${PN} = "libc-client"
-RCONFLICTS_${PN} = "libc-client"
+RPROVIDES:${PN} = "libc-client"
+RREPLACES:${PN} = "libc-client"
+RCONFLICTS:${PN} = "libc-client"
+
+ALLOW_EMPTY:${PN} = "1"
-ALLOW_EMPTY_${PN} = "1"
+PARALLEL_MAKE = ""
diff --git a/meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb b/meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb
new file mode 100644
index 0000000000..f531218aeb
--- /dev/null
+++ b/meta-oe/recipes-devtools/valijson/valijson_1.0.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Header-only C++ library for JSON Schema validation"
+HOMEPAGE = "https://github.com/tristanpenman/valijson"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5c4583a434195e4f3b418e17c8ca2daf"
+
+SRC_URI = "git://github.com/tristanpenman/valijson.git;branch=master;protocol=https"
+SRCREV = "0b4771e273a065d437814baf426bcfcafec0f434"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ?= "boost"
+
+PACKAGECONFIG[boost] = "-Dvalijson_EXCLUDE_BOOST=FALSE,-Dvalijson_EXCLUDE_BOOST=TRUE,boost"
+PACKAGECONFIG[examples] = "-Dvalijson_BUILD_EXAMPLES=TRUE,-Dvalijson_BUILD_EXAMPLES=FALSE,curlpp"
+PACKAGECONFIG[tests] = "-Dvalijson_BUILD_TESTS=TRUE,-Dvalijson_BUILD_TESTS=FALSE,curlpp"
+
+# valijson is a header only C++ library, so the main package will be empty.
+RDEPENDS:${PN}-dev = ""
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb
deleted file mode 100644
index 0951307c15..0000000000
--- a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.1.4.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Xerces-c is a validating xml parser written in C++"
-DESCRIPTION = "Xerces-C++ makes it easy to give your application \
- the ability to read and write XML data. \
- A shared library is provided for parsing, generating, \
- manipulating, and validating XML documents using \
- the DOM, SAX, and SAX2 APIs."
-HOMEPAGE = "http://xerces.apache.org/xerces-c/"
-SECTION = "libs"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2"
-SRC_URI[md5sum] = "d04ae9d8b2dee2157c6db95fa908abfd"
-SRC_URI[sha256sum] = "9408f12c1628ecf80730bedbe8b2caad810edd01bb4c66f77b60c873e8cc6891"
-
-inherit autotools
-
-PACKAGECONFIG ??= "curl icu"
-PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR_TARGET}${prefix},--with-curl=no,curl"
-PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR_TARGET}${prefix},--with-icu=no,icu"
-
-do_install_prepend () {
- sed -i -e 's:-L${STAGING_DIR}/lib:-L\$\{libdir\}:g' ${B}/xerces-c.pc
-}
-
-PACKAGES = "libxerces-c \
- libxerces-c-dev \
- xerces-c-samples \
- libxerces-c-staticdev \
- ${PN}-dbg \
-"
-
-RPROVIDES_${PN}-dbg += "libxerces-c-dbg xerces-c-samples-dbg"
-
-FILES_libxerces-c = "${libdir}/libxerces-c-3.1.so"
-FILES_libxerces-c-dev = "${libdir}/lib*.la \
- ${libdir}/libxerces-c.so \
- ${libdir}/pkgconfig/xerces-c.pc \
- ${includedir}/xercesc \
-"
-FILES_xerces-c-samples = "${bindir}/*"
-FILES_libxerces-c-staticdev = "${libdir}/lib*.a"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb
new file mode 100644
index 0000000000..1643af2546
--- /dev/null
+++ b/meta-oe/recipes-devtools/xerces-c/xerces-c_3.2.5.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Xerces-c is a validating xml parser written in C++"
+DESCRIPTION = "Xerces-C++ makes it easy to give your application \
+ the ability to read and write XML data. \
+ A shared library is provided for parsing, generating, \
+ manipulating, and validating XML documents using \
+ the DOM, SAX, and SAX2 APIs."
+HOMEPAGE = "http://xerces.apache.org/xerces-c/"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "http://archive.apache.org/dist/xerces/c/3/sources/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "1db4028c9b7f1f778efbf4a9462d65e13f9938f2c22f9e9994e12c49ba97e252"
+
+inherit autotools
+
+PACKAGECONFIG ??= "curl icu"
+PACKAGECONFIG[curl] = "--with-curl=${STAGING_DIR_TARGET}${prefix},--with-curl=no,curl"
+PACKAGECONFIG[icu] = "--with-icu=${STAGING_DIR_TARGET}${prefix},--with-icu=no,icu"
+
+do_install:prepend () {
+ sed -i s:-L${STAGING_LIBDIR}::g ${B}/xerces-c.pc
+}
+
+PACKAGES = "libxerces-c \
+ libxerces-c-dev \
+ xerces-c-samples \
+ libxerces-c-staticdev \
+ ${PN}-dbg \
+"
+
+RPROVIDES:${PN}-dbg += "libxerces-c-dbg xerces-c-samples-dbg"
+
+FILES:libxerces-c = "${libdir}/libxerces-c-3.2.so"
+FILES:libxerces-c-dev = "${libdir}/lib*.la \
+ ${libdir}/libxerces-c.so \
+ ${libdir}/pkgconfig/xerces-c.pc \
+ ${includedir}/xercesc \
+"
+FILES:xerces-c-samples = "${bindir}/*"
+FILES:libxerces-c-staticdev = "${libdir}/lib*.a"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0003-src-Makefile-Fix-Makefile-macro-error.patch b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0003-src-Makefile-Fix-Makefile-macro-error.patch
deleted file mode 100644
index 3d861fc625..0000000000
--- a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c/0003-src-Makefile-Fix-Makefile-macro-error.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From ea4ca50ca9cab755f3722096158a46deec0e663a Mon Sep 17 00:00:00 2001
-From: Arthur She <arthur.she@linaro.org>
-Date: Tue, 25 Aug 2020 09:51:26 -0700
-Subject: [PATCH] src/Makefile: Fix Makefile macro error
-
-This error caused the curl library wouldn't be linked correctly.
-
-Upstream-Status: Pending
-Signed-off-by: Arthur She <arthur.she@linaro.org>
----
- src/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Makefile b/src/Makefile
-index 1cdf8b0..acd04dd 100644
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -57,7 +57,7 @@ ifeq ($(MUST_BUILD_CURL_CLIENT),yes)
- TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/xmlrpc_curl_transport
- TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curltransaction
- TRANSPORT_MODS += $(BLDDIR)/lib/curl_transport/curlmulti
-- TRANSPORT_LIBDEP += $(shell $CURL_CONFIG --libs)
-+ TRANSPORT_LIBDEP += $(shell $(CURL_CONFIG) --libs)
- TRANSPORT_INCLUDES += -Isrcdir/lib/curl_transport
- endif
- ifeq ($(MUST_BUILD_LIBWWW_CLIENT),yes)
---
-2.17.1
-
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb
deleted file mode 100644
index aba6dfd885..0000000000
--- a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.54.02.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \
-write an XML-RPC server or client in C or C++."
-
-HOMEPAGE = "http://xmlrpc-c.sourceforge.net/"
-LICENSE = "BSD & MIT"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951"
-
-SRC_URI = "git://github.com/mirror/xmlrpc-c.git \
- file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \
- file://0002-fix-formatting-issues.patch \
- file://0003-src-Makefile-Fix-Makefile-macro-error.patch \
- "
-
-#Release 1.54.02
-SRCREV = "86405c7e1bd4f70287204a28d242a1054daab520"
-
-S = "${WORKDIR}/git/stable"
-
-DEPENDS = "libxml2"
-
-inherit autotools-brokensep binconfig pkgconfig
-
-TARGET_CFLAGS += "-Wno-narrowing"
-
-EXTRA_OEMAKE += "CC_FOR_BUILD='${BUILD_CC}' \
- LD_FOR_BUILD='${BUILD_LD}' \
- CFLAGS_FOR_BUILD='${BUILD_CFLAGS}' \
- LDFLAGS_FOR_BUILD='${BUILD_LDFLAGS}' \
- "
-
-EXTRA_OECONF += "--disable-libwww-client --disable-wininet-client"
-
-PACKAGECONFIG ??= "curl cplusplus"
-
-PACKAGECONFIG[abyss] = "--enable-abyss-server --enable-abyss-threads --enable-abyss-openssl,--disable-abyss-server --disable-abyss-threads --disable-abyss-openssl,openssl,"
-PACKAGECONFIG[cplusplus] = "--enable-cplusplus,--disable-cplusplus,,"
-PACKAGECONFIG[curl] = "--enable-curl-client,--disable-curl-client,curl,curl"
-
-do_configure() {
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
- install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
- autoconf
- oe_runconf
- # license is incompatible with lib/util/getoptx.*
- rm -fv ${S}/tools/turbocharger/mod_gzip.c
-}
-
-BBCLASSEXTEND = "native"
-
-CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb
new file mode 100644
index 0000000000..5d5152b834
--- /dev/null
+++ b/meta-oe/recipes-devtools/xmlrpc-c/xmlrpc-c_1.59.01.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "XML-RPC for C/C++ is programming libraries and related tools to help you \
+write an XML-RPC server or client in C or C++."
+
+HOMEPAGE = "http://xmlrpc-c.sourceforge.net/"
+LICENSE = "BSD-3-Clause & MIT"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=aefbf81ba0750f02176b6f86752ea951"
+
+SRC_URI = "git://github.com/mirror/xmlrpc-c.git;branch=master;protocol=https \
+ file://0001-test-cpp-server_abyss-Fix-build-with-clang-libc.patch \
+ file://0002-fix-formatting-issues.patch \
+ "
+#Release 1.59.01
+SRCREV = "352aeaa9ae49e90e55187cbda839f2113df06278"
+
+S = "${WORKDIR}/git/stable"
+
+inherit autotools-brokensep binconfig pkgconfig
+
+TARGET_CFLAGS += "-Wno-narrowing"
+
+EXTRA_OEMAKE += "CC_FOR_BUILD='${BUILD_CC}' \
+ LD_FOR_BUILD='${BUILD_LD}' \
+ CFLAGS_FOR_BUILD='${BUILD_CFLAGS}' \
+ LDFLAGS_FOR_BUILD='${BUILD_LDFLAGS}' \
+ "
+
+EXTRA_OECONF += "--disable-libwww-client --disable-wininet-client"
+
+PACKAGECONFIG ??= "curl cplusplus"
+
+PACKAGECONFIG[abyss] = "--enable-abyss-server --enable-abyss-threads --enable-abyss-openssl,--disable-abyss-server --disable-abyss-threads --disable-abyss-openssl,openssl"
+PACKAGECONFIG[cplusplus] = "--enable-cplusplus,--disable-cplusplus"
+PACKAGECONFIG[curl] = "--enable-curl-client,--disable-curl-client,curl"
+
+do_configure() {
+ gnu-configize --verbose --force ${S}
+ autoconf
+ oe_runconf
+ # license is incompatible with lib/util/getoptx.*
+ rm -fv ${S}/tools/turbocharger/mod_gzip.c
+}
+
+do_install:append:class-target() {
+ sed -i 's,${WORKDIR},${TARGET_DBGSRC_DIR},g' ${D}${bindir}/xmlrpc-c-config
+}
+
+BBCLASSEXTEND = "native"
+
+CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-devtools/yajl/yajl/CVE-2017-16516.patch b/meta-oe/recipes-devtools/yajl/yajl/CVE-2017-16516.patch
new file mode 100644
index 0000000000..1241ff9e31
--- /dev/null
+++ b/meta-oe/recipes-devtools/yajl/yajl/CVE-2017-16516.patch
@@ -0,0 +1,37 @@
+From 0b5e73c4321de0ba1d495fdc0967054b2a77931c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
+Date: Mon, 10 Jul 2023 13:36:10 +0100
+Subject: [PATCH] Fix for CVE-2017-16516
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Description: Fix for CVE-2017-16516
+ Potential buffer overread: A JSON file can cause denial of service.
+Origin: https://github.com/brianmario/yajl-ruby/commit/a8ca8f476655adaa187eedc60bdc770fff3c51ce
+
+CVE: CVE-2017-16516
+Upstream-Status: Submitted [https://github.com/lloyd/yajl/issues/248]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ src/yajl_encode.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/yajl_encode.c b/src/yajl_encode.c
+index fd08258..0d97cc5 100644
+--- a/src/yajl_encode.c
++++ b/src/yajl_encode.c
+@@ -139,8 +139,8 @@ void yajl_string_decode(yajl_buf buf, const unsigned char * str,
+ end+=3;
+ /* check if this is a surrogate */
+ if ((codepoint & 0xFC00) == 0xD800) {
+- end++;
+- if (str[end] == '\\' && str[end + 1] == 'u') {
++ if (end + 2 < len && str[end + 1] == '\\' && str[end + 2] == 'u') {
++ end++;
+ unsigned int surrogate = 0;
+ hexToDigit(&surrogate, str + end + 2);
+ codepoint =
+--
+2.34.1
+
diff --git a/meta-oe/recipes-devtools/yajl/yajl/CVE-2022-24795.patch b/meta-oe/recipes-devtools/yajl/yajl/CVE-2022-24795.patch
new file mode 100644
index 0000000000..0dc859099d
--- /dev/null
+++ b/meta-oe/recipes-devtools/yajl/yajl/CVE-2022-24795.patch
@@ -0,0 +1,59 @@
+From 17de4d15687aa30c49660dc4b792b1fb4d38b569 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Thu, 7 Apr 2022 17:29:54 +0200
+Subject: [PATCH] Fix CVE-2022-24795
+
+There was an integer overflow in yajl_buf_ensure_available() leading
+to allocating less memory than requested. Then data were written past
+the allocated heap buffer in yajl_buf_append(), the only caller of
+yajl_buf_ensure_available(). Another result of the overflow was an
+infinite loop without a return from yajl_buf_ensure_available().
+
+yajl-ruby project, which bundles yajl, fixed it
+<https://github.com/brianmario/yajl-ruby/pull/211> by checking for the
+integer overflow, fortifying buffer allocations, and report the
+failures to a caller. But then the caller yajl_buf_append() skips
+a memory write if yajl_buf_ensure_available() failed leading to a data
+corruption.
+
+A yajl fork mainter recommended calling memory allocation callbacks with
+the large memory request and let them to handle it. But that has the
+problem that it's not possible pass the overely large size to the
+callbacks.
+
+This patch catches the integer overflow and terminates the process
+with abort().
+
+CVE: CVE-2022-24795
+Upstream-Status: Submitted [https://github.com/lloyd/yajl/issues/239]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ src/yajl_buf.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/src/yajl_buf.c b/src/yajl_buf.c
+index 1aeafde..55c11ad 100644
+--- a/src/yajl_buf.c
++++ b/src/yajl_buf.c
+@@ -45,7 +45,17 @@ void yajl_buf_ensure_available(yajl_buf buf, size_t want)
+
+ need = buf->len;
+
+- while (want >= (need - buf->used)) need <<= 1;
++ if (((buf->used > want) ? buf->used : want) > (size_t)(buf->used + want)) {
++ /* We cannot allocate more memory than SIZE_MAX. */
++ abort();
++ }
++ while (want >= (need - buf->used)) {
++ if (need >= (size_t)((size_t)(-1)<<1)>>1) {
++ /* need would overflow. */
++ abort();
++ }
++ need <<= 1;
++ }
+
+ if (need != buf->len) {
+ buf->data = (unsigned char *) YA_REALLOC(buf->alloc, buf->data, need);
+--
+2.34.1
+
diff --git a/meta-oe/recipes-devtools/yajl/yajl/CVE-2023-33460.patch b/meta-oe/recipes-devtools/yajl/yajl/CVE-2023-33460.patch
new file mode 100644
index 0000000000..47454dc8af
--- /dev/null
+++ b/meta-oe/recipes-devtools/yajl/yajl/CVE-2023-33460.patch
@@ -0,0 +1,35 @@
+Fix memory leaks. Taken from the Fedora packaging (https://src.fedoraproject.org/rpms/yajl)
+where it was backported from openEuler.
+
+CVE: CVE-2023-33460
+Upstream-Status: Submitted [https://github.com/lloyd/yajl/issues/250]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/src/yajl_tree.c b/src/yajl_tree.c
+index 3d357a3..56c7012 100644
+--- a/src/yajl_tree.c
++++ b/src/yajl_tree.c
+@@ -143,7 +143,7 @@ static yajl_val context_pop(context_t *ctx)
+ ctx->stack = stack->next;
+
+ v = stack->value;
+-
++ free (stack->key);
+ free (stack);
+
+ return (v);
+@@ -444,7 +444,14 @@ yajl_val yajl_tree_parse (const char *input,
+ snprintf(error_buffer, error_buffer_size, "%s", internal_err_str);
+ YA_FREE(&(handle->alloc), internal_err_str);
+ }
++ while(ctx.stack != NULL) {
++ yajl_val v = context_pop(&ctx);
++ yajl_tree_free(v);
++ }
+ yajl_free (handle);
++ //If the requested memory is not released in time, it will cause memory leakage
++ if(ctx.root)
++ yajl_tree_free(ctx.root);
+ return NULL;
+ }
+
diff --git a/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb b/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
index e112a5e30f..186f2c8ed0 100644
--- a/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
+++ b/meta-oe/recipes-devtools/yajl/yajl_1.0.12.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=da2e9aa80962d54e7c726f232a2bd1e8"
# Use 1.0.12 tag
SRCREV = "17b1790fb9c8abbb3c0f7e083864a6a014191d56"
-SRC_URI = "git://github.com/lloyd/yajl;nobranch=1"
+SRC_URI = "git://github.com/lloyd/yajl;nobranch=1;protocol=https"
inherit cmake lib_package
diff --git a/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb b/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
index d9a5821cbb..c5b5e60027 100644
--- a/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
+++ b/meta-oe/recipes-devtools/yajl/yajl_2.1.0.bb
@@ -3,12 +3,16 @@ SUMMARY = "Yet Another JSON Library."
DESCRIPTION = "YAJL is a small event-driven (SAX-style) JSON parser \
written in ANSI C, and a small validating JSON generator."
-HOMEPAGE = "http://lloyd.github.com/yajl/"
+HOMEPAGE = "https://lloyd.github.io/yajl/"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://COPYING;md5=39af6eb42999852bdd3ea00ad120a36d"
-SRC_URI = "git://github.com/lloyd/yajl"
+SRC_URI = "git://github.com/lloyd/yajl;branch=master;protocol=https \
+ file://CVE-2017-16516.patch \
+ file://CVE-2022-24795.patch \
+ file://CVE-2023-33460.patch \
+ "
SRCREV = "a0ecdde0c042b9256170f2f8890dd9451a4240aa"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/yasm/yasm/0001-yasm-Set-build-date-to-SOURCE_DATE_EPOCH.patch b/meta-oe/recipes-devtools/yasm/yasm/0001-yasm-Set-build-date-to-SOURCE_DATE_EPOCH.patch
new file mode 100644
index 0000000000..42f5559e3f
--- /dev/null
+++ b/meta-oe/recipes-devtools/yasm/yasm/0001-yasm-Set-build-date-to-SOURCE_DATE_EPOCH.patch
@@ -0,0 +1,37 @@
+From eb164bb201c0f792fa8aa78270c47294065183a3 Mon Sep 17 00:00:00 2001
+From: Oleh Matiusha <omatiush@cisco.com>
+Date: Tue, 6 Feb 2024 09:33:11 +0000
+Subject: [PATCH 1/2] yasm: Set build date to SOURCE_DATE_EPOCH
+
+If SOURCE_DATE_EPOCH is set, use it to generate a reproducible
+string for BUILD_DATE.
+
+Signed-off-by: Oleh Matiusha <omatiush@cisco.com>
+
+Upstream-Status: Pending
+---
+ configure.ac | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 2823ecd..eeb51ce 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -103,6 +103,14 @@ AM_WITH_DMALLOC
+ #
+ AC_CHECK_HEADERS([strings.h libgen.h unistd.h direct.h sys/stat.h])
+
++# Use reproducible build date and time
++if test "$SOURCE_DATE_EPOCH"; then
++ DATE_FMT="%d %b %Y %H:%M:%S"
++ BUILD_DATE=$(LC_ALL=C date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT")
++ AC_DEFINE_UNQUOTED([BUILD_DATE], ["$BUILD_DATE"], [Use reproducidle build date])
++fi
++
++
+ #
+ # Checks for typedefs, structures, and compiler characteristics.
+ #
+--
+2.33.0
+
diff --git a/meta-oe/recipes-devtools/yasm/yasm/0002-yasm-Use-BUILD_DATE-for-reproducibility.patch b/meta-oe/recipes-devtools/yasm/yasm/0002-yasm-Use-BUILD_DATE-for-reproducibility.patch
new file mode 100644
index 0000000000..4b9c933d01
--- /dev/null
+++ b/meta-oe/recipes-devtools/yasm/yasm/0002-yasm-Use-BUILD_DATE-for-reproducibility.patch
@@ -0,0 +1,42 @@
+From 19fffab74a201dc41c3da7e74d86eafa8f68bbc6 Mon Sep 17 00:00:00 2001
+From: Oleh Matiusha <omatiush@cisco.com>
+Date: Tue, 6 Feb 2024 09:34:26 +0000
+Subject: [PATCH] yasm: Use BUILD_DATE for reproducibility
+
+Use reproducible build date instead of compilation time and date.
+
+Signed-off-by: Oleh Matiusha <omatiush@cisco.com>
+
+
+Upstream-Status: Pending
+---
+ tools/re2c/parser.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tools/re2c/parser.c b/tools/re2c/parser.c
+index 02d5c66..1c90aee 100644
+--- a/tools/re2c/parser.c
++++ b/tools/re2c/parser.c
+@@ -5,6 +5,7 @@
+ #include "tools/re2c/globals.h"
+ #include "tools/re2c/parse.h"
+ #include "tools/re2c/parser.h"
++#include "config.h"
+
+ int yylex(void);
+ static RegExp *parse_expr(void);
+@@ -233,7 +234,11 @@ void parse(FILE *i, FILE *o){
+ peektok = NONE;
+
+ fputs("/* Generated by re2c 0.9.1-C on ", o);
++#ifndef BUILD_DATE
+ fprintf(o, "%-24s", ctime(&now));
++#else
++ fprintf(o, "%-24s", BUILD_DATE " ");
++#endif
+ fputs(" */\n", o); oline+=2;
+
+ in = Scanner_new(i);
+--
+2.33.0
+
diff --git a/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch b/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch
new file mode 100644
index 0000000000..ae10e99c2f
--- /dev/null
+++ b/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-31975.patch
@@ -0,0 +1,29 @@
+From b2cc5a1693b17ac415df76d0795b15994c106441 Mon Sep 17 00:00:00 2001
+From: Katsuhiko Gondow <gondow@cs.titech.ac.jp>
+Date: Tue, 13 Jun 2023 05:00:47 +0900
+Subject: [PATCH] Fix memory leak in bin-objfmt (#231)
+
+Upstream-Status: Backport [https://github.com/yasm/yasm/commit/b2cc5a1693b17ac415df76d0795b15994c106441]
+
+CVE: CVE-2023-31975
+---
+ modules/objfmts/bin/bin-objfmt.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/modules/objfmts/bin/bin-objfmt.c b/modules/objfmts/bin/bin-objfmt.c
+index 18026750..a38c3422 100644
+--- a/modules/objfmts/bin/bin-objfmt.c
++++ b/modules/objfmts/bin/bin-objfmt.c
+@@ -1680,6 +1680,10 @@ static void
+ bin_section_data_destroy(void *data)
+ {
+ bin_section_data *bsd = (bin_section_data *)data;
++ if (bsd->align)
++ yasm_xfree(bsd->align);
++ if (bsd->valign)
++ yasm_xfree(bsd->valign);
+ if (bsd->start)
+ yasm_expr_destroy(bsd->start);
+ if (bsd->vstart)
+--
+2.40.0
diff --git a/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch b/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch
new file mode 100644
index 0000000000..1ca33f0a92
--- /dev/null
+++ b/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch
@@ -0,0 +1,41 @@
+From 2cd3bb50e256f5ed5f611ac611d25fe673f2cec3 Mon Sep 17 00:00:00 2001
+From: Peter Johnson <johnson.peter@gmail.com>
+Date: Fri, 11 Aug 2023 10:49:51 +0000
+Subject: [PATCH] elf.c: Fix NULL deref on bad xsize expression (#234)
+
+CVE: CVE-2023-37732
+
+Upstream-Status: Backport [https://github.com/yasm/yasm/commit/2cd3bb50e256f5ed5f611ac611d25fe673f2cec3]
+
+Signed-off-by: Soumya <soumya.sambu@windriver.com>
+---
+ modules/objfmts/elf/elf.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/modules/objfmts/elf/elf.c b/modules/objfmts/elf/elf.c
+index 2486bba8..bab4c9ca 100644
+--- a/modules/objfmts/elf/elf.c
++++ b/modules/objfmts/elf/elf.c
+@@ -482,15 +482,15 @@ elf_symtab_write_to_file(FILE *f, elf_symtab_head *symtab,
+
+ /* get size (if specified); expr overrides stored integer */
+ if (entry->xsize) {
+- size_intn = yasm_intnum_copy(
+- yasm_expr_get_intnum(&entry->xsize, 1));
+- if (!size_intn) {
++ yasm_intnum *intn = yasm_expr_get_intnum(&entry->xsize, 1);
++ if (!intn) {
+ yasm_error_set(YASM_ERROR_VALUE,
+ N_("size specifier not an integer expression"));
+ yasm_errwarn_propagate(errwarns, entry->xsize->line);
+- }
++ } else
++ size_intn = yasm_intnum_copy(intn);
+ }
+- else
++ if (!size_intn)
+ size_intn = yasm_intnum_create_uint(entry->size);
+
+ /* get EQU value for constants */
+--
+2.40.0
diff --git a/meta-oe/recipes-devtools/yasm/yasm_git.bb b/meta-oe/recipes-devtools/yasm/yasm_git.bb
index cacdd74c4e..216b777667 100644
--- a/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -4,13 +4,18 @@ HOMEPAGE = "http://www.tortall.net/projects/yasm/"
LIC_FILES_CHKSUM = "file://COPYING;md5=a12d8903508fb6bfd49d8d82c6170dd9"
-DEPENDS += "flex-native bison-native xmlto-native"
+DEPENDS += "flex-native bison-native"
+PACKAGECONFIG[docs] = ",,xmlto-native,"
-PV = "1.3.0+git${SRCPV}"
+PV = "1.3.0+git"
# v1.3.0
SRCREV = "ba463d3c26c0ece2e797b8d6381b161633b5971a"
-SRC_URI = "git://github.com/yasm/yasm.git \
+SRC_URI = "git://github.com/yasm/yasm.git;branch=master;protocol=https \
file://0001-Do-not-use-AC_HEADER_STDC.patch \
+ file://CVE-2023-31975.patch \
+ file://CVE-2023-37732.patch \
+ file://0001-yasm-Set-build-date-to-SOURCE_DATE_EPOCH.patch \
+ file://0002-yasm-Use-BUILD_DATE-for-reproducibility.patch \
"
S = "${WORKDIR}/git"
@@ -22,3 +27,9 @@ CACHED_CONFIGUREVARS = "CCLD_FOR_BUILD='${CC_FOR_BUILD}'"
BBCLASSEXTEND = "native"
PARALLEL_MAKE = ""
+
+do_configure:prepend() {
+ # Don't include $CC (which includes path to sysroot) in generated header.
+ sed -i -e "s/^echo \"\/\* generated \$ac_cv_stdint_message \*\/\" >>\$ac_stdint$"// ${S}/m4/ax_create_stdint_h.m4
+}
+
diff --git a/meta-oe/recipes-extended/beep/beep_1.4.12.bb b/meta-oe/recipes-extended/beep/beep_1.4.12.bb
new file mode 100644
index 0000000000..a4bc10c366
--- /dev/null
+++ b/meta-oe/recipes-extended/beep/beep_1.4.12.bb
@@ -0,0 +1,19 @@
+SUMMARY = "beep allows you to have the PC speaker issue beeps and beep patterns"
+DESCRIPTION = "beep allows you to have the PC speaker issue beeps and beep \
+patterns with given frequencies, durations, and spacing."
+HOMEPAGE = "https://github.com/spkr-beep/beep"
+BUGTRACKER = "https://github.com/spkr-beep/beep/issues"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/spkr-beep/beep.git;protocol=https;branch=master \
+ file://0001-beep-library-Make-it-compatible-with-c99.patch"
+SRCREV = "11453a79f2cea81832329b06ca3a284aa7a0a52e"
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "prefix='${prefix}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
+
+do_install() {
+ oe_runmake install DESTDIR='${D}'
+}
diff --git a/meta-oe/recipes-extended/beep/beep_1.4.9.bb b/meta-oe/recipes-extended/beep/beep_1.4.9.bb
deleted file mode 100644
index 8d332b2faf..0000000000
--- a/meta-oe/recipes-extended/beep/beep_1.4.9.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "beep allows you to have the PC speaker issue beeps and beep patterns"
-DESCRIPTION = "beep allows you to have the PC speaker issue beeps and beep \
-patterns with given frequencies, durations, and spacing."
-HOMEPAGE = "https://github.com/spkr-beep/beep"
-BUGTRACKER = "https://github.com/spkr-beep/beep/issues"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://github.com/spkr-beep/beep.git;protocol=https \
- file://0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch \
-"
-SRCREV = "8b85ddd09f73b9fd7caa5679298781a57af194ac"
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = " \
- COMPILER_gcc='${CC}' \
- LINKER_gcc='${CC}' \
- COMPILER_clang=no \
- LINKER_clang=no \
-"
-
-EXTRA_OEMAKE_toolchain-clang = " \
- COMPILER_clang='${CC}' \
- LINKER_clang='${CC}' \
- COMPILER_gcc=no \
- LINKER_gcc=no \
-"
-
-do_install() {
- oe_runmake install DESTDIR='${D}'
-}
diff --git a/meta-oe/recipes-extended/beep/files/0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch b/meta-oe/recipes-extended/beep/files/0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch
deleted file mode 100644
index ba7681b983..0000000000
--- a/meta-oe/recipes-extended/beep/files/0001-Do-not-use-Werror-as-it-fails-with-newer-clang-11.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 6b33adfa438e35b6a37cfb0364274370ef4f9fc1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 23 Dec 2020 18:00:59 +0000
-Subject: [PATCH] Do not use -Werror as it fails with newer clang 11+
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- GNUmakefile | 1 -
- 1 file changed, 1 deletion(-)
-
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -91,12 +91,13 @@ comma := ,
- # If supported by COMPILER_gcc, add given flags to CFLAGS_gcc.
- # Example usage:
- # $(eval $(call CHECK_CFLAGS_gcc,-fasynchronous-unwind-tables))
--define CHECK_CFLAGS_gcc
--CFLAGS_gcc += $$(if $$(shell if $$(COMPILER_gcc) $(1) -x c -o compile-check.gcc-o -c - < /dev/null > /dev/null 2>&1; then echo yes; else :; fi; rm -f compile-check.gcc-o > /dev/null 2>&1),$(1))
--endef
-
- COMPILER_gcc = gcc
- LINKER_gcc = gcc
-+ifneq ($(COMPILER_gcc),no)
-+define CHECK_CFLAGS_gcc
-+CFLAGS_gcc += $$(if $$(shell if $$(COMPILER_gcc) $(1) -x c -o compile-check.gcc-o -c - < /dev/null > /dev/null 2>&1; then echo yes; else :; fi; rm -f compile-check.gcc-o > /dev/null 2>&1),$(1))
-+endef
- CPPFLAGS_gcc =
- CFLAGS_gcc =
- CFLAGS_gcc += -std=gnu99 -pedantic
-@@ -113,30 +114,24 @@ CFLAGS_gcc += -save-temps=obj
- LDFLAGS_gcc =
- LIBS_gcc =
-
--ifneq ($(call pathsearch,$(COMPILER_gcc)),)
--ifneq ($(COMPILER_gcc)),no)
- COMPILERS += gcc
- endif
--endif
-
- COMPILER_clang = clang
- LINKER_clang = clang
-+
-+ifneq ($(COMPILER_clang),no)
- CPPFLAGS_clang =
- CFLAGS_clang += -Wall -Wextra
- CFLAGS_clang += -Weverything
- CFLAGS_clang += -Wno-padded
- CFLAGS_clang += -std=gnu99 -pedantic
--CFLAGS_clang += -Werror
--CFLAGS_clang += -fsanitize=undefined
- CFLAGS_clang += -O -g
- LDFLAGS_clang =
- LIBS_clang =
-
--ifneq ($(call pathsearch,$(COMPILER_clang)),)
--ifneq ($(COMPILER_clang),no)
- COMPILERS += clang
- endif
--endif
-
-
- ########################################################################
diff --git a/meta-oe/recipes-extended/beep/files/0001-beep-library-Make-it-compatible-with-c99.patch b/meta-oe/recipes-extended/beep/files/0001-beep-library-Make-it-compatible-with-c99.patch
new file mode 100644
index 0000000000..240e075a89
--- /dev/null
+++ b/meta-oe/recipes-extended/beep/files/0001-beep-library-Make-it-compatible-with-c99.patch
@@ -0,0 +1,78 @@
+From 66b06e03fc25a168e06c7af5ccccc3162ddbf92a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Nov 2023 17:18:55 -0800
+Subject: [PATCH] beep-library: Make it compatible with < c99
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ beep-library.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+--- a/beep-library.c
++++ b/beep-library.c
+@@ -44,7 +44,7 @@
+ int open_checked_char_device(const char *const device_name)
+ {
+ struct stat sb;
+-
++ int fd = -1;
+ if (-1 == stat(device_name, &sb)) {
+ LOG_VERBOSE("could not stat(2) %s: %s",
+ device_name, strerror(errno));
+@@ -57,7 +57,7 @@ int open_checked_char_device(const char
+ return -1;
+ }
+
+- const int fd = open(device_name, O_WRONLY);
++ fd = open(device_name, O_WRONLY);
+ if (fd == -1) {
+ LOG_VERBOSE("could not open(2) %s: %s",
+ device_name, strerror(errno));
+@@ -90,6 +90,7 @@ void safe_error_exit(const char *const m
+ {
+ const int saved_errno = errno;
+ char strerr_buf[128];
++ size_t errlen, msglen;
+ const int ret = strerror_r(saved_errno, strerr_buf, sizeof(strerr_buf));
+ if (ret != 0) {
+ if (write(STDERR_FILENO, "strerror_r error\n",
+@@ -98,14 +99,14 @@ void safe_error_exit(const char *const m
+ }
+ _exit(EXIT_FAILURE);
+ }
+- const size_t msglen = strlen(msg);
++ msglen = strlen(msg);
+ if (write(STDERR_FILENO, msg, msglen)) {
+ /* ignore all write errors */
+ }
+ if (write(STDERR_FILENO, ": ", 2)) {
+ /* ignore all write errors */
+ }
+- const size_t errlen = strlen(strerr_buf);
++ errlen = strlen(strerr_buf);
+ if (write(STDERR_FILENO, strerr_buf, errlen)) {
+ /* ignore all write errors */
+ }
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -155,7 +155,6 @@ $(eval $(call CHECK_CFLAGS,common_CFLAGS
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Wall))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Wextra))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Weverything))
+-$(eval $(call CHECK_CFLAGS,common_CFLAGS,-Werror))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Wno-padded))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Werror=format-security))
+ $(eval $(call CHECK_CFLAGS,common_CFLAGS,-Wno-disabled-macro-expansion))
+@@ -169,11 +168,6 @@ $(eval $(call CHECK_CFLAGS,CFLAGS,-fanal
+ $(eval $(call CHECK_CFLAGS,CFLAGS,-fstack-protector-strong))
+ $(eval $(call CHECK_CFLAGS,CFLAGS,-fstack-clash-protection))
+ $(eval $(call CHECK_CFLAGS,CFLAGS,-fcf-protection))
+-$(eval $(call CHECK_CFLAGS,CFLAGS,-fsanitize=undefined))
+-
+-
+-CFLAGS += -save-temps=obj
+-
+
+ $(info # common_CFLAGS=$(common_CFLAGS))
+ $(info # CFLAGS=$(CFLAGS))
diff --git a/meta-oe/recipes-extended/beep/files/linux-input.patch b/meta-oe/recipes-extended/beep/files/linux-input.patch
deleted file mode 100644
index 1b38ba72a3..0000000000
--- a/meta-oe/recipes-extended/beep/files/linux-input.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-# the diff between Alessandro Zummo's copy of beep.c and the original
-# one...
-
---- beep-1.2.2/beep.c.orig 2006-01-29 12:13:36.994560551 -0800
-+++ beep-1.2.2/beep.c 2006-01-29 12:35:02.950558713 -0800
-@@ -26,6 +26,7 @@
- #include <sys/ioctl.h>
- #include <sys/types.h>
- #include <linux/kd.h>
-+#include <linux/input.h>
-
- /* I don't know where this number comes from, I admit that freely. A
- wonderful human named Raine M. Ekman used it in a program that played
-@@ -86,18 +87,28 @@ typedef struct beep_parms_t {
- struct beep_parms_t *next; /* in case -n/--new is used. */
- } beep_parms_t;
-
-+enum { BEEP_TYPE_CONSOLE, BEEP_TYPE_EVDEV };
-+
- /* Momma taught me never to use globals, but we need something the signal
- handlers can get at.*/
- int console_fd = -1;
-+int console_type = BEEP_TYPE_CONSOLE;
-+char *console_device = NULL;
-+
-+void do_beep(int freq);
-
- /* If we get interrupted, it would be nice to not leave the speaker beeping in
- perpetuity. */
- void handle_signal(int signum) {
-+
-+ if(console_device)
-+ free(console_device);
-+
- switch(signum) {
- case SIGINT:
- if(console_fd >= 0) {
- /* Kill the sound, quit gracefully */
-- ioctl(console_fd, KIOCSOUND, 0);
-+ do_beep(0);
- close(console_fd);
- exit(signum);
- } else {
-@@ -110,7 +121,7 @@ void handle_signal(int signum) {
- /* print usage and exit */
- void usage_bail(const char *executable_name) {
- printf("Usage:\n%s [-f freq] [-l length] [-r reps] [-d delay] "
-- "[-D delay] [-s] [-c]\n",
-+ "[-D delay] [-s] [-c] [-e device]\n",
- executable_name);
- printf("%s [Options...] [-n] [--new] [Options...] ... \n", executable_name);
- printf("%s [-h] [--help]\n", executable_name);
-@@ -141,11 +152,12 @@ void usage_bail(const char *executable_n
- void parse_command_line(int argc, char **argv, beep_parms_t *result) {
- int c;
-
-- struct option opt_list[4] = {{"help", 0, NULL, 'h'},
-+ struct option opt_list[] = {{"help", 0, NULL, 'h'},
- {"version", 0, NULL, 'V'},
- {"new", 0, NULL, 'n'},
-+ {"device", 1, NULL, 'e'},
- {0,0,0,0}};
-- while((c = getopt_long(argc, argv, "f:l:r:d:D:schvVn", opt_list, NULL))
-+ while((c = getopt_long(argc, argv, "f:l:r:d:D:schvVne:", opt_list, NULL))
- != EOF) {
- int argval = -1; /* handle parsed numbers for various arguments */
- float argfreq = -1;
-@@ -207,6 +219,9 @@ void parse_command_line(int argc, char *
- result->next->next = NULL;
- result = result->next; /* yes, I meant to do that. */
- break;
-+ case 'e' : /* also --device */
-+ console_device = strdup(optarg);
-+ break;
- case 'h' : /* notice that this is also --help */
- default :
- usage_bail(argv[0]);
-@@ -214,26 +229,61 @@ void parse_command_line(int argc, char *
- }
- }
-
-+void do_beep(int freq)
-+{
-+ if (console_type == BEEP_TYPE_CONSOLE)
-+ {
-+ if(ioctl(console_fd, KIOCSOUND, freq != 0
-+ ? (int)(CLOCK_TICK_RATE/freq)
-+ : freq) < 0) {
-+ printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */
-+ perror("ioctl");
-+ }
-+ }
-+ else
-+ {
-+ /* BEEP_TYPE_EVDEV */
-+ struct input_event e;
-+
-+ e.type = EV_SND;
-+ e.code = SND_TONE;
-+ e.value = freq;
-+
-+ write(console_fd, &e, sizeof(struct input_event));
-+ }
-+}
-+
- void play_beep(beep_parms_t parms) {
- int i; /* loop counter */
-
- /* try to snag the console */
-- if((console_fd = open("/dev/console", O_WRONLY)) == -1) {
-- fprintf(stderr, "Could not open /dev/console for writing.\n");
-+
-+ if(console_device)
-+ console_fd = open(console_device, O_WRONLY);
-+ else
-+ if((console_fd = open("/dev/input/event0", O_WRONLY)) == -1)
-+ if((console_fd = open("/dev/tty0", O_WRONLY)) == -1)
-+ console_fd = open("/dev/vc/0", O_WRONLY);
-+
-+ if(console_fd == -1) {
-+ fprintf(stderr, "Could not open %s for writing\n",
-+ console_device != NULL ? console_device : "/dev/tty0 or /dev/vc/0");
- printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */
- perror("open");
- exit(1);
- }
-
-+ if (ioctl(console_fd, EVIOCGSND(0)) != -1)
-+ console_type = BEEP_TYPE_EVDEV;
-+ else
-+ console_type = BEEP_TYPE_CONSOLE;
-+
- /* Beep */
- for (i = 0; i < parms.reps; i++) { /* start beep */
-- if(ioctl(console_fd, KIOCSOUND, (int)(CLOCK_TICK_RATE/parms.freq)) < 0) {
-- printf("\a"); /* Output the only beep we can, in an effort to fall back on usefulness */
-- perror("ioctl");
-- }
-+ do_beep(parms.freq);
- /* Look ma, I'm not ansi C compatible! */
- usleep(1000*parms.length); /* wait... */
-- ioctl(console_fd, KIOCSOUND, 0); /* stop beep */
-+ do_beep(0);
- if(parms.end_delay || (i+1 < parms.reps))
- usleep(1000*parms.delay); /* wait... */
- } /* repeat. */
-@@ -295,5 +345,8 @@ int main(int argc, char **argv) {
- parms = next;
- }
-
-+ if(console_device)
-+ free(console_device);
-+
- return EXIT_SUCCESS;
- }
diff --git a/meta-oe/recipes-extended/bitwise/bitwise_0.41.bb b/meta-oe/recipes-extended/bitwise/bitwise_0.41.bb
deleted file mode 100644
index 0378227817..0000000000
--- a/meta-oe/recipes-extended/bitwise/bitwise_0.41.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Bitwise terminal calculator"
-DESCRIPTION = "Bitwise is multi base interactive calculator \
-supporting dynamic base conversion and bit manipulation.\
-It's a handy tool for low level hackers, \
-kernel developers and device drivers developers."
-
-HOMEPAGE = "https://github.com/mellowcandle/bitwise"
-SECTION = "console/utils"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-SRC_URI = "https://github.com/mellowcandle/bitwise/releases/download/v${PV}/bitwise-v${PV}.tar.gz \
- file://0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch \
- "
-SRC_URI[sha256sum] = "33ce934fb99dadf7652224152cc135a0abf6a211adde53d96e9be7067567749c"
-
-UPSTREAM_CHECK_URI = "https://github.com/mellowcandle/bitwise/releases"
-
-S = "${WORKDIR}/${BPN}-v${PV}"
-
-DEPENDS = "ncurses readline"
-
-inherit autotools
diff --git a/meta-oe/recipes-extended/bitwise/bitwise_0.50.bb b/meta-oe/recipes-extended/bitwise/bitwise_0.50.bb
new file mode 100644
index 0000000000..5cd20c5b1c
--- /dev/null
+++ b/meta-oe/recipes-extended/bitwise/bitwise_0.50.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Bitwise terminal calculator"
+DESCRIPTION = "Bitwise is multi base interactive calculator \
+supporting dynamic base conversion and bit manipulation.\
+It's a handy tool for low level hackers, \
+kernel developers and device drivers developers."
+
+HOMEPAGE = "https://github.com/mellowcandle/bitwise"
+SECTION = "console/utils"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = "https://github.com/mellowcandle/bitwise/releases/download/v${PV}/bitwise-v${PV}.tar.gz \
+ file://0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch \
+ file://run-ptest \
+ file://ptest.out.expected \
+ "
+SRC_URI[sha256sum] = "806271fa5bf31de0600315e8720004a8f529954480e991ca84a9868dc1cae97e"
+
+UPSTREAM_CHECK_URI = "https://github.com/mellowcandle/bitwise/releases"
+
+S = "${WORKDIR}/${BPN}-v${PV}"
+
+DEPENDS = "ncurses readline"
+
+inherit autotools ptest
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ install -m 0644 ${WORKDIR}/ptest.out.expected ${D}${PTEST_PATH}/ptest.out.expected
+}
+
diff --git a/meta-oe/recipes-extended/bitwise/files/0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch b/meta-oe/recipes-extended/bitwise/files/0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch
index ad3f0bb1fd..76d12f9cd8 100644
--- a/meta-oe/recipes-extended/bitwise/files/0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch
+++ b/meta-oe/recipes-extended/bitwise/files/0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch
@@ -8,6 +8,8 @@ This ensures right include paths are added to compiler
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/bitwise/files/ptest.out.expected b/meta-oe/recipes-extended/bitwise/files/ptest.out.expected
new file mode 100644
index 0000000000..c5ca3e5215
--- /dev/null
+++ b/meta-oe/recipes-extended/bitwise/files/ptest.out.expected
@@ -0,0 +1,13 @@
+Unsigned decimal: 66
+Signed decimal: 66
+Hexadecimal: 0x42
+Octal: 0102
+Human: 66
+Radix64: 0/
+IPv4 (Network byte order - Big): 66.0.0.0
+IPv4 (Reverwsed byte order - Little): 0.0.0.66
+ASCII: .......B
+Binary:
+0 1 0 0 0 0 1 0
+ 7 - 0
+
diff --git a/meta-oe/recipes-extended/bitwise/files/run-ptest b/meta-oe/recipes-extended/bitwise/files/run-ptest
new file mode 100755
index 0000000000..c29e1eaddc
--- /dev/null
+++ b/meta-oe/recipes-extended/bitwise/files/run-ptest
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Test 1: Basic bitwise operation
+bitwise --no-color -w b 0x42 > test.out
+
+# Compare expected output with actual output
+
+if ! cmp test.out ptest.out.expected; then
+ echo "[FAIL] Test 1: Basic bitwise operation"
+ exit 1
+fi
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/0001-Do-not-undefine-_FILE_OFFSET_BITS.patch b/meta-oe/recipes-extended/boinc/boinc-client/0001-Do-not-undefine-_FILE_OFFSET_BITS.patch
new file mode 100644
index 0000000000..846fb099dc
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/0001-Do-not-undefine-_FILE_OFFSET_BITS.patch
@@ -0,0 +1,59 @@
+From 4e5c5a245f248976ea55fe1f805badb0cb1bb072 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 30 Dec 2022 23:41:36 -0800
+Subject: [PATCH] Do not undefine _FILE_OFFSET_BITS
+
+This does not work when we want to use 64bit time_t in glibc
+therefore let system decide on defining these macros
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ client/client_types.cpp | 9 ---------
+ client/hostinfo_unix.cpp | 9 ---------
+ 2 files changed, 18 deletions(-)
+
+diff --git a/client/client_types.cpp b/client/client_types.cpp
+index 2977ef7863..7653517302 100644
+--- a/client/client_types.cpp
++++ b/client/client_types.cpp
+@@ -22,15 +22,6 @@
+ #include "zlib.h"
+ #else
+ #include "config.h"
+-// Somehow having config.h define _FILE_OFFSET_BITS or _LARGE_FILES is
+-// causing open to be redefined to open64 which somehow, in some versions
+-// of zlib.h causes gzopen to be redefined as gzopen64 which subsequently gets
+-// reported as a linker error. So for this file, we compile in small files
+-// mode, regardless of these settings
+-#undef _FILE_OFFSET_BITS
+-#undef _LARGE_FILES
+-#undef _LARGEFILE_SOURCE
+-#undef _LARGEFILE64_SOURCE
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <zlib.h>
+diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp
+index ff0b596221..0ad6841b39 100644
+--- a/client/hostinfo_unix.cpp
++++ b/client/hostinfo_unix.cpp
+@@ -26,15 +26,6 @@
+
+ #if !defined(_WIN32) || defined(__CYGWIN32__)
+
+-// Access to binary files in /proc filesystem doesn't work in the 64bit
+-// files environment on some systems.
+-// None of the functions here need 64bit file functions,
+-// so undefine _FILE_OFFSET_BITS and _LARGE_FILES.
+-//
+-#undef _FILE_OFFSET_BITS
+-#undef _LARGE_FILES
+-#undef _LARGEFILE_SOURCE
+-#undef _LARGEFILE64_SOURCE
+ #include <iostream>
+ #include <vector>
+ #include <string>
+--
+2.39.0
+
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/0001-scripts-Do-not-check-for-files-on-build-host.patch b/meta-oe/recipes-extended/boinc/boinc-client/0001-scripts-Do-not-check-for-files-on-build-host.patch
new file mode 100644
index 0000000000..6d9e94cb8a
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client/0001-scripts-Do-not-check-for-files-on-build-host.patch
@@ -0,0 +1,52 @@
+From 8a8305c78143438e2bd497d55188a0da3442db08 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 27 Apr 2022 09:11:38 -0700
+Subject: [PATCH] scripts: Do not check for files on build host
+
+This will result in varied behaviour depending upon what kind of host is
+used to build it. We dont want that. Instead check for these files and
+dirs in staging area and create these markers in recipe via a
+do_install_prepend to aide install piece a bit here ( systemd vs
+sysvinit ) etc.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ client/scripts/Makefile.am | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/client/scripts/Makefile.am b/client/scripts/Makefile.am
+index 2a53203d84..62a0defa93 100644
+--- a/client/scripts/Makefile.am
++++ b/client/scripts/Makefile.am
+@@ -2,21 +2,21 @@
+
+ install-exec-hook:
+ chmod +x boinc-client
+- if [ -d /etc/init.d ] ; then \
++ if [ -d $(DESTDIR)/etc/init.d ] ; then \
+ $(INSTALL) -d $(DESTDIR)$(sysconfdir)/init.d ; \
+ $(INSTALL) -b boinc-client $(DESTDIR)$(sysconfdir)/init.d/boinc-client ; \
+ fi
+- if [ -d /usr/lib/systemd/system ] ; then \
++ if [ -d $(DESTDIR)/usr/lib/systemd/system ] ; then \
+ $(INSTALL) -d $(DESTDIR)/usr/lib/systemd/system/ ; \
+ $(INSTALL_DATA) boinc-client.service $(DESTDIR)/usr/lib/systemd/system/boinc-client.service ; \
+- elif [ -d /lib/systemd/system ] ; then \
++ elif [ -d $(DESTDIR)/lib/systemd/system ] ; then \
+ $(INSTALL) -d $(DESTDIR)/lib/systemd/system/ ; \
+ $(INSTALL_DATA) boinc-client.service $(DESTDIR)/lib/systemd/system/boinc-client.service ; \
+ fi
+- if [ -d /etc/sysconfig ] ; then \
++ if [ -d $(DESTDIR)/etc/sysconfig ] ; then \
+ $(INSTALL) -d $(DESTDIR)$(sysconfdir)/sysconfig ; \
+ $(INSTALL_DATA) $(srcdir)/boinc-client.conf $(DESTDIR)$(sysconfdir)/sysconfig/boinc-client ; \
+- elif [ -d /etc/default ] ; then \
++ elif [ -d $(DESTDIR)/etc/default ] ; then \
+ $(INSTALL) -d $(DESTDIR)$(sysconfdir)/default ; \
+ $(INSTALL_DATA) $(srcdir)/boinc-client.conf $(DESTDIR)$(sysconfdir)/default/boinc-client ; \
+ else \
+--
+2.36.0
+
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
index 7c3b0325dd..0431f523e5 100644
--- a/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
+++ b/meta-oe/recipes-extended/boinc/boinc-client/boinc-AM_CONDITIONAL.patch
@@ -14,7 +14,7 @@ diff --git a/configure.ac b/configure.ac
index d81d795de4..7beeb34ae2 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -63,6 +63,7 @@ m4_pattern_allow([AC_PROG_OBJCXX])
+@@ -59,6 +59,7 @@ m4_pattern_allow([AC_PROG_OBJCXX])
m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCXX],)
dnl ------
AC_PROG_CPP
@@ -22,12 +22,3 @@ index d81d795de4..7beeb34ae2 100644
AC_PROG_MAKE_SET
SAH_LINKS
AC_LANG_PUSH(C)
-@@ -1068,6 +1069,8 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test "x${enable_server}" = xyes || test "x${
- AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
- AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
-
-+PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
-+
- dnl ======================================================================
- dnl some more vodoo required for building portable client-binary (client, clientgui)
- dnl ======================================================================
diff --git a/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch b/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
deleted file mode 100644
index e060b1a40c..0000000000
--- a/meta-oe/recipes-extended/boinc/boinc-client/gtk-configure.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From d53e9617fb6446780478bb13907efd111f241cd1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 3 Nov 2016 01:20:33 -0700
-Subject: [PATCH] Check for gtk2+ only when manager is enabled
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
----
- configure.ac | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7beeb34ae2..35234c2762 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1018,6 +1018,11 @@ else
- AM_CONDITIONAL([GUI_GTK], false)
- fi
-
-+dnl ---------- GTK+2.0-----------------------------------------------------
-+if test "X${no_x}" != "Xyes"; then
-+ PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
-+fi
-+
- dnl ---------- libNotify --------------------------------------------------
- if test "${enable_manager}" = yes ; then
- PKG_CHECK_MODULES(LIBNOTIFY, [libnotify])
-@@ -1069,7 +1074,6 @@ AM_CONDITIONAL(ENABLE_BOINCCRYPT, [test "x${enable_server}" = xyes || test "x${
- AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
- AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
-
--PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
-
- dnl ======================================================================
- dnl some more vodoo required for building portable client-binary (client, clientgui)
diff --git a/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb b/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb
deleted file mode 100644
index d2e81ee780..0000000000
--- a/meta-oe/recipes-extended/boinc/boinc-client_7.16.16.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Open-source software for volunteer computing"
-DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \
-source software platform which supports distributed computing, primarily in \
-the form of volunteer computing and desktop Grid computing. It is well \
-suited for problems which are often described as trivially parallel. BOINC \
-is the underlying software used by projects such as SETI@home, Einstein@Home, \
-ClimatePrediciton.net, the World Community Grid, and many other distributed \
-computing projects. \
-This package installs the BOINC client software, which will allow your \
-computer to participate in one or more BOINC projects, using your spare \
-computer time to search for cures for diseases, model protein folding, study \
-global warming, discover sources of gravitational waves, and many other types \
-of scientific and mathematical research."
-
-HOMEPAGE = "http://boinc.berkeley.edu/"
-LICENSE = "LGPLv2+ & GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
-SECTION = "applications"
-DEPENDS = "curl \
- jpeg \
- openssl \
- sqlite3 \
- virtual/libgl \
- ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+ libnotify xcb-util libxscrnsaver', '', d)} \
- nettle \
-"
-SRCREV = "df0239e6f074207798a8ecf1358a74545dda9132"
-BRANCH = "client_release/7/7.16"
-SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \
- file://boinc-AM_CONDITIONAL.patch \
- file://gtk-configure.patch \
-"
-
-inherit gettext autotools pkgconfig features_check systemd
-
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "\
- --enable-libraries \
- --enable-unicode \
- --enable-shared \
- --enable-dynamic-client-linkage \
- --enable-client \
- --disable-server \
- --disable-static \
- --disable-manager \
- --with-ssl=${STAGING_EXECPREFIXDIR} \
- --without-wxdir \
- --without-x \
- --with-boinc-platform=${TARGET_SYS} \
- ac_cv_c_undeclared_builtin_options='none' \
-"
-export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"
-
-do_configure_prepend () {
- if [ "${@bb.utils.contains('DEPENDS', 'gtk+', '1', '0', d)}" = "0" ]
- then
- export GTK2_CFLAGS=""
- export GTK2_LIBS=""
- fi
-}
-
-do_compile_prepend () {
- # Disable rpaths
- sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/${TARGET_SYS}-libtool
- sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/${TARGET_SYS}-libtool
- sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/${TARGET_SYS}-libtool
-}
-
-do_install_append() {
- if [ -e ${D}${nonarch_libdir}/systemd/system/boinc-client.service ]; then
- install -d ${D}${systemd_system_unitdir}
- mv \
- ${D}${nonarch_libdir}/systemd/system/boinc-client.service \
- ${D}${systemd_system_unitdir}/boinc-client.service
- rmdir --ignore-fail-on-non-empty ${D}${nonarch_libdir}/systemd/system \
- ${D}${nonarch_libdir}/systemd \
- ${D}${nonarch_libdir}
- fi
-}
-
-SYSTEMD_SERVICE_${PN} = "boinc-client.service"
-
-FILES_${PN} += "${libdir}/systemd"
diff --git a/meta-oe/recipes-extended/boinc/boinc-client_7.20.5.bb b/meta-oe/recipes-extended/boinc/boinc-client_7.20.5.bb
new file mode 100644
index 0000000000..4e35283dd2
--- /dev/null
+++ b/meta-oe/recipes-extended/boinc/boinc-client_7.20.5.bb
@@ -0,0 +1,82 @@
+# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Open-source software for volunteer computing"
+DESCRIPTION = "The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- \
+source software platform which supports distributed computing, primarily in \
+the form of volunteer computing and desktop Grid computing. It is well \
+suited for problems which are often described as trivially parallel. BOINC \
+is the underlying software used by projects such as SETI@home, Einstein@Home, \
+ClimatePrediciton.net, the World Community Grid, and many other distributed \
+computing projects. \
+This package installs the BOINC client software, which will allow your \
+computer to participate in one or more BOINC projects, using your spare \
+computer time to search for cures for diseases, model protein folding, study \
+global warming, discover sources of gravitational waves, and many other types \
+of scientific and mathematical research."
+
+HOMEPAGE = "http://boinc.berkeley.edu/"
+LICENSE = "LGPL-2.0-or-later & GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
+SECTION = "applications"
+DEPENDS = "curl \
+ jpeg \
+ openssl \
+ sqlite3 \
+ virtual/egl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libnotify', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk+3 wxwidgets libnotify xcb-util libxscrnsaver', '', d)} \
+ nettle \
+"
+SRCREV = "4774e1cbe0ad13cb9a6f7fffbb626a417316f61d"
+BRANCH = "client_release/7/7.20"
+SRC_URI = "git://github.com/BOINC/boinc;protocol=https;branch=${BRANCH} \
+ file://boinc-AM_CONDITIONAL.patch \
+ file://0001-scripts-Do-not-check-for-files-on-build-host.patch \
+ file://0001-Do-not-undefine-_FILE_OFFSET_BITS.patch \
+"
+
+inherit gettext autotools pkgconfig features_check systemd
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "\
+ --enable-libraries \
+ --enable-unicode \
+ --enable-shared \
+ --enable-dynamic-client-linkage \
+ --enable-client \
+ --disable-server \
+ --disable-static \
+ --disable-manager \
+ --with-ssl=${STAGING_EXECPREFIXDIR} \
+ --without-wxdir \
+ --without-x \
+ --with-boinc-platform=${TARGET_SYS} \
+ ac_cv_c_undeclared_builtin_options='none' \
+"
+export PKG_CONFIG = "${STAGING_BINDIR_NATIVE}/pkg-config"
+
+do_compile:prepend () {
+ # Disable rpaths
+ sed -i -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' ${B}/libtool
+ sed -i -e 's|^sys_lib_dlsearch_path_spec=.*|sys_lib_dlsearch_path_spec=""|g' ${B}/libtool
+ sed -i -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' ${B}/libtool
+}
+
+do_install:prepend() {
+ # help script install a bit to do right thing for OE
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ mkdir -p ${D}${systemd_system_unitdir}
+ else
+ mkdir -p ${D}${sysconfdir}/init.d
+ fi
+ mkdir -p ${D}${sysconfdir}/default
+}
+
+SYSTEMD_SERVICE:${PN} = "boinc-client.service"
+
+FILES:${PN} += "${libdir}/systemd"
diff --git a/meta-oe/recipes-extended/brotli/brotli/838.patch b/meta-oe/recipes-extended/brotli/brotli/838.patch
deleted file mode 100644
index 98b888760f..0000000000
--- a/meta-oe/recipes-extended/brotli/brotli/838.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Upstream-Status: Backport [https://github.com/google/brotli/pull/838]
-From 092446fafb4bfb81738853b7c7f76b293cd92a80 Mon Sep 17 00:00:00 2001
-From: Evgenii Kliuchnikov <eustas.ru@gmail.com>
-Date: Wed, 2 Sep 2020 10:49:49 +0200
-Subject: [PATCH] Revert "Add runtime linker path to pkg-config files (#740)"
-
-This reverts commit 31754d4ffce14153b5c2addf7a11019ec23f51c1.
----
- scripts/libbrotlicommon.pc.in | 2 +-
- scripts/libbrotlidec.pc.in | 2 +-
- scripts/libbrotlienc.pc.in | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/scripts/libbrotlicommon.pc.in b/scripts/libbrotlicommon.pc.in
-index 10ca969e..2a8cf7a3 100644
---- a/scripts/libbrotlicommon.pc.in
-+++ b/scripts/libbrotlicommon.pc.in
-@@ -7,5 +7,5 @@ Name: libbrotlicommon
- URL: https://github.com/google/brotli
- Description: Brotli common dictionary library
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -R${libdir} -lbrotlicommon
-+Libs: -L${libdir} -lbrotlicommon
- Cflags: -I${includedir}
-diff --git a/scripts/libbrotlidec.pc.in b/scripts/libbrotlidec.pc.in
-index e7c3124f..6f8ef2e4 100644
---- a/scripts/libbrotlidec.pc.in
-+++ b/scripts/libbrotlidec.pc.in
-@@ -7,6 +7,6 @@ Name: libbrotlidec
- URL: https://github.com/google/brotli
- Description: Brotli decoder library
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -R${libdir} -lbrotlidec
-+Libs: -L${libdir} -lbrotlidec
- Requires.private: libbrotlicommon >= 1.0.2
- Cflags: -I${includedir}
-diff --git a/scripts/libbrotlienc.pc.in b/scripts/libbrotlienc.pc.in
-index 4dd0811b..2098afe2 100644
---- a/scripts/libbrotlienc.pc.in
-+++ b/scripts/libbrotlienc.pc.in
-@@ -7,6 +7,6 @@ Name: libbrotlienc
- URL: https://github.com/google/brotli
- Description: Brotli encoder library
- Version: @PACKAGE_VERSION@
--Libs: -L${libdir} -R${libdir} -lbrotlienc
-+Libs: -L${libdir} -lbrotlienc
- Requires.private: libbrotlicommon >= 1.0.2
- Cflags: -I${includedir}
diff --git a/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb b/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb
deleted file mode 100644
index 0038ba74d2..0000000000
--- a/meta-oe/recipes-extended/brotli/brotli_1.0.9.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Lossless compression library and tool"
-DESCRIPTION = "Brotli is a generic-purpose lossless compression algorithm \
-that it is similar in speed to deflate but offers more dense compression."
-HOMEPAGE = "https://github.com/google/brotli"
-BUGTRACKER = "https://github.com/google/brotli/issues"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=941ee9cd1609382f946352712a319b4b"
-
-SRC_URI = "git://github.com/google/brotli.git \
- file://838.patch "
-# tag 1.0.9
-SRCREV= "e61745a6b7add50d380cfd7d3883dd6c62fc2c71"
-S = "${WORKDIR}/git"
-
-inherit cmake lib_package
-
-do_install_append () {
- for lib in $(ls ${D}${libdir}/*-static.a); do
- mv -v "${lib}" "$(echo ${lib} | sed s/-static//)"
- done
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb b/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb
new file mode 100644
index 0000000000..83f44833b6
--- /dev/null
+++ b/meta-oe/recipes-extended/brotli/brotli_1.1.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Lossless compression library and tool"
+DESCRIPTION = "Brotli is a generic-purpose lossless compression algorithm \
+that it is similar in speed to deflate but offers more dense compression."
+HOMEPAGE = "https://github.com/google/brotli"
+BUGTRACKER = "https://github.com/google/brotli/issues"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=941ee9cd1609382f946352712a319b4b"
+
+SRC_URI = "git://github.com/google/brotli.git;branch=master;protocol=https"
+SRCREV= "ed738e842d2fbdf2d6459e39267a633c4a9b2f5d"
+
+S = "${WORKDIR}/git"
+
+inherit cmake lib_package
+
+do_install:append () {
+ for lib in $(ls ${D}${libdir}/*-static.a); do
+ basename=$(basename ${lib})
+ mv -v "${lib}" "${D}${libdir}/$(echo ${basename} | sed s/-static//)"
+ done
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/byacc/byacc.inc b/meta-oe/recipes-extended/byacc/byacc.inc
index cffa7f5dcd..a3d9bfdb70 100644
--- a/meta-oe/recipes-extended/byacc/byacc.inc
+++ b/meta-oe/recipes-extended/byacc/byacc.inc
@@ -6,7 +6,7 @@ programming language."
SECTION = "devel"
LICENSE = "PD"
-SRC_URI = "ftp://ftp.invisible-island.net/byacc/byacc-${PV}.tgz \
+SRC_URI = "https://invisible-mirror.net/archives/byacc/byacc-${PV}.tgz \
file://byacc-open.patch \
file://0001-byacc-do-not-reorder-CC-and-CFLAGS.patch"
diff --git a/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch b/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
index 5dcc6afdfe..f761ccbdc8 100644
--- a/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
+++ b/meta-oe/recipes-extended/byacc/byacc/0001-byacc-do-not-reorder-CC-and-CFLAGS.patch
@@ -18,16 +18,22 @@ Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Update for 20200910.
Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
+
+Update for 20210808.
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+
+Update for 20210201
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
aclocal.m4 | 1 -
configure | 259 -----------------------------------------------------
2 files changed, 260 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
-index 1c6a3ee..2f7e9b5 100644
+index 832d0c8..63b03f2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
-@@ -1317,7 +1317,6 @@ CF_GCC_VERSION
+@@ -1421,7 +1421,6 @@ CF_GCC_VERSION
CF_ACVERSION_CHECK(2.52,
[AC_PROG_CC_STDC],
[CF_ANSI_CC_REQD])
@@ -36,20 +42,20 @@ index 1c6a3ee..2f7e9b5 100644
dnl ---------------------------------------------------------------------------
dnl CF_PROG_GROFF version: 3 updated: 2018/01/07 13:16:19
diff --git a/configure b/configure
-index 378f27d..8f40229 100755
+index cb47b4c..c72b6e4 100755
--- a/configure
+++ b/configure
-@@ -2066,265 +2066,6 @@ esac
+@@ -2144,265 +2144,6 @@ esac
# This should have been defined by AC_PROG_CC
- : ${CC:=cc}
+ : "${CC:=cc}"
--echo "$as_me:2069: checking \$CFLAGS variable" >&5
+-echo "$as_me:2147: checking \$CFLAGS variable" >&5
-echo $ECHO_N "checking \$CFLAGS variable... $ECHO_C" >&6
-case "x$CFLAGS" in
-(*-[IUD]*)
-- echo "$as_me:2073: result: broken" >&5
+- echo "$as_me:2151: result: broken" >&5
-echo "${ECHO_T}broken" >&6
-- { echo "$as_me:2075: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
+- { echo "$as_me:2153: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&5
-echo "$as_me: WARNING: your environment uses the CFLAGS variable to hold CPPFLAGS options" >&2;}
- cf_flags="$CFLAGS"
- CFLAGS=
@@ -63,19 +69,19 @@ index 378f27d..8f40229 100755
-
-for cf_add_cflags in $cf_arg
-do
--case $cf_fix_cppflags in
+-case "$cf_fix_cppflags" in
-(no)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-D*)
-- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+- cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
- && cf_fix_cppflags=yes
-
-- if test $cf_fix_cppflags = yes ; then
+- if test "$cf_fix_cppflags" = yes ; then
-
- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
@@ -94,7 +100,7 @@ index 378f27d..8f40229 100755
- (*$cf_add_cflags)
- ;;
- (*)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-D*)
- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
-
@@ -124,7 +130,7 @@ index 378f27d..8f40229 100755
- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
-
-- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+- cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
@@ -157,18 +163,18 @@ index 378f27d..8f40229 100755
- done
- ;;
-(*)
-- echo "$as_me:2183: result: ok" >&5
+- echo "$as_me:2261: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
--echo "$as_me:2188: checking \$CC variable" >&5
+-echo "$as_me:2266: checking \$CC variable" >&5
-echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6
-case "$CC" in
-(*[\ \ ]-*)
-- echo "$as_me:2192: result: broken" >&5
+- echo "$as_me:2270: result: broken" >&5
-echo "${ECHO_T}broken" >&6
-- { echo "$as_me:2194: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
+- { echo "$as_me:2272: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&5
-echo "$as_me: WARNING: your environment uses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;}
- # humor him...
- cf_prog=`echo "$CC" | sed -e 's/ / /g' -e 's/[ ]* / /g' -e 's/[ ]*[ ]-[^ ].*//'`
@@ -186,19 +192,19 @@ index 378f27d..8f40229 100755
-
-for cf_add_cflags in $cf_arg
-do
--case $cf_fix_cppflags in
+-case "$cf_fix_cppflags" in
-(no)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-D*)
-- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
+- cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[^=]*='\''\"[^"]*//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
- && cf_fix_cppflags=yes
-
-- if test $cf_fix_cppflags = yes ; then
+- if test "$cf_fix_cppflags" = yes ; then
-
- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
@@ -217,7 +223,7 @@ index 378f27d..8f40229 100755
- (*$cf_add_cflags)
- ;;
- (*)
-- case $cf_add_cflags in
+- case "$cf_add_cflags" in
- (-D*)
- cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
-
@@ -247,7 +253,7 @@ index 378f27d..8f40229 100755
- test -n "$cf_new_extra_cppflags" && cf_new_extra_cppflags="$cf_new_extra_cppflags "
- cf_new_extra_cppflags="${cf_new_extra_cppflags}$cf_add_cflags"
-
-- cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'`
+- cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[^"]*"'\''//'`
-
- test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \
- && test -z "${cf_tst_cflags}" \
@@ -285,26 +291,26 @@ index 378f27d..8f40229 100755
- done
- test -n "$verbose" && echo " resulting CC: '$CC'" 1>&6
-
--echo "${as_me:-configure}:2311: testing resulting CC: '$CC' ..." 1>&5
+-echo "${as_me:-configure}:2389: testing resulting CC: '$CC' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CFLAGS: '$CFLAGS'" 1>&6
-
--echo "${as_me:-configure}:2315: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2393: testing resulting CFLAGS: '$CFLAGS' ..." 1>&5
-
- test -n "$verbose" && echo " resulting CPPFLAGS: '$CPPFLAGS'" 1>&6
-
--echo "${as_me:-configure}:2319: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
+-echo "${as_me:-configure}:2397: testing resulting CPPFLAGS: '$CPPFLAGS' ..." 1>&5
-
- ;;
-(*)
-- echo "$as_me:2323: result: ok" >&5
+- echo "$as_me:2401: result: ok" >&5
-echo "${ECHO_T}ok" >&6
- ;;
-esac
-
- echo "$as_me:2328: checking whether ${MAKE-make} sets \${MAKE}" >&5
+ echo "$as_me:2406: checking whether ${MAKE-make} sets \${MAKE}" >&5
echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
--
-2.25.1
+2.34.1
diff --git a/meta-oe/recipes-extended/byacc/byacc_20200910.bb b/meta-oe/recipes-extended/byacc/byacc_20200910.bb
deleted file mode 100644
index b7640ffca6..0000000000
--- a/meta-oe/recipes-extended/byacc/byacc_20200910.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-# Sigh. This is one of those places where everyone licenses it differently. Someone
-# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
-# "I've found no reliable source which states that byacc must bear a UCB copyright."
-# Setting to PD as this is what the upstream has it as.
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=262857ec5923f073fa06a1f1812225ea"
-require byacc.inc
-
-SRC_URI[md5sum] = "5726a5a655c6fd4e8f950552cceeae29"
-SRC_URI[sha256sum] = "0a5906073aeaf23ddc20aaac0ea61cb5ccc18572870b113375dec4ffe85ecf30"
diff --git a/meta-oe/recipes-extended/byacc/byacc_20230219.bb b/meta-oe/recipes-extended/byacc/byacc_20230219.bb
new file mode 100644
index 0000000000..614bcaf646
--- /dev/null
+++ b/meta-oe/recipes-extended/byacc/byacc_20230219.bb
@@ -0,0 +1,10 @@
+# Sigh. This is one of those places where everyone licenses it differently. Someone
+# even apply UCB to it (Free/Net/OpenBSD). The maintainer states that:
+# "I've found no reliable source which states that byacc must bear a UCB copyright."
+# Setting to PD as this is what the upstream has it as.
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=b56b7454f5f865de2e6e35ee2185b461"
+require byacc.inc
+
+SRC_URI[sha256sum] = "36b972a6d4ae97584dd186925fbbc397d26cb20632a76c2f52ac7653cd081b58"
diff --git a/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch
deleted file mode 100644
index a6f6701261..0000000000
--- a/meta-oe/recipes-extended/cfengine/cfengine-masterfiles/python3.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/modules/packages/apt_get
-+++ b/modules/packages/apt_get
-@@ -1,4 +1,4 @@
--#!/var/cfengine/bin/python
-+#!/var/cfengine/bin/python3
-
- import sys
- import os
---- a/modules/packages/apt_get.in
-+++ b/modules/packages/apt_get.in
-@@ -1,4 +1,4 @@
--#!@bindir@/python
-+#!@bindir@/python3
-
- import sys
- import os
diff --git a/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb
deleted file mode 100644
index 35ac855989..0000000000
--- a/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.15.0.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-#
-# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
-#
-SUMMARY = "Base policy for CFEngine"
-
-DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
-that helps engineers, system administrators and other stakeholders \
-in an IT system to manage and understand IT infrastructure throughout \
-its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit. \
- \
-This package is intended to provide a stable base policy for \
-installations and upgrades, and is used by CFEngine 3.6 and newer. \
- \
-The contents of this packge are intended to live in `/var/cfengine/masterfiles` \
-or wherever `$(sys.masterdir)` points. \
-"
-
-HOMEPAGE = "http://cfengine.com"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9f76426f9ef8c6f6739fadd21d817a4f"
-
-SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
- file://python3.patch \
- "
-SRC_URI[md5sum] = "6d456fdd9bd24ff6617eeaa05efae602"
-SRC_URI[sha256sum] = "4a071c0c4ba7df9bad93144cff5fbc0566e5172afd66201072e3193b76c55a38"
-
-inherit autotools
-
-export EXPLICIT_VERSION="${PV}"
-
-EXTRA_OECONF = "--prefix=${datadir}/cfengine"
-
-do_install_append() {
- rm -rf ${D}${datadir}/cfengine/modules/packages/zypper ${D}${datadir}/cfengine/modules/packages/yum
-}
-
-FILES_${PN} = "${datadir}/cfengine"
-
-RDEPENDS_${PN} += "python3-core"
diff --git a/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.21.0.bb b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.21.0.bb
new file mode 100644
index 0000000000..68d4042554
--- /dev/null
+++ b/meta-oe/recipes-extended/cfengine/cfengine-masterfiles_3.21.0.bb
@@ -0,0 +1,40 @@
+#
+# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
+#
+SUMMARY = "Base policy for CFEngine"
+
+DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
+that helps engineers, system administrators and other stakeholders \
+in an IT system to manage and understand IT infrastructure throughout \
+its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit. \
+ \
+This package is intended to provide a stable base policy for \
+installations and upgrades, and is used by CFEngine 3.6 and newer. \
+ \
+The contents of this packge are intended to live in `/var/cfengine/masterfiles` \
+or wherever `$(sys.masterdir)` points. \
+"
+
+HOMEPAGE = "http://cfengine.com"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=bb843e794feb6890f7697637b461c36e"
+
+SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
+ "
+#SRC_URI[md5sum] = "5df2f85c75efc351ffadebcc11046a98"
+SRC_URI[sha256sum] = "013ebe68599915cedb4bf753b471713d91901a991623358b9a967d9a779bcc16"
+
+inherit autotools
+
+export EXPLICIT_VERSION="${PV}"
+
+EXTRA_OECONF = "--prefix=${datadir}/cfengine"
+
+do_install:append() {
+ rm -rf ${D}${datadir}/cfengine/modules/packages/zypper ${D}${datadir}/cfengine/modules/packages/yum
+}
+
+FILES:${PN} = "${datadir}/cfengine"
+
+RDEPENDS:${PN} += "python3-core"
diff --git a/meta-oe/recipes-extended/cfengine/cfengine/0001-Fixed-with-libxml2-no-case-in-configure.ac.patch b/meta-oe/recipes-extended/cfengine/cfengine/0001-Fixed-with-libxml2-no-case-in-configure.ac.patch
new file mode 100644
index 0000000000..78f36bde45
--- /dev/null
+++ b/meta-oe/recipes-extended/cfengine/cfengine/0001-Fixed-with-libxml2-no-case-in-configure.ac.patch
@@ -0,0 +1,89 @@
+From a08acdfadb5eba2a3201209c6da3ad6f2ca4ae79 Mon Sep 17 00:00:00 2001
+From: Craig Comstock <craig.comstock@northern.tech>
+Date: Fri, 27 Jan 2023 15:19:48 -0600
+Subject: [PATCH] Fixed --with-libxml2=no case in configure.ac
+
+The CF3_WITH_LIBRARY and AC_CHECK_HEADERS were moved to outside of the check for with-libxml2=no
+
+Ticket: CFE-4023
+Changelog: title
+---
+Upstream-Status: Pending
+
+ configure.ac | 21 +++++++++++----------
+ libntech/configure.ac | 21 +++++++++++----------
+ 2 files changed, 22 insertions(+), 20 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e189b10..f6b8226 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -659,19 +659,20 @@ if test "x$with_libxml2" != "xno"; then
+ LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2
+ fi
+ fi
+-fi
+
+-CF3_WITH_LIBRARY(libxml2,
+- [AC_CHECK_LIB(xml2, xmlFirstElementChild,
+- [],
+- [if test "x$with_libxml2" != xcheck; then
+- AC_MSG_ERROR(Cannot find libxml2); fi]
+- )
+- AC_CHECK_HEADERS([libxml/xmlwriter.h], [break],
++ CF3_WITH_LIBRARY(libxml2,
++ [AC_CHECK_LIB(xml2, xmlFirstElementChild,
++ [],
+ [if test "x$with_libxml2" != xcheck; then
+ AC_MSG_ERROR(Cannot find libxml2); fi]
+- )]
+-)
++ )
++ AC_CHECK_HEADERS([libxml/xmlwriter.h], [break],
++ [if test "x$with_libxml2" != xcheck; then
++ AC_MSG_ERROR(Cannot find libxml2); fi]
++ )]
++ )
++
++fi
+
+ AM_CONDITIONAL([HAVE_LIBXML2],
+ [test "x$with_libxml2" != xno &&
+diff --git a/libntech/configure.ac b/libntech/configure.ac
+index 7bb8787..28b3683 100644
+--- a/libntech/configure.ac
++++ b/libntech/configure.ac
+@@ -571,19 +571,20 @@ if test "x$with_libxml2" != "xno"; then
+ LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2
+ fi
+ fi
+-fi
+
+-CF3_WITH_LIBRARY(libxml2,
+- [AC_CHECK_LIB(xml2, xmlFirstElementChild,
+- [],
+- [if test "x$with_libxml2" != xcheck; then
+- AC_MSG_ERROR(Cannot find libxml2); fi]
+- )
+- AC_CHECK_HEADERS([libxml/xmlwriter.h], [break],
++ CF3_WITH_LIBRARY(libxml2,
++ [AC_CHECK_LIB(xml2, xmlFirstElementChild,
++ [],
+ [if test "x$with_libxml2" != xcheck; then
+ AC_MSG_ERROR(Cannot find libxml2); fi]
+- )]
+-)
++ )
++ AC_CHECK_HEADERS([libxml/xmlwriter.h], [break],
++ [if test "x$with_libxml2" != xcheck; then
++ AC_MSG_ERROR(Cannot find libxml2); fi]
++ )]
++ )
++
++fi
+
+ AM_CONDITIONAL([HAVE_LIBXML2],
+ [test "x$with_libxml2" != xno &&
+--
+2.39.1
+
diff --git a/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb b/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb
deleted file mode 100644
index 2d146bf88c..0000000000
--- a/meta-oe/recipes-extended/cfengine/cfengine_3.15.0.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
-#
-SUMMARY = "CFEngine is an IT infrastructure automation framework"
-
-DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
-that helps engineers, system administrators and other stakeholders \
-in an IT system to manage and understand IT infrastructure throughout \
-its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit."
-
-HOMEPAGE = "http://cfengine.com"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=233aa25e53983237cf0bd4c238af255f"
-
-DEPENDS = "attr tokyocabinet bison-native"
-
-SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BP}.tar.gz \
- file://set-path-of-default-config-file.patch \
- "
-SRC_URI[md5sum] = "d4dabfa46d8afa151be5610f184354e7"
-SRC_URI[sha256sum] = "fa53e137f850eb268a8e7ae4578b5db5dc383656341f5053dc1a353ed0288265"
-
-inherit autotools-brokensep systemd
-
-export EXPLICIT_VERSION="${PV}"
-
-SYSTEMD_SERVICE_${PN} = "cfengine3.service cf-apache.service cf-hub.service cf-postgres.service \
- cf-runalerts.service cf-execd.service \
- cf-monitord.service cf-serverd.service \
-"
-SYSTEMD_AUTO_ENABLE_${PN} = "disable"
-
-PACKAGECONFIG ??= "libpcre openssl \
- ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
-"
-PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2,"
-PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql,"
-PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql,"
-PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl,"
-PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt,"
-PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre,"
-PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl,"
-PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam,"
-PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml,"
-PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service"
-PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl,"
-
-EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet"
-
-do_install_append() {
- install -d ${D}${localstatedir}/${BPN}/bin
- for f in `ls ${D}${bindir}`; do
- ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/
- done
-
- install -d ${D}${sysconfdir}/default
- cat << EOF > ${D}${sysconfdir}/default/cfengine3
-RUN_CF_SERVERD=1
-RUN_CF_EXECD=1
-RUN_CF_MONITORD=1
-RUN_CF_HUB=0
-EOF
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3
- sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service
- fi
- rm -rf ${D}${datadir}/cfengine/modules/packages/zypper
-}
-
-RDEPENDS_${PN} += "${BPN}-masterfiles"
diff --git a/meta-oe/recipes-extended/cfengine/cfengine_3.21.0.bb b/meta-oe/recipes-extended/cfengine/cfengine_3.21.0.bb
new file mode 100644
index 0000000000..6fa5d2743a
--- /dev/null
+++ b/meta-oe/recipes-extended/cfengine/cfengine_3.21.0.bb
@@ -0,0 +1,76 @@
+#
+# Copyright (C) 2014 - 2017 Wind River Systems, Inc.
+#
+SUMMARY = "CFEngine is an IT infrastructure automation framework"
+
+DESCRIPTION = "CFEngine is an IT infrastructure automation framework \
+that helps engineers, system administrators and other stakeholders \
+in an IT system to manage and understand IT infrastructure throughout \
+its lifecycle. CFEngine takes systems from Build to Deploy, Manage and Audit."
+
+HOMEPAGE = "http://cfengine.com"
+
+SKIP_RECIPE[cfengine] ?= "Needs porting to openssl 3.x"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=233aa25e53983237cf0bd4c238af255f"
+
+DEPENDS += "attr tokyocabinet bison-native libxml2"
+#RDEPENDS:cfengine += "attr tokyocabinet bison-native libxml2"
+
+SRC_URI = "https://cfengine-package-repos.s3.amazonaws.com/tarballs/${BPN}-community-${PV}.tar.gz \
+ file://0001-Fixed-with-libxml2-no-case-in-configure.ac.patch \
+ file://set-path-of-default-config-file.patch \
+ "
+#SRC_URI[md5sum] = "5318e40702bc66a3ece44ec4ad77712b"
+SRC_URI[sha256sum] = "911778ddb0a4e03a3ddfc8fc0f033136e1551849ea2dcbdb3f0f14359dfe3126"
+
+inherit autotools-brokensep systemd
+
+export EXPLICIT_VERSION="${PV}"
+
+SYSTEMD_SERVICE:${PN} = "cfengine3.service cf-apache.service cf-hub.service cf-postgres.service \
+ cf-runalerts.service cf-execd.service \
+ cf-monitord.service cf-serverd.service \
+"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+PACKAGECONFIG ??= "libpcre openssl \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
+"
+PACKAGECONFIG[libxml2] = "--with-libxml2=yes,--with-libxml2=no,libxml2,"
+PACKAGECONFIG[mysql] = "--with-mysql=yes,--with-mysql=no,mysql,"
+PACKAGECONFIG[postgresql] = "--with-postgresql=yes,--with-postgresql=no,postgresql,"
+PACKAGECONFIG[acl] = "--with-libacl=yes,--with-libacl=no,acl,"
+PACKAGECONFIG[libvirt] = "--with-libvirt=yes,--with-libvirt=no,libvirt,"
+PACKAGECONFIG[libpcre] = "--with-pcre=yes,--with-pcre=no,libpcre,"
+PACKAGECONFIG[openssl] = "--with-openssl=yes,--with-openssl=no,openssl,"
+PACKAGECONFIG[pam] = "--with-pam=yes,--with-pam=no,libpam,"
+PACKAGECONFIG[libyaml] = "--with-libyaml,--without-libyaml,libyaml,"
+PACKAGECONFIG[systemd] = "--with-systemd-service=${systemd_system_unitdir},--without-systemd-service"
+PACKAGECONFIG[libcurl] = "--with-libcurl,--without-libcurl,curl,"
+
+EXTRA_OECONF = "hw_cv_func_va_copy=yes --with-init-script=${sysconfdir}/init.d --with-tokyocabinet"
+
+do_install:append() {
+ install -d ${D}${localstatedir}/${BPN}/bin
+ for f in `ls ${D}${bindir}`; do
+ ln -s ${bindir}/`basename $f` ${D}${localstatedir}/${BPN}/bin/
+ done
+
+ install -d ${D}${sysconfdir}/default
+ cat << EOF > ${D}${sysconfdir}/default/cfengine3
+RUN_CF_SERVERD=1
+RUN_CF_EXECD=1
+RUN_CF_MONITORD=1
+RUN_CF_HUB=0
+EOF
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -m 0755 -D ${D}${sysconfdir}/init.d/cfengine3 ${D}${datadir}/${BPN}/cfengine3
+ sed -i -e 's#/etc/init.d#${datadir}/${BPN}#' ${D}${systemd_system_unitdir}/*.service
+ fi
+ rm -rf ${D}${datadir}/cfengine/modules/packages/zypper
+}
+
+RDEPENDS:${PN} += "${BPN}-masterfiles"
diff --git a/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb b/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb
new file mode 100644
index 0000000000..6b6acf1be8
--- /dev/null
+++ b/meta-oe/recipes-extended/cmatrix/cmatrix_2.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Terminal based 'The Matrix' screen implementation"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "git://github.com/abishekvashok/cmatrix.git;branch=stable;protocol=https"
+SRCREV = "adfdf1656f23e5ab3b52c7d7edf91249a4477e8d"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+DEPENDS += "ncurses"
+
+FILES:${PN} += "${datadir}/* ${libdir}/kbd/*"
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch
deleted file mode 100644
index fa029da2b8..0000000000
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From a701ed30ac1bc2f77d063c237d6ae040a2d53f6b Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Mon, 16 May 2016 16:52:24 +0300
-Subject: [PATCH] Add 'm' suffix to the python library name.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- swig/python/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/swig/python/CMakeLists.txt
-+++ b/swig/python/CMakeLists.txt
-@@ -49,7 +49,7 @@ ADD_DEFINITIONS(-DCMPI_PLATFORM_LINUX_GE
- SET( NAME pyCmpiProvider )
- ADD_LIBRARY( ${NAME} SHARED ${SWIG_OUTPUT})
- #TARGET_LINK_LIBRARIES( ${NAME} ${PYTHON_LIBRARIES} )
--TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION} )
-+TARGET_LINK_LIBRARIES( ${NAME} python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}${PYTHON_ABI} )
- TARGET_LINK_LIBRARIES( ${NAME} pthread )
- TARGET_LINK_LIBRARIES( ${NAME} dl )
- TARGET_LINK_LIBRARIES( ${NAME} util )
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Fix-error.patch b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Fix-error.patch
index d1a303cf4f..1f147d52f6 100644
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Fix-error.patch
+++ b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Fix-error.patch
@@ -1,18 +1,19 @@
-From b8e791ce93a467081fb1594b91841e2f57c634a0 Mon Sep 17 00:00:00 2001
+From 3ab3ac2876cbf4a34a94f0d3256a5be9d1202370 Mon Sep 17 00:00:00 2001
From: Qian Lei <qianl.fnst@cn.fujitsu.com>
Date: Fri, 16 Jan 2015 18:37:26 +0800
Subject: [PATCH] Fix error
Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
+Upstream-Status: Pending
---
swig/python/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt
-index 3976296..8073fc8 100644
+index 93b4755..a7268f0 100644
--- a/swig/python/CMakeLists.txt
+++ b/swig/python/CMakeLists.txt
-@@ -27,7 +27,7 @@ SET( SWIG_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/../cmpi.i" )
+@@ -26,7 +26,7 @@ SET( SWIG_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/../cmpi.i" )
ADD_CUSTOM_COMMAND (
OUTPUT ${SWIG_OUTPUT}
COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for Python ..."
@@ -21,6 +22,3 @@ index 3976296..8073fc8 100644
COMMAND ${CMAKE_COMMAND} -E echo "Done."
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
---
-1.8.3.1
-
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Modify-cmakelist.patch b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Modify-cmakelist.patch
deleted file mode 100644
index 92e5e5662e..0000000000
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-Modify-cmakelist.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 070822507befe7c1b8bb1be2d36cb12141d03b8f Mon Sep 17 00:00:00 2001
-From: Qian Lei <qianl.fnst@cn.fujitsu.com>
-Date: Tue, 6 Jan 2015 18:38:32 +0800
-Subject: [PATCH] Change the install path in cmakelist
-
-Upstream-Status: Pending
-Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
----
- swig/python/CMakeLists.txt | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt
-index 3976296..93c87c1 100644
---- a/swig/python/CMakeLists.txt
-+++ b/swig/python/CMakeLists.txt
-@@ -56,18 +56,18 @@ TARGET_LINK_LIBRARIES( ${NAME} util )
-
- INSTALL(TARGETS ${NAME} LIBRARY DESTINATION ${CMPI_LIBRARY_DIR})
- # .py: swig generated
--INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmpi.py DESTINATION ${PYTHON_SITE_DIR} )
-+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/cmpi.py DESTINATION $ENV{ENV_INSTALL_PATH} )
-
-
- #
- # cmpi_pywbem_bindings.py: provider implementation
- #
--INSTALL(FILES cmpi_pywbem_bindings.py DESTINATION ${PYTHON_SITE_DIR} )
-+INSTALL(FILES cmpi_pywbem_bindings.py DESTINATION $ENV{ENV_INSTALL_PATH} )
- #INSTALL(FILES Py_UnixProcessProvider.py DESTINATION /usr/lib/pycim )
-
--INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile; compile('\$ENV{DESTDIR}${PYTHON_SITE_DIR}/cmpi.py', dfile='${PYTHON_SITE_DIR}/cmpi.py')\")")
-+INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile; compile('\$ENV{DESTDIR}$ENV{ENV_INSTALL_PATH}/cmpi.py', dfile='\$ENV{ENV_INSTALL_PATH}/cmpi.py')\")")
-
--INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile; compile('\$ENV{DESTDIR}${PYTHON_SITE_DIR}/cmpi_pywbem_bindings.py', dfile='${PYTHON_SITE_DIR}/cmpi_pywbem_bindings.py')\")")
-+INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"from py_compile import compile; compile('\$ENV{DESTDIR}$ENV{ENV_INSTALL_PATH}/cmpi_pywbem_bindings.py', dfile='$ENV{ENV_INSTALL_PATH}/cmpi_pywbem_bindings.py')\")")
-
-
-
---
-1.8.3.1
-
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-fix-the-build-error-when-python-3.0.patch b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-fix-the-build-error-when-python-3.0.patch
deleted file mode 100644
index 0d6f029e4c..0000000000
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/0001-fix-the-build-error-when-python-3.0.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 323ced03a66e6cd963d8277b66cfcc7dce740be7 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Fri, 17 Jul 2015 01:33:43 -0700
-Subject: [PATCH] fix Xthe build error when python>3.0
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- src/target_python.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/src/target_python.c b/src/target_python.c
-index 90b43a1..2b76c9e 100644
---- a/src/target_python.c
-+++ b/src/target_python.c
-@@ -167,7 +167,12 @@ PyGlobalInitialize(const CMPIBroker* broker, CMPIStatus* st)
-
- Py_SetProgramName("cmpi_swig");
- Py_Initialize();
-- SWIGEXPORT void SWIG_init(void);
-+#if PY_VERSION_HEX >= 0x03000000
-+SWIGEXPORT PyObject*
-+#else
-+ SWIGEXPORT void
-+#endif
-+ SWIG_init(void);
- SWIG_init();
- cmpiMainPyThreadState = PyGILState_GetThisThreadState();
- PyEval_ReleaseThread(cmpiMainPyThreadState);
---
-2.1.0
-
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-no-ruby-perl.patch b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-no-ruby-perl.patch
index 2072da72b5..1f9e2394c3 100644
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-no-ruby-perl.patch
+++ b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-no-ruby-perl.patch
@@ -1,4 +1,4 @@
-From 7dd01e33f9dac75f177113de9a8ff458d4263a11 Mon Sep 17 00:00:00 2001
+From 0871fb048a48a02ec598c941e577f13d8d24f574 Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Mon, 24 Aug 2015 11:00:13 +0900
Subject: [PATCH] cmpi-bindings-0.4.17 no ruby perl
@@ -7,17 +7,18 @@ Port from Fedora20
Upstream-Status: Pending
Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
+
---
swig/CMakeLists.txt | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt
-index 8b5555c..c2655b9 100644
+index 00bf40c..d3cab38 100644
--- a/swig/CMakeLists.txt
+++ b/swig/CMakeLists.txt
-@@ -15,15 +15,15 @@ IF (PYTHON_LIBRARY)
- ENDIF (PYTHON_LINK_LIBS)
- ENDIF (PYTHON_LIBRARY)
+@@ -49,15 +49,15 @@ ELSE (BUILD_PYTHON2)
+ MESSAGE(STATUS "*****")
+ ENDIF (BUILD_PYTHON3)
-FIND_PACKAGE(Perl)
-IF (PERL_EXECUTABLE)
@@ -42,6 +43,3 @@ index 8b5555c..c2655b9 100644
+# ADD_SUBDIRECTORY(ruby)
+# OPTION( BUILD_RUBY_GEM "Build Ruby GEM" YES )
+#ENDIF (RUBY_LIBRARY AND RUBY_INCLUDE_PATH)
---
-1.8.4.2
-
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-sblim-sigsegv.patch b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-sblim-sigsegv.patch
index b99337204d..04abd5e4b9 100644
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-sblim-sigsegv.patch
+++ b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.4.17-sblim-sigsegv.patch
@@ -1,12 +1,20 @@
-Port from Fedora20
+From bc32342fa63b8359f985fe1e187e811455c96a50 Mon Sep 17 00:00:00 2001
+From: Qian Lei <qianl.fnst@cn.fujitsu.com>
+Date: Tue, 25 Aug 2015 13:19:51 +0800
+Subject: [PATCH] Port from Fedora20
Upstream-Status: Pending
Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
-diff -up cmpi-bindings-0.4.17/swig/python/cmpi_pywbem_bindings.py.orig cmpi-bindings-0.4.17/swig/python/cmpi_pywbem_bindings.py
---- cmpi-bindings-0.4.17/swig/python/cmpi_pywbem_bindings.py.orig 2012-03-01 17:05:31.878367281 +0100
-+++ cmpi-bindings-0.4.17/swig/python/cmpi_pywbem_bindings.py 2012-03-01 17:06:34.718110137 +0100
-@@ -350,10 +350,10 @@ class BrokerCIMOMHandle(object):
+---
+ swig/python/cmpi_pywbem_bindings.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/swig/python/cmpi_pywbem_bindings.py b/swig/python/cmpi_pywbem_bindings.py
+index d643990..7f0cc77 100644
+--- a/swig/python/cmpi_pywbem_bindings.py
++++ b/swig/python/cmpi_pywbem_bindings.py
+@@ -361,10 +361,10 @@ class BrokerCIMOMHandle(object):
allow_null_ns = False
else:
allow_null_ns = True
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.9.5-python-lib-dir.patch b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.9.5-python-lib-dir.patch
deleted file mode 100644
index b6a51ec0d2..0000000000
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings/cmpi-bindings-0.9.5-python-lib-dir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Port from Fedora20
-
-Upstream-Status: Pending
-Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
-
-diff -up cmpi-bindings-0.9.5/swig/python/CMakeLists.txt.old cmpi-bindings-0.9.5/swig/python/CMakeLists.txt
---- cmpi-bindings-0.9.5/swig/python/CMakeLists.txt.old 2013-08-06 15:57:03.576285764 +0200
-+++ cmpi-bindings-0.9.5/swig/python/CMakeLists.txt 2013-08-06 15:57:14.891345941 +0200
-@@ -9,7 +9,7 @@ SET (BUILD_SHARED_LIBS ON)
-
- FIND_PACKAGE(PythonInterp REQUIRED)
-
--EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib())" OUTPUT_VARIABLE PYTHON_LIB_DIR)
-+EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(1))" OUTPUT_VARIABLE PYTHON_LIB_DIR)
-
- IF (NOT PYTHON_SITE_DIR)
- SET (PYTHON_SITE_DIR ${PYTHON_LIB_DIR})
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
deleted file mode 100644
index 6c71d534be..0000000000
--- a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.1.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "Adapter to write and run CMPI-type CIM providers"
-DESCRIPTION = "CMPI-compliant provider interface for various languages via SWIG"
-HOMEPAGE = "http://github.com/kkaempf/cmpi-bindings"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b19ee058d2d5f69af45da98051d91064"
-SECTION = "Development/Libraries"
-DEPENDS = "swig-native python3 sblim-cmpi-devel"
-
-SRC_URI = "git://github.com/kkaempf/cmpi-bindings.git;protocol=http \
- file://cmpi-bindings-0.4.17-no-ruby-perl.patch \
- file://cmpi-bindings-0.4.17-sblim-sigsegv.patch \
- file://cmpi-bindings-0.9.5-python-lib-dir.patch \
- file://0001-Modify-cmakelist.patch \
- file://0001-Fix-error.patch \
- file://0001-fix-the-build-error-when-python-3.0.patch \
- file://0001-Add-PYTHON_ABI-suffix-to-the-python-library-name.patch \
- "
-
-SRCREV = "62f60e065aa1b901f826e4f530c0573ae32d065e"
-S = "${WORKDIR}/git"
-
-inherit cmake python3native
-
-EXTRA_OECMAKE = "-DLIB='${baselib}' \
- -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \
- -DPYTHON_ABI=${PYTHON_ABI} \
- "
-
-# With Ninja it fails with:
-# ninja: error: build.ninja:282: bad $-escape (literal $ must be written as $$)
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-do_configure_prepend() {
- export STAGING_LIBDIR=${STAGING_LIBDIR}
- export STAGING_INCDIR=${STAGING_INCDIR}
- export ENV_INSTALL_PATH=${PYTHON_SITEPACKAGES_DIR}
-}
-
-FILES_${PN} =+"${libdir}/cmpi/libpyCmpiProvider.so ${PYTHON_SITEPACKAGES_DIR}/*"
-FILES_${PN}-dbg =+ "${libdir}/cmpi/.debug/libpyCmpiProvider.so"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.4.bb b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.4.bb
new file mode 100644
index 0000000000..781dc83da9
--- /dev/null
+++ b/meta-oe/recipes-extended/cmpi-bindings/cmpi-bindings_1.0.4.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Adapter to write and run CMPI-type CIM providers"
+DESCRIPTION = "CMPI-compliant provider interface for various languages via SWIG"
+HOMEPAGE = "http://github.com/kkaempf/cmpi-bindings"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b19ee058d2d5f69af45da98051d91064"
+SECTION = "Development/Libraries"
+DEPENDS = "swig-native sblim-cmpi-devel python3-setuptools-native"
+
+SRC_URI = "git://github.com/kkaempf/cmpi-bindings.git;protocol=https;branch=master \
+ file://cmpi-bindings-0.4.17-no-ruby-perl.patch \
+ file://cmpi-bindings-0.4.17-sblim-sigsegv.patch \
+ file://0001-Fix-error.patch \
+ "
+
+SRCREV = "69077ee4d249816ed428155fc933dca424167e77"
+S = "${WORKDIR}/git"
+
+inherit cmake python3targetconfig
+
+EXTRA_OECMAKE = "-DLIB='${baselib}' \
+ -DPYTHON_INCLUDE_PATH=${STAGING_INCDIR}/python${PYTHON_BASEVERSION} \
+ -DPYTHON_ABI=${PYTHON_ABI} \
+ -DBUILD_PYTHON3=YES \
+ -DPython3_SITE_DIR=${PYTHON_SITEPACKAGES_DIR} \
+ "
+
+# With Ninja it fails with:
+# ninja: error: build.ninja:282: bad $-escape (literal $ must be written as $$)
+OECMAKE_GENERATOR = "Unix Makefiles"
+
+FILES:${PN} =+"${libdir}/cmpi/libpy3CmpiProvider.so ${PYTHON_SITEPACKAGES_DIR}/*"
+FILES:${PN}-dbg =+ "${libdir}/cmpi/.debug/libpyCmpiProvider.so"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch b/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
index 8d31e12f94..f42461e322 100644
--- a/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
+++ b/meta-oe/recipes-extended/collectd/collectd/0001-configure-Check-for-Wno-error-format-truncation-comp.patch
@@ -14,6 +14,8 @@ client.c:834:23: error: '%s' directive output may be truncated writing up to 102
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 1 +
m4/ax_check_compile_flag.m4 | 74 +++++++++++++++++++++++++++++++++++++
2 files changed, 75 insertions(+)
diff --git a/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch b/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch
index 13510cdea0..459bbd4e5a 100644
--- a/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch
+++ b/meta-oe/recipes-extended/collectd/collectd/0005-Disable-new-gcc8-warnings.patch
@@ -9,6 +9,8 @@ already in place
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/libcollectdclient/network_parse.c | 7 +++++++
src/write_sensu.c | 7 +++++++
2 files changed, 14 insertions(+)
diff --git a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
index f12b16cb91..409f8dea02 100644
--- a/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
+++ b/meta-oe/recipes-extended/collectd/collectd/no-gcrypt-badpath.patch
@@ -3,6 +3,8 @@ From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Mon, 22 Apr 2013 16:28:16 +0000
---
+Upstream-Status: Pending
+
configure.ac | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb b/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
index f84a91adf1..02f1fcb420 100644
--- a/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
+++ b/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
@@ -1,11 +1,12 @@
SUMMARY = "Collects and summarises system performance statistics"
DESCRIPTION = "collectd is a daemon which collects system performance statistics periodically and provides mechanisms to store the values in a variety of ways, for example in RRD files."
-LICENSE = "GPLv2 & MIT"
+HOMEPAGE = "https://collectd.org/"
+LICENSE = "GPL-2.0-only & MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=1bd21f19f7f0c61a7be8ecacb0e28854"
-DEPENDS = "rrdtool curl libpcap libxml2 yajl libgcrypt libtool lvm2"
+DEPENDS = "curl libpcap libxml2 yajl libgcrypt libtool lvm2"
-SRC_URI = "http://collectd.org/files/collectd-${PV}.tar.bz2 \
+SRC_URI = "https://collectd.org/files/collectd-${PV}.tar.bz2 \
file://collectd.init \
file://collectd.service \
file://no-gcrypt-badpath.patch \
@@ -20,7 +21,7 @@ SRC_URI[sha256sum] = "5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c
inherit autotools python3native update-rc.d pkgconfig systemd
-SYSTEMD_SERVICE_${PN} = "collectd.service"
+SYSTEMD_SERVICE:${PN} = "collectd.service"
# Floatingpoint layout, architecture dependent
# 'nothing', 'endianflip' or 'intswap'
@@ -50,7 +51,8 @@ PACKAGECONFIG[libmnl] = "--with-libmnl,--without-libmnl,libmnl"
PACKAGECONFIG[libatasmart] = "--with-libatasmart,--without-libatasmart,libatasmart"
PACKAGECONFIG[ldap] = "--enable-openldap --with-libldap,--disable-openldap --without-libldap, openldap"
PACKAGECONFIG[rrdtool] = "--enable-rrdtool,--disable-rrdtool,rrdtool"
-PACKAGECONFIG[rrdcached] = "--enable-rrdcached,--disable-rrdcached,rrdcached"
+PACKAGECONFIG[rrdcached] = "--enable-rrdcached,--disable-rrdcached,rrdtool"
+PACKAGECONFIG[python] = "--enable-python,--disable-python"
EXTRA_OECONF = " \
${FPLAYOUT} \
@@ -59,7 +61,7 @@ EXTRA_OECONF = " \
--disable-notify_desktop --disable-werror \
"
-do_install_append() {
+do_install:append() {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/collectd.init ${D}${sysconfdir}/init.d/collectd
sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/collectd
@@ -70,8 +72,8 @@ do_install_append() {
# Fix configuration file to allow collectd to start up
sed -i 's!^#FQDNLookup[ \t]*true!FQDNLookup false!g' ${D}${sysconfdir}/collectd.conf
- rmdir "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+ rmdir ${D}${localstatedir}/run ${D}${localstatedir}/log
+ rmdir --ignore-fail-on-non-empty ${D}${localstatedir}
# Install systemd unit files
install -d ${D}${systemd_unitdir}/system
@@ -80,7 +82,7 @@ do_install_append() {
${D}${systemd_unitdir}/system/collectd.service
}
-CONFFILES_${PN} = "${sysconfdir}/collectd.conf"
+CONFFILES:${PN} = "${sysconfdir}/collectd.conf"
INITSCRIPT_NAME = "collectd"
INITSCRIPT_PARAMS = "defaults"
diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb
deleted file mode 100644
index cf24354f29..0000000000
--- a/meta-oe/recipes-extended/ddrescue/ddrescue_1.25.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Data recovery tool"
-DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
- from one file or block device (hard disc, cdrom, etc) to another, \
- trying hard to rescue data in case of read errors."
-HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
-SECTION = "console"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
- file://main_common.cc;beginline=5;endline=16;md5=3ec288b2676528cd2b069364e313016f"
-
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
-SRC_URI[md5sum] = "99fd7a28bf9953d88534c7ee9ab5bd2a"
-SRC_URI[sha256sum] = "ce538ebd26a09f45da67d3ad3f7431932428231ceec7a2d255f716fa231a1063"
-
-# This isn't already added by base.bbclass
-do_unpack[depends] += "lzip-native:do_populate_sysroot"
-
-CONFIGUREOPTS = "\
- '--srcdir=${S}' \
- '--prefix=${prefix}' \
- '--exec-prefix=${exec_prefix}' \
- '--bindir=${bindir}' \
- '--datadir=${datadir}' \
- '--infodir=${infodir}' \
- '--sysconfdir=${sysconfdir}' \
- 'CXX=${CXX}' \
- 'CPPFLAGS=${CPPFLAGS}' \
- 'CXXFLAGS=${CXXFLAGS}' \
- 'LDFLAGS=${LDFLAGS}' \
-"
-EXTRA_OEMAKE = ""
-
-do_configure () {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install () {
- oe_runmake 'DESTDIR=${D}' install
- # Info dir listing isn't interesting at this point so remove it if it exists.
- if [ -e "${D}${infodir}/dir" ]; then
- rm -f ${D}${infodir}/dir
- fi
-}
diff --git a/meta-oe/recipes-extended/ddrescue/ddrescue_1.28.bb b/meta-oe/recipes-extended/ddrescue/ddrescue_1.28.bb
new file mode 100644
index 0000000000..0863fc1209
--- /dev/null
+++ b/meta-oe/recipes-extended/ddrescue/ddrescue_1.28.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Data recovery tool"
+DESCRIPTION = "GNU ddrescue is a data recovery tool. It copies data \
+ from one file or block device (hard disc, cdrom, etc) to another, \
+ trying hard to rescue data in case of read errors."
+HOMEPAGE = "http://www.gnu.org/software/ddrescue/ddrescue.html"
+SECTION = "console"
+LICENSE = "GPL-2.0-or-later"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=76d6e300ffd8fb9d18bd9b136a9bba13 \
+ file://main_common.cc;beginline=5;endline=16;md5=ad099df052bdd8297f490712285069da \
+ "
+
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.lz"
+SRC_URI[sha256sum] = "6626c07a7ca1cc1d03cad0958522c5279b156222d32c342e81117cfefaeb10c1"
+
+# This isn't already added by base.bbclass
+do_unpack[depends] += "lzip-native:do_populate_sysroot"
+
+CONFIGUREOPTS = "\
+ '--srcdir=${S}' \
+ '--prefix=${prefix}' \
+ '--exec-prefix=${exec_prefix}' \
+ '--bindir=${bindir}' \
+ '--datadir=${datadir}' \
+ '--infodir=${infodir}' \
+ '--sysconfdir=${sysconfdir}' \
+ 'CXX=${CXX}' \
+ 'CPPFLAGS=${CPPFLAGS}' \
+ 'CXXFLAGS=${CXXFLAGS}' \
+ 'LDFLAGS=${LDFLAGS}' \
+"
+EXTRA_OEMAKE = ""
+
+do_configure () {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}${infodir}/dir" ]; then
+ rm -f ${D}${infodir}/dir
+ fi
+}
diff --git a/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb b/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb
deleted file mode 100644
index 4f49fb9062..0000000000
--- a/meta-oe/recipes-extended/dialog/dialog_1.3-20210117.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "display dialog boxes from shell scripts"
-DESCRIPTION = "Dialog lets you to present a variety of questions \
-or display messages using dialog boxes from a shell \
-script (or any scripting language)."
-HOMEPAGE = "http://invisible-island.net/dialog/"
-SECTION = "console/utils"
-DEPENDS = "ncurses"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-
-SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
- "
-SRC_URI[md5sum] = "c27db8bb67f71ee32ab1b54a3b3cebc3"
-SRC_URI[sha256sum] = "3c1ed08f44bcf6f159f2aa6fde765db94e8997b3eefb49d8b4c86691693c43e1"
-
-# hardcoded here for use in dialog-static recipe
-S = "${WORKDIR}/dialog-${PV}"
-
-inherit autotools-brokensep pkgconfig
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-
-PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
-
-EXTRA_OECONF = "--with-ncurses \
- --disable-rpath-hack"
-
-do_configure() {
- gnu-configize --force
- sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
- sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
- oe_runconf
-}
diff --git a/meta-oe/recipes-extended/dialog/dialog_1.3-20240307.bb b/meta-oe/recipes-extended/dialog/dialog_1.3-20240307.bb
new file mode 100644
index 0000000000..a497175364
--- /dev/null
+++ b/meta-oe/recipes-extended/dialog/dialog_1.3-20240307.bb
@@ -0,0 +1,31 @@
+SUMMARY = "display dialog boxes from shell scripts"
+DESCRIPTION = "Dialog lets you to present a variety of questions \
+or display messages using dialog boxes from a shell \
+script (or any scripting language)."
+HOMEPAGE = "http://invisible-island.net/dialog/"
+SECTION = "console/utils"
+DEPENDS = "ncurses"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
+
+SRC_URI = "https://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
+SRC_URI[sha256sum] = "339d311c6abb240213426b99ad63565cbcb3e8641ef1989c033e945b754d34ef"
+
+# hardcoded here for use in dialog-static recipe
+S = "${WORKDIR}/dialog-${PV}"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+
+PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
+
+EXTRA_OECONF = "--with-ncurses \
+ --disable-rpath-hack"
+
+do_configure() {
+ gnu-configize --force
+ sed -i 's,${cf_ncuconfig_root}6-config,${cf_ncuconfig_root}-config,g' -i configure
+ sed -i 's,cf_have_ncuconfig=unknown,cf_have_ncuconfig=yes,g' -i configure
+ oe_runconf
+}
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
index 181be25c7f..cfb820cec7 100644
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
@@ -18,7 +18,7 @@ diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.ser
index 8dac1f2..ecf9f9e 100644
--- a/systemd/dlt-adaptor-udp.service.cmake
+++ b/systemd/dlt-adaptor-udp.service.cmake
-@@ -21,9 +21,8 @@ Wants=dlt.service
+@@ -19,9 +19,8 @@ Wants=dlt.service
[Service]
Type=simple
@@ -51,7 +51,7 @@ index b665742..35009b0 100644
[Service]
Type=simple
-User=@DLT_USER@
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application"
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from COVESA DLT example user application"
-LimitCORE=infinity
\ No newline at end of file
+LimitCORE=infinity
@@ -59,7 +59,7 @@ diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cma
index c07d447..8f88f00 100644
--- a/systemd/dlt-receive.service.cmake
+++ b/systemd/dlt-receive.service.cmake
-@@ -22,6 +22,5 @@ Wants=dlt.service
+@@ -20,6 +20,5 @@ Wants=dlt.service
[Service]
Type=simple
@@ -72,7 +72,7 @@ diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake
index 0e91f42..1a5b913 100755
--- a/systemd/dlt-system.service.cmake
+++ b/systemd/dlt-system.service.cmake
-@@ -22,7 +22,6 @@ Wants=dlt.service
+@@ -20,7 +20,6 @@ Wants=dlt.service
[Service]
Type=simple
@@ -84,7 +84,7 @@ diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake
index 0b3ee2c..e4753a2 100755
--- a/systemd/dlt.service.cmake
+++ b/systemd/dlt.service.cmake
-@@ -21,7 +21,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
+@@ -19,7 +19,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
[Service]
Type=simple
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
new file mode 100644
index 0000000000..3699b8c83a
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
@@ -0,0 +1,80 @@
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/544]
+
+From 8121a979026d5fcb05bd4e5d3a0647f321b56106 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Thu, 28 Sep 2023 12:54:23 +0200
+Subject: [PATCH] Add common dlt_cdh_cpuinfo.c to unblock build on non amd64
+ and i386 arcs
+
+---
+ src/core_dump_handler/dlt_cdh.h | 2 ++
+ src/core_dump_handler/dlt_cdh_cpuinfo.c | 33 +++++++++++++++++++++++++
+ src/core_dump_handler/dlt_cdh_crashid.c | 2 +-
+ 3 files changed, 36 insertions(+), 1 deletion(-)
+ create mode 100644 src/core_dump_handler/dlt_cdh_cpuinfo.c
+
+diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
+index d572ecf3..8608c6c4 100644
+--- a/src/core_dump_handler/dlt_cdh.h
++++ b/src/core_dump_handler/dlt_cdh.h
+@@ -55,6 +55,8 @@ typedef struct
+ uint64_t pc;
+ uint64_t ip;
+ uint64_t lr;
++ uint64_t sp;
++ uint64_t fp;
+
+ } cdh_registers_t;
+
+diff --git a/src/core_dump_handler/dlt_cdh_cpuinfo.c b/src/core_dump_handler/dlt_cdh_cpuinfo.c
+new file mode 100644
+index 00000000..03509fda
+--- /dev/null
++++ b/src/core_dump_handler/dlt_cdh_cpuinfo.c
+@@ -0,0 +1,33 @@
++/*
++ * SPDX license identifier: MPL-2.0
++ *
++ * Copyright (C) 2011-2015, BMW AG
++ *
++ * This file is part of COVESA Project DLT - Diagnostic Log and Trace.
++ *
++ * This Source Code Form is subject to the terms of the
++ * Mozilla Public License (MPL), v. 2.0.
++ * If a copy of the MPL was not distributed with this file,
++ * You can obtain one at http://mozilla.org/MPL/2.0/.
++ *
++ * For further information see http://www.covesa.org/.
++ */
++
++/*!
++ * \author Gianfranco Costamagna <locutusofborg@debian.org>
++ *
++ * \copyright Copyright © 2011-2015 BMW AG. \n
++ * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.
++ *
++ * \file dlt_cdh_cpuinfo.c
++ */
++
++#include "dlt_cdh_cpuinfo.h"
++
++void get_registers(prstatus_t *prstatus, cdh_registers_t *registers)
++{
++/* struct user_regs_struct *ptr_reg = (struct user_regs_struct *)prstatus->pr_reg;
++
++ registers->pc = ptr_reg->pc;*/ /* [REG_PROC_COUNTER]; */
++
++}
+diff --git a/src/core_dump_handler/dlt_cdh_crashid.c b/src/core_dump_handler/dlt_cdh_crashid.c
+index bca44e0e..8dd98d70 100644
+--- a/src/core_dump_handler/dlt_cdh_crashid.c
++++ b/src/core_dump_handler/dlt_cdh_crashid.c
+@@ -30,7 +30,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
+-#include <asm/prctl.h>
++#include <sys/prctl.h>
+ #include <inttypes.h>
+
+ #include "dlt_cdh.h"
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
new file mode 100644
index 0000000000..fd36480456
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
@@ -0,0 +1,36 @@
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/567]
+
+From c84e48f6986054cf8b9459e608235b7bd1635746 Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
+Date: Mon, 13 Nov 2023 12:37:23 +0100
+Subject: [PATCH] dlt_cdh:
+
+Make sure on 64 bit we read an ELF64 structure.
+Otherwise we get a read error, and the context file is missing some good
+to know information
+---
+ src/core_dump_handler/dlt_cdh.h | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
+index 8608c6c4..3dac480a 100644
+--- a/src/core_dump_handler/dlt_cdh.h
++++ b/src/core_dump_handler/dlt_cdh.h
+@@ -45,10 +45,17 @@
+ #define CORE_FILE_PATTERN "%s/core.%d.%s.%d.gz"
+ #define CONTEXT_FILE_PATTERN "%s/context.%d.%s.%d.txt"
+
++#if ((__SIZEOF_POINTER) == 4)
+ #define ELF_Ehdr Elf32_Ehdr
+ #define ELF_Phdr Elf32_Phdr
+ #define ELF_Shdr Elf32_Shdr
+ #define ELF_Nhdr Elf32_Nhdr
++#else
++#define ELF_Ehdr Elf64_Ehdr
++#define ELF_Phdr Elf64_Phdr
++#define ELF_Shdr Elf64_Shdr
++#define ELF_Nhdr Elf64_Nhdr
++#endif
+
+ typedef struct
+ {
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
new file mode 100644
index 0000000000..3d2e4a73f1
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Diagnostic Log and Trace"
+DESCRIPTION = "This component provides a standardised log and trace interface, \
+based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \
+This component can be used by COVESA components and other applications as \
+logging facility providing: \
+- the DLT shared library \
+- the DLT daemon, including startup scripts \
+- the DLT daemon adaptors- the DLT client console utilities \
+- the DLT test applications"
+HOMEPAGE = "https://www.covesa.global/"
+SECTION = "console/utils"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea"
+
+DEPENDS = "zlib gzip-native json-c"
+
+SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
+ file://0002-Don-t-execute-processes-as-a-specific-user.patch \
+ file://0004-Modify-systemd-config-directory.patch \
+ file://544.patch \
+ file://567.patch \
+ "
+SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal ', '', d)} \
+ dlt-examples dlt-adaptor dlt-adaptor-stdin dlt-adaptor-udp dlt-console \
+ udp-connection dlt-system dlt-filetransfer "
+# dlt-dbus
+
+# General options
+PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF"
+
+# Linux options
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF -DWITH_DLT_SYSTEM=OFF,systemd"
+PACKAGECONFIG[systemd-watchdog] = "-DWITH_SYSTEMD_WATCHDOG=ON,-DWITH_SYSTEMD_WATCHDOG=OFF,systemd,libsystemd"
+PACKAGECONFIG[systemd-journal] = "-DWITH_SYSTEMD_JOURNAL=ON,-DWITH_SYSTEMD_JOURNAL=OFF,systemd,libsystemd"
+PACKAGECONFIG[dlt-dbus] = "-DWITH_DLT_DBUS=ON,-DWITH_DLT_DBUS=OFF,dbus,dbus-lib"
+PACKAGECONFIG[udp-connection] = "-DWITH_UDP_CONNECTION=ON,-DWITH_UDP_CONNECTION=OFF"
+
+# Command line options
+PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF"
+PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF"
+PACKAGECONFIG[dlt-adaptor-stdin] = "-DWITH_DLT_ADAPTOR_STDIN=ON,-DWITH_DLT_ADAPTOR_STDIN=OFF"
+PACKAGECONFIG[dlt-adaptor-udp] = "-DWITH_DLT_ADAPTOR_UDP=ON,-DWITH_DLT_ADAPTOR_UDP=OFF"
+PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF"
+PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF"
+
+inherit autotools gettext cmake pkgconfig systemd
+
+# -DWITH_DLT_COREDUMPHANDLER=ON this feature is too experimental, disable for now
+#FILES:${PN} += "${libdir}/sysctl.d"
+EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
+
+PACKAGES += "${PN}-systemd"
+SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'dlt.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-system', 'dlt-system.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-dbus', 'dlt-dbus.service', '', d)}"
+SYSTEMD_AUTO_ENABLE:${PN} = "enable"
+SYSTEMD_SERVICE:${PN}-systemd = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-adaptor-udp', 'dlt-adaptor-udp.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples', 'dlt-example-user.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'systemd dlt-examples dlt-console', 'dlt-receive.service', '', d)} \
+"
+SYSTEMD_AUTO_ENABLE:${PN}-systemd = "disable"
+
+FILES:${PN}-doc += "${datadir}/dlt-filetransfer"
+
+do_install:append() {
+ rm -f ${D}${bindir}/dlt-test-*
+}
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.6.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.6.bb
deleted file mode 100644
index b3cfb4709f..0000000000
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.6.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "Diagnostic Log and Trace"
-DESCRIPTION = "This component provides a standardised log and trace interface, \
-based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \
-This component can be used by GENIVI components and other applications as \
-logging facility providing: \
-- the DLT shared library \
-- the DLT daemon, including startup scripts \
-- the DLT daemon adaptors- the DLT client console utilities \
-- the DLT test applications"
-HOMEPAGE = "https://www.genivi.org/"
-SECTION = "console/utils"
-LICENSE = "MPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea"
-
-DEPENDS = "zlib gzip-native"
-
-SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=https \
- file://0002-Don-t-execute-processes-as-a-specific-user.patch \
- file://0004-Modify-systemd-config-directory.patch \
-"
-SRCREV = "22715aeceaa81ace2c832312529bde3a42d0814f"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal dlt-examples dlt-adaptor dlt-console ', '', d)} \
- udp-connection dlt-system dlt-filetransfer "
-# dlt-dbus
-
-# General options
-PACKAGECONFIG[dlt-examples] = "-DWITH_DLT_EXAMPLES=ON,-DWITH_DLT_EXAMPLES=OFF,,dlt-daemon-systemd"
-
-# Linux options
-PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
-PACKAGECONFIG[systemd-watchdog] = "-DWITH_SYSTEMD_WATCHDOG=ON,-DWITH_SYSTEMD_WATCHDOG=OFF,systemd,libsystemd"
-PACKAGECONFIG[systemd-journal] = "-DWITH_SYSTEMD_JOURNAL=ON,-DWITH_SYSTEMD_JOURNAL=OFF,systemd,libsystemd"
-PACKAGECONFIG[dlt-dbus] = "-DWITH_DLT_DBUS=ON,-DWITH_DLT_DBUS=OFF,dbus,dbus-lib"
-PACKAGECONFIG[udp-connection] = "-DWITH_UDP_CONNECTION=ON,-DWITH_UDP_CONNECTION=OFF"
-
-# Command line options
-PACKAGECONFIG[dlt-system] = "-DWITH_DLT_SYSTEM=ON,-DWITH_DLT_SYSTEM=OFF"
-PACKAGECONFIG[dlt-adaptor] = "-DWITH_DLT_ADAPTOR=ON,-DWITH_DLT_ADAPTOR=OFF,,dlt-daemon-systemd"
-PACKAGECONFIG[dlt-filetransfer] = "-DWITH_DLT_FILETRANSFER=ON,-DWITH_DLT_FILETRANSFER=OFF"
-PACKAGECONFIG[dlt-console] = "-DWITH_DLT_CONSOLE=ON,-DWITH_DLT_CONSOLE=OFF,,dlt-daemon-systemd"
-
-inherit autotools gettext cmake systemd
-
-EXTRA_OECMAKE += "-DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
-
-PACKAGES += "${PN}-systemd"
-SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = " ${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'dlt.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'dlt-system', 'dlt-system.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'dlt-dbus', 'dlt-dbus.service', '', d)}"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-SYSTEMD_SERVICE_${PN}-systemd = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'dlt-adaptor', 'dlt-adaptor-udp.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples', 'dlt-example-user.service', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'dlt-examples dlt-console', 'dlt-receive.service', '', d)} \
-"
-SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable"
-
-FILES_${PN}-doc += "${datadir}/dlt-filetransfer"
-
-do_install_append() {
- rm -f ${D}${bindir}/dlt-test-*
-}
diff --git a/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb b/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb
index 7a6b0bf95d..ec0b4da935 100644
--- a/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb
+++ b/meta-oe/recipes-extended/docopt.cpp/docopt.cpp_git.bb
@@ -13,14 +13,18 @@ LIC_FILES_CHKSUM = "\
file://LICENSE-MIT;md5=4b242fd9ef20207e18286d73da8a6677 \
"
-DEPENDS = "boost"
SRCREV = "42ebcec9dc2c99a1b3a4542787572045763ad196"
-PV = "0.6.3+git${SRCPV}"
+PV = "0.6.3+git"
SRC_URI = "\
- git://github.com/docopt/docopt.cpp.git;protocol=https \
+ git://github.com/docopt/docopt.cpp.git;protocol=https;branch=master \
"
S = "${WORKDIR}/git"
inherit cmake
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[boost] = "-DUSE_BOOST_REGEX=ON,-DUSE_BOOST_REGEX=OFF,boost"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb b/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb
new file mode 100644
index 0000000000..22b6c782a6
--- /dev/null
+++ b/meta-oe/recipes-extended/duktape/duktape_2.7.0.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Duktape embeddable Javascript engine"
+DESCRIPTION = "Duktape is an embeddable Javascript engine, with a focus on portability and compact footprint."
+HOMEPAGE = "https://duktape.org"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b7825df97b52f926fc71300f7880408"
+
+SRC_URI = "https://duktape.org/duktape-${PV}.tar.xz \
+ file://run-ptest \
+ "
+inherit ptest
+
+SRC_URI[sha256sum] = "90f8d2fa8b5567c6899830ddef2c03f3c27960b11aca222fa17aa7ac613c2890"
+
+EXTRA_OEMAKE = "INSTALL_PREFIX='${prefix}' DESTDIR='${D}' LIBDIR='/${baselib}'"
+
+do_compile () {
+ oe_runmake -f Makefile.sharedlibrary INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
+}
+
+do_compile_ptest() {
+ oe_runmake -f Makefile.hello INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
+ oe_runmake -f Makefile.eval INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
+ oe_runmake -f Makefile.eventloop INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
+}
+
+do_install () {
+ oe_runmake -f Makefile.sharedlibrary INSTALL_PREFIX="${prefix}" DESTDIR="${D}" install
+ # libduktaped is identical to libduktape but has an hard-coded -g build flags, remove it
+ rm -f ${D}${libdir}/libduktaped.so*
+}
+
+do_install_ptest() {
+ install -m 0755 "${WORKDIR}/duktape-2.7.0/hello" "${D}${PTEST_PATH}"
+ install -m 0755 "${WORKDIR}/duktape-2.7.0/eval" "${D}${PTEST_PATH}"
+ install -m 0755 "${WORKDIR}/duktape-2.7.0/evloop" "${D}${PTEST_PATH}"
+ install -m 0755 "${WORKDIR}/duktape-2.7.0/examples/eventloop/timer-test.js" "${D}${PTEST_PATH}"
+ install -m 0755 "${WORKDIR}/duktape-2.7.0/examples/eventloop/ecma_eventloop.js" "${D}${PTEST_PATH}"
+}
+
+RDEPENDS:${PN}-ptest += "make"
diff --git a/meta-oe/recipes-extended/duktape/files/run-ptest b/meta-oe/recipes-extended/duktape/files/run-ptest
new file mode 100644
index 0000000000..852fb15de4
--- /dev/null
+++ b/meta-oe/recipes-extended/duktape/files/run-ptest
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+./hello &> $test.output 2>&1
+out="Hello world!"
+
+if grep -i "$out" $test.output 2>&1 ; then
+ echo "PASS: Hello duktape"
+else
+ echo "FAIL: Hello duktape"
+fi
+rm -f $test.output
+
+./eval "print('Hello world!'); 123;" > out.log
+
+sed -n '2p' out.log > eval.log
+sed -n '3p' out.log >> eval.log
+
+if grep -w 'Hello world!\|123' eval.log 2>&1; then
+ echo "PASS: eval duktape"
+else
+ echo "FAIL: eval duktape"
+fi
+rm -f eval.log out.log
+
+./evloop timer-test.js > evloop.log 2>&1
+
+if grep -i "no active timers and no sockets to poll" evloop.log 2>&1; then
+ echo "PASS: evloop duktape"
+else
+ echo "FAIL: evloop duktape"
+fi
+rm -f evloop.log
diff --git a/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.5.bb b/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.5.bb
index d88775f9d9..310081b822 100644
--- a/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.5.bb
+++ b/meta-oe/recipes-extended/dumb-init/dumb-init_1.2.5.bb
@@ -4,7 +4,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5940d39995ea6857d01b8227109c2e9c"
SRCREV = "89c1502b9d40b5cb4a844498b14d74ba1dd559bf"
-SRC_URI = "git://github.com/Yelp/dumb-init"
+SRC_URI = "git://github.com/Yelp/dumb-init;branch=master;protocol=https"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS} ${LDFLAGS}'"
diff --git a/meta-oe/recipes-extended/enscript/enscript/0001-getopt-Include-string.h-for-strcmp-stcncmp-functions.patch b/meta-oe/recipes-extended/enscript/enscript/0001-getopt-Include-string.h-for-strcmp-stcncmp-functions.patch
new file mode 100644
index 0000000000..a080b3aef7
--- /dev/null
+++ b/meta-oe/recipes-extended/enscript/enscript/0001-getopt-Include-string.h-for-strcmp-stcncmp-functions.patch
@@ -0,0 +1,27 @@
+From faec0206611f8ea4ca6f70987866077ac8c3c6c1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 21:24:27 -0700
+Subject: [PATCH] getopt: Include string.h for strcmp/stcncmp functions
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ compat/getopt.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/compat/getopt.c b/compat/getopt.c
+index 752f28a..9b984b4 100644
+--- a/compat/getopt.c
++++ b/compat/getopt.c
+@@ -43,6 +43,7 @@
+ #endif
+
+ #include <stdio.h>
++#include <string.h> /* strcmp */
+
+ /* Comment out all this code if we are using the GNU C Library, and are not
+ actually compiling the library itself. This code is part of the GNU C
+--
+2.37.3
+
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 82791f5794..9490ee09dc 100644
--- a/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
+++ b/meta-oe/recipes-extended/enscript/enscript_1.6.6.bb
@@ -7,12 +7,13 @@ customizing printouts."
HOMEPAGE = "http://www.gnu.org/software/enscript/"
SECTION = "console/utils"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://enscript-autoconf.patch \
file://0001-Fix-builds-with-recent-gettext.patch \
+ file://0001-getopt-Include-string.h-for-strcmp-stcncmp-functions.patch \
"
inherit autotools gettext
@@ -22,4 +23,4 @@ EXTRA_OECONF += "PERL='${USRBINPATH}/env perl'"
SRC_URI[md5sum] = "3acc242b829adacabcaf28533f049afd"
SRC_URI[sha256sum] = "6d56bada6934d055b34b6c90399aa85975e66457ac5bf513427ae7fc77f5c0bb"
-RDEPENDS_${PN} = "perl"
+RDEPENDS:${PN} = "perl"
diff --git a/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3/0001-cmake-fix-when-cross-compiling.patch b/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3/0001-cmake-fix-when-cross-compiling.patch
new file mode 100644
index 0000000000..ce12d4270a
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3/0001-cmake-fix-when-cross-compiling.patch
@@ -0,0 +1,68 @@
+From cb79329010d73e36ce64830914005f1c17f8f53c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= <peron.clem@gmail.com>
+Date: Sat, 23 Sep 2023 11:32:18 +0200
+Subject: [PATCH] cmake: fix when cross compiling
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In order to generate protobuf files CMake need to use the protoc
+and grpc-cpp-plugin compiled for the host architecture.
+
+Unfortunately, the protoc and grpc-cpp-plugin in the gRPC CMake
+configuration file are the one for the target architecture.
+
+Fix this by properly finding the correct executable when
+CMake is cross compiling.
+
+Signed-off-by: Clément Péron <peron.clem@gmail.com>
+---
+Upstream-Status: Pending
+
+ CMakeLists.txt | 28 ++++++++++++++++++++++++++--
+ 1 file changed, 26 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5aa1310..80ebad2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -120,10 +120,34 @@ if(Protobuf_PROTOC_EXECUTABLE)
+ endif()
+ endif()
+
++# When cross compiling we look for the native protoc compiler
++# overwrite protobuf::protoc with the proper protoc
++if(CMAKE_CROSSCOMPILING)
++ find_program(Protobuf_PROTOC_EXECUTABLE REQUIRED NAMES protoc)
++ if(NOT TARGET protobuf::protoc)
++ add_executable(protobuf::protoc IMPORTED)
++ endif()
++ set_target_properties(protobuf::protoc PROPERTIES
++ IMPORTED_LOCATION "${Protobuf_PROTOC_EXECUTABLE}")
++endif()
++
+ find_package(gRPC QUIET)
+-if(gRPC_FOUND AND TARGET gRPC::grpc AND TARGET gRPC::grpc_cpp_plugin)
++if(gRPC_FOUND AND TARGET gRPC::grpc)
++ # When cross compiling we look for the native grpc_cpp_plugin
++ if(CMAKE_CROSSCOMPILING)
++ find_program(GRPC_CPP_PLUGIN REQUIRED NAMES grpc_cpp_plugin)
++ if(NOT TARGET gRPC::grpc_cpp_plugin)
++ add_executable(gRPC::grpc_cpp_plugin IMPORTED)
++ endif()
++ set_target_properties(gRPC::grpc_cpp_plugin PROPERTIES
++ IMPORTED_LOCATION "${GRPC_CPP_PLUGIN}")
++ elseif(TARGET gRPC::grpc_cpp_plugin)
++ get_target_property(GRPC_CPP_PLUGIN gRPC::grpc_cpp_plugin LOCATION)
++ else()
++ message(FATAL_ERROR "Found gRPC but no gRPC CPP plugin defined")
++ endif()
++
+ set(GRPC_LIBRARIES gRPC::gpr gRPC::grpc gRPC::grpc++)
+- get_target_property(GRPC_CPP_PLUGIN gRPC::grpc_cpp_plugin LOCATION)
+ get_target_property(GRPC_INCLUDE_DIR gRPC::grpc INTERFACE_INCLUDE_DIRECTORIES)
+ else()
+ include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindGRPC.cmake)
+--
+2.39.3 (Apple Git-145)
+
diff --git a/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.15.3.bb b/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.15.3.bb
new file mode 100644
index 0000000000..401d53c79c
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd-cpp-apiv3_0.15.3.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "C++ API for etcd's v3 client API"
+HOMEPAGE = "https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=eae7da6a2cd1788a5cf8a9f838cf6450"
+
+SRC_URI = " \
+ git://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3.git;branch=master;protocol=https \
+ file://0001-cmake-fix-when-cross-compiling.patch \
+"
+
+SRCREV = "e31ac4d4caa55fa662e207150ba40f8151b7ad96"
+
+inherit cmake
+
+DEPENDS += "grpc protobuf cpprest grpc-native protobuf-native"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "-DCPPREST_EXCLUDE_WEBSOCKETS=ON"
+
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
diff --git a/meta-oe/recipes-extended/etcd/etcd/0001-test_lib.sh-remove-gobin-requirement-during-build.patch b/meta-oe/recipes-extended/etcd/etcd/0001-test_lib.sh-remove-gobin-requirement-during-build.patch
new file mode 100644
index 0000000000..f0d9c2936a
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd/0001-test_lib.sh-remove-gobin-requirement-during-build.patch
@@ -0,0 +1,51 @@
+From a57d78a94e7cbc8cfa468b58c7d4e23668c05fec Mon Sep 17 00:00:00 2001
+From: Andrew Geissler <geissonator@yahoo.com>
+Date: Tue, 2 May 2023 13:36:36 -0600
+Subject: [PATCH] test_lib.sh: remove gobin requirement during build
+
+This tool is installed as a part of the build process (build.sh sources
+test_lib.sh)
+
+This tool has been removed in the latest etcd main branch. Installing it
+as a part of the build process breaks bitbake (it doesn't allow
+downloading of packages once in the build steps).
+
+This tool is not needed to build etcd (it appears to be used for some
+optional test cases).
+
+Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
+---
+Upstream-Status: Pending
+
+ scripts/test_lib.sh | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/test_lib.sh b/scripts/test_lib.sh
+index 44b9d2895..da97a9c26 100644
+--- a/scripts/test_lib.sh
++++ b/scripts/test_lib.sh
+@@ -140,7 +140,7 @@ function run {
+ command=("${command[@]@Q}")
+ if [[ "${rpath}" != "." && "${rpath}" != "" ]]; then
+ repro="(cd ${rpath} && ${command[*]})"
+- else
++ else
+ repro="${command[*]}"
+ fi
+
+@@ -305,7 +305,11 @@ function tool_exists {
+
+ # Ensure gobin is available, as it runs majority of the tools
+ if ! command -v "gobin" >/dev/null; then
+- run env GO111MODULE=off go get github.com/myitcv/gobin || exit 1
++ # This script is run as a part of the build process. Installing packages
++ # during the build process is not allowed in bitbake.
++ # Gobin is deprecated and not needed when building in the bitbake env
++ echo "Not installing gobin in bitbake env"
++ # run env GO111MODULE=off go get github.com/myitcv/gobin || exit 1
+ fi
+
+ # tool_get_bin [tool] - returns absolute path to a tool binary (or returns error)
+--
+2.37.1 (Apple Git-137.1)
+
diff --git a/meta-oe/recipes-extended/etcd/etcd/0001-xxhash-bump-to-v2.1.2.patch b/meta-oe/recipes-extended/etcd/etcd/0001-xxhash-bump-to-v2.1.2.patch
new file mode 100644
index 0000000000..c897fe17cd
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd/0001-xxhash-bump-to-v2.1.2.patch
@@ -0,0 +1,205 @@
+From e99ee73e7660689203b83fab6b26c400191b145c Mon Sep 17 00:00:00 2001
+From: Andrew Geissler <geissonator@yahoo.com>
+Date: Fri, 24 Mar 2023 10:00:35 -0500
+Subject: [PATCH] xxhash: bump to v2.1.2
+
+There is a known issue in v2.1.1:
+
+ https://github.com/cespare/xxhash/issues/54
+
+Fix that issue by bumping to the version with the fix.
+
+This has been fixed in upstream etcd via the following:
+
+ https://github.com/etcd-io/etcd/commit/f0f77fc14e3bd4d94a953b490e810a06ef36695a
+
+But it was a pretty major upgrade so just take the one piece we need for
+the etcd v3.5 release tag.
+
+Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
+---
+Upstream-Status: Pending
+
+ client/v3/go.mod | 2 +-
+ client/v3/go.sum | 2 ++
+ etcdctl/go.mod | 2 +-
+ etcdctl/go.sum | 3 ++-
+ etcdutl/go.mod | 2 +-
+ etcdutl/go.sum | 3 ++-
+ go.mod | 2 +-
+ go.sum | 3 ++-
+ server/go.mod | 2 +-
+ server/go.sum | 3 ++-
+ tests/go.mod | 2 +-
+ tests/go.sum | 3 ++-
+ 12 files changed, 18 insertions(+), 11 deletions(-)
+
+diff --git a/client/v3/go.mod b/client/v3/go.mod
+index ec286316a..6e72eb067 100644
+--- a/client/v3/go.mod
++++ b/client/v3/go.mod
+@@ -15,7 +15,7 @@ require (
+
+ require (
+ github.com/beorn7/perks v1.0.1 // indirect
+- github.com/cespare/xxhash/v2 v2.1.1 // indirect
++ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/coreos/go-semver v0.3.0 // indirect
+ github.com/coreos/go-systemd/v22 v22.3.2 // indirect
+ github.com/gogo/protobuf v1.3.2 // indirect
+diff --git a/client/v3/go.sum b/client/v3/go.sum
+index 024078504..8866fabba 100644
+--- a/client/v3/go.sum
++++ b/client/v3/go.sum
+@@ -14,6 +14,8 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r
+ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+ github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
+ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
++github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
++github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+ github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+diff --git a/etcdctl/go.mod b/etcdctl/go.mod
+index 2101ed78e..3a727b492 100644
+--- a/etcdctl/go.mod
++++ b/etcdctl/go.mod
+@@ -23,7 +23,7 @@ require (
+
+ require (
+ github.com/beorn7/perks v1.0.1 // indirect
+- github.com/cespare/xxhash/v2 v2.1.1 // indirect
++ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/coreos/go-semver v0.3.0 // indirect
+ github.com/coreos/go-systemd/v22 v22.3.2 // indirect
+ github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
+diff --git a/etcdctl/go.sum b/etcdctl/go.sum
+index 980aca775..765a77e72 100644
+--- a/etcdctl/go.sum
++++ b/etcdctl/go.sum
+@@ -38,8 +38,9 @@ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5P
+ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
+ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+-github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
+ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
++github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
++github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+ github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+diff --git a/etcdutl/go.mod b/etcdutl/go.mod
+index 24fd3f1bb..7f7ad8bc4 100644
+--- a/etcdutl/go.mod
++++ b/etcdutl/go.mod
+@@ -36,7 +36,7 @@ require (
+
+ require (
+ github.com/beorn7/perks v1.0.1 // indirect
+- github.com/cespare/xxhash/v2 v2.1.1 // indirect
++ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/coreos/go-semver v0.3.0 // indirect
+ github.com/coreos/go-systemd/v22 v22.3.2 // indirect
+ github.com/gogo/protobuf v1.3.2 // indirect
+diff --git a/etcdutl/go.sum b/etcdutl/go.sum
+index 7d3675855..4c894740e 100644
+--- a/etcdutl/go.sum
++++ b/etcdutl/go.sum
+@@ -37,8 +37,9 @@ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5P
+ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
+ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+-github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
+ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
++github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
++github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+ github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+diff --git a/go.mod b/go.mod
+index 3df2c43e1..f794ab8d2 100644
+--- a/go.mod
++++ b/go.mod
+@@ -39,7 +39,7 @@ require (
+ require (
+ github.com/beorn7/perks v1.0.1 // indirect
+ github.com/cenkalti/backoff/v4 v4.1.1 // indirect
+- github.com/cespare/xxhash/v2 v2.1.1 // indirect
++ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/cockroachdb/datadriven v1.0.1-0.20220214170620-9913f5bc19b7 // indirect
+ github.com/cockroachdb/errors v1.9.0 // indirect
+ github.com/coreos/go-semver v0.3.0 // indirect
+diff --git a/go.sum b/go.sum
+index 7bb455e8b..e2e07cfe4 100644
+--- a/go.sum
++++ b/go.sum
+@@ -50,8 +50,9 @@ github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6
+ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
+ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+-github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
+ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
++github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
++github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+ github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+diff --git a/server/go.mod b/server/go.mod
+index 46dcfad08..ab635e592 100644
+--- a/server/go.mod
++++ b/server/go.mod
+@@ -47,7 +47,7 @@ require (
+ require (
+ github.com/beorn7/perks v1.0.1 // indirect
+ github.com/cenkalti/backoff/v4 v4.1.1 // indirect
+- github.com/cespare/xxhash/v2 v2.1.1 // indirect
++ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/gorilla/websocket v1.4.2 // indirect
+ github.com/inconshreveable/mousetrap v1.0.0 // indirect
+diff --git a/server/go.sum b/server/go.sum
+index 8f78c3864..c4fbfac25 100644
+--- a/server/go.sum
++++ b/server/go.sum
+@@ -39,8 +39,9 @@ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5P
+ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
+ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+-github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
+ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
++github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
++github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+ github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+diff --git a/tests/go.mod b/tests/go.mod
+index b578bbf02..45820817c 100644
+--- a/tests/go.mod
++++ b/tests/go.mod
+@@ -46,7 +46,7 @@ require (
+ require (
+ github.com/beorn7/perks v1.0.1 // indirect
+ github.com/cenkalti/backoff/v4 v4.1.1 // indirect
+- github.com/cespare/xxhash/v2 v2.1.1 // indirect
++ github.com/cespare/xxhash/v2 v2.1.2 // indirect
+ github.com/coreos/go-semver v0.3.0 // indirect
+ github.com/coreos/go-systemd/v22 v22.3.2 // indirect
+ github.com/creack/pty v1.1.11 // indirect
+diff --git a/tests/go.sum b/tests/go.sum
+index 203bf65d6..46c18c31f 100644
+--- a/tests/go.sum
++++ b/tests/go.sum
+@@ -39,8 +39,9 @@ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054 h1:uH66TXeswKn5P
+ github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
+ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+-github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
+ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
++github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
++github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+ github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+--
+2.37.1 (Apple Git-137.1)
+
diff --git a/meta-oe/recipes-extended/etcd/etcd/etcd-existing.conf b/meta-oe/recipes-extended/etcd/etcd/etcd-existing.conf
new file mode 100644
index 0000000000..fc32cc8084
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd/etcd-existing.conf
@@ -0,0 +1,37 @@
+# This is the configuration file to start the etcd server with
+# existing cluster configuration in the data directory.
+
+# Initial cluster state ('new' or 'existing').
+ETCD_INITIAL_CLUSTER_STATE='existing'
+
+# Path to the data directory.
+ETCD_DATA_DIR='/var/lib/etcd'
+
+# Time (in milliseconds) of a heartbeat interval.
+ETCD_HEARTBEAT_INTERVAL=100
+
+# Time (in milliseconds) for an election to timeout.
+ETCD_ELECTION_TIMEOUT=1000
+
+# List of comma separated URLs to listen on for peer traffic.
+ETCD_LISTEN_PEER_URLS=http://localhost:2380
+
+# List of comma separated URLs to listen on for client traffic.
+ETCD_LISTEN_CLIENT_URLS=http://localhost:2379
+
+# List of this member's peer URLs to advertise to the rest of the cluster.
+# The URLs needed to be a comma-separated list.
+ETCD_INITIAL_ADVERTISE_PEER_URLS=http://localhost:2380
+
+# List of this member's client URLs to advertise to the public.
+# The URLs needed to be a comma-separated list.
+ETCD_ADVERTISE_CLIENT_URLS=http://localhost:2379
+
+# Enable info-level logging for etcd.
+ETCD_LOG_LEVEL='info'
+
+# Specify 'stdout' or 'stderr' to skip journald logging even when running under systemd.
+ETCD_LOG_OUTPUTS='default'
+
+# etcd is not officially supported on arm64
+ETCD_UNSUPPORTED_ARCH='arm'
diff --git a/meta-oe/recipes-extended/etcd/etcd/etcd-new.path b/meta-oe/recipes-extended/etcd/etcd/etcd-new.path
new file mode 100644
index 0000000000..1a18a40160
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd/etcd-new.path
@@ -0,0 +1,9 @@
+[Unit]
+Description=Monitor the etcd config file changes
+
+[Path]
+PathChanged=/run/etcd-new.conf
+Unit=etcd-new.service
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/etcd/etcd/etcd-new.service b/meta-oe/recipes-extended/etcd/etcd/etcd-new.service
new file mode 100644
index 0000000000..479678dc67
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd/etcd-new.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=etcd cluster member start/add service
+Documentation=https://etcd.io/docs/v3.5/op-guide/clustering/
+ConditionPathExists=!/var/lib/etcd/member
+ConditionPathExists=/run/etcd-new.conf
+OnFailure=etcd.service
+
+[Service]
+Type=notify
+EnvironmentFile=/run/etcd-new.conf
+ExecStart=/usr/bin/etcd
+Restart=no
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/etcd/etcd/etcd.service b/meta-oe/recipes-extended/etcd/etcd/etcd.service
new file mode 100644
index 0000000000..782ef4ef09
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd/etcd.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=etcd key-value store
+Documentation=https://github.com/etcd-io/etcd
+After=network-online.target local-fs.target remote-fs.target time-sync.target
+Wants=network-online.target local-fs.target remote-fs.target time-sync.target
+ConditionPathExists=/var/lib/etcd/member
+
+[Service]
+Type=notify
+EnvironmentFile=/etc/etcd.d/etcd-existing.conf
+ExecStart=/usr/bin/etcd
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/etcd/etcd_3.5.7.bb b/meta-oe/recipes-extended/etcd/etcd_3.5.7.bb
new file mode 100644
index 0000000000..0794158a52
--- /dev/null
+++ b/meta-oe/recipes-extended/etcd/etcd_3.5.7.bb
@@ -0,0 +1,73 @@
+DESCRIPTION = "etcd is a distributed key-value store for distributed systems"
+HOMEPAGE = "https://etcd.io/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${S}/${GO_INSTALL}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = " \
+ git://github.com/etcd-io/etcd;branch=release-3.5;protocol=https \
+ file://0001-xxhash-bump-to-v2.1.2.patch;patchdir=src/${GO_IMPORT} \
+ file://0001-test_lib.sh-remove-gobin-requirement-during-build.patch;patchdir=src/${GO_IMPORT} \
+ file://etcd.service \
+ file://etcd-existing.conf \
+ file://etcd-new.service \
+ file://etcd-new.path \
+"
+
+SRCREV = "215b53cf3b48ee761f4c40908b3874b2e5e95e9f"
+UPSTREAM_CHECK_COMMITS = "1"
+
+GO_IMPORT = "go.etcd.io/etcd/v3"
+GO_INSTALL = "src/${GO_IMPORT}/"
+
+RDEPENDS:${PN}-dev = " \
+ bash \
+"
+
+export GO111MODULE="on"
+
+inherit go systemd pkgconfig features_check
+
+# Go based binaries do not handle being stripped
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
+# network is required by go to get dependent packages
+do_compile[network] = "1"
+
+# Need to build etcd out of where it is extracted to
+# Need to directly call build script vs. "make build"
+# because "make build" executes the generated binaries
+# at the end of the build which do not run correctly
+# when cross compiling for another machine
+go_do_compile:prepend() {
+ cd ${GO_INSTALL}
+ ./build.sh
+
+
+ # Lots of discussion in go community about how it sets packages to
+ # read-only by default -> https://github.com/golang/go/issues/31481
+ # etcd is going to need some upstream work to support it.
+ # For now, set the packages which are read-only back to
+ # writeable so things like "bitbake -c cleanall etcd" will work.
+ chmod u+w -R ${WORKDIR}/build/pkg/mod
+}
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN}:append = " etcd.service etcd-new.service etcd-new.path"
+
+do_install:append() {
+ install -d ${D}${bindir}/
+ install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcd ${D}${bindir}
+ install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcdctl ${D}${bindir}
+ install -m 0755 ${D}${libdir}/go/src/go.etcd.io/etcd/v3/bin/etcdutl ${D}${bindir}
+ install -m 0644 ${WORKDIR}/etcd-existing.conf -D -t ${D}${sysconfdir}/etcd.d
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/etcd.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/etcd-new.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/etcd-new.path ${D}${systemd_system_unitdir}/
+}
+
+FILES:${PN}:append = " ${sysconfdir}/etcd.d/etcd-existing.conf"
+
diff --git a/meta-oe/recipes-extended/figlet/figlet_git.bb b/meta-oe/recipes-extended/figlet/figlet_git.bb
index 4611646b9b..9789ac16d4 100644
--- a/meta-oe/recipes-extended/figlet/figlet_git.bb
+++ b/meta-oe/recipes-extended/figlet/figlet_git.bb
@@ -4,11 +4,11 @@ HOMEPAGE = "http://www.figlet.org/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1688bcd97b27704f1afcac7336409857"
-SRC_URI = "git://github.com/cmatsuoka/figlet.git \
+SRC_URI = "git://github.com/cmatsuoka/figlet.git;branch=master;protocol=https \
file://0001-build-add-autotools-support-to-allow-easy-cross-comp.patch"
SRCREV = "5bbcd7383a8c3a531299b216b0c734e1495c6db3"
S = "${WORKDIR}/git"
-PV = "2.2.5+git${SRCPV}"
+PV = "2.2.5+git"
inherit autotools
diff --git a/meta-oe/recipes-extended/flatpak/flatpak-xdg-utils_1.0.5.bb b/meta-oe/recipes-extended/flatpak/flatpak-xdg-utils_1.0.5.bb
new file mode 100644
index 0000000000..423c6faf7e
--- /dev/null
+++ b/meta-oe/recipes-extended/flatpak/flatpak-xdg-utils_1.0.5.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "This repository contains a number of commandline utilities for use inside Flatpak sandboxes."
+HOMEPAGE = "http://flatpak.org"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/flatpak/flatpak-xdg-utils.git;protocol=https;branch=main"
+
+SRCREV = "5ba39872f81bf8d98d58c5f8acb86604645be468"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+DEPENDS = "glib-2.0"
diff --git a/meta-oe/recipes-extended/flatpak/flatpak/0001-flatpak-pc-add-pc_sysrootdir.patch b/meta-oe/recipes-extended/flatpak/flatpak/0001-flatpak-pc-add-pc_sysrootdir.patch
new file mode 100644
index 0000000000..08d5625fa7
--- /dev/null
+++ b/meta-oe/recipes-extended/flatpak/flatpak/0001-flatpak-pc-add-pc_sysrootdir.patch
@@ -0,0 +1,28 @@
+From 3a1ab02d821cd4b0af44c0dad87e290ebaabef83 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Wed, 14 Dec 2022 06:50:40 +0100
+Subject: [PATCH] flatpak.pc: add pc_sysrootdir
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+Upstream-Status: Inappropriate [oe-specific]
+
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 4a0b865e..5f69b1d9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -509,7 +509,7 @@ pkgconfig_variables += 'exec_prefix=${prefix}'
+ pkgconfig_variables += 'datadir=' + ('${prefix}' / get_option('datadir'))
+
+ pkgconfig_variables += 'datarootdir=' + ('${prefix}' / get_option('datadir'))
+-pkgconfig_variables += 'interfaces_dir=${datadir}/dbus-1/interfaces/'
++pkgconfig_variables += 'interfaces_dir=${pc_sysrootdir}${datadir}/dbus-1/interfaces/'
+ pkgconfig_variables += 'httpbackend=' + get_option('http_backend')
+
+ pkgconfig.generate(
+--
+2.34.1
+
diff --git a/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-for-native-wayland-scanner.patch b/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-for-native-wayland-scanner.patch
new file mode 100644
index 0000000000..b076a3fffd
--- /dev/null
+++ b/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-for-native-wayland-scanner.patch
@@ -0,0 +1,28 @@
+From ced2e933cf647874da4baff002e0987b9bfe5fac Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Sat, 18 Nov 2023 15:07:49 +0100
+Subject: [PATCH] meson.build: require for native wayland-scanner
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Submitted [https://github.com/flatpak/flatpak/pull/5596]
+---
+ meson.build | 4 ++--
+ 1 file changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index f4e5b3a3..5d2f9eba 100644
+--- a/meson.build
++++ b/meson.build
+@@ -207,7 +207,7 @@ gtkdoc_dep = dependency('gtk-doc', required : get_option('gtkdoc'))
+ build_gtk_doc = gtkdoc_dep.found()
+
+ wayland_client = dependency('wayland-client', required : get_option('wayland_security_context'))
+-wayland_scanner = dependency('wayland-scanner', version : '>= 1.15', required : get_option('wayland_security_context'))
++wayland_scanner = dependency('wayland-scanner', version : '>= 1.15', required : get_option('wayland_security_context'), native : true)
+ wayland_protocols = dependency('wayland-protocols', version : '>= 1.32', required : get_option('wayland_security_context'))
+ build_wayland_security_context = wayland_client.found() and wayland_scanner.found() and wayland_protocols.found()
+
+--
+2.42.0
+
diff --git a/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-native-gtkdoc.patch b/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-native-gtkdoc.patch
new file mode 100644
index 0000000000..77b60ec98c
--- /dev/null
+++ b/meta-oe/recipes-extended/flatpak/flatpak/0001-meson.build-require-native-gtkdoc.patch
@@ -0,0 +1,33 @@
+From 49737b1e4a74c77a8cd7ae727974d68503da087f Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 12 Jan 2024 13:52:08 +0100
+Subject: [PATCH] meson.build: require native gtkdoc
+
+this fixes:
+| Run-time dependency gtk-doc found: NO (tried pkgconfig)
+|
+| ../git/meson.build:206:13: ERROR: Dependency "gtk-doc" not found, tried pkgconfig
+
+Upstream-Status: Submitted [https://github.com/flatpak/flatpak/pull/5650/commits/e5de3e46b917f830d7f81e9db6ed2a9b7d7db942]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index f7f9372d..dccc3eb4 100644
+--- a/meson.build
++++ b/meson.build
+@@ -203,7 +203,7 @@ appstream_dep = dependency('appstream', version : '>=0.12.0')
+ gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0')
+ libseccomp_dep = dependency('libseccomp', required : get_option('seccomp'))
+ gir_dep = dependency('gobject-introspection-1.0', version : '>=1.40.0', required : get_option('gir'))
+-gtkdoc_dep = dependency('gtk-doc', required : get_option('gtkdoc'))
++gtkdoc_dep = dependency('gtk-doc', required : get_option('gtkdoc'), native : true)
+ build_gtk_doc = gtkdoc_dep.found()
+
+ wayland_client = dependency('wayland-client', required : get_option('wayland_security_context'))
+--
+2.43.0
+
diff --git a/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb b/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb
new file mode 100644
index 0000000000..97e57c13d5
--- /dev/null
+++ b/meta-oe/recipes-extended/flatpak/flatpak_1.15.6.bb
@@ -0,0 +1,78 @@
+DESCRIPTION = "Desktop containment framework."
+HOMEPAGE = "http://flatpak.org"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = " \
+ gitsm://github.com/flatpak/flatpak;protocol=https;branch=main \
+ file://0001-flatpak-pc-add-pc_sysrootdir.patch \
+ file://0001-meson.build-require-for-native-wayland-scanner.patch \
+ file://0001-meson.build-require-native-gtkdoc.patch \
+"
+
+SRCREV = "27b11b93c2a80a91c9461bc6c7f5e9a201406041"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native useradd mime features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+DEPENDS = " \
+ appstream \
+ bison-native \
+ dconf \
+ fuse3 \
+ gdk-pixbuf \
+ glib-2.0 \
+ gpgme \
+ json-glib \
+ libarchive \
+ libcap \
+ libxml2 \
+ ostree \
+ polkit \
+ python3-pyparsing-native \
+ zstd \
+"
+
+RDEPENDS:${PN} = " \
+ ca-certificates \
+ dconf \
+ flatpak-xdg-utils \
+"
+
+GIR_MESON_OPTION = "gir"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = 'gtkdoc'
+GTKDOC_MESON_ENABLE_FLAG = 'enabled'
+GTKDOC_MESON_DISABLE_FLAG = 'disabled'
+
+PACKAGECONFIG[curl] = "-Dhttp_backend=curl,,curl"
+PACKAGECONFIG[docbook_docs] = "-Ddocbook_docs=enabled,-Ddocbook_docs=disabled,xmlto-native"
+PACKAGECONFIG[man] = "-Dman=enabled,-Dman=disabled,libxslt-native"
+PACKAGECONFIG[soup] = "-Dhttp_backend=soup,,libsoup-2.4"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,xauth socat-native"
+PACKAGECONFIG[xauth] = "-Dxauth=enabled,-Dxauth=disabled,xauth"
+PACKAGECONFIG[seccomp] = "-Dseccomp=enabled,-Dseccomp=disabled,libseccomp"
+PACKAGECONFIG[selinux] = "-Dselinux_module=enabled,-Dselinux_module=disabled,libselinux"
+PACKAGECONFIG[wayland-security-context] = "-Dwayland_security_context=enabled,-Dwayland_security_context=disabled,wayland wayland-native wayland-protocols"
+
+PACKAGECONFIG ?= " \
+ curl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xauth', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'seccomp', 'seccomp', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland-security-context', '', d)} \
+"
+
+FILES:${PN} += "${libdir} ${datadir}"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd"
+
+do_install:append() {
+ chmod 0700 ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd ${D}/${datadir}/polkit-1/rules.d
+ chgrp root ${D}/${datadir}/polkit-1/rules.d
+}
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch
new file mode 100644
index 0000000000..f5a1716c07
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch
@@ -0,0 +1,70 @@
+From 6a704ab7bf69cd5d6970b3a7d3ae7798b26027c1 Mon Sep 17 00:00:00 2001
+From: Paulo Neves <ptsneves@gmail.com>
+Date: Thu, 28 Jul 2022 11:28:41 +0200
+Subject: [PATCH] CMakeLists.txt Do not use private makefile $< target
+
+$< is a private detail from the Makefile generated by CMakefile and
+are not under control or to be used at the CMakeLists level. In 3.20
+that private generation changed pre-requisite targets[1] and now logs
+contain the path compiler_depend.ts instead of the actual file.
+
+Upstream-Status: Pending [https://github.com/fluent/fluent-bit/issues/5492]
+---
+ CMakeLists.txt | 6 +-----
+ lib/chunkio/CMakeLists.txt | 7 +------
+ lib/cmetrics/CMakeLists.txt | 7 +------
+ 3 files changed, 3 insertions(+), 17 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3dba5a8..d94b988 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,11 +46,7 @@ else()
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+ endif()
+
+-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
+-else()
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+-endif()
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+
+ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7l")
+ set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -latomic")
+diff --git a/lib/chunkio/CMakeLists.txt b/lib/chunkio/CMakeLists.txt
+index bbe1f39..809ea93 100644
+--- a/lib/chunkio/CMakeLists.txt
++++ b/lib/chunkio/CMakeLists.txt
+@@ -14,12 +14,7 @@ else()
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall ")
+ endif()
+
+-# Set __FILENAME__
+-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
+-else()
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+-endif()
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+
+ include(cmake/macros.cmake)
+
+diff --git a/lib/cmetrics/CMakeLists.txt b/lib/cmetrics/CMakeLists.txt
+index 60e8774..e3d6149 100644
+--- a/lib/cmetrics/CMakeLists.txt
++++ b/lib/cmetrics/CMakeLists.txt
+@@ -34,12 +34,7 @@ set(CMT_VERSION_MINOR 3)
+ set(CMT_VERSION_PATCH 5)
+ set(CMT_VERSION_STR "${CMT_VERSION_MAJOR}.${CMT_VERSION_MINOR}.${CMT_VERSION_PATCH}")
+
+-# Define __FILENAME__ consistently across Operating Systems
+-if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath $<))\"'")
+-else()
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+-endif()
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__")
+
+ # Configuration options
+ option(CMT_DEV "Enable development mode" No)
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch
new file mode 100644
index 0000000000..8d89e4df35
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-Use-posix-strerror_r-with-musl.patch
@@ -0,0 +1,34 @@
+From f645128082117a0152a95b3dccd869a184b7513f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 01:23:48 -0700
+Subject: [PATCH 1/2] Use posix strerror_r with musl
+
+Default with glibc is GNU extention of strerror_r
+where as musl uses posix variant, call that out
+
+Upstream-Status: Inappropriate [Need wider porting beyond linux/musl/glibc]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/flb_network.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/flb_network.c b/src/flb_network.c
+index 992eb1d..5d7a337 100644
+--- a/src/flb_network.c
++++ b/src/flb_network.c
+@@ -506,7 +506,12 @@ static int net_connect_async(int fd,
+ }
+
+ /* Connection is broken, not much to do here */
++#ifdef __GLIBC__
+ str = strerror_r(error, so_error_buf, sizeof(so_error_buf));
++#else
++ strerror_r(error, so_error_buf, sizeof(so_error_buf));
++ str = so_error_buf;
++#endif
+ flb_error("[net] TCP connection failed: %s:%i (%s)",
+ u->tcp_host, u->tcp_port, str);
+ return -1;
+--
+2.37.1
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
deleted file mode 100644
index a6ff5991c2..0000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 3d7390c89c2205d1eed0384be0bb65adb675e60d Mon Sep 17 00:00:00 2001
-From: Ramon Fried <ramon@neureality.ai>
-Date: Tue, 9 Feb 2021 18:59:59 +0200
-Subject: [PATCH] bin: fix SIGSEGV caused by using flb_free instead of
- mk_mem_free
-
-Upstream-Status: Accepted
-Signed-off-by: Ramon Fried <ramon@neureality.ai>
----
- src/fluent-bit.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/fluent-bit.c b/src/fluent-bit.c
-index c0c73b4..989cfde 100644
---- a/src/fluent-bit.c
-+++ b/src/fluent-bit.c
-@@ -289,7 +289,7 @@ static int input_set_property(struct flb_input_instance *in, char *kv)
- in->p->name, key);
- }
-
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
-@@ -314,7 +314,7 @@ static int output_set_property(struct flb_output_instance *out, char *kv)
- }
-
- ret = flb_output_set_property(out, key, value);
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
-@@ -340,7 +340,7 @@ static int filter_set_property(struct flb_filter_instance *filter, char *kv)
- }
-
- ret = flb_filter_set_property(filter, key, value);
-- flb_free(key);
-+ mk_mem_free(key);
- return ret;
- }
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch
new file mode 100644
index 0000000000..e70664031b
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch
@@ -0,0 +1,28 @@
+From 0d22024c5defba7007e3e633753790e20209c6f6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 09:59:41 -0700
+Subject: [PATCH 1/5] monkey: Define _GNU_SOURCE for memmem API check
+
+This define is necessary to get this API on glibc based systems
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/monkey/mk_core/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/monkey/mk_core/CMakeLists.txt b/lib/monkey/mk_core/CMakeLists.txt
+index 0e74f8d..739fff3 100644
+--- a/lib/monkey/mk_core/CMakeLists.txt
++++ b/lib/monkey/mk_core/CMakeLists.txt
+@@ -62,6 +62,7 @@ set(src "${src}"
+ )
+
+ check_c_source_compiles("
++ #define _GNU_SOURCE
+ #include <string.h>
+ int main() {
+ char haystack[] = \"1234\";
+--
+2.37.1
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
deleted file mode 100644
index 1f36c657ed..0000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0001-ppc-Fix-signature-for-co_create-API.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From be4032079c931704f52e29f5da5c01cde24ac842 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 16 Jan 2020 10:44:58 -0800
-Subject: [PATCH] ppc: Fix signature for co_create API
-
-Upstream-Status: Submitted [https://github.com/fluent/fluent-bit/pull/1886]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/flb_libco/ppc.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/lib/flb_libco/ppc.c b/lib/flb_libco/ppc.c
-index e6536d56..533256b3 100644
---- a/lib/flb_libco/ppc.c
-+++ b/lib/flb_libco/ppc.c
-@@ -279,7 +279,9 @@ static uint32_t* co_create_(unsigned size, uintptr_t entry) {
- return t;
- }
-
--cothread_t co_create(unsigned int size, void (*entry_)(void)) {
-+cothread_t co_create(unsigned int size, void (*entry_)(void),
-+ size_t *out_size) {
-+
- uintptr_t entry = (uintptr_t)entry_;
- uint32_t* t = 0;
-
-@@ -325,7 +327,7 @@ cothread_t co_create(unsigned int size, void (*entry_)(void)) {
- t[10] = (uint32_t)(sp >> shift >> shift);
- t[11] = (uint32_t)sp;
- }
--
-+ *out_size = size;
- return t;
- }
-
---
-2.25.0
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch
new file mode 100644
index 0000000000..bdcc534964
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-chunkio-Link-with-fts-library-with-musl.patch
@@ -0,0 +1,30 @@
+From 63dbbad5978e5f5b0e7d42614999cb6b4ebcce10 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 10 Aug 2022 01:27:16 -0700
+Subject: [PATCH 2/2] chunkio: Link with fts library with musl
+
+Fixes
+cio_utils.c:(.text+0x64): undefined reference to `fts_read'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ lib/chunkio/src/CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/chunkio/src/CMakeLists.txt b/lib/chunkio/src/CMakeLists.txt
+index a4fc2d3..4244eb8 100644
+--- a/lib/chunkio/src/CMakeLists.txt
++++ b/lib/chunkio/src/CMakeLists.txt
+@@ -13,6 +13,7 @@ set(src
+ )
+
+ set(libs cio-crc32)
++set(libs ${libs} fts)
+
+ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+ set(src
+--
+2.37.1
+
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
new file mode 100644
index 0000000000..425b838b78
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch
@@ -0,0 +1,28 @@
+From 71dab751a27a2e582b711de22873065dd28f4b65 Mon Sep 17 00:00:00 2001
+From: Paulo Neves <ptsneves@gmail.com>
+Date: Thu, 28 Jul 2022 11:42:31 +0200
+Subject: [PATCH] flb_info.h.in: Do not hardcode compilation directories
+
+Including the source dir in the header makes the header not
+reproducible and contaminates it with host builder paths. Instead
+make it take CMAKE_DEBUG_SRCDIR that can be set to a known
+reproducible value
+---
+Upstream-Status: Pending
+
+ include/fluent-bit/flb_info.h.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/fluent-bit/flb_info.h.in b/include/fluent-bit/flb_info.h.in
+index a89485c..2579afc 100644
+--- a/include/fluent-bit/flb_info.h.in
++++ b/include/fluent-bit/flb_info.h.in
+@@ -23,7 +23,7 @@
+ #define STR_HELPER(s) #s
+ #define STR(s) STR_HELPER(s)
+
+-#define FLB_SOURCE_DIR "@CMAKE_SOURCE_DIR@"
++#define FLB_SOURCE_DIR "@CMAKE_DEBUG_SRCDIR@"
+
+ /* General flags set by CMakeLists.txt */
+ @FLB_BUILD_FLAGS@
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch
new file mode 100644
index 0000000000..d911420df2
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-mbedtls-Remove-unused-variable.patch
@@ -0,0 +1,40 @@
+From c7b969d1a2a6b61bd179214ee2516b7b6cd55b27 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 11:21:57 -0700
+Subject: [PATCH 2/5] mbedtls: Remove unused variable
+
+Fixes
+library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ lib/mbedtls-2.28.0/library/bignum.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/lib/mbedtls-2.28.0/library/bignum.c b/lib/mbedtls-2.28.0/library/bignum.c
+index 62e7f76..9c256ae 100644
+--- a/lib/mbedtls-2.28.0/library/bignum.c
++++ b/lib/mbedtls-2.28.0/library/bignum.c
+@@ -1392,7 +1392,7 @@ void mpi_mul_hlp( size_t i,
+ mbedtls_mpi_uint *d,
+ mbedtls_mpi_uint b )
+ {
+- mbedtls_mpi_uint c = 0, t = 0;
++ mbedtls_mpi_uint c = 0;
+
+ #if defined(MULADDC_HUIT)
+ for( ; i >= 8; i -= 8 )
+@@ -1443,8 +1443,6 @@ void mpi_mul_hlp( size_t i,
+ }
+ #endif /* MULADDC_HUIT */
+
+- t++;
+-
+ while( c != 0 )
+ {
+ *d += c; c = ( *d < c ); d++;
+--
+2.37.1
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
deleted file mode 100644
index 91675dfc6d..0000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 7c3b1dfb174312594d3317c24ed71c60398f653f Mon Sep 17 00:00:00 2001
-From: Ramon Fried <ramon@neureality.ai>
-Date: Wed, 10 Feb 2021 04:23:36 +0200
-Subject: [PATCH] parser: Fix SIGSEGV caused by using flb_free instead of
- mk_mem_free
-
-Upstream-Status: Backport (fix only for 1.3.5)
-Signed-off-by: Ramon Fried <ramon@neureality.ai>
----
- src/flb_parser.c | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/src/flb_parser.c b/src/flb_parser.c
-index d35c568..7c20e12 100644
---- a/src/flb_parser.c
-+++ b/src/flb_parser.c
-@@ -490,7 +490,7 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
- MK_RCONF_STR);
- if (str) {
- time_keep = flb_utils_bool(str);
-- flb_free(str);
-+ mk_mem_free(str);
- }
- else {
- time_keep = FLB_FALSE;
-@@ -522,23 +522,23 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
-
- flb_debug("[parser] new parser registered: %s", name);
-
-- flb_free(name);
-- flb_free(format);
-+ mk_mem_free(name);
-+ mk_mem_free(format);
-
- if (regex) {
-- flb_free(regex);
-+ mk_mem_free(regex);
- }
- if (time_fmt) {
-- flb_free(time_fmt);
-+ mk_mem_free(time_fmt);
- }
- if (time_key) {
-- flb_free(time_key);
-+ mk_mem_free(time_key);
- }
- if (time_offset) {
-- flb_free(time_offset);
-+ mk_mem_free(time_offset);
- }
- if (types_str) {
-- flb_free(types_str);
-+ mk_mem_free(types_str);
- }
-
- decoders = NULL;
-@@ -548,19 +548,19 @@ int flb_parser_conf_file(const char *file, struct flb_config *config)
- return 0;
-
- fconf_error:
-- flb_free(name);
-- flb_free(format);
-+ mk_mem_free(name);
-+ mk_mem_free(format);
- if (regex) {
-- flb_free(regex);
-+ mk_mem_free(regex);
- }
- if (time_fmt) {
-- flb_free(time_fmt);
-+ mk_mem_free(time_fmt);
- }
- if (time_key) {
-- flb_free(time_key);
-+ mk_mem_free(time_key);
- }
- if (types_str) {
-- flb_free(types_str);
-+ mk_mem_free(types_str);
- }
- if (decoders) {
- flb_parser_decoder_list_destroy(decoders);
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch
new file mode 100644
index 0000000000..473ebaf7d4
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Disable-documentation-warning-as-error-with-.patch
@@ -0,0 +1,32 @@
+From 2d12629f768d2459b1fc8a8ca0c38024d84bc195 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 11:32:12 -0700
+Subject: [PATCH 3/5] mbedtls: Disable documentation warning as error with
+ clang
+
+There are shortcomings with doxygen info which clang-15+ flags, dont
+treat them as errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ lib/mbedtls-2.28.0/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/mbedtls-2.28.0/CMakeLists.txt b/lib/mbedtls-2.28.0/CMakeLists.txt
+index b33c088..c5f886f 100644
+--- a/lib/mbedtls-2.28.0/CMakeLists.txt
++++ b/lib/mbedtls-2.28.0/CMakeLists.txt
+@@ -212,7 +212,7 @@ if(CMAKE_COMPILER_IS_GNU)
+ endif(CMAKE_COMPILER_IS_GNU)
+
+ if(CMAKE_COMPILER_IS_CLANG)
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral -Wno-error=documentation")
+ set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")
+ set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3")
+ set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls")
+--
+2.37.1
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch
new file mode 100644
index 0000000000..158857ae20
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0003-mbedtls-Do-not-overwrite-CFLAGS.patch
@@ -0,0 +1,34 @@
+From 8486b912281ae85db0c9fc05bb546f16872e114c Mon Sep 17 00:00:00 2001
+From: Paulo Neves <ptsneves@gmail.com>
+Date: Thu, 28 Jul 2022 14:37:18 +0200
+Subject: [PATCH] mbedtls: Do not overwrite CFLAGS
+
+bitbake passes CFLAGS that are often in conflict with the ones set
+in mbedtls' CMakeLists.txt. Such conflicts are the inability to use
+FORTIFY_SOURCE=2 except in release mode
+
+Upstream-Status: Inappropriate [due to fluent-bit having it's own Release flags that also overwrite bitbake ones.]
+---
+ lib/mbedtls-2.28.0/CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/lib/mbedtls-2.28.0/CMakeLists.txt
++++ b/lib/mbedtls-2.28.0/CMakeLists.txt
+@@ -204,8 +204,6 @@ if(CMAKE_COMPILER_IS_GNU)
+ if (GCC_VERSION VERSION_GREATER 7.0 OR GCC_VERSION VERSION_EQUAL 7.0)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wformat-overflow=2 -Wformat-truncation")
+ endif()
+- set(CMAKE_C_FLAGS_RELEASE "-O2")
+- set(CMAKE_C_FLAGS_DEBUG "-O0 -g3")
+ set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")
+ set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3")
+ set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls")
+@@ -215,8 +213,6 @@ endif(CMAKE_COMPILER_IS_GNU)
+
+ if(CMAKE_COMPILER_IS_CLANG)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wformat=2 -Wno-format-nonliteral")
+- set(CMAKE_C_FLAGS_RELEASE "-O2")
+- set(CMAKE_C_FLAGS_DEBUG "-O0 -g3")
+ set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage")
+ set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O3")
+ set(CMAKE_C_FLAGS_ASANDBG "-fsanitize=address -fno-common -fsanitize=undefined -fno-sanitize-recover=all -O1 -g3 -fno-omit-frame-pointer -fno-optimize-sibling-calls")
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch
new file mode 100644
index 0000000000..bd4276193d
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch
@@ -0,0 +1,45 @@
+From a797b79483940ed4adcaa5fe2c40dd0487c7c2c7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 11:39:08 -0700
+Subject: [PATCH 4/5] Use correct type to store return from flb_kv_item_create
+
+Fix
+error: incompatible pointer to integer conversion assigning to 'int' from 'struct flb_kv *'
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ plugins/out_stackdriver/stackdriver_conf.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/out_stackdriver/stackdriver_conf.c b/plugins/out_stackdriver/stackdriver_conf.c
+index a9a8eb0..e4f969e 100644
+--- a/plugins/out_stackdriver/stackdriver_conf.c
++++ b/plugins/out_stackdriver/stackdriver_conf.c
+@@ -176,12 +176,12 @@ static int read_credentials_file(const char *cred_file, struct flb_stackdriver *
+
+ static int parse_configuration_labels(struct flb_stackdriver *ctx)
+ {
+- int ret;
+ char *p;
+ flb_sds_t key;
+ flb_sds_t val;
+ struct mk_list *head;
+ struct flb_slist_entry *entry;
++ struct flb_kv *ret;
+ msgpack_object_kv *kv = NULL;
+
+ if (ctx->labels) {
+@@ -216,7 +216,7 @@ static int parse_configuration_labels(struct flb_stackdriver *ctx)
+ flb_sds_destroy(key);
+ flb_sds_destroy(val);
+
+- if (ret == -1) {
++ if (!ret) {
+ return -1;
+ }
+ }
+--
+2.37.1
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch
new file mode 100644
index 0000000000..f6e3dce2f3
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0004-build-Make-systemd-init-systemd-detection-contingent.patch
@@ -0,0 +1,63 @@
+From 7a792624925d46690c1f07fe4b194b5f4c510db6 Mon Sep 17 00:00:00 2001
+From: Paulo Neves <ptsneves@gmail.com>
+Date: Tue, 2 Aug 2022 09:57:05 +0200
+Subject: [PATCH 1/1] build: Make systemd init systemd detection contingent on
+ pkgconfig
+
+Use pkg-config to get systemd.pc variables and systemdunitdir. Those
+variable ensure that .service files are installed in the correct paths
+and only when systemd is detected.
+
+Upstream-Status: Pending [https://github.com/fluent/fluent-bit/pull/5818]
+
+---
+ cmake/FindJournald.cmake | 4 ++++
+ src/CMakeLists.txt | 4 ++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/FindJournald.cmake b/cmake/FindJournald.cmake
+index f5a3a832b..9e6657a29 100644
+--- a/cmake/FindJournald.cmake
++++ b/cmake/FindJournald.cmake
+@@ -5,6 +5,8 @@
+ # JOURNALD_INCLUDE_DIR - the Journald include directory
+ # JOURNALD_LIBRARIES - Link these to use Journald
+ # JOURNALD_DEFINITIONS - Compiler switches required for using Journald
++# SYSTEMD_UNITDIR - The systemd units' directory
++#
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+ #
+@@ -16,7 +18,9 @@
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ pkg_check_modules(PC_JOURNALD QUIET systemd)
++pkg_get_variable(PC_SYSTEMD_UNITDIR systemd "systemdsystemunitdir")
+
++set(SYSTEMD_UNITDIR ${PC_SYSTEMD_UNITDIR})
+ set(JOURNALD_FOUND ${PC_JOURNALD_FOUND})
+ set(JOURNALD_DEFINITIONS ${PC_JOURNALD_CFLAGS_OTHER})
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 522bbf9bd..30743d8d6 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -480,13 +480,13 @@ if(FLB_BINARY)
+ endif()
+
+ # Detect init system, install upstart, systemd or init.d script
+- if(IS_DIRECTORY /lib/systemd/system)
++ if(DEFINED SYSTEMD_UNITDIR)
+ set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
+ configure_file(
+ "${PROJECT_SOURCE_DIR}/init/systemd.in"
+ ${FLB_SYSTEMD_SCRIPT}
+ )
+- install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION /lib/systemd/system)
++ install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR})
+ install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary)
+ elseif(IS_DIRECTORY /usr/share/upstart)
+ set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch
new file mode 100644
index 0000000000..f023ab5732
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0005-stackdriver-Fix-return-type-mismatch.patch
@@ -0,0 +1,33 @@
+From 27f0bd5a3339612e03112e6b490900a9fabc3337 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 11:44:25 -0700
+Subject: [PATCH 5/5] stackdriver: Fix return type mismatch
+
+Fix
+error: incompatible integer to pointer conversion returning 'int' from a function with result type 'flb_sds_t' (aka 'char *') [-Wint-conversion]
+ return -1;
+ ^~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ plugins/out_stackdriver/stackdriver.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/out_stackdriver/stackdriver.c b/plugins/out_stackdriver/stackdriver.c
+index ae66bf2..e01755c 100644
+--- a/plugins/out_stackdriver/stackdriver.c
++++ b/plugins/out_stackdriver/stackdriver.c
+@@ -2033,7 +2033,7 @@ static flb_sds_t stackdriver_format(struct flb_stackdriver *ctx,
+ flb_sds_destroy(operation_producer);
+ msgpack_unpacked_destroy(&result);
+ msgpack_sbuffer_destroy(&mp_sbuf);
+- return -1;
++ return NULL;
+ }
+
+ /* Number of parsed labels */
+--
+2.37.1
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch
new file mode 100644
index 0000000000..c3f2574d26
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0006-monkey-Fix-TLS-detection-testcase.patch
@@ -0,0 +1,36 @@
+From f88d9b82e8bd8ae38fba666b5825ffb41769f81a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 12:25:22 -0700
+Subject: [PATCH] monkey: Fix TLS detection testcase
+
+Clang15 errors out on compiling the check and disables TLS
+
+Fixes errors like
+
+error: call to undeclared function '__tls_get_addr'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ __tls_get_addr(0);
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ lib/monkey/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/monkey/CMakeLists.txt b/lib/monkey/CMakeLists.txt
+index 15e62e8..96ac2bd 100644
+--- a/lib/monkey/CMakeLists.txt
++++ b/lib/monkey/CMakeLists.txt
+@@ -178,6 +178,8 @@ endif()
+ # Use old Pthread TLS
+ if(NOT MK_PTHREAD_TLS)
+ check_c_source_compiles("
++ #include <sys/types.h>
++ extern void *__tls_get_addr(size_t *v);
+ __thread int a;
+ int main() {
+ __tls_get_addr(0);
+--
+2.37.1
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0007-cmake-Do-not-check-for-upstart-on-build-host.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/0007-cmake-Do-not-check-for-upstart-on-build-host.patch
new file mode 100644
index 0000000000..71bdd34eeb
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0007-cmake-Do-not-check-for-upstart-on-build-host.patch
@@ -0,0 +1,46 @@
+From c41653e856d05ed430d22f8b311714ff756a0e0b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 23 Mar 2023 18:05:27 -0700
+Subject: [PATCH] cmake: Do not check for upstart on build host
+
+Some ubuntu distros might have this directory /usr/share/upstart around
+and yocto based distros not using systemd will process this piece of
+code and falsely assume that target supports upstart, which may not be
+true in case of cross-compilation.
+
+This also can end up in configure errors e.g.
+
+| CMake Error at src/CMakeLists.txt:496 (install):
+| install DIRECTORY given unknown argument "/etc/td-agent-bit/".
+|
+|
+| -- Configuring incomplete, errors occurred!
+
+Upstream-Status: Inappropriate [ Cross-compile Specific ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/CMakeLists.txt | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index bb30b2a..c63b6d8 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -486,14 +486,6 @@ if(FLB_BINARY)
+ )
+ install(FILES ${FLB_SYSTEMD_SCRIPT} COMPONENT binary DESTINATION ${SYSTEMD_UNITDIR})
+ install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR} COMPONENT binary)
+- elseif(IS_DIRECTORY /usr/share/upstart)
+- set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
+- configure_file(
+- "${PROJECT_SOURCE_DIR}/init/upstart.in"
+- ${FLB_UPSTART_SCRIPT}
+- )
+- install(FILES ${FLB_UPSTART_SCRIPT} COMPONENT binary DESTINATION /etc/init)
+- install(DIRECTORY DESTINATION COMPONENT binary ${FLB_INSTALL_CONFDIR})
+ else()
+ # FIXME: should we support Sysv init script ?
+ endif()
+--
+2.40.0
+
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
deleted file mode 100644
index 8ffc3be3ef..0000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/builtin-nan.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-help complier to use intrinsics, clang in few cases e.g. aarch64 can not
-and then requires linking with libm, its the only function needed from libm then
-its good to avoid needing it.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/include/fluent-bit/stream_processor/flb_sp_timeseries.h
-+++ b/include/fluent-bit/stream_processor/flb_sp_timeseries.h
-@@ -207,7 +207,7 @@ void cb_forecast_calc(struct timeseries
- result = b0 + b1 * (val->f64 + *forecast->latest_x);
- break;
- default:
-- result = nan("");
-+ result = __builtin_nan("");
- break;
- }
-
-@@ -283,7 +283,7 @@ void cb_forecast_r_calc(struct timeserie
- result = ((val->i64 - b0) / b1) - *forecast->latest_x;
- break;
- default:
-- result = nan("");
-+ result = __builtin_nan("");
- break;
- }
-
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
deleted file mode 100644
index a185789992..0000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/cross-build-init-system-detection.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Define CMake variables to indicate init system for target
-incase of cross compile, detecting systemd support based on
-host directory structure is not right thing to do
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.kheem@gmail.com>
-
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -317,7 +317,7 @@ if(FLB_BINARY)
- install(TARGETS fluent-bit-bin RUNTIME DESTINATION ${FLB_INSTALL_BINDIR})
-
- # Detect init system, install upstart, systemd or init.d script
-- if(IS_DIRECTORY /lib/systemd/system)
-+ if(IS_DIRECTORY /lib/systemd/system OR FLB_SYSTEMD)
- set(FLB_SYSTEMD_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.service")
- configure_file(
- "${PROJECT_SOURCE_DIR}/init/systemd.in"
-@@ -325,7 +325,7 @@ if(FLB_BINARY)
- )
- install(FILES ${FLB_SYSTEMD_SCRIPT} DESTINATION /lib/systemd/system)
- install(DIRECTORY DESTINATION ${FLB_INSTALL_CONFDIR})
-- elseif(IS_DIRECTORY /usr/share/upstart)
-+ elseif(IS_DIRECTORY /usr/share/upstart OR FLB_UPSTART)
- set(FLB_UPSTART_SCRIPT "${PROJECT_SOURCE_DIR}/init/${FLB_OUT_NAME}.conf")
- configure_file(
- "${PROJECT_SOURCE_DIR}/init/upstart.in"
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -70,6 +70,8 @@ option(FLB_RECORD_ACCESSOR "Enable re
- option(FLB_SYSTEM_STRPTIME "Use strptime in system libc" Yes)
- option(FLB_STATIC_CONF "Build binary using static configuration")
- option(FLB_STREAM_PROCESSOR "Enable Stream Processor" Yes)
-+option(FLB_SYSTEMD "Enable systemd init system" No)
-+option(FLB_UPSTART "Enable upstart init system" No)
- option(FLB_CORO_STACK_SIZE "Set coroutine stack size")
-
- # Metrics: Experimental Feature, disabled by default on 0.12 series
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch b/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
deleted file mode 100644
index 67b3397a6f..0000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit/jemalloc.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Add --with-jemalloc-prefix=je_ so it compiles on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -523,7 +523,7 @@ if(FLB_JEMALLOC AND ${CMAKE_SYSTEM_NAME}
- # Link to Jemalloc as an external dependency
- ExternalProject_Add(jemalloc
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1
-- CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
-+ CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/jemalloc-5.2.1/configure ${AUTOCONF_HOST_OPT} --with-jemalloc-prefix=je_ --with-lg-quantum=3 --enable-cc-silence --prefix=<INSTALL_DIR>
- CFLAGS=-std=gnu99\ -Wall\ -pipe\ -g3\ -O3\ -funroll-loops
- BUILD_COMMAND $(MAKE)
- INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
deleted file mode 100644
index eac2670415..0000000000
--- a/meta-oe/recipes-extended/fluentbit/fluentbit_1.3.5.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "Fast Log processor and Forwarder"
-DESCRIPTION = "Fluent Bit is a data collector, processor and \
-forwarder for Linux. It supports several input sources and \
-backends (destinations) for your data. \
-"
-
-HOMEPAGE = "http://fluentbit.io"
-BUGTRACKER = "https://github.com/fluent/fluent-bit/issues"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
-SECTION = "net"
-
-SRC_URI = "http://fluentbit.io/releases/1.3/fluent-bit-${PV}.tar.gz \
- file://jemalloc.patch \
- file://cross-build-init-system-detection.patch \
- file://builtin-nan.patch \
- file://0001-ppc-Fix-signature-for-co_create-API.patch \
- file://0001-bin-fix-SIGSEGV-caused-by-using-flb_free-instead-of-.patch \
- file://0002-parser-Fix-SIGSEGV-caused-by-using-flb_free-instead-.patch \
- "
-SRC_URI[md5sum] = "6eae6dfd0a874e5dd270c36e9c68f747"
-SRC_URI[sha256sum] = "e037c76c89269c8dc4027a08e442fefd2751b0f1e0f9c38f9a4b12d781a9c789"
-
-S = "${WORKDIR}/fluent-bit-${PV}"
-DEPENDS = "zlib bison-native flex-native"
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-DEPENDS_append_libc-musl = " fts "
-
-INSANE_SKIP_${PN}-dev += "dev-elf"
-
-LTO = ""
-
-# Use CMake 'Unix Makefiles' generator
-OECMAKE_GENERATOR ?= "Unix Makefiles"
-
-# Fluent Bit build options
-# ========================
-
-# Host related setup
-EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_ALL=ON -DFLB_TD=1"
-
-# Disable LuaJIT and filter_lua support
-EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off "
-
-# Disable Library and examples
-EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off -DFLB_EXAMPLES=Off "
-
-EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','',d)}"
-
-EXTRA_OECMAKE_append_riscv64 = " -DFLB_DEPS='atomic'"
-EXTRA_OECMAKE_append_riscv32 = " -DFLB_DEPS='atomic'"
-
-# Kafka Output plugin (disabled by default): note that when
-# enabling Kafka output plugin, the backend library librdkafka
-# requires 'openssl' as a dependency.
-#
-# DEPENDS += "openssl "
-# EXTRA_OECMAKE += "-DFLB_OUT_KAFKA=On "
-
-inherit cmake systemd
-
-CFLAGS += "-fcommon"
-
-SYSTEMD_SERVICE_${PN} = "td-agent-bit.service"
-TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
new file mode 100644
index 0000000000..fc06095475
--- /dev/null
+++ b/meta-oe/recipes-extended/fluentbit/fluentbit_1.9.7.bb
@@ -0,0 +1,92 @@
+SUMMARY = "Fast Log processor and Forwarder"
+DESCRIPTION = "Fluent Bit is a data collector, processor and \
+forwarder for Linux. It supports several input sources and \
+backends (destinations) for your data. \
+"
+
+HOMEPAGE = "http://fluentbit.io"
+BUGTRACKER = "https://github.com/fluent/fluent-bit/issues"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
+SECTION = "net"
+
+SRC_URI = "https://releases.fluentbit.io/1.9/source-${PV}.tar.gz;subdir=fluent-bit-${PV};downloadfilename=${BPN}-${PV}.tar.gz \
+ file://0001-CMakeLists.txt-Do-not-use-private-makefile-target.patch \
+ file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch \
+ file://0003-mbedtls-Do-not-overwrite-CFLAGS.patch \
+ file://0004-build-Make-systemd-init-systemd-detection-contingent.patch \
+ file://0001-monkey-Define-_GNU_SOURCE-for-memmem-API-check.patch \
+ file://0002-mbedtls-Remove-unused-variable.patch \
+ file://0003-mbedtls-Disable-documentation-warning-as-error-with-.patch \
+ file://0004-Use-correct-type-to-store-return-from-flb_kv_item_cr.patch \
+ file://0005-stackdriver-Fix-return-type-mismatch.patch \
+ file://0006-monkey-Fix-TLS-detection-testcase.patch \
+ file://0007-cmake-Do-not-check-for-upstart-on-build-host.patch \
+ "
+SRC_URI:remove:x86 = "file://0002-mbedtls-Remove-unused-variable.patch"
+SRC_URI:append:libc-musl = "\
+ file://0001-Use-posix-strerror_r-with-musl.patch \
+ file://0002-chunkio-Link-with-fts-library-with-musl.patch \
+ "
+SRC_URI[sha256sum] = "8ca2ac081d7eee717483c06608adcb5e3d5373e182ad87dba21a23f8278c6540"
+S = "${WORKDIR}/fluent-bit-${PV}"
+
+DEPENDS = "zlib bison-native flex-native openssl"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[yaml] = "-DFLB_CONFIG_YAML=On,-DFLB_CONFIG_YAML=Off,libyaml"
+PACKAGECONFIG[kafka] = "-DFLB_OUT_KAFKA=On,-DFLB_OUT_KAFKA=Off,librdkafka"
+PACKAGECONFIG[examples] = "-DFLB_EXAMPLES=On,-DFLB_EXAMPLES=Off"
+PACKAGECONFIG[jemalloc] = "-DFLB_JEMALLOC=On,-DFLB_JEMALLOC=Off,jemalloc"
+#TODO add more fluentbit options to PACKAGECONFIG[]
+
+DEPENDS:append:libc-musl = " fts "
+
+# flex hardcodes the input file in #line directives leading to TMPDIR contamination of debug sources.
+do_compile:append() {
+ find ${B} -name '*.c' -or -name '*.h' | xargs sed -i -e 's|${TMPDIR}|${TARGET_DBGSRC_DIR}/|g'
+}
+
+PACKAGECONFIG ?= "yaml"
+
+LTO = ""
+
+# Use CMake 'Unix Makefiles' generator
+OECMAKE_GENERATOR ?= "Unix Makefiles"
+
+# Fluent Bit build options
+# ========================
+
+# Host related setup
+EXTRA_OECMAKE += "-DGNU_HOST=${HOST_SYS} -DFLB_TD=1"
+
+# Disable LuaJIT and filter_lua support
+EXTRA_OECMAKE += "-DFLB_LUAJIT=Off -DFLB_FILTER_LUA=Off "
+
+# Disable Library and examples
+EXTRA_OECMAKE += "-DFLB_SHARED_LIB=Off"
+
+# Enable systemd iff systemd is in DISTRO_FEATURES
+EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES','systemd','-DFLB_SYSTEMD=On','-DFLB_SYSTEMD=Off',d)}"
+
+# Enable release builds
+EXTRA_OECMAKE += "-DFLB_RELEASE=On"
+
+# musl needs these options
+EXTRA_OECMAKE:append:libc-musl = ' -DFLB_JEMALLOC_OPTIONS="--with-jemalloc-prefix=je_ --with-lg-quantum=3" -DFLB_CORO_STACK_SIZE=24576'
+
+EXTRA_OECMAKE:append:riscv64 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+EXTRA_OECMAKE:append:riscv32 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+EXTRA_OECMAKE:append:mips = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+EXTRA_OECMAKE:append:powerpc = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+EXTRA_OECMAKE:append:x86 = " -DCMAKE_C_STANDARD_LIBRARIES=-latomic"
+
+CFLAGS:append:x86 = " -DMBEDTLS_HAVE_SSE2"
+
+inherit cmake systemd pkgconfig
+
+SYSTEMD_SERVICE:${PN} = "td-agent-bit.service"
+
+EXTRA_OECMAKE += "-DCMAKE_DEBUG_SRCDIR=${TARGET_DBGSRC_DIR}/"
+TARGET_CC_ARCH += " ${SELECTED_OPTIMIZATION}"
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch b/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch
index f8f1fd00f7..7a2ecdc101 100644
--- a/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot/0001-reduce-build-to-conversion-tools-for-native-build.patch
@@ -21,11 +21,8 @@ index 9241ce5..b24e291 100644
## Process this file with automake to produce Makefile.in -*-Makefile-*-
AUTOMAKE_OPTIONS = foreign
--SUBDIRS = config m4 term src docs man demo tutorial share
+-SUBDIRS = config m4 term src docs man demo share
+SUBDIRS = docs
- EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \
- Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \
---
-2.14.3
-
+ EXTRA_DIST = BUGS Copyright FAQ.pdf INSTALL INSTALL.gnu \
+ PATCHLEVEL PGPKEYS README RELEASE_NOTES \
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch b/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch
index 8e0b4a271d..5f96cdf699 100644
--- a/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot/0002-do-not-build-demos.patch
@@ -14,18 +14,18 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
-index 9241ce5..b24e291 100644
+index 7e2c400..a8dbf96 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
AUTOMAKE_OPTIONS = foreign
--SUBDIRS = config m4 term src docs man demo tutorial share
-+SUBDIRS = config m4 term src docs man tutorial share
+-SUBDIRS = config m4 term src docs man demo share
++SUBDIRS = config m4 term src docs man share
- EXTRA_DIST = BUGS Copyright FAQ.pdf GNUmakefile INSTALL INSTALL.gnu \
- Makefile.maint PATCHLEVEL PGPKEYS README RELEASE_NOTES \
+ EXTRA_DIST = BUGS Copyright FAQ.pdf INSTALL INSTALL.gnu \
+ PATCHLEVEL PGPKEYS README RELEASE_NOTES \
--
-2.14.3
+2.31.1
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch b/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch
index a4039c3170..7a7e550349 100644
--- a/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot/0003-Use-native-tools-to-build-docs.patch
@@ -6,16 +6,24 @@ MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
---
+Upstream-Status: Pending
+
docs/Makefile.am | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/docs/Makefile.am b/docs/Makefile.am
-index 3baf0c4..e82f87d 100644
+index b20918a..47406eb 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
-@@ -152,7 +152,7 @@ gnuplot-groff.ps: gnuplot.ms $(srcdir)/titlepag.ms
+@@ -156,7 +156,7 @@ gnuplot-groff.ps: gnuplot.ms $(srcdir)/titlepag.ms
### doc2xxx dependencies
gnuplot.ms: doc2ms$(EXEEXT) $(srcdir)/gnuplot.doc
@@ -24,7 +32,7 @@ index 3baf0c4..e82f87d 100644
doc2ms_SOURCES = doc2ms.c termdoc.c
doc2ms_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS)
-@@ -173,10 +173,10 @@ pdf_figures: $(GNUPLOT_EXE) $(srcdir)/plotstyles.gnu
+@@ -177,10 +177,10 @@ pdf_figures: $(GNUPLOT_EXE) $(srcdir)/plotstyles.gnu
$(AM_V_GEN)touch $@
figures.tex: allterm.h doc2tex$(EXEEXT) $(srcdir)/gnuplot.doc
@@ -37,7 +45,7 @@ index 3baf0c4..e82f87d 100644
pdf: gnuplot.pdf
pdf_nofig: nofigures.pdf
-@@ -256,7 +256,7 @@ gnuplot.ps: gnuplot.dvi
+@@ -260,7 +260,7 @@ gnuplot.ps: gnuplot.dvi
hlp: gnuplot.hlp
gnuplot.hlp: doc2hlp$(EXEEXT) $(srcdir)/gnuplot.doc
@@ -46,7 +54,7 @@ index 3baf0c4..e82f87d 100644
doc2hlp_SOURCES = doc2hlp.c termdoc.c
-@@ -264,14 +264,14 @@ doc2hlp_SOURCES = doc2hlp.c termdoc.c
+@@ -268,14 +268,14 @@ doc2hlp_SOURCES = doc2hlp.c termdoc.c
gih: gnuplot.gih
gnuplot.gih: doc2gih$(EXEEXT) $(srcdir)/gnuplot.doc
@@ -63,16 +71,16 @@ index 3baf0c4..e82f87d 100644
alldoc2gih_SOURCES = doc2gih.c termdoc.c
alldoc2gih_CPPFLAGS = -DALL_TERM_DOC $(AM_CPPFLAGS)
-@@ -286,7 +286,7 @@ $(srcdir)/windows/wgnuplot.hhk
+@@ -290,7 +290,7 @@ $(srcdir)/windows/wgnuplot.hhk
wxhelp/wgnuplot.hhc wxhelp/wgnuplot.hhk wxhelp/*.html windows/*.png
wxhelp/wgnuplot.html: doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc
- $(AM_V_GEN) ./doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc wxhelp/
+ $(AM_V_GEN) doc2wxhtml$(EXEEXT) $(srcdir)/gnuplot.doc wxhelp/
- #doc2wxhtml_SOURCES = windows/doc2html.c termdoc.c xref.c allterm.h
- #doc2wxhtml_CPPFLAGS = -DALL_TERM_DOC -DWXHELP -I../src $(AM_CPPFLAGS)
-@@ -336,7 +336,7 @@ install-info: gnuplot.info
+ doc2wxhtml_SOURCES = windows/doc2html.c termdoc.c xref.c allterm.h
+ doc2wxhtml_CPPFLAGS = -DALL_TERM_DOC -DWXHELP -I../src $(AM_CPPFLAGS)
+@@ -340,7 +340,7 @@ install-info: gnuplot.info
ipf: gnuplot.ipf
gnuplot.ipf: doc2ipf$(EXEEXT) $(srcdir)/gnuplot.doc
@@ -81,7 +89,7 @@ index 3baf0c4..e82f87d 100644
doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c
-@@ -344,7 +344,7 @@ doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c
+@@ -348,7 +348,7 @@ doc2ipf_SOURCES = doc2ipf.c termdoc.c xref.c
rtf: gnuplot.rtf
gnuplot.rtf: doc2rtf$(EXEEXT) $(srcdir)/gnuplot.doc
@@ -90,7 +98,7 @@ index 3baf0c4..e82f87d 100644
doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c
-@@ -352,13 +352,13 @@ doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c
+@@ -356,13 +356,13 @@ doc2rtf_SOURCES = doc2rtf.c termdoc.c xref.c
rnh: gnuplot.rnh
gnuplot.rnh: doc2rnh$(EXEEXT) $(srcdir)/gnuplot.doc
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb b/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb
deleted file mode 100644
index b2c41756e5..0000000000
--- a/meta-oe/recipes-extended/gnuplot/gnuplot_5.2.8.bb
+++ /dev/null
@@ -1,71 +0,0 @@
-SUMMARY = "Gnuplot is a portable command-line driven graphing utility"
-DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \
-(text or binary) and function plotting utility."
-HOMEPAGE = "http://www.gnuplot.info/"
-SECTION = "console/scientific"
-LICENSE = "gnuplot"
-LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
-DEPENDS = "${BPN}-native virtual/libx11 gd readline"
-
-inherit autotools features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${BP}.tar.gz;name=archive \
- http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
- file://gnuplot.desktop \
- file://gnuplot.png \
-"
-SRC_URI_append_class-target = " \
- file://0002-do-not-build-demos.patch \
- file://0003-Use-native-tools-to-build-docs.patch \
- file://0004-Add-configure-option-to-find-qt5-native-tools.patch \
-"
-
-SRC_URI[archive.md5sum] = "2df8767c7399bee57a96296d46b4d5fb"
-SRC_URI[archive.sha256sum] = "60a6764ccf404a1668c140f11cc1f699290ab70daa1151bb58fed6139a28ac37"
-SRC_URI[qtplot.md5sum] = "0a481885a496092c77eb4017540b5cf6"
-SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
-
-# for building docs (they deserve it) we need *doc2* tools native
-BBCLASSEXTEND = "native"
-DEPENDS_class-native = "readline-native"
-PACKAGECONFIG_class-native = ""
-
-SRC_URI_append_class-native = " file://0001-reduce-build-to-conversion-tools-for-native-build.patch"
-
-do_install_class-native() {
- install -d ${D}${bindir}
- install ${B}/docs/*doc* ${D}${bindir}
- rm ${D}${bindir}/*.o
-}
-
-PACKAGECONFIG ??= "cairo"
-PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango"
-PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
-PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native"
-
-EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \
- --without-tutorial \
- --disable-wxwidgets"
-
-do_compile_prepend() {
- install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/
-}
-
-do_install_append_class-target() {
- install -d ${D}${datadir}/applications/
- install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/
- install -d ${D}${datadir}/pixmaps/
- install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/
-}
-
-PACKAGES =+ "${PN}-x11"
-
-RPROVIDES_${PN}-dbg += "${PN}-x11-dbg"
-
-DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot."
-SECTION_${PN}-x11 = "x11/scientific"
-FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 "
-
-FILES_${PN} += "${datadir}/texmf"
diff --git a/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb b/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb
new file mode 100644
index 0000000000..fe5e5c067d
--- /dev/null
+++ b/meta-oe/recipes-extended/gnuplot/gnuplot_5.4.3.bb
@@ -0,0 +1,71 @@
+SUMMARY = "Gnuplot is a portable command-line driven graphing utility"
+DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \
+(text or binary) and function plotting utility."
+HOMEPAGE = "http://www.gnuplot.info/"
+SECTION = "console/scientific"
+LICENSE = "gnuplot"
+LIC_FILES_CHKSUM = "file://Copyright;md5=243a186fc2fd3b992125d60d5b1bab8f"
+DEPENDS = "${BPN}-native virtual/libx11 gd readline"
+
+inherit autotools features_check pkgconfig
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz;name=archive \
+ http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz;name=qtplot \
+ file://gnuplot.desktop \
+ file://gnuplot.png \
+ "
+SRC_URI:append:class-target = " \
+ file://0002-do-not-build-demos.patch \
+ file://0003-Use-native-tools-to-build-docs.patch \
+ file://0004-Add-configure-option-to-find-qt5-native-tools.patch \
+"
+
+SRC_URI[archive.sha256sum] = "51f89bbab90f96d3543f95235368d188eb1e26eda296912256abcd3535bd4d84"
+SRC_URI[qtplot.sha256sum] = "6df317183ff62cc82f3dcf88207a267cd6478cb5147f55d7530c94f1ad5f4132"
+
+# for building docs (they deserve it) we need *doc2* tools native
+BBCLASSEXTEND = "native"
+DEPENDS:class-native = "readline-native"
+PACKAGECONFIG:class-native = ""
+
+SRC_URI:append:class-native = " file://0001-reduce-build-to-conversion-tools-for-native-build.patch"
+
+do_install:class-native() {
+ install -d ${D}${bindir}
+ install ${B}/docs/*doc* ${D}${bindir}
+ rm ${D}${bindir}/*.o
+}
+
+PACKAGECONFIG ??= "cairo"
+PACKAGECONFIG[cairo] = "--with-cairo,--without-cairo,cairo pango"
+PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua"
+PACKAGECONFIG[qt5] = "--with-qt --with-qt5nativesysroot=${STAGING_DIR_NATIVE},--without-qt,qtbase-native qtbase qtsvg qttools-native"
+
+EXTRA_OECONF = " \
+ --with-readline=${STAGING_LIBDIR}/.. \
+ --disable-wxwidgets \
+ --without-libcerf \
+"
+
+do_compile:prepend() {
+ install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/
+}
+
+do_install:append:class-target() {
+ install -d ${D}${datadir}/applications/
+ install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/
+ install -d ${D}${datadir}/pixmaps/
+ install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/
+}
+
+PACKAGES =+ "${PN}-x11"
+
+RPROVIDES:${PN}-dbg += "${PN}-x11-dbg"
+
+DESCRIPTION:${PN}-x11 = "X11 display terminal for Gnuplot."
+SECTION:${PN}-x11 = "x11/scientific"
+FILES:${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 "
+
+FILES:${PN} += "${datadir}/texmf"
diff --git a/meta-oe/recipes-extended/haveged/haveged_1.9.14.bb b/meta-oe/recipes-extended/haveged/haveged_1.9.14.bb
deleted file mode 100644
index b56b2271b1..0000000000
--- a/meta-oe/recipes-extended/haveged/haveged_1.9.14.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "haveged - A simple entropy daemon"
-DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
-AUTHOR = "Gary Wuertz"
-HOMEPAGE = "http://www.issihosts.com/haveged/index.html"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-# v1.9.14
-SRCREV = "4da3080ad4587860e5da73072d6ed54d0052938c"
-SRC_URI = "git://github.com/jirka-h/haveged.git \
-"
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_URI = "https://github.com/jirka-h/haveged/releases"
-
-inherit autotools update-rc.d systemd
-
-EXTRA_OECONF = "\
- --enable-nistest=yes \
- --enable-olt=yes \
- --enable-threads=no \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-init=service.fedora --enable-initdir=${systemd_system_unitdir}, --enable-init=sysv.redhat, systemd"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME = "haveged"
-INITSCRIPT_PARAMS_${PN} = "defaults 9"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "haveged.service"
-
-do_install_append() {
- # The exit status is 143 when the service is stopped
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- sed -i '/ExecStart/a SuccessExitStatus=143' ${D}${systemd_system_unitdir}/haveged.service
- # Hybrid systemd-sysvinit distros must install the initscript manually
- if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}${INIT_D_DIR}
- sed -e "s,@SBINDIR@,${sbindir},g" <${S}/init.d/sysv.redhat >${D}${INIT_D_DIR}/haveged
- chmod 755 ${D}${INIT_D_DIR}/haveged
- fi
- fi
-}
-
-MIPS_INSTRUCTION_SET = "mips"
diff --git a/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb b/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb
new file mode 100644
index 0000000000..97c354aba8
--- /dev/null
+++ b/meta-oe/recipes-extended/haveged/haveged_1.9.18.bb
@@ -0,0 +1,25 @@
+SUMMARY = "haveged - A simple entropy daemon"
+DESCRIPTION = "The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers."
+
+HOMEPAGE = "https://www.issihosts.com/haveged/index.html"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM="file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+# v1.9.17
+SRCREV = "80ee9289569bc13efff4e0b5db3661cb513802b2"
+SRC_URI = "git://github.com/jirka-h/haveged.git;branch=master;protocol=https \
+"
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_URI = "https://github.com/jirka-h/haveged/releases"
+
+inherit autotools
+
+EXTRA_OECONF = "\
+ --enable-nistest=yes \
+ --enable-olt=yes \
+ --enable-threads=no \
+"
+
+MIPS_INSTRUCTION_SET = "mips"
diff --git a/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb b/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb
deleted file mode 100644
index 3a7413d8a8..0000000000
--- a/meta-oe/recipes-extended/hexedit/hexedit_1.5.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "view and edit files in hexadecimal or in ASCII"
-HOMEPAGE = "http://rigaux.org/hexedit.html"
-SECTION = "console/utils"
-LICENSE = "GPLv2+"
-DEPENDS = "ncurses"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-
-SRC_URI = "git://github.com/pixel/hexedit.git \
- "
-
-SRCREV = "baf45a289360a39a05253949fb9d1b50e4668d8a"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep update-alternatives
-
-ALTERNATIVE_${PN} = "hexedit"
-ALTERNATIVE_LINK_NAME[hexedit] = "${bindir}/hexedit"
-
diff --git a/meta-oe/recipes-extended/hexedit/hexedit_1.6.bb b/meta-oe/recipes-extended/hexedit/hexedit_1.6.bb
new file mode 100644
index 0000000000..d2b23b41b4
--- /dev/null
+++ b/meta-oe/recipes-extended/hexedit/hexedit_1.6.bb
@@ -0,0 +1,20 @@
+SUMMARY = "view and edit files in hexadecimal or in ASCII"
+HOMEPAGE = "http://rigaux.org/hexedit.html"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-or-later"
+DEPENDS = "ncurses"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+
+SRC_URI = "git://github.com/pixel/hexedit.git;branch=master;protocol=https \
+ "
+
+SRCREV = "eab92dcaa34b66bc5182772afc9fda4ac8a27597"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep update-alternatives
+
+ALTERNATIVE:${PN} = "hexedit"
+ALTERNATIVE_LINK_NAME[hexedit] = "${bindir}/hexedit"
+
diff --git a/meta-oe/recipes-extended/highway/highway_1.1.0.bb b/meta-oe/recipes-extended/highway/highway_1.1.0.bb
new file mode 100644
index 0000000000..11d9e7cddf
--- /dev/null
+++ b/meta-oe/recipes-extended/highway/highway_1.1.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Highway is a C++ library for SIMD (Single Instruction, Multiple Data)"
+HOMEPAGE = "https://github.com/google/highway/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2b42edef8fa55315f34f2370b4715ca9"
+
+inherit cmake
+
+SRC_URI = "git://github.com/google/highway.git;protocol=https;branch=master"
+
+SRCREV = "58b52a717469e62b2d9b8eaa2f5dddb44d4a4cbf"
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DBUILD_TESTING=0 -DCMAKE_BUILD_TYPE=Release"
+CXXFLAGS:append:arm = " -mfp16-format=ieee"
+# Option not supported with clang and its default format for __fp16 anyway with clang
+CXXFLAGS:remove:toolchain-clang = "-mfp16-format=ieee"
diff --git a/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch b/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch
deleted file mode 100644
index 1af5d26ac0..0000000000
--- a/meta-oe/recipes-extended/hiredis/files/0001-Makefile-remove-hardcoding-of-CC.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d13b918a3ff8b0ebfd1e7b18b198b4b45841d720 Mon Sep 17 00:00:00 2001
-From: Andrea Galbusera <gizero@gmail.com>
-Date: Fri, 31 Jul 2015 16:42:08 +0200
-Subject: [PATCH] Makefile: remove hardcoding of CC
-
-* upgrade previous patch to avoid wiping CFLAGS. This fixes build on arm
-platforms which previously caused and issue due to -fPIC being lost
-
-Signed-off-by: Andrea Galbusera <gizero@gmail.com>
----
- Makefile | 5 -----
- 1 file changed, 5 deletions(-)
-
---- a/Makefile
-+++ b/Makefile
-@@ -35,12 +35,6 @@ define REDIS_TEST_CONFIG
- endef
- export REDIS_TEST_CONFIG
-
--# Fallback to gcc when $CC is not in $PATH.
--CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
--CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++')
--OPTIMIZATION?=-O3
--WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings
--DEBUG_FLAGS?= -g -ggdb
- REAL_CFLAGS=$(OPTIMIZATION) -fPIC $(CFLAGS) $(WARNINGS) $(DEBUG_FLAGS)
- REAL_LDFLAGS=$(LDFLAGS)
-
diff --git a/meta-oe/recipes-extended/hiredis/hiredis/run-ptest b/meta-oe/recipes-extended/hiredis/hiredis/run-ptest
new file mode 100644
index 0000000000..59b747dbd8
--- /dev/null
+++ b/meta-oe/recipes-extended/hiredis/hiredis/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+TEST_SSL=0 TEST_ASYNC=0 ./test.sh
diff --git a/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb b/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb
deleted file mode 100644
index 29f8de8d2f..0000000000
--- a/meta-oe/recipes-extended/hiredis/hiredis_0.14.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Minimalistic C client library for Redis"
-HOMEPAGE = "http://github.com/redis/hiredis"
-LICENSE = "BSD-3-Clause"
-SECTION = "libs"
-DEPENDS = "redis"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d84d659a35c666d23233e54503aaea51"
-SRCREV = "685030652cd98c5414ce554ff5b356dfe8437870"
-SRC_URI = "git://github.com/redis/hiredis;protocol=git \
- file://0001-Makefile-remove-hardcoding-of-CC.patch"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep pkgconfig
-
-EXTRA_OEMAKE = "PREFIX=${prefix} LIBRARY_PATH=${baselib}"
-
-# By default INSTALL variable in Makefile is equal to 'cp -a', which preserves
-# ownership and causes host-user-contamination QA issue.
-# And PREFIX defaults to /usr/local.
-do_install_prepend() {
- export INSTALL='cp -r'
-}
diff --git a/meta-oe/recipes-extended/hiredis/hiredis_1.2.0.bb b/meta-oe/recipes-extended/hiredis/hiredis_1.2.0.bb
new file mode 100644
index 0000000000..d081242736
--- /dev/null
+++ b/meta-oe/recipes-extended/hiredis/hiredis_1.2.0.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "Minimalistic C client library for Redis"
+HOMEPAGE = "http://github.com/redis/hiredis"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d84d659a35c666d23233e54503aaea51"
+
+SRC_URI = " \
+ git://github.com/redis/hiredis;protocol=https;branch=master \
+ file://run-ptest \
+ "
+SRCREV = "60e5075d4ac77424809f855ba3e398df7aacefe8"
+
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+
+# 'testssl' is not enabled by default as redis recipe does not build with ssl support
+# option 'testssl' requires 'ssl'
+PACKAGECONFIG ??= "ssl ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'test testasync', '', d)}"
+PACKAGECONFIG[ssl] = "-DENABLE_SSL=ON, -DENABLE_SSL=OFF, openssl"
+PACKAGECONFIG[test] = "-DDISABLE_TESTS=OFF, -DDISABLE_TESTS=ON"
+PACKAGECONFIG[testssl] = "-DENABLE_SSL_TESTS=ON, -DENABLE_SSL_TESTS=OFF, openssl"
+PACKAGECONFIG[testasync] = "-DENABLE_ASYNC_TESTS=ON, -DENABLE_ASYNC_TESTS=OFF, libevent"
+
+do_install_ptest() {
+ install ${S}/test.sh ${D}${PTEST_PATH}/
+ install ${B}/hiredis-test ${D}${PTEST_PATH}/
+ if ${@bb.utils.contains('PACKAGECONFIG','testssl','true','false',d)}; then
+ sed -i 's/TEST_SSL=0/TEST_SSL=1/g' ${D}${PTEST_PATH}/run-ptest
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG','testasync','true','false',d)}; then
+ sed -i 's/TEST_ASYNC=0/TEST_ASYNC=1/g' ${D}${PTEST_PATH}/run-ptest
+ fi
+}
+
+FILES:${PN}-dev += "${datadir}/hiredis_ssl ${prefix}/build"
+
+RDEPENDS:${PN} = "redis"
+RDEPENDS:${PN}-ptest = "${@bb.utils.contains('PACKAGECONFIG', 'testssl', 'openssl-bin', '', d)}"
diff --git a/meta-oe/recipes-extended/hplip/hplip/0001-Drop-using-register-storage-classifier.patch b/meta-oe/recipes-extended/hplip/hplip/0001-Drop-using-register-storage-classifier.patch
new file mode 100644
index 0000000000..237374d74b
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0001-Drop-using-register-storage-classifier.patch
@@ -0,0 +1,309 @@
+From c36f0af7ba75c133edc46f052b291188351b6c20 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Jan 2023 15:49:16 -0800
+Subject: [PATCH] Drop using register storage classifier
+
+Its beeing dropped from latest standards beginning C++17
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ip/xjpg_dct.c | 4 +--
+ ip/xjpg_dct.h | 4 +--
+ prnt/hpcups/Mode9.cpp | 2 +-
+ prnt/hpcups/ModeDeltaPlus.cpp | 4 +--
+ prnt/hpcups/jccolor.c | 46 +++++++++++++++++------------------
+ prnt/hpijs/compression.cpp | 2 +-
+ prnt/hpijs/jccolor.c | 44 ++++++++++++++++-----------------
+ prnt/hpijs/ljfastraster.cpp | 4 +--
+ prnt/hpps/psutil.c | 6 ++---
+ 9 files changed, 58 insertions(+), 58 deletions(-)
+
+diff --git a/ip/xjpg_dct.c b/ip/xjpg_dct.c
+index 63f021b..1986923 100644
+--- a/ip/xjpg_dct.c
++++ b/ip/xjpg_dct.c
+@@ -103,7 +103,7 @@
+ | for the Winograd DCT. |
+ |____________________________________________________________________________|
+ */
+-void dct_forward (register int *block_p)
++void dct_forward (int *block_p)
+ {
+ #define CONST_FRAC_BITS 14 /* bits of frac in CONST_1-CONST_5 below */
+
+@@ -257,7 +257,7 @@ void dct_forward (register int *block_p)
+ | and level-shifting, you must clamp these values to 0..255. |
+ |____________________________________________________________________________|
+ */
+-void dct_inverse (register int *block_p)
++void dct_inverse (int *block_p)
+ {
+ #define CONST_FRAC_BITS 13 /* bits of frac in CONST_1-CONST_5 below */
+
+diff --git a/ip/xjpg_dct.h b/ip/xjpg_dct.h
+index 7dc90f3..149d66f 100644
+--- a/ip/xjpg_dct.h
++++ b/ip/xjpg_dct.h
+@@ -43,8 +43,8 @@
+ |____________________________________________________________________________|
+ */
+
+-void dct_forward (register int *block_p);
++void dct_forward (int *block_p);
+
+-void dct_inverse (register int *block_p);
++void dct_inverse (int *block_p);
+
+ /* End of File */
+diff --git a/prnt/hpcups/Mode9.cpp b/prnt/hpcups/Mode9.cpp
+index 94ff571..6cc210a 100644
+--- a/prnt/hpcups/Mode9.cpp
++++ b/prnt/hpcups/Mode9.cpp
+@@ -203,7 +203,7 @@ bool Mode9::Process(RASTERDATA* input)
+ unsigned int offset,byte_count,rem_count;
+ Mode9_comtype command;
+ char* dest= (char*) compressBuf;
+- register char *dptr=dest;
++ char *dptr=dest;
+
+ while ( size > 0 )
+ {
+diff --git a/prnt/hpcups/ModeDeltaPlus.cpp b/prnt/hpcups/ModeDeltaPlus.cpp
+index 4552f4a..6a5837f 100644
+--- a/prnt/hpcups/ModeDeltaPlus.cpp
++++ b/prnt/hpcups/ModeDeltaPlus.cpp
+@@ -241,8 +241,8 @@ bool ModeDeltaPlus::compress (BYTE *outmem,
+ const uint32_t inheight,
+ uint32_t horz_ht_dist)
+ {
+- register BYTE *outptr = outmem;
+- register uint32_t col;
++ BYTE *outptr = outmem;
++ uint32_t col;
+ const BYTE *seedrow;
+ uint32_t seedrow_count = 0;
+ uint32_t location = 0;
+diff --git a/prnt/hpcups/jccolor.c b/prnt/hpcups/jccolor.c
+index 7cc8906..6794575 100644
+--- a/prnt/hpcups/jccolor.c
++++ b/prnt/hpcups/jccolor.c
+@@ -73,7 +73,7 @@ typedef my_color_converter * my_cconvert_ptr;
+
+ /* We allocate one big table and divide it up into eight parts, instead of
+ * doing eight alloc_small requests. This lets us use a single table base
+- * address, which can be held in a register in the inner loops on many
++ * address, which can be held in a in the inner loops on many
+ * machines (more than can hold all eight addresses, anyway).
+ */
+
+@@ -205,11 +205,11 @@ rgb_ycc_convert (j_compress_ptr cinfo,
+ JDIMENSION output_row, int num_rows)
+ {
+ my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
+- register int r, g, b;
+- register INT32 * ctab = cconvert->rgb_ycc_tab;
+- register JSAMPROW inptr;
+- register JSAMPROW outptr0, outptr1, outptr2;
+- register JDIMENSION col;
++ int r, g, b;
++ INT32 * ctab = cconvert->rgb_ycc_tab;
++ JSAMPROW inptr;
++ JSAMPROW outptr0, outptr1, outptr2;
++ JDIMENSION col;
+ JDIMENSION num_cols = cinfo->image_width;
+
+ while (--num_rows >= 0) {
+@@ -261,11 +261,11 @@ rgb_gray_convert (j_compress_ptr cinfo,
+ JDIMENSION output_row, int num_rows)
+ {
+ my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
+- register int r, g, b;
+- register INT32 * ctab = cconvert->rgb_ycc_tab;
+- register JSAMPROW inptr;
+- register JSAMPROW outptr;
+- register JDIMENSION col;
++ int r, g, b;
++ INT32 * ctab = cconvert->rgb_ycc_tab;
++ JSAMPROW inptr;
++ JSAMPROW outptr;
++ JDIMENSION col;
+ JDIMENSION num_cols = cinfo->image_width;
+
+ while (--num_rows >= 0) {
+@@ -300,11 +300,11 @@ cmyk_ycck_convert (j_compress_ptr cinfo,
+ JDIMENSION output_row, int num_rows)
+ {
+ my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
+- register int r, g, b;
+- register INT32 * ctab = cconvert->rgb_ycc_tab;
+- register JSAMPROW inptr;
+- register JSAMPROW outptr0, outptr1, outptr2, outptr3;
+- register JDIMENSION col;
++ int r, g, b;
++ INT32 * ctab = cconvert->rgb_ycc_tab;
++ JSAMPROW inptr;
++ JSAMPROW outptr0, outptr1, outptr2, outptr3;
++ JDIMENSION col;
+ JDIMENSION num_cols = cinfo->image_width;
+
+ while (--num_rows >= 0) {
+@@ -354,9 +354,9 @@ grayscale_convert (j_compress_ptr cinfo,
+ JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
+ JDIMENSION output_row, int num_rows)
+ {
+- register JSAMPROW inptr;
+- register JSAMPROW outptr;
+- register JDIMENSION col;
++ JSAMPROW inptr;
++ JSAMPROW outptr;
++ JDIMENSION col;
+ JDIMENSION num_cols = cinfo->image_width;
+ int instride = cinfo->input_components;
+
+@@ -383,10 +383,10 @@ null_convert (j_compress_ptr cinfo,
+ JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
+ JDIMENSION output_row, int num_rows)
+ {
+- register JSAMPROW inptr;
+- register JSAMPROW outptr;
+- register JDIMENSION col;
+- register int ci;
++ JSAMPROW inptr;
++ JSAMPROW outptr;
++ JDIMENSION col;
++ int ci;
+ int nc = cinfo->num_components;
+ JDIMENSION num_cols = cinfo->image_width;
+
+diff --git a/prnt/hpijs/compression.cpp b/prnt/hpijs/compression.cpp
+index fcac793..10194ca 100644
+--- a/prnt/hpijs/compression.cpp
++++ b/prnt/hpijs/compression.cpp
+@@ -266,7 +266,7 @@ BOOL Mode9::Process(RASTERDATA* input)
+ unsigned int offset,byte_count,rem_count;
+ Mode9_comtype command;
+ char* dest= (char*) compressBuf;
+- register char *dptr=dest;
++ char *dptr=dest;
+
+ while ( size > 0 )
+ {
+diff --git a/prnt/hpijs/jccolor.c b/prnt/hpijs/jccolor.c
+index a6b2333..8486b65 100644
+--- a/prnt/hpijs/jccolor.c
++++ b/prnt/hpijs/jccolor.c
+@@ -206,11 +206,11 @@ rgb_ycc_convert (j_compress_ptr cinfo,
+ JDIMENSION output_row, int num_rows)
+ {
+ my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
+- register int r, g, b;
+- register INT32 * ctab = cconvert->rgb_ycc_tab;
+- register JSAMPROW inptr;
+- register JSAMPROW outptr0, outptr1, outptr2;
+- register JDIMENSION col;
++ int r, g, b;
++ INT32 * ctab = cconvert->rgb_ycc_tab;
++ JSAMPROW inptr;
++ JSAMPROW outptr0, outptr1, outptr2;
++ JDIMENSION col;
+ JDIMENSION num_cols = cinfo->image_width;
+
+ while (--num_rows >= 0) {
+@@ -262,11 +262,11 @@ rgb_gray_convert (j_compress_ptr cinfo,
+ JDIMENSION output_row, int num_rows)
+ {
+ my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
+- register int r, g, b;
+- register INT32 * ctab = cconvert->rgb_ycc_tab;
+- register JSAMPROW inptr;
+- register JSAMPROW outptr;
+- register JDIMENSION col;
++ int r, g, b;
++ INT32 * ctab = cconvert->rgb_ycc_tab;
++ JSAMPROW inptr;
++ JSAMPROW outptr;
++ JDIMENSION col;
+ JDIMENSION num_cols = cinfo->image_width;
+
+ while (--num_rows >= 0) {
+@@ -301,11 +301,11 @@ cmyk_ycck_convert (j_compress_ptr cinfo,
+ JDIMENSION output_row, int num_rows)
+ {
+ my_cconvert_ptr cconvert = (my_cconvert_ptr) cinfo->cconvert;
+- register int r, g, b;
+- register INT32 * ctab = cconvert->rgb_ycc_tab;
+- register JSAMPROW inptr;
+- register JSAMPROW outptr0, outptr1, outptr2, outptr3;
+- register JDIMENSION col;
++ int r, g, b;
++ INT32 * ctab = cconvert->rgb_ycc_tab;
++ JSAMPROW inptr;
++ JSAMPROW outptr0, outptr1, outptr2, outptr3;
++ JDIMENSION col;
+ JDIMENSION num_cols = cinfo->image_width;
+
+ while (--num_rows >= 0) {
+@@ -355,9 +355,9 @@ grayscale_convert (j_compress_ptr cinfo,
+ JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
+ JDIMENSION output_row, int num_rows)
+ {
+- register JSAMPROW inptr;
+- register JSAMPROW outptr;
+- register JDIMENSION col;
++ JSAMPROW inptr;
++ JSAMPROW outptr;
++ JDIMENSION col;
+ JDIMENSION num_cols = cinfo->image_width;
+ int instride = cinfo->input_components;
+
+@@ -384,10 +384,10 @@ null_convert (j_compress_ptr cinfo,
+ JSAMPARRAY input_buf, JSAMPIMAGE output_buf,
+ JDIMENSION output_row, int num_rows)
+ {
+- register JSAMPROW inptr;
+- register JSAMPROW outptr;
+- register JDIMENSION col;
+- register int ci;
++ JSAMPROW inptr;
++ JSAMPROW outptr;
++ JDIMENSION col;
++ int ci;
+ int nc = cinfo->num_components;
+ JDIMENSION num_cols = cinfo->image_width;
+
+diff --git a/prnt/hpijs/ljfastraster.cpp b/prnt/hpijs/ljfastraster.cpp
+index 8c7073a..7e82fac 100644
+--- a/prnt/hpijs/ljfastraster.cpp
++++ b/prnt/hpijs/ljfastraster.cpp
+@@ -919,8 +919,8 @@ BOOL ModeDeltaPlus::Compress (HPUInt8 *outmem,
+ const uint32_t inheight,
+ uint32_t horz_ht_dist)
+ {
+- register HPUInt8 *outptr = outmem;
+- register uint32_t col;
++ HPUInt8 *outptr = outmem;
++ uint32_t col;
+ const HPUInt8 *seedrow;
+ uint32_t seedrow_count = 0;
+ uint32_t location = 0;
+diff --git a/prnt/hpps/psutil.c b/prnt/hpps/psutil.c
+index 7282dc2..87fba4f 100644
+--- a/prnt/hpps/psutil.c
++++ b/prnt/hpps/psutil.c
+@@ -148,9 +148,9 @@ static int fcopy(long upto)
+ /* build array of pointers to start/end of pages */
+ void scanpages(void)
+ {
+- register char *comment = buffer+2;
+- register int nesting = 0;
+- register long int record;
++ char *comment = buffer+2;
++ int nesting = 0;
++ long int record;
+
+ if ((pageptr = (long *)malloc(sizeof(long)*maxpages)) == NULL)
+ message(FATAL, "out of memory\n");
+--
+2.39.1
+
diff --git a/meta-oe/recipes-extended/hplip/hplip/0001-Fix-installing-ipp-usb-quirk.patch b/meta-oe/recipes-extended/hplip/hplip/0001-Fix-installing-ipp-usb-quirk.patch
new file mode 100644
index 0000000000..d45db1b2e3
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0001-Fix-installing-ipp-usb-quirk.patch
@@ -0,0 +1,40 @@
+From 5cfe30829174a18ec64e53c84292a0229ffa5602 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Zolt=C3=A1n=20B=C3=B6sz=C3=B6rm=C3=A9nyi?=
+ <zboszor@gmail.com>
+Date: Thu, 30 Mar 2023 11:31:27 +0200
+Subject: [PATCH] Fix installing ipp-usb quirk
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use $(DESTDIR) as installation prefix for
+/usr/share/usb-ipp/quirk/HPLIP.conf.
+
+Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
+---
+Upstream-Status: Pending
+
+ Makefile.am | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e10364d..f520225 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -703,10 +703,9 @@ if !DISBALE_IMAGEPROCESSOR_BUILD
+ ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
+ fi
+ endif #DISABLE_IMAGEPROCESSOR
+- if [ -d "/usr/share/ipp-usb/quirks/" ]; then \
+- echo "ipp-usb directory exists"; \
+- cp prnt/ipp-usb/HPLIP.conf /usr/share/ipp-usb/quirks/ ; \
+- fi
++ install -d -m0755 $(DESTDIR)/usr/share/ipp-usb/quirks ; \
++ echo "ipp-usb directory exists"; \
++ cp prnt/ipp-usb/HPLIP.conf $(DESTDIR)/usr/share/ipp-usb/quirks/
+ if !HPLIP_CLASS_DRIVER
+ # If scanner build, add hpaio entry to sane dll.conf.
+ if [ "$(scan_build)" = "yes" ]; then \
+--
+2.39.2
+
diff --git a/meta-oe/recipes-extended/hplip/hplip/0001-common-utils-Include-string.h-for-strcasestr.patch b/meta-oe/recipes-extended/hplip/hplip/0001-common-utils-Include-string.h-for-strcasestr.patch
new file mode 100644
index 0000000000..659eca41c9
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0001-common-utils-Include-string.h-for-strcasestr.patch
@@ -0,0 +1,44 @@
+From 20984c73bea8c3df00f297176edd4f6d47c31b55 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 17:49:20 -0700
+Subject: [PATCH 1/4] common/utils: Include string.h for strcasestr
+
+Also define _GNU_SOURCE for the same
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ common/utils.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/common/utils.c
++++ b/common/utils.c
+@@ -1,9 +1,11 @@
++#define _GNU_SOURCE
+ #include "utils.h"
+ #include "string.h"
+ #include <dlfcn.h>
+ #include <sys/stat.h>
+ #include <errno.h>
+ #include <stdlib.h>
++#include <string.h> /* strcasestr */
+
+ extern int errno;
+
+--- a/protocol/hp_ipp.c
++++ b/protocol/hp_ipp.c
+@@ -18,12 +18,13 @@ Boston, MA 02110-1301, USA.
+
+ \******************************************************************************/
+
+-
++#define _GNU_SOURCE
+ #include <cups/cups.h>
+ #include <cups/language.h>
+ #include <cups/ppd.h>
+ #include <syslog.h>
+ #include <stdarg.h>
++#include <string.h> /* strcasecmp */
+ #include <sys/types.h>
+ #include <pwd.h>
+ #include <sys/stat.h>
diff --git a/meta-oe/recipes-extended/hplip/hplip/0002-Add-ImageProcessor-only-when-DISBALE_IMAGEPROCESSOR_.patch b/meta-oe/recipes-extended/hplip/hplip/0002-Add-ImageProcessor-only-when-DISBALE_IMAGEPROCESSOR_.patch
new file mode 100644
index 0000000000..fa973a8d85
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0002-Add-ImageProcessor-only-when-DISBALE_IMAGEPROCESSOR_.patch
@@ -0,0 +1,48 @@
+From 3d53d02af7c45763eb33f7bbe5f9e389fbcb7e21 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 17:55:48 -0700
+Subject: [PATCH 2/4] Add ImageProcessor only when DISBALE_IMAGEPROCESSOR_BUILD
+ is not set
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 5f75759..73421b1 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -597,7 +597,11 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
+ prnt/hpcups/ImageProcessor.h
+
+ hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
+-hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
++hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
++if !DISBALE_IMAGEPROCESSOR_BUILD
++hpcups_LDADD += "-lImageProcessor"
++endif #DISABLE_IMAGEPROCESSOR
++
+ #else
+ #hpcupsdir = $(cupsfilterdir)
+ #hpcups_PROGRAMS = hpcups
+@@ -687,6 +692,7 @@
+
+ install-data-hook:
+ if HPLIP_BUILD
++if !DISBALE_IMAGEPROCESSOR_BUILD
+ if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/" \) ]; then \
+ cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
+ chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
+@@ -697,6 +703,7 @@
+ chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
+ ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
+ fi
++endif #DISABLE_IMAGEPROCESSOR
+ if [ -d "/usr/share/ipp-usb/quirks/" ]; then \
+ echo "ipp-usb directory exists"; \
+ cp prnt/ipp-usb/HPLIP.conf /usr/share/ipp-usb/quirks/ ; \
+--
+2.37.3
+
diff --git a/meta-oe/recipes-extended/hplip/hplip/0003-pserror.c-Define-column-to-be-int-explcitly.patch b/meta-oe/recipes-extended/hplip/hplip/0003-pserror.c-Define-column-to-be-int-explcitly.patch
new file mode 100644
index 0000000000..bf93c222ea
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0003-pserror.c-Define-column-to-be-int-explcitly.patch
@@ -0,0 +1,23 @@
+From a27d6264671e7201b5d78bcc9200e7d946429979 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 17:57:53 -0700
+Subject: [PATCH 3/4] pserror.c: Define column to be int explcitly
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ prnt/hpps/pserror.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/prnt/hpps/pserror.c
++++ b/prnt/hpps/pserror.c
+@@ -24,7 +24,7 @@ extern char *program ; /* Defined by mai
+ void message(int flags, char *format, ...)
+ {
+ va_list args ;
+- static column = 0 ; /* current screen column for message wrap */
++ static int column = 0 ; /* current screen column for message wrap */
+ char msgbuf[MAX_MESSAGE] ; /* buffer in which to put the message */
+ char *bufptr = msgbuf ; /* message buffer pointer */
+
diff --git a/meta-oe/recipes-extended/hplip/hplip/0004-Define-missing-prototype-for-functions.patch b/meta-oe/recipes-extended/hplip/hplip/0004-Define-missing-prototype-for-functions.patch
new file mode 100644
index 0000000000..7223bf939e
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0004-Define-missing-prototype-for-functions.patch
@@ -0,0 +1,55 @@
+From 33454817880fa57b2226dd40b724e5c3d6074aca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 17:58:33 -0700
+Subject: [PATCH 4/4] Define missing prototype for functions
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ prnt/cupsext/cupsext.c | 1 +
+ protocol/hp_ipp.c | 4 ++--
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+--- a/prnt/cupsext/cupsext.c
++++ b/prnt/cupsext/cupsext.c
+@@ -101,6 +101,11 @@ typedef int Py_ssize_t;
+ #define _STRINGIZE(x) #x
+ #define STRINGIZE(x) _STRINGIZE(x)
+
++void _releaseCupsInstance(void);
++int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file, char *model, char *info);
++int setDefaultCupsPrinter(char *pr_name);
++int delCupsPrinter(char *pr_name);
++int controlCupsPrinter(char *pr_name, int op);
+
+ //static http_t * http = NULL; /* HTTP object */
+
+--- a/protocol/hp_ipp.c
++++ b/protocol/hp_ipp.c
+@@ -22,6 +22,7 @@ Boston, MA 02110-1301, USA.
+ #include <cups/cups.h>
+ #include <cups/language.h>
+ #include <cups/ppd.h>
++#include <stdio.h>
+ #include <syslog.h>
+ #include <stdarg.h>
+ #include <string.h> /* strcasecmp */
+@@ -42,7 +43,7 @@ Boston, MA 02110-1301, USA.
+ #define STRINGIZE(x) _STRINGIZE(x)
+
+
+-http_t* acquireCupsInstance()
++http_t* acquireCupsInstance(void)
+ {
+ if ( http == NULL)
+ {
+@@ -53,7 +54,7 @@ http_t* acquireCupsInstance()
+ }
+
+
+-void _releaseCupsInstance()
++void _releaseCupsInstance(void)
+ {
+ if (http)
+ {
diff --git a/meta-oe/recipes-extended/hplip/hplip/0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch b/meta-oe/recipes-extended/hplip/hplip/0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch
new file mode 100644
index 0000000000..ac0ff81e6f
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch
@@ -0,0 +1,64 @@
+From 4b3014df3990d90d6929510f2bde073171503329 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 18:18:44 -0700
+Subject: [PATCH] hp_ipp.c: Add printf format to snprintf calls
+
+Avoid -Wformat warnings
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ protocol/hp_ipp.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/protocol/hp_ipp.c b/protocol/hp_ipp.c
+index 597d9b9..a027baf 100644
+--- a/protocol/hp_ipp.c
++++ b/protocol/hp_ipp.c
+@@ -112,7 +112,7 @@ int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file,
+ }
+
+ if ( info == NULL )
+- snprintf( info,sizeof(info), name );
++ snprintf( info,sizeof(info), "%s", name );
+
+ sprintf( printer_uri, "ipp://localhost/printers/%s", name );
+
+@@ -513,27 +513,27 @@ int __parsePrinterAttributes(ipp_t *response, printer_t **printer_list)
+
+ if ( strcmp(attr_name, "printer-name") == 0 &&
+ val_tag == IPP_TAG_NAME ) {
+- snprintf(t_printer->name, sizeof(t_printer->name),ippGetString(attr, 0, NULL) );
++ snprintf(t_printer->name, sizeof(t_printer->name), "%s", ippGetString(attr, 0, NULL) );
+ }
+ else if ( strcmp(attr_name, "device-uri") == 0 &&
+ val_tag == IPP_TAG_URI ) {
+- snprintf(t_printer->device_uri,sizeof(t_printer->device_uri), ippGetString(attr, 0, NULL) );
++ snprintf(t_printer->device_uri,sizeof(t_printer->device_uri), "%s", ippGetString(attr, 0, NULL) );
+ }
+ else if ( strcmp(attr_name, "printer-uri-supported") == 0 &&
+ val_tag == IPP_TAG_URI ) {
+- snprintf(t_printer->printer_uri,sizeof(t_printer->printer_uri), ippGetString(attr, 0, NULL) );
++ snprintf(t_printer->printer_uri,sizeof(t_printer->printer_uri), "%s", ippGetString(attr, 0, NULL) );
+ }
+ else if ( strcmp(attr_name, "printer-info") == 0 &&
+ val_tag == IPP_TAG_TEXT ) {
+- snprintf(t_printer->info,sizeof(t_printer->info), ippGetString(attr, 0, NULL) );
++ snprintf(t_printer->info,sizeof(t_printer->info), "%s", ippGetString(attr, 0, NULL) );
+ }
+ else if ( strcmp(attr_name, "printer-location") == 0 &&
+ val_tag == IPP_TAG_TEXT ) {
+- snprintf(t_printer->location,sizeof(t_printer->location),ippGetString(attr, 0, NULL) );
++ snprintf(t_printer->location,sizeof(t_printer->location), "%s", ippGetString(attr, 0, NULL) );
+ }
+ else if ( strcmp(attr_name, "printer-make-and-model") == 0 &&
+ val_tag == IPP_TAG_TEXT ) {
+- snprintf(t_printer->make_model,sizeof(t_printer->make_model),ippGetString(attr, 0, NULL) );
++ snprintf(t_printer->make_model,sizeof(t_printer->make_model), "%s", ippGetString(attr, 0, NULL) );
+ }
+ else if ( strcmp(attr_name, "printer-state") == 0 &&
+ val_tag == IPP_TAG_ENUM ) {
+--
+2.37.3
+
diff --git a/meta-oe/recipes-extended/hplip/hplip/0006-Workaround-patch-for-missing-Python3-transition-of-t.patch b/meta-oe/recipes-extended/hplip/hplip/0006-Workaround-patch-for-missing-Python3-transition-of-t.patch
new file mode 100644
index 0000000000..194deb8b81
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0006-Workaround-patch-for-missing-Python3-transition-of-t.patch
@@ -0,0 +1,132 @@
+From: Till Kamppeter <till.kamppeter@gmail.com>
+Date: Fri, 22 Jul 2016 09:33:04 +0200
+Subject: Workaround patch for missing Python3 transition of the old
+ (pre-USB-storage) photo memory card support (pcardext) as this part builds
+ in Python3 environments but with pointer-related warnings which are fatal
+ errors for Ubuntu's build servers. The patch silences the warnings but the
+ memory card support is dropped in Python3 environments. This patch is
+ supplied by the HPLIP upstream developers and will be replaced by a more
+ proper solution in the next upstream release of HPLIP (see LP: #1275353)
+
+---
+Upstream-Status: Pending
+
+ pcard/pcardext/pcardext.c | 59 +++++++++++++++++++++++++++++++++++++----------
+ pcard/photocard.py | 2 +-
+ unload.py | 5 ++++
+ 3 files changed, 53 insertions(+), 13 deletions(-)
+
+--- a/pcard/pcardext/pcardext.c
++++ b/pcard/pcardext/pcardext.c
+@@ -20,7 +20,7 @@ pcardext - Python extension for HP photo
+ Requires:
+ Python 2.2+
+
+-Author: Don Welch
++Author: Don Welch
+
+ \*****************************************************************************/
+
+@@ -41,9 +41,37 @@ typedef int Py_ssize_t;
+
+ int verbose=0;
+
++#if PY_MAJOR_VERSION >= 3
++ #define MOD_ERROR_VAL NULL
++ #define MOD_SUCCESS_VAL(val) val
++ #define MOD_INIT(name) PyMODINIT_FUNC PyInit_##name(void)
++ #define PyInt_AS_LONG PyLong_AS_LONG
++ #define MOD_DEF(ob, name, doc, methods) \
++ static struct PyModuleDef moduledef = { \
++ PyModuleDef_HEAD_INIT, name, doc, -1, methods, }; \
++ ob = PyModule_Create(&moduledef);
++
++
++ #define PY_String_Bytes PyBytes_FromStringAndSize
++ #define PY_AsString_Bytes PyBytes_AsStringAndSize
++
++#else
++ #define MOD_ERROR_VAL
++ #define MOD_SUCCESS_VAL(val)
++ #define MOD_INIT(name) void init##name(void)
++ #define MOD_DEF(ob, name, doc, methods) \
++ ob = Py_InitModule3(name, methods, doc);
++
++ #define PY_String_Bytes PyString_FromStringAndSize
++ #define PY_AsString_Bytes PyString_AsStringAndSize
++
++#endif
++
+ PyObject * readsectorFunc = NULL;
+ PyObject * writesectorFunc = NULL;
+
++
++
+ int ReadSector(int sector, int nsector, void *buf, int size)
+ {
+ PyObject * result;
+@@ -59,9 +87,13 @@ int ReadSector(int sector, int nsector,
+ if( result )
+ {
+ Py_ssize_t len = 0;
+- PyString_AsStringAndSize( result, &result_str, &len );
++
++ //PyString_AsStringAndSize( result, &result_str, &len );
++ //PyBytes_AsStringAndSize( result, &result_str, &len );
++ PY_AsString_Bytes( result, &result_str, &len );
+
+- if( len < nsector*FAT_HARDSECT )
++
++ if( len < nsector*FAT_HARDSECT )
+ {
+ goto abort;
+ }
+@@ -208,7 +240,9 @@ PyObject * pcardext_read( PyObject * sel
+
+ if( FatReadFileExt( name, offset, len, buffer ) == len )
+ {
+- return PyString_FromStringAndSize( (char *)buffer, len );
++ // return PyString_FromStringAndSize( (char *)buffer, len );
++ return PY_String_Bytes( (char *)buffer, len );
++ // return PyBytes_FromStringAndSize( (char *)buffer, len );
+ }
+ else
+ {
+@@ -236,14 +270,15 @@ static PyMethodDef pcardext_methods[] =
+
+ static char pcardext_documentation[] = "Python extension for HP photocard services";
+
+-void initpcardext( void )
+-{
+- PyObject * mod = Py_InitModule4( "pcardext", pcardext_methods,
+- pcardext_documentation, (PyObject*)NULL,
+- PYTHON_API_VERSION );
+-
+- if (mod == NULL)
+- return;
++MOD_INIT(pcardext) {
++
++ PyObject* mod ;
++ MOD_DEF(mod, "pcardext", pcardext_documentation, pcardext_methods);
++ if (mod == NULL)
++ return MOD_ERROR_VAL;
++
++ return MOD_SUCCESS_VAL(mod);
++
+ }
+
+
+--- a/unload.py
++++ b/unload.py
+@@ -44,6 +44,11 @@ except ImportError:
+
+ # Local
+ from base.g import *
++from base.sixext import PY3
++if PY3:
++ log.error("This functionality is not spported in python3 environment.")
++ sys.exit(1)
++
+ from base import device, utils, tui, module
+ from prnt import cups
+
diff --git a/meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch b/meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch
index 2babb2b67a..e8ca8b2d6c 100644
--- a/meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch
+++ b/meta-oe/recipes-extended/hplip/hplip/030-replace_unsafe_memcpy_with_memmove.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
https://bugs.launchpad.net/hplip/+bug/1672256
memcpy should never be used with overlapping memory regions
diff --git a/meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch b/meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch
index e020bd4642..93fdcf4bfd 100644
--- a/meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch
+++ b/meta-oe/recipes-extended/hplip/hplip/050-fix-glibcisms.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff --git a/scan/sane/OrbliteScan/LinuxCommon.h b/scan/sane/OrbliteScan/LinuxCommon.h
index 6605dd9..55c7110 100644
--- a/scan/sane/OrbliteScan/LinuxCommon.h
diff --git a/meta-oe/recipes-extended/hplip/hplip/600-fix.patch b/meta-oe/recipes-extended/hplip/hplip/600-fix.patch
index 91a5035ae9..cddc5e0065 100644
--- a/meta-oe/recipes-extended/hplip/hplip/600-fix.patch
+++ b/meta-oe/recipes-extended/hplip/hplip/600-fix.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- a/configure.in
+++ b/configure.in
@@ -254,7 +254,6 @@ if test "$class_driver" = "yes"; then
diff --git a/meta-oe/recipes-extended/hplip/hplip/999-remove-lImageProcessor.patch b/meta-oe/recipes-extended/hplip/hplip/999-remove-lImageProcessor.patch
deleted file mode 100644
index aee4ac50cc..0000000000
--- a/meta-oe/recipes-extended/hplip/hplip/999-remove-lImageProcessor.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-# ../bin/ld: cannot find -lImageProcessor
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -590,11 +590,10 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilte
- prnt/hpcups/flate_colorspace.h prnt/hpcups/RunLenEncoding.h prnt/hpcups/common_defines.h \
- prnt/hpcups/genPCLm.h \
- common/utils.c common/utils.h prnt/hpcups/Hbpl1_Wrapper.cpp prnt/hpcups/genPCLm.cpp \
-- prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
-- prnt/hpcups/ImageProcessor.h
-+ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
-
- hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
--hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
-+hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
- #else
- #hpcupsdir = $(cupsfilterdir)
- #hpcups_PROGRAMS = hpcups
---- a/prnt/hpcups/HPCupsFilter.cpp
-+++ b/prnt/hpcups/HPCupsFilter.cpp
-@@ -637,16 +637,10 @@ int HPCupsFilter::processRasterData(cups
-
-
- sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
-- image_processor_t* imageProcessor = imageProcessorCreate();
-
- while (cupsRasterReadHeader2(cups_raster, &cups_header))
- {
-
-- IMAGE_PROCESSOR_ERROR result = imageProcessorStartPage(imageProcessor, &cups_header);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", result);
-- }
--
- current_page_number++;
-
- if (current_page_number == 1) {
-@@ -745,11 +739,6 @@ int HPCupsFilter::processRasterData(cups
- color_raster = rgbRaster;
- black_raster = kRaster;
-
-- result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorProcessLine failed result = %d\n", result);
-- }
--
-
- if ((y == 0) && !is_ljmono) {
- //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer
-@@ -780,11 +769,6 @@ int HPCupsFilter::processRasterData(cups
- }
- } // for() loop end
-
-- result = imageProcessorEndPage(imageProcessor);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", result);
-- }
--
-
- m_Job.NewPage();
- if (err != NO_ERROR) {
-@@ -800,8 +784,6 @@ int HPCupsFilter::processRasterData(cups
- rgbRaster = NULL;
- }
-
-- imageProcessorDestroy(imageProcessor);
--
- unlink(hpPreProcessedRasterFile);
- return ret_status;
- }
diff --git a/meta-oe/recipes-extended/hplip/hplip/configure.patch b/meta-oe/recipes-extended/hplip/hplip/configure.patch
index 8fe77c5edf..0e0fd47fa1 100644
--- a/meta-oe/recipes-extended/hplip/hplip/configure.patch
+++ b/meta-oe/recipes-extended/hplip/hplip/configure.patch
@@ -1,10 +1,11 @@
+Upstream-Status: Pending
+
--- a/configure.in
+++ b/configure.in
-@@ -27,8 +27,7 @@
+@@ -30,7 +30,7 @@
+ AC_INIT([HP Linux Imaging and Printing], [3.22.10], [3.22.10], [hplip])
- #AC_PREREQ(2.59)
- AC_INIT([HP Linux Imaging and Printing], [3.19.12], [3.19.12], [hplip])
--#AM_INIT_AUTOMAKE([1.9 foreign])
+ #AM_INIT_AUTOMAKE([1.9 foreign])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign])
AC_DISABLE_STATIC
diff --git a/meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch b/meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch
index 6aa1de0a8a..f2cd2be60d 100644
--- a/meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch
+++ b/meta-oe/recipes-extended/hplip/hplip/fix-libusb-paths.patch
@@ -1,33 +1,69 @@
-Upstream-Status: Inappropriate [configuration]
+Don't hardcode paths to libusb, instead use pkg-config.
---- a/configure.in
-+++ b/configure.in
-@@ -599,6 +599,8 @@ if test "$class_driver" = "no" && test "
- AC_CHECK_HEADERS(usb.h, ,[AC_MSG_ERROR([cannot find libusb-devel support], 11)])
- else
- AC_CHECK_LIB([usb-1.0], [libusb_init], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libusb 1.0 support], 2)])
-+ LIBUSBINCLUDEROOT?="/usr/include/"
-+ AC_ARG_VAR(LIBUSBINCLUDEROOT, [path to libusb-1.0 folder])
- AC_CHECK_HEADERS(libusb-1.0/libusb.h, ,[AC_MSG_ERROR([cannot find libusb-1.0-devel support], 11)])
- fi
- fi
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/Makefile.am b/Makefile.am
+index b77327f..29e838a 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -109,7 +109,7 @@ libhpmud_la_SOURCES += io/hpmud/musb_lib
- libhpmud_la_LDFLAGS += -lusb
+@@ -107,12 +107,11 @@ libhpmud_la_SOURCES = io/hpmud/hpmud.c io/hpmud/mlc.c io/hpmud/model.c io/hpmud/
+
+ if LIBUSB01_BUILD
+ libhpmud_la_SOURCES += io/hpmud/musb_libusb01.c
+-libhpmud_la_LDFLAGS += -lusb
else
libhpmud_la_SOURCES += io/hpmud/musb.c
-libhpmud_la_CFLAGS += -I/usr/include/libusb-1.0
-+libhpmud_la_CFLAGS += -I$(LIBUSBINCLUDEROOT)/libusb-1.0
- libhpmud_la_LDFLAGS += -lusb-1.0
+-libhpmud_la_LDFLAGS += -lusb-1.0
endif
++libhpmud_la_CFLAGS += $(USB_CFLAGS)
++libhpmud_la_LDFLAGS += $(USB_LIBS)
+
+
+ if NETWORK_BUILD
+@@ -356,7 +355,7 @@ hpmudextdir = $(pyexecdir)
+ hpmudext_LTLIBRARIES = hpmudext.la
+ hpmudext_la_LDFLAGS = -module -avoid-version
+ hpmudext_la_SOURCES = io/mudext/hpmudext.c
+-hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
++hpmudext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) $(USB_CFLAGS)
+ hpmudext_la_LIBADD = libhpmud.la
-@@ -362,7 +362,7 @@ hpmudext_la_CFLAGS += -Iprotocol/discove
+ if NETWORK_BUILD
+@@ -364,9 +363,6 @@ hpmudext_la_LIBADD += libhpdiscovery.la
+ hpmudext_la_CFLAGS += -Iprotocol/discovery
endif
- if !LIBUSB01_BUILD
+-if !LIBUSB01_BUILD
-hpmudext_la_CFLAGS +=-I/usr/include/libusb-1.0
-+hpmudext_la_CFLAGS +=-I$(LIBUSBINCLUDEROOT)/libusb-1.0
- endif
+-endif
endif #!HPLIP_CLASS_DRIVER
# ui (qt3)
+ if GUI_BUILD
+diff --git a/configure.in b/configure.in
+index b1c690c..4a65c97 100644
+--- a/configure.in
++++ b/configure.in
+@@ -36,6 +36,7 @@ AC_PROG_CXX
+ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_LIBTOOL
++PKG_PROG_PKG_CONFIG
+
+ # Checks for required libraries, don't set global -lpthread, -lm, -ljpeg, ... here, set in Makefile.
+ AC_CHECK_LIB([pthread], [pthread_create], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libpthread support], 7)])
+@@ -620,11 +621,9 @@ if test "$class_driver" = "no" && test "$hpijs_only_build" = "no" && test "$hpcu
+ AC_CHECK_LIB([cups], [cupsDoFileRequest], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libcups support], 9)])
+ AC_CHECK_HEADERS(cups/cups.h, ,[AC_MSG_ERROR([cannot find cups-devel support], 3)])
+ if test "$libusb01_build" = "yes"; then
+- AC_CHECK_LIB([usb], [usb_init], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libusb support], 2)])
+- AC_CHECK_HEADERS(usb.h, ,[AC_MSG_ERROR([cannot find libusb-devel support], 11)])
++ PKG_CHECK_MODULES([USB], [libusb])
+ else
+- AC_CHECK_LIB([usb-1.0], [libusb_init], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find libusb 1.0 support], 2)])
+- AC_CHECK_HEADERS(libusb-1.0/libusb.h, ,[AC_MSG_ERROR([cannot find libusb-1.0-devel support], 11)])
++ PKG_CHECK_MODULES([USB], [libusb-1.0])
+ fi
+ fi
+
diff --git a/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch b/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch
index 67546b07dc..45b25c5e76 100644
--- a/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch
+++ b/meta-oe/recipes-extended/hplip/hplip/hplip-3.19.6-fix-return.patch
@@ -4,6 +4,8 @@ Date: Wed, 14 Aug 2019 15:47:38 -0700
Subject: [PATCH] Fixing invalid return in void function
---
+Upstream-Status: Pending
+
prnt/hpps/hppsfilter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb b/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb
deleted file mode 100644
index 457a974534..0000000000
--- a/meta-oe/recipes-extended/hplip/hplip_3.19.12.bb
+++ /dev/null
@@ -1,88 +0,0 @@
-SUMMARY = "HP Linux Imaging and Printing"
-LICENSE="GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=20f2c819499cc2063e9a7b07b408815c"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
- file://configure.patch \
- file://fix-libusb-paths.patch \
- file://999-remove-lImageProcessor.patch \
- file://600-fix.patch \
- file://030-replace_unsafe_memcpy_with_memmove.patch \
- file://050-fix-glibcisms.patch \
- file://hplip-3.19.6-fix-return.patch \
-"
-SRC_URI[md5sum] = "d72bc77d791c150c2c22b84e9553bab3"
-SRC_URI[sha256sum] = "b7f398502fb659e0de8e54976237e3c6a64fec0b3c36054a515876f7b006b255"
-
-DEPENDS += "cups python3 libusb"
-
-inherit autotools-brokensep python3-dir python3native pkgconfig systemd
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-CFLAGS += "-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}"
-
-EXTRA_OECONF += "\
- LIBUSBINCLUDEROOT=${STAGING_INCDIR} \
- --enable-cups-ppd-install \
- --disable-network-build \
- --disable-doc-build \
- --disable-pp-build \
- --disable-scan-build \
- --disable-gui-build \
- --disable-fax-build \
- --disable-policykit \
- --disable-qt4 \
- --disable-qt3 \
- --disable-dbus-build \
- --enable-foomatic-drv-install \
- --disable-foomatic-ppd-install \
- --disable-foomatic-rip-hplip-install \
- --with-cupsbackenddir=${libexecdir}/cups/backend \
- --with-cupsfilterdir=${libexecdir}/cups/filter \
-"
-
-EXTRA_OEMAKE = "rulessystemdir=${systemd_unitdir}/system/"
-
-do_install_append() {
- rm -rf ${D}${datadir}/hplip/upgrade.py
- rm -rf ${D}${datadir}/hplip/uninstall.py
- sed -i -e "s|/usr/bin/env python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py
- sed -i -e "s|/usr/bin/python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py
-}
-
-PACKAGE_BEFORE_PN += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal"
-
-RDEPENDS_${PN} += " \
- python3\
- python3-syslog \
- python3-pprint \
- python3-compression \
- python3-shell \
- python3-xml \
- python3-unixadmin \
- python3-html \
- python3-resource \
- python3-terminal \
-"
-RDEPENDS_${PN}-filter += "perl"
-
-# need to snag the debug file or OE will fail on backend package
-FILES_${PN}-dbg += "\
- ${libexecdir}/cups/backend/.debug \
- ${PYTHON_SITEPACKAGES_DIR}/.debug \
- ${libexecdir}/cups/filter/.debug "
-
-FILES_${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
-FILES_${PN}-ppd = "${datadir}/ppd"
-FILES_${PN}-cups = "${datadir}/cups"
-FILES_${PN}-backend = "${libexecdir}/cups/backend"
-FILES_${PN}-filter = "${libexecdir}/cups/filter"
-FILES_${PN}-hal = "${datadir}/hal"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so"
-
-SYSTEMD_SERVICE_${PN} = "hplip-printer@.service"
-
-CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb b/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb
new file mode 100644
index 0000000000..be420b4837
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb
@@ -0,0 +1,89 @@
+SUMMARY = "HP Linux Imaging and Printing"
+LICENSE="GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=20f2c819499cc2063e9a7b07b408815c"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://configure.patch \
+ file://fix-libusb-paths.patch \
+ file://600-fix.patch \
+ file://030-replace_unsafe_memcpy_with_memmove.patch \
+ file://050-fix-glibcisms.patch \
+ file://hplip-3.19.6-fix-return.patch \
+ file://0001-common-utils-Include-string.h-for-strcasestr.patch \
+ file://0002-Add-ImageProcessor-only-when-DISBALE_IMAGEPROCESSOR_.patch \
+ file://0003-pserror.c-Define-column-to-be-int-explcitly.patch \
+ file://0004-Define-missing-prototype-for-functions.patch \
+ file://0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch \
+ file://0006-Workaround-patch-for-missing-Python3-transition-of-t.patch \
+ file://0001-Fix-installing-ipp-usb-quirk.patch \
+ file://0001-Drop-using-register-storage-classifier.patch"
+SRC_URI[sha256sum] = "533c3f2f6b53e4163ded4fd81d1f11ae6162a0f6451bd5e62a8382d0c1366624"
+
+DEPENDS += "cups python3 libusb1 python3-setuptools-native"
+
+inherit autotools-brokensep python3-dir python3native python3targetconfig pkgconfig systemd
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+CFLAGS += "-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}"
+
+EXTRA_OECONF += "\
+ --enable-cups-drv-install \
+ --enable-cups-ppd-install \
+ --disable-network-build \
+ --disable-doc-build \
+ --disable-pp-build \
+ --disable-scan-build \
+ --disable-gui-build \
+ --disable-fax-build \
+ --disable-policykit \
+ --disable-qt4 \
+ --disable-qt3 \
+ --disable-dbus-build \
+ --enable-foomatic-drv-install \
+ --disable-foomatic-ppd-install \
+ --disable-foomatic-rip-hplip-install \
+ --disable-imageProcessor_build \
+ --with-cupsbackenddir=${libexecdir}/cups/backend \
+ --with-cupsfilterdir=${libexecdir}/cups/filter \
+"
+
+EXTRA_OEMAKE = "rulessystemdir=${systemd_unitdir}/system/"
+
+do_install:append() {
+ rm -rf ${D}${datadir}/hplip/upgrade.py
+ rm -rf ${D}${datadir}/hplip/uninstall.py
+ sed -i -e "s|/usr/bin/env python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py
+ sed -i -e "s|/usr/bin/python|/usr/bin/env python3|g" ${D}${datadir}/hplip/*.py
+}
+
+PACKAGE_BEFORE_PN += "${PN}-ppd ${PN}-cups ${PN}-backend ${PN}-filter ${PN}-hal"
+
+RDEPENDS:${PN} += " \
+ python3\
+ python3-syslog \
+ python3-pprint \
+ python3-compression \
+ python3-shell \
+ python3-xml \
+ python3-unixadmin \
+ python3-html \
+ python3-resource \
+ python3-terminal \
+"
+RDEPENDS:${PN}-filter += "perl ghostscript"
+
+FILES:${PN} += "${datadir}/ipp-usb/quirks/HPLIP.conf"
+FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
+FILES:${PN}-ppd = "${datadir}/ppd"
+FILES:${PN}-cups = "${datadir}/cups"
+FILES:${PN}-backend = "${libexecdir}/cups/backend"
+FILES:${PN}-filter = "${libexecdir}/cups/filter"
+FILES:${PN}-hal = "${datadir}/hal"
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so"
+
+SYSTEMD_SERVICE:${PN} = "hplip-printer@.service"
+
+CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb b/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
deleted file mode 100644
index 2b0dfe4ea5..0000000000
--- a/meta-oe/recipes-extended/hwloc/hwloc_1.11.13.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Portable Hardware Locality (hwloc) software package"
-DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
- provides a portable abstraction of the hierarchical topology of modern \
- architectures."
-HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
-SECTION = "base"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3282e20dc3cec311deda3c6d4b1f990b"
-
-SRC_URI = "https://www.open-mpi.org/software/${BPN}/v1.11/downloads/${BP}.tar.bz2"
-SRC_URI[md5sum] = "3c792e23c209e9e1bafe9bdbc613d401"
-SRC_URI[sha256sum] = "a4494b7765f517c0990d1c7f09d98cb87755bb6b841e4e2cbfebca1b14bac9c8"
-
-UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v1.11/"
-
-inherit autotools pkgconfig
-
-DEPENDS += "ncurses udev zlib"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
-
-PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
-
-PACKAGECONFIG[numactl] = "--enable-libnuma,--disable-libnuma,numactl,numactl"
-PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2"
-PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo"
-PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess"
-
-# Split hwloc library into separate subpackage
-PACKAGES_prepend = " libhwloc "
-FILES_libhwloc += "${libdir}/libhwloc.so.*"
-RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-extended/hwloc/hwloc_2.9.3.bb b/meta-oe/recipes-extended/hwloc/hwloc_2.9.3.bb
new file mode 100644
index 0000000000..d72c5f2be5
--- /dev/null
+++ b/meta-oe/recipes-extended/hwloc/hwloc_2.9.3.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Portable Hardware Locality (hwloc) software package"
+DESCRIPTION = "The Portable Hardware Locality (hwloc) software package \
+ provides a portable abstraction of the hierarchical topology of modern \
+ architectures."
+HOMEPAGE = "https://www.open-mpi.org/software/hwloc/"
+SECTION = "base"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=79179bb373cd55cbd834463a514fb714"
+
+SRC_URI = "https://www.open-mpi.org/software/${BPN}/v2.9/downloads/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "5c4062ce556f6d3451fc177ffb8673a2120f81df6835dea6a21a90fbdfff0dec"
+UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v2.9/"
+
+inherit autotools bash-completion pkgconfig
+
+DEPENDS += "ncurses udev zlib"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux', '', d)}"
+
+PACKAGECONFIG ?= "pci libxml2 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+
+PACKAGECONFIG[libxml2] = "--enable-libxml2,--disable-libxml2,libxml2,libxml2"
+PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo"
+PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess"
+
+# Split hwloc library into separate subpackage
+PACKAGES:prepend = " libhwloc "
+FILES:libhwloc += "${libdir}/libhwloc.so.*"
+RDEPENDS:${PN} += "libhwloc (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch b/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch
index 7943948550..c5e210afcd 100644
--- a/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch
+++ b/meta-oe/recipes-extended/icewm/icewm/0001-configure.ac-skip-running-test-program-when-cross-co.patch
@@ -10,11 +10,9 @@ Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index c5e3ca03..4b89396a 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -140,7 +140,7 @@ AC_CHECK_FUNC([getloadavg],[AC_DEFINE([HAVE_GETLOADAVG2], 1, [getloadavg() is av
+@@ -160,7 +160,7 @@ AC_CHECK_FUNCS([backtrace_symbols_fd mem
AC_FUNC_SELECT_ARGTYPES
AC_MSG_CHECKING([for strlcpy])
@@ -23,7 +21,7 @@ index c5e3ca03..4b89396a 100644
char a[2];
if (strlcpy(a, "yes", 2) != 3)
return 1;]])],
-@@ -156,7 +156,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <string.h>]],[[
+@@ -176,7 +176,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#includ
])
AC_MSG_CHECKING([for strlcat])
@@ -32,6 +30,25 @@ index c5e3ca03..4b89396a 100644
char a[4] = "no";
if (strlcat(a, "yes", 4) != 5)
return 1;]])],
---
-2.17.1
-
+@@ -191,21 +191,6 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[#includ
+ [Define to 1 if you have the strlcat function.])
+ ])
+
+-AC_MSG_CHECKING([for C++11 by default])
+-AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <regex>]],[[
+- if (__cplusplus < 201103L) return 1;]])],
+- [AC_MSG_RESULT([yes])],
+- [AC_MSG_RESULT([no])
+- AC_MSG_CHECKING([for C++11 when forced])
+- CXXFLAGS="$CXXFLAGS -std=c++11"
+- AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <regex>]],[[
+- if (__cplusplus < 201103L) return 1;]])],
+- [AC_MSG_RESULT([yes])],
+- [AC_MSG_RESULT([no])
+- AC_MSG_ERROR([Need C++11. Please set CXXFLAGS.])
+- ])
+- ])
+-
+ PKG_CHECK_MODULES([CORE],[fontconfig xrender xcomposite xdamage xfixes xext x11])
+ AC_SUBST([CORE_CFLAGS])
+ AC_SUBST([CORE_LIBS])
diff --git a/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb b/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb
deleted file mode 100644
index 241a2b30f3..0000000000
--- a/meta-oe/recipes-extended/icewm/icewm_1.6.5.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-DESCRIPTION = "Ice Window Manager (IceWM)"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b"
-
-SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \
- file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \
- "
-SRC_URI[sha256sum] = "d41e6abf842ff3f8705a81d352be7c5b181c587549c183de0641c3820234a7b2"
-
-UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
-
-inherit autotools pkgconfig gettext perlnative features_check qemu update-alternatives
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF += "--with-libdir=${datadir}/icewm \
- --with-cfgdir=${sysconfdir}/icewm \
- --with-docdir=${docdir}/icewm \
- --enable-fribidi \
- --enable-xinerama \
- --enable-shape"
-
-DEPENDS = "asciidoc-native fontconfig gdk-pixbuf libxft libxpm libxrandr \
- libxinerama libice libsm libx11 libxext libxrender libxcomposite libxdamage \
- libxfixes"
-DEPENDS_append = " qemu-native"
-RDEPENDS_${PN} = "perl fribidi"
-
-do_compile_prepend_class-target() {
-
- cd ${B}
- oe_runmake -C src genpref
-
- qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}',['${B}/src/.libs','${STAGING_DIR_TARGET}/${libdir}','${STAGING_DIR_TARGET}/${base_libdir}'])}"
- cat >qemuwrapper <<EOF
-#!/bin/sh
-${qemu_binary} src/genpref "\$@"
-EOF
- chmod +x qemuwrapper
- ./qemuwrapper > src/preferences
-}
-
-ALTERNATIVE_${PN} = "x-session-manager"
-ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/icewm-session"
-ALTERNATIVE_PRIORITY_${PN} = "100"
-
-FILES_${PN} += "${datadir}/xsessions"
diff --git a/meta-oe/recipes-extended/icewm/icewm_3.4.5.bb b/meta-oe/recipes-extended/icewm/icewm_3.4.5.bb
new file mode 100644
index 0000000000..6e50231c83
--- /dev/null
+++ b/meta-oe/recipes-extended/icewm/icewm_3.4.5.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "Ice Window Manager (IceWM)"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4a26952467ef79a7efca4a9cf52d417b"
+
+SRC_URI = "https://github.com/ice-wm/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.lz \
+ file://0001-configure.ac-skip-running-test-program-when-cross-co.patch \
+ "
+SRC_URI[sha256sum] = "8d1afe9a2d5e28e88261b68906337449307e53f06c08218e1a6409083998a5f1"
+
+UPSTREAM_CHECK_URI = "https://github.com/ice-wm/${BPN}/releases"
+
+inherit autotools pkgconfig gettext perlnative features_check qemu update-alternatives
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF += "--with-libdir=${datadir}/icewm \
+ --with-cfgdir=${sysconfdir}/icewm \
+ --with-docdir=${docdir}/icewm \
+ --enable-fribidi \
+ --enable-xinerama \
+ --enable-shape"
+
+DEPENDS = "asciidoc-native fontconfig fribidi gdk-pixbuf imlib2 libxft libxpm libxrandr \
+ libxinerama libice libsm libx11 libxext libxrender libxcomposite libxdamage \
+ libxfixes"
+DEPENDS:append = " qemu-native"
+RDEPENDS:${PN} = "perl fribidi imlib2 imlib2-loaders"
+
+do_compile:prepend:class-target() {
+
+ cd ${B}
+ oe_runmake -C src genpref
+
+ qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}',['${B}/src/.libs','${STAGING_DIR_TARGET}/${libdir}','${STAGING_DIR_TARGET}/${base_libdir}'])}"
+ cat >qemuwrapper <<EOF
+#!/bin/sh
+${qemu_binary} src/genpref "\$@"
+EOF
+ chmod +x qemuwrapper
+ ./qemuwrapper > src/preferences
+}
+
+ALTERNATIVE:${PN} = "x-session-manager"
+ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/icewm-session"
+ALTERNATIVE_PRIORITY_${PN} = "100"
+
+FILES:${PN} += "${datadir}/xsessions"
diff --git a/meta-oe/recipes-extended/indent/indent/0001-Remove-dead-paren_level-code.patch b/meta-oe/recipes-extended/indent/indent/0001-Remove-dead-paren_level-code.patch
new file mode 100644
index 0000000000..5a474cf0fc
--- /dev/null
+++ b/meta-oe/recipes-extended/indent/indent/0001-Remove-dead-paren_level-code.patch
@@ -0,0 +1,79 @@
+From 5af65ce9674a69054c9a8405e51794c6f3ca41df Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 4 Jun 2021 12:34:18 -0700
+Subject: [PATCH] Remove dead paren_level code
+
+Local variable `paren_level' in src/output.c:dump_line_code() is
+initialized to 0, then incremented with count_parens() return
+value, and then the variable is never used. Also count_parens()
+has no side effect. Thus this patch removes this useless code.
+
+Upstream-Status: Submitted [https://mail.gnu.org/archive/html/bug-indent/2011-04/msg00000.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/output.c | 35 -----------------------------------
+ 1 file changed, 35 deletions(-)
+
+diff --git a/src/output.c b/src/output.c
+index ee01bcc..5b92167 100644
+--- a/src/output.c
++++ b/src/output.c
+@@ -798,37 +798,6 @@ static int dump_line_label(void)
+ return cur_col;
+ }
+
+-/**
+- *
+- */
+-
+-static int count_parens(
+- const char * string)
+-{
+- int paren_level = 0;
+-
+- while (*string)
+- {
+- switch (*string)
+- {
+- case '(':
+- case '[':
+- paren_level++;
+- break;
+- case ')':
+- case ']':
+- paren_level--;
+- break;
+- default:
+- break;
+- }
+-
+- string++;
+- }
+-
+- return paren_level;
+-}
+-
+ /**
+ *
+ */
+@@ -840,8 +809,6 @@ static void dump_line_code(
+ BOOLEAN * pbreak_line,
+ int target_col_break)
+ {
+- int paren_level = 0;
+-
+ if (s_code != e_code)
+ { /* print code section, if any */
+ int i;
+@@ -928,8 +895,6 @@ static void dump_line_code(
+
+ *pcur_col = count_columns (*pcur_col, s_code, NULL_CHAR);
+
+- paren_level += count_parens(s_code);
+-
+ s_code[buf_break->offset] = c;
+
+ *pnot_truncated = 0;
+--
+2.31.1
+
diff --git a/meta-oe/recipes-extended/indent/indent_2.2.12.bb b/meta-oe/recipes-extended/indent/indent_2.2.12.bb
index 90ba8a2e65..1a7d61abc0 100644
--- a/meta-oe/recipes-extended/indent/indent_2.2.12.bb
+++ b/meta-oe/recipes-extended/indent/indent_2.2.12.bb
@@ -7,7 +7,7 @@ to a different one. Indent understands correct C syntax and tries to handle \
incorrect C syntax. \
Install the indent package if you are developing applications in C and \
you want a program to format your code."
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "virtual/gettext"
@@ -16,12 +16,13 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://0001-src-indent.c-correct-the-check-for-locale.h.patch \
file://0001-Makefile.am-remove-regression-dir.patch \
file://0001-Fix-builds-with-recent-gettext.patch \
+ file://0001-Remove-dead-paren_level-code.patch \
"
SRC_URI[md5sum] = "4764b6ac98f6654a35da117b8e5e8e14"
SRC_URI[sha256sum] = "e77d68c0211515459b8812118d606812e300097cfac0b4e9fb3472664263bb8b"
inherit autotools gettext texinfo
-CFLAGS_append_class-native = " -Wno-error=unused-value"
+CFLAGS:append:class-native = " -Wno-error=unused-value"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb b/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb
index 3933355abf..84ed3b052b 100644
--- a/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb
+++ b/meta-oe/recipes-extended/inputattach-config/inputattach-config.bb
@@ -1,5 +1,5 @@
SUMMARY = "inputattach configuration file"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SRC_URI = "file://inputattach.conf"
diff --git a/meta-oe/recipes-extended/iotop/iotop_0.6.bb b/meta-oe/recipes-extended/iotop/iotop_0.6.bb
deleted file mode 100644
index 3a597218db..0000000000
--- a/meta-oe/recipes-extended/iotop/iotop_0.6.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Simple top-like I/O monitor"
-DESCRIPTION = "iotop does for I/O usage what top(1) does for CPU usage. \
- It watches I/O usage information output by the Linux kernel and displays \
- a table of current I/O usage by processes on the system."
-HOMEPAGE = "http://guichaz.free.fr/iotop/"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
-
-PV .= "+git${SRCPV}"
-
-SRCREV = "1bfb3bc70febb1ffb95146b6dcd65257228099a3"
-SRC_URI = "git://repo.or.cz/iotop.git"
-
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_URI = "http://repo.or.cz/iotop.git/tags"
-UPSTREAM_CHECK_REGEX = "iotop-(?P<pver>\d+(\.\d+)+)"
-
-inherit distutils3
-
-do_install_append() {
- rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.pyo || true
- rm -f ${D}${PYTHON_SITEPACKAGES_DIR}/site.py || true
-}
-
-RDEPENDS_${PN} = "python3-curses \
- python3-codecs python3-ctypes python3-pprint \
- python3-shell python3-core"
diff --git a/meta-oe/recipes-extended/iotop/iotop_1.26.bb b/meta-oe/recipes-extended/iotop/iotop_1.26.bb
new file mode 100644
index 0000000000..9b36b57cb7
--- /dev/null
+++ b/meta-oe/recipes-extended/iotop/iotop_1.26.bb
@@ -0,0 +1,25 @@
+SUMMARY = "A top utility for I/O"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=686f457fedcecd9b92d69e625291ffa2"
+
+DEPENDS = "ncurses"
+
+SRC_URI = "git://github.com/Tomas-M/iotop.git;branch=master;protocol=https"
+SRCREV = "b15743b04bb04ff1fc6e197d21ba30365349edcb"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "V=1 STRIP=true"
+# Fixes llvm-bc70b5.o: can't link soft-float modules with double-float modules
+EXTRA_OEMAKE:append:toolchain-clang:riscv64 = " NO_FLTO=1"
+EXTRA_OEMAKE:append:toolchain-clang:riscv32 = " NO_FLTO=1"
+
+# Workaround BFD linker crash with clang on arm
+# revisit when upgrading binutils and see if its fixed
+LDFLAGS:append:toolchain-clang:arm = " -fuse-ld=lld"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
deleted file mode 100644
index b7899a11b6..0000000000
--- a/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.3.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Tools for taking the MD5 sum of ISO images"
-DESCRIPTION = "Tools for taking the MD5 sum of ISO images"
-
-DEPENDS = "popt python3 openssl curl popt-native"
-RDEPENDS_${BPN} = "openssl curl"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-SRC_URI = "git://github.com/rhinstaller/isomd5sum.git;branch=master \
- file://0001-tweak-install-prefix.patch \
- file://0002-fix-parallel-error.patch \
-"
-
-S = "${WORKDIR}/git"
-inherit python3native
-
-EXTRA_OEMAKE += " \
- DESTDIR='${D}' \
- PYTHONINCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}' \
- PYTHONSITEPACKAGES='${PYTHON_SITEPACKAGES_DIR}' \
-"
-
-do_install () {
- oe_runmake install
-}
-
-PACKAGES += "${PYTHON_PN}-${BPN}"
-
-RPROVIDES_${BPN}-dbg += "${PYTHON_PN}-${BPN}-dbg"
-
-FILES_${PYTHON_PN}-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
-
-SRCREV = "7860901f726f5d92689cb67243cc7f981f21f74b"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.4.bb b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.4.bb
new file mode 100644
index 0000000000..5f2993dd4f
--- /dev/null
+++ b/meta-oe/recipes-extended/isomd5sum/isomd5sum_1.2.4.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Tools for taking the MD5 sum of ISO images"
+DESCRIPTION = "Tools for taking the MD5 sum of ISO images"
+
+DEPENDS = "popt python3 openssl curl popt-native"
+RDEPENDS:${BPN} = "openssl curl"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+SRC_URI = "git://github.com/rhinstaller/isomd5sum.git;branch=master;protocol=https \
+ file://0001-tweak-install-prefix.patch \
+ file://0002-fix-parallel-error.patch \
+"
+
+S = "${WORKDIR}/git"
+inherit python3native
+
+EXTRA_OEMAKE += " \
+ DESTDIR='${D}' \
+ PYTHONINCLUDE='-I${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}' \
+ PYTHONSITEPACKAGES='${PYTHON_SITEPACKAGES_DIR}' \
+"
+
+do_install () {
+ oe_runmake install
+}
+
+PACKAGES += "python3-${BPN}"
+
+RPROVIDES:${BPN}-dbg += "python3-${BPN}-dbg"
+
+FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/pyisomd5sum.so"
+
+SRCREV = "3f4c9bd3f21ec9ac75a025dfa3fa30fe3f621831"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/jansson/jansson/0001-Fix-overwriting-linker-flags.patch b/meta-oe/recipes-extended/jansson/jansson/0001-Fix-overwriting-linker-flags.patch
new file mode 100644
index 0000000000..5eee6f85aa
--- /dev/null
+++ b/meta-oe/recipes-extended/jansson/jansson/0001-Fix-overwriting-linker-flags.patch
@@ -0,0 +1,29 @@
+From fe6e8eec7e7df4f1e72f0c9d9337b1fe11236687 Mon Sep 17 00:00:00 2001
+From: Thomas Heinrichs <46387399+Thomas1664@users.noreply.github.com>
+Date: Thu, 28 Apr 2022 17:36:54 +0200
+Subject: [PATCH] Fix overwriting linker flags
+
+Upstream-Status: Backport
+[https://github.com/akheron/jansson/commit/fe6e8eec7e7df4f1e72f0c9d9337b1fe11236687]
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 39b9ad365f78..ed33e3c47f70 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -342,7 +342,7 @@ if(JANSSON_BUILD_SHARED_LIBS)
+ )
+ list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "-Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/jansson.sym")
+ if (VSCRIPT_WORKS)
+- set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/jansson.sym")
++ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR}/jansson.sym")
+ endif()
+ endif()
+
+--
+2.35.1
+
diff --git a/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch b/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch
new file mode 100644
index 0000000000..513d109459
--- /dev/null
+++ b/meta-oe/recipes-extended/jansson/jansson/0001-Honour-multilib-paths.patch
@@ -0,0 +1,63 @@
+From e66885e66a2ce7fd916933b12d1ba523a25141e4 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Mon, 3 Oct 2022 13:25:05 +0100
+Subject: [PATCH] Honour multilib paths
+
+Upstream-Status: Pending
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ CMakeLists.txt | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 39b9ad365f78..bf297e936a72 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -20,8 +20,8 @@ endif ()
+
+ # Set some nicer output dirs.
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
+-set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
+-set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
++set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
++set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
+ set(JANSSON_TEMP_DIR ${CMAKE_CURRENT_BINARY_DIR}/tmp)
+
+ # Give the debug version a different postfix for windows,
+@@ -573,14 +573,14 @@ endif ()
+ #
+
+ # Allow the user to override installation directories.
+-set(JANSSON_INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries")
++set(JANSSON_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries")
+ set(JANSSON_INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables")
+ set(JANSSON_INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files")
+
+ if(WIN32 AND NOT CYGWIN)
+ set(DEF_INSTALL_CMAKE_DIR cmake)
+ else()
+- set(DEF_INSTALL_CMAKE_DIR lib/cmake/jansson)
++ set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/jansson)
+ endif()
+
+ set(JANSSON_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files")
+@@ -633,8 +633,8 @@ option(JANSSON_INSTALL "Generate installation target" ON)
+ if (JANSSON_INSTALL)
+ install(TARGETS jansson
+ EXPORT janssonTargets
+- LIBRARY DESTINATION "lib"
+- ARCHIVE DESTINATION "lib"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ RUNTIME DESTINATION "bin"
+ INCLUDES DESTINATION "include")
+
+@@ -644,7 +644,7 @@ if (JANSSON_INSTALL)
+ # Install the pkg-config.
+ install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/jansson.pc
+- DESTINATION lib/pkgconfig)
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+ # Install the configs.
+ install(FILES
diff --git a/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb b/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb
deleted file mode 100644
index d6e56ea768..0000000000
--- a/meta-oe/recipes-extended/jansson/jansson_2.13.1.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
-HOMEPAGE = "http://www.digip.org/jansson/"
-BUGTRACKER = "https://github.com/akheron/jansson/issues"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf"
-
-SRC_URI = "http://www.digip.org/jansson/releases/${BPN}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "570af45b8203e95876d71fecd56cee20"
-SRC_URI[sha256sum] = "f4f377da17b10201a60c1108613e78ee15df6b12016b116b6de42209f47a474f"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/jansson/jansson_2.14.bb b/meta-oe/recipes-extended/jansson/jansson_2.14.bb
new file mode 100644
index 0000000000..833060686a
--- /dev/null
+++ b/meta-oe/recipes-extended/jansson/jansson_2.14.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Jansson is a C library for encoding, decoding and manipulating JSON data"
+HOMEPAGE = "http://www.digip.org/jansson/"
+BUGTRACKER = "https://github.com/akheron/jansson/issues"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=afd92c4cfc08f4896003251b878cc0bf"
+
+SRC_URI = "https://github.com/akheron/${BPN}/releases/download/v${PV}/${BP}.tar.bz2 \
+ file://0001-Fix-overwriting-linker-flags.patch \
+ file://0001-Honour-multilib-paths.patch \
+ "
+SRC_URI[sha256sum] = "fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294afb9"
+
+UPSTREAM_CHECK_URI = "https://github.com/akheron/${BPN}/releases"
+UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = "-DJANSSON_BUILD_SHARED_LIBS=${@ 'OFF' if d.getVar('DISABLE_STATIC') == '' else 'ON' }"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb b/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
index f2805a1b8d..bfa0e79d8f 100644
--- a/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
+++ b/meta-oe/recipes-extended/jpnevulator/jpnevulator_git.bb
@@ -1,10 +1,10 @@
SUMMARY = "A handy serial sniffer"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
-PV = "2.3.6+git${SRCPV}"
+PV = "2.3.6+git"
-SRC_URI = "git://github.com/snarlistic/jpnevulator.git;protocol=http"
+SRC_URI = "git://github.com/snarlistic/jpnevulator.git;protocol=https;branch=master"
SRCREV = "bc1d4f6587a4a4829b5d55e3ca7ad584da6de545"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch b/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch
index 40a064307e..2671111b79 100644
--- a/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch
+++ b/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] CMakeLists.txt: fix lib64 can not be shiped in 64bit target
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 7 -------
1 file changed, 7 deletions(-)
diff --git a/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch b/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch
index 342017bedc..293706d889 100644
--- a/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch
+++ b/meta-oe/recipes-extended/konkretcmpi/konkretcmpi/0001-drop-including-rpath-cmake-module.patch
@@ -8,6 +8,8 @@ Fixes cross compilation QA errors e.g.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/konkret/CMakeLists.txt | 1 -
src/program/CMakeLists.txt | 1 -
2 files changed, 2 deletions(-)
diff --git a/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb b/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
index e6d5663f85..6b60d89187 100644
--- a/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
+++ b/meta-oe/recipes-extended/konkretcmpi/konkretcmpi_0.9.2.bb
@@ -6,10 +6,10 @@ implementations for many of the provider operations."
HOMEPAGE = "https://github.com/rnovacek/konkretcmpi"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=f673270bfc350d9ce1efc8724c6c1873"
-DEPENDS_append_class-target = " swig-native sblim-cmpi-devel python3"
-DEPENDS_append_class-native = " cmpi-bindings-native"
+DEPENDS:append:class-target = " swig-native sblim-cmpi-devel python3"
+DEPENDS:append:class-native = " cmpi-bindings-native"
-SRC_URI = "git://github.com/rnovacek/konkretcmpi.git \
+SRC_URI = "git://github.com/rnovacek/konkretcmpi.git;branch=master;protocol=https \
file://0001-CMakeLists.txt-fix-lib64-can-not-be-shiped-in-64bit-.patch \
file://0001-drop-including-rpath-cmake-module.patch \
"
@@ -17,23 +17,23 @@ SRC_URI = "git://github.com/rnovacek/konkretcmpi.git \
SRCREV = "ad28225e6eceff88417a60c1ba8896c8e40f21a7"
S = "${WORKDIR}/git"
-inherit cmake
+inherit cmake python3-dir
EXTRA_OECMAKE = "-DWITH_PYTHON=ON \
${@oe.utils.conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
${@oe.utils.conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
"
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
-do_install_append() {
+do_install:append() {
rm -rf ${D}${datadir}
}
PACKAGES =+ "${PN}-python"
-RPROVIDES_${PN}-dbg += "${PN}-python-dbg"
+RPROVIDES:${PN}-dbg += "${PN}-python-dbg"
-FILES_${PN}-python = "${libdir}/python*/site-packages/konkretmof.py* ${libdir}/python*/site-packages/_konkretmof.so"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/konkretmof.py* ${PYTHON_SITEPACKAGES_DIR}/_konkretmof.so"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/lastlog2/files/0001-remove-lto-to-fix-link-error-of-clang.patch b/meta-oe/recipes-extended/lastlog2/files/0001-remove-lto-to-fix-link-error-of-clang.patch
new file mode 100644
index 0000000000..71c3de9748
--- /dev/null
+++ b/meta-oe/recipes-extended/lastlog2/files/0001-remove-lto-to-fix-link-error-of-clang.patch
@@ -0,0 +1,31 @@
+From 692523d2f8bf0ce893a781761154db4277f0fceb Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Wed, 19 Jul 2023 07:11:15 +0000
+Subject: remove lto to fix link error of clang
+
+error message:
+| tests/tst-y2038-64bit-time_t.p/tst-y2038-64bit-time_t.c.o: file not recognized: file format not recognized
+| clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
+
+Upstream-Status: Pending
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ meson.build | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index c521577..13d993b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -26,7 +26,6 @@ add_project_arguments(['-D_GNU_SOURCE=1',
+ '-DPROJECT_VERSION="@0@"'.format(meson.project_version()) ], language : 'c')
+
+ possible_cc_flags = [
+- '-flto=auto',
+ '-ffat-lto-objects',
+ '-fstack-protector-strong',
+ '-funwind-tables',
+--
+2.34.1
+
diff --git a/meta-oe/recipes-extended/lastlog2/lastlog2_1.2.0.bb b/meta-oe/recipes-extended/lastlog2/lastlog2_1.2.0.bb
new file mode 100644
index 0000000000..43deac3839
--- /dev/null
+++ b/meta-oe/recipes-extended/lastlog2/lastlog2_1.2.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Y2038 safe version of lastlog"
+HOMEPAGE = "https://github.com/thkukuk/lastlog2"
+DESCRIPTION = "lastlog reports the last login of a given user or of all users who did ever login on a system."
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=020090a00b69dd2af9ab82eb0003ea2c"
+SECTION = "libs"
+
+SRCREV = "6138dff6f2a5216065fa4833a223b56d98cb62f3"
+
+SRC_URI = "git://github.com/thkukuk/lastlog2.git;branch=main;protocol=https \
+ file://0001-remove-lto-to-fix-link-error-of-clang.patch \
+"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd features_check
+
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} sqlite3 "
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SYSTEMD_SERVICE:${PN} = "lastlog2-import.service"
+
+EXTRA_OEMESON = " -Dpamlibdir=${libdir}"
+
+do_install:append () {
+ if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
+ # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
+ # without usrmerge distro feature enabled
+ install -d `dirname ${D}${systemd_unitdir}`
+ mv ${D}${prefix}/lib/systemd `dirname ${D}${systemd_unitdir}`
+ fi
+}
+
+FILES:${PN} += " ${systemd_system_unitdir} "
+FILES:${PN} += " ${libdir} "
+FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* "
diff --git a/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb b/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
new file mode 100644
index 0000000000..d540737bc9
--- /dev/null
+++ b/meta-oe/recipes-extended/libbacktrace/libbacktrace_git.bb
@@ -0,0 +1,29 @@
+# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "A C library that may be linked into a C/C++ program to produce symbolic backtraces"
+HOMEPAGE = "https://github.com/ianlancetaylor/libbacktrace"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=24b5b3feec63c4be0975e1fea5100440"
+
+DEPENDS += "libunwind"
+
+SRC_URI = "git://github.com/ianlancetaylor/libbacktrace;protocol=https;branch=master"
+
+PV = "1.0+git"
+SRCREV = "9ae4f4ae4481b1e69d38ed810980d33103544613"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+EXTRA_OECONF += "--with-system-libunwind --enable-shared --disable-static"
+
+do_configure() {
+ oe_runconf
+}
+
+RDEPENDS:${PN}-dev = ""
+
+# libunwind does not support RISCV32 yet
+COMPATIBLE_HOST:riscv32 = "null"
diff --git a/meta-oe/recipes-extended/libblockdev/files/0001-fix-pythondir-for-multilib-when-cross-compiling.patch b/meta-oe/recipes-extended/libblockdev/files/0001-fix-pythondir-for-multilib-when-cross-compiling.patch
new file mode 100644
index 0000000000..ec3a9fe470
--- /dev/null
+++ b/meta-oe/recipes-extended/libblockdev/files/0001-fix-pythondir-for-multilib-when-cross-compiling.patch
@@ -0,0 +1,32 @@
+From 297abed277ce3aa0cf12adbfda3c8581afdba850 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Sun, 8 Oct 2023 19:30:29 -0700
+Subject: [PATCH] fix pythondir for multilib when cross compiling
+
+In case of cross compiling + multilib, the 'shell python3' line is
+not likely to give out correct result. Make use of pythondir instead.
+
+This patch is related to meta/recipes-devtools/automake/automake/0001-automake-Update-for-python.m4-to-respect-libdir.patch
+in oe-core, so this one is marked as oe specific.
+
+Upstream-Status: Inappropriate [OE Specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ src/python/gi/overrides/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/python/gi/overrides/Makefile.am b/src/python/gi/overrides/Makefile.am
+index 5e8e75f7..7c30601c 100644
+--- a/src/python/gi/overrides/Makefile.am
++++ b/src/python/gi/overrides/Makefile.am
+@@ -1,5 +1,5 @@
+ if WITH_PYTHON3
+-py3libdir = $(shell python3 -c "import sysconfig; print(sysconfig.get_path('platlib', vars={'platbase': '${exec_prefix}'}))")
++py3libdir = $(pythondir)
+ py3overridesdir = $(py3libdir)/gi/overrides
+ dist_py3overrides_DATA = BlockDev.py
+ endif
+--
+2.42.0
+
diff --git a/meta-oe/recipes-extended/libblockdev/libblockdev_2.25.bb b/meta-oe/recipes-extended/libblockdev/libblockdev_2.25.bb
deleted file mode 100644
index 2c8fdc75ca..0000000000
--- a/meta-oe/recipes-extended/libblockdev/libblockdev_2.25.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
-block devices. It has a plugin-based architecture where each technology (like \
-LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
-with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
-HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
-LICENSE = "LGPLv2+"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-inherit autotools gobject-introspection
-
-SRC_URI = "git://github.com/storaged-project/libblockdev;branch=2.x-branch"
-SRCREV = "c50869272b54bf4b4bc3825e8c3332a54678b43f"
-S = "${WORKDIR}/git"
-
-FILES_${PN} += "${libdir}/python2.7/dist-packages ${libdir}/python3.*/site-packages"
-
-PACKAGECONFIG ??= "python3 lvm dm kmod parted fs escrow btrfs crypto mdraid kbd mpath nvdimm"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[python2] = "--with-python2, --without-python2,,python"
-PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
-PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
-PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
-PACKAGECONFIG[dmraid] = "--with-dmraid, --without-dmraid"
-PACKAGECONFIG[kmod] = "--with-kbd, --without-kbd, kmod"
-PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
-PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
-PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
-PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm, ndctl util-linux"
-PACKAGECONFIG[vdo] = "--with-vdo, --without-vdo"
-PACKAGECONFIG[escrow] = "--with-escrow, --without-escrow, nss volume-key"
-PACKAGECONFIG[btrfs] = "--with-btrfs,--without-btrfs,libbytesize btrfs-tools"
-PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,cryptsetup nss volume-key"
-PACKAGECONFIG[mdraid] = "--with-mdraid,--without-mdraid,libbytesize"
-PACKAGECONFIG[kbd] = "--with-kbd,--without-kbd,libbytesize"
-PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
-
-export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
diff --git a/meta-oe/recipes-extended/libblockdev/libblockdev_3.1.1.bb b/meta-oe/recipes-extended/libblockdev/libblockdev_3.1.1.bb
new file mode 100644
index 0000000000..1ad8036d7b
--- /dev/null
+++ b/meta-oe/recipes-extended/libblockdev/libblockdev_3.1.1.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "libblockdev is a C library supporting GObject introspection for manipulation of \
+block devices. It has a plugin-based architecture where each technology (like \
+LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate plugin, possibly \
+with multiple implementations (e.g. using LVM CLI or the new LVM DBus API)."
+HOMEPAGE = "http://rhinstaller.github.io/libblockdev/"
+LICENSE = "LGPL-2.0-or-later"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+inherit autotools gobject-introspection pkgconfig lib_package
+
+DEPENDS = "autoconf-archive-native glib-2.0 kmod udev libnvme"
+
+SRC_URI = "git://github.com/storaged-project/libblockdev;branch=3.1.x-devel;protocol=https \
+ file://0001-fix-pythondir-for-multilib-when-cross-compiling.patch \
+ "
+SRCREV = "68aaff5556afe26be749c29a2b7cbd714dce3050"
+S = "${WORKDIR}/git"
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}"
+
+PACKAGECONFIG ??= "python3 lvm lvm-dbus dm parted fs escrow btrfs crypto mdraid mpath nvdimm tools"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[lvm] = "--with-lvm, --without-lvm, multipath-tools, lvm2"
+PACKAGECONFIG[lvm-dbus] = "--with-lvm_dbus, --without-lvm_dbus, multipath-tools, lvm2"
+PACKAGECONFIG[dm] = "--with-dm, --without-dm, multipath-tools, lvm2"
+PACKAGECONFIG[parted] = "--with-part, --without-part, parted"
+PACKAGECONFIG[fs] = "--with-fs, --without-fs, util-linux"
+PACKAGECONFIG[doc] = "--with-gtk-doc, --without-gtk-doc, gtk-doc-native"
+PACKAGECONFIG[nvdimm] = "--with-nvdimm, --without-nvdimm, ndctl util-linux"
+PACKAGECONFIG[escrow] = "--with-escrow, --without-escrow, nss volume-key"
+PACKAGECONFIG[btrfs] = "--with-btrfs,--without-btrfs,libbytesize btrfs-tools"
+PACKAGECONFIG[crypto] = "--with-crypto,--without-crypto,cryptsetup nss volume-key"
+PACKAGECONFIG[mdraid] = "--with-mdraid,--without-mdraid,libbytesize"
+PACKAGECONFIG[mpath] = "--with-mpath,--without-mpath, multipath-tools, lvm2"
+PACKAGECONFIG[tools] = "--with-tools,--without-tools,libbytesize libdevmapper"
+
+export GIR_EXTRA_LIBS_PATH="${B}/src/utils/.libs"
diff --git a/meta-oe/recipes-extended/libcbor/libcbor_0.11.0.bb b/meta-oe/recipes-extended/libcbor/libcbor_0.11.0.bb
new file mode 100755
index 0000000000..0e15393dd5
--- /dev/null
+++ b/meta-oe/recipes-extended/libcbor/libcbor_0.11.0.bb
@@ -0,0 +1,14 @@
+SUMMARY = "library for CBOR"
+DESCRIPTION = "C library for parsing and generating CBOR, the general-purpose schema-less binary data format."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6f3b3881df62ca763a02d359a6e94071"
+
+SRC_URI = "git://github.com/PJK/libcbor.git;protocol=https;branch=master"
+SRCREV = "170bee2b82cdb7b2ed25af301f62cb6efdd40ec1"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS:BOOL=ON"
diff --git a/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch b/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch
index 7c29e15e20..07277f7064 100644
--- a/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch
+++ b/meta-oe/recipes-extended/libcec/libcec/0001-Remove-buggy-test-confusing-host-and-target.patch
@@ -4,6 +4,8 @@ Date: Mon, 7 Sep 2020 18:17:21 +0200
Subject: [PATCH] Remove buggy test confusing host and target
---
+Upstream-Status: Pending
+
src/libcec/cmake/CheckPlatformSupport.cmake | 8 --------
1 file changed, 8 deletions(-)
diff --git a/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch b/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch
new file mode 100644
index 0000000000..ab1ab5b8eb
--- /dev/null
+++ b/meta-oe/recipes-extended/libcec/libcec/0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch
@@ -0,0 +1,41 @@
+From 2241edc8b70c2a54d109ac9c0e821889ac138d40 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 27 Jan 2022 22:49:52 -0800
+Subject: [PATCH] cecloader: Match return type of function LibCecBootloader
+
+Fixes
+include/cecloader.h:175:14: error: cannot initialize return object of type 'bool' with an rvalue of type 'nullptr_t'
+ return NULL;
+ ^~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/cecloader.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/cecloader.h b/include/cecloader.h
+index be76468f..550f598e 100644
+--- a/include/cecloader.h
++++ b/include/cecloader.h
+@@ -172,7 +172,7 @@ bool LibCecBootloader(const char *strLib = NULL)
+ if (!g_libCEC)
+ {
+ std::cout << dlerror() << std::endl;
+- return NULL;
++ return false;
+ }
+ }
+
+@@ -181,7 +181,7 @@ bool LibCecBootloader(const char *strLib = NULL)
+ if (!LibCecBootloader)
+ {
+ std::cout << "cannot find CECStartBootloader" << std::endl;
+- return NULL;
++ return false;
+ }
+
+ bool bReturn = LibCecBootloader();
+--
+2.35.0
+
diff --git a/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb b/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
index 48be1fdac5..599416cb2a 100644
--- a/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
+++ b/meta-oe/recipes-extended/libcec/libcec_6.0.2.bb
@@ -1,19 +1,20 @@
SUMMARY = "USB CEC Adaptor communication Library"
HOMEPAGE = "http://libcec.pulse-eight.com/"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b3a719e97f49e4841e90573f9b1a98ac"
DEPENDS = "p8platform udev ncurses swig-native python3"
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11 libxrandr', '', d)}"
-DEPENDS_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
+DEPENDS:append:rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' userland', d)}"
SRCREV = "29d82c80bcc62be2878a9ac080de7eb286c4beb9"
-SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release \
+SRC_URI = "git://github.com/Pulse-Eight/libcec.git;branch=release;protocol=https \
file://0001-CheckPlatformSupport.cmake-Do-not-hardcode-lib-path.patch \
file://0001-Enhance-reproducibility.patch \
file://0001-Remove-buggy-test-confusing-host-and-target.patch \
+ file://0001-cecloader-Match-return-type-of-function-LibCecBootlo.patch \
"
S = "${WORKDIR}/git"
@@ -26,18 +27,21 @@ EXTRA_OECMAKE += "${PLATFORM_CMAKE_FLAGS}"
# Put client examples into separate packages
PACKAGE_BEFORE_PN += "${PN}-examples-python ${PN}-examples"
-FILES_${PN}-examples-python = "${bindir}/py*"
-FILES_${PN}-examples = "${bindir}"
-RDEPENDS_${PN}-examples-python = "python3-${BPN} python3-core"
+FILES:${PN}-examples-python = "${bindir}/py*"
+FILES:${PN}-examples = "${bindir}"
+# cec-client doesn't link with libcec, but uses LibCecInitialise to dlopen libcec, so do_package
+# cannot add the runtime dependency automatically
+RDEPENDS:${PN}-examples = "${PN}"
+RDEPENDS:${PN}-examples-python = "python3-${BPN} python3-core"
# Create the wrapper for python3
PACKAGES += "python3-${BPN}"
-FILES_python3-${BPN} = "${libdir}/python3* ${bindir}/py*"
-RDEPENDS_${PN} = "python3-core"
+FILES:python3-${BPN} = "${libdir}/python3* ${bindir}/py*"
+RDEPENDS:${PN} = "python3-core"
# cec-client and xbmc need the .so present to work :(
-FILES_${PN} += "${libdir}/*.so"
-INSANE_SKIP_${PN} = "dev-so"
+FILES:${PN} += "${libdir}/*.so"
+INSANE_SKIP:${PN} = "dev-so"
# Adapter shows up as a CDC-ACM device
-RRECOMMENDS_${PN} = "kernel-module-cdc-acm"
+RRECOMMENDS:${PN} = "kernel-module-cdc-acm"
diff --git a/meta-oe/recipes-extended/libconfig/libconfig_1.7.2.bb b/meta-oe/recipes-extended/libconfig/libconfig_1.7.2.bb
deleted file mode 100644
index a4a2581458..0000000000
--- a/meta-oe/recipes-extended/libconfig/libconfig_1.7.2.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "C/C++ Configuration File Library"
-DESCRIPTION = "Library for manipulating structured configuration files"
-HOMEPAGE = "https://hyperrealm.github.io/libconfig/"
-BUGTRACKER = "https://github.com/hyperrealm/libconfig/issues"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fad9b3332be894bab9bc501572864b29"
-
-SRC_URI = "https://hyperrealm.github.io/libconfig/dist/libconfig-${PV}.tar.gz"
-
-UPSTREAM_CHECK_URI = "https://github.com/hyperrealm/libconfig/releases"
-UPSTREAM_CHECK_REGEX = "Version (?P<pver>\d+(\.\d+)+)"
-
-inherit autotools-brokensep pkgconfig
-
-SRC_URI[md5sum] = "6bd98ee3a6e6b9126c82c916d7a9e690"
-SRC_URI[sha256sum] = "7c3c7a9c73ff3302084386e96f903eb62ce06953bb1666235fac74363a16fad9"
-
-PACKAGE_BEFORE_PN = "${PN}++"
-FILES_${PN}++ = "${libdir}/${BPN}++*${SOLIBS}"
diff --git a/meta-oe/recipes-extended/libconfig/libconfig_1.7.3.bb b/meta-oe/recipes-extended/libconfig/libconfig_1.7.3.bb
new file mode 100644
index 0000000000..6382569923
--- /dev/null
+++ b/meta-oe/recipes-extended/libconfig/libconfig_1.7.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "C/C++ Configuration File Library"
+DESCRIPTION = "Library for manipulating structured configuration files"
+HOMEPAGE = "https://hyperrealm.github.io/libconfig/"
+BUGTRACKER = "https://github.com/hyperrealm/libconfig/issues"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fad9b3332be894bab9bc501572864b29"
+
+SRC_URI = "https://hyperrealm.github.io/libconfig/dist/libconfig-${PV}.tar.gz"
+
+UPSTREAM_CHECK_URI = "https://github.com/hyperrealm/libconfig/releases"
+UPSTREAM_CHECK_REGEX = "Version (?P<pver>\d+(\.\d+)+)"
+
+inherit autotools-brokensep pkgconfig
+
+SRC_URI[md5sum] = "15ec701205f91f21b1187f8b61e0d64f"
+SRC_URI[sha256sum] = "545166d6cac037744381d1e9cc5a5405094e7bfad16a411699bcff40bbb31ee7"
+
+PACKAGE_BEFORE_PN = "${PN}++"
+FILES:${PN}++ = "${libdir}/${BPN}++*${SOLIBS}"
diff --git a/meta-oe/recipes-extended/libdeflate/libdeflate_1.20.bb b/meta-oe/recipes-extended/libdeflate/libdeflate_1.20.bb
new file mode 100644
index 0000000000..f0a966f2b4
--- /dev/null
+++ b/meta-oe/recipes-extended/libdeflate/libdeflate_1.20.bb
@@ -0,0 +1,15 @@
+SUMMARY = "libdeflate is a library for fast, whole-buffer DEFLATE-based compression and decompression."
+HOMEPAGE = "https://github.com/ebiggers/libdeflate"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=7b6977026437092191e9da699ed9f780"
+
+DEPENDS += "gzip zlib"
+
+SRC_URI = "git://github.com/ebiggers/libdeflate.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+SRCREV = "275aa5141db6eda3587214e0f1d3a134768f557d"
+
+inherit cmake pkgconfig
+
diff --git a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
index b7c1958eef..87778c6314 100644
--- a/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
+++ b/meta-oe/recipes-extended/libdivecomputer/libdivecomputer_git.bb
@@ -1,17 +1,17 @@
DESCRIPTION = "Libdivecomputer is a cross-platform and open source library for communication with dive computers from various manufacturers."
HOMEPAGE = "http://www.divesoftware.org/libdc/"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=243b725d71bb5df4a1e5920b344b86ad"
DEPENDS = "libusb1"
inherit autotools pkgconfig
-PV = "0.6.0"
+PV = "0.8.0"
-SRCREV = "1195abc2f4acc7b10175d570ec73549d0938c83e"
-SRC_URI = "git://github.com/libdivecomputer/libdivecomputer.git;protocol=https \
+SRCREV = "db9371cf9f38b5a3b2f6e4fae3f92eb052d2d929"
+SRC_URI = "git://github.com/libdivecomputer/libdivecomputer.git;protocol=https;branch=master \
"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch b/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch
index f1863f14b3..b37b1aa2a6 100644
--- a/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch
+++ b/meta-oe/recipes-extended/libexecinfo/libexecinfo/0001-makefile-Fix-build-on-linux.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 1/2] makefile: Fix build on linux
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
Makefile | 33 +++++++++++++++++----------------
1 file changed, 17 insertions(+), 16 deletions(-)
diff --git a/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch b/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch
index 423b670823..34fd98aaba 100644
--- a/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch
+++ b/meta-oe/recipes-extended/libexecinfo/libexecinfo/0002-execinfo-Fix-compiler-errors-found-with-newer-gcc-cl.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 2/2] execinfo: Fix compiler errors found with newer gcc/clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
execinfo.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch b/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch
index 41e07f39f1..393571c313 100644
--- a/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch
+++ b/meta-oe/recipes-extended/libgxim/libgxim/0001-Use-AM_CPPFLAGS-instead-of-INCLUDES.patch
@@ -4,6 +4,8 @@ Date: Mon, 13 May 2013 16:05:32 +0900
Subject: [PATCH 1/3] Use AM_CPPFLAGS instead of INCLUDES
---
+Upstream-Status: Pending
+
docs/reference/Makefile.am | 2 +-
libgxim/Makefile.am | 2 +-
tests/Makefile.am | 2 +-
diff --git a/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch b/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch
index 808203b6ef..01233f0a1f 100644
--- a/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch
+++ b/meta-oe/recipes-extended/libgxim/libgxim/0002-Update-autotools-macro.patch
@@ -4,6 +4,8 @@ Date: Wed, 22 Jan 2014 18:59:32 +0900
Subject: [PATCH 2/3] Update autotools macro
---
+Upstream-Status: Pending
+
configure.ac | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch b/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch
index cb21e1ef44..98bbde08a2 100644
--- a/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch
+++ b/meta-oe/recipes-extended/libgxim/libgxim/0003-Add-format-string-qualifier-to-fix-potential-securit.patch
@@ -9,6 +9,8 @@ libgxim/gximprotocol10.c:2076:66: error: format string is not a string literal (
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
libgxim/gximprotocol10.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch b/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
index 3d293b473e..f2603d1399 100644
--- a/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
+++ b/meta-oe/recipes-extended/libgxim/libgxim/multi-line-ACLOCAL_AMFLAGS-isnot-supported-by-autoreconf.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
multi-line ACLOCAL_AMFLAGS isn't supported by autoreconf.
It will cause configure error as follow.
diff --git a/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
index 8a2886b8cd..eb85a07e99 100644
--- a/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
+++ b/meta-oe/recipes-extended/libgxim/libgxim_0.5.0.bb
@@ -19,13 +19,13 @@ SRC_URI = "https://bitbucket.org/tagoh/libgxim/downloads/${BPN}-${PV}.tar.bz2 \
SRC_URI[md5sum] = "4bb1fa63d00eb224439d413591c29a6a"
SRC_URI[sha256sum] = "75e20d1744139644f9951b78ea3910b162d3380302315cb4b3d0640f23694c79"
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "\
file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-EXTRA_OECONF = " --disable-static --disable-rebuilds --enable-compile-warnings=minimum"
-DEPENDS += "gtk+ glib-2.0 glib-2.0-native ruby-native intltool-native gnome-common-native"
+EXTRA_OECONF = "--enable-debug --disable-static --disable-rebuilds --enable-compile-warnings=minimum"
+DEPENDS += "gtk+ glib-2.0 glib-2.0-native ruby-native intltool-native gnome-common-native autoconf-archive-native"
-inherit features_check autotools pkgconfig gettext
+inherit features_check autotools pkgconfig gettext gtk-doc
REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch b/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
deleted file mode 100644
index d5fb8e7c82..0000000000
--- a/meta-oe/recipes-extended/libidn/libidn/0001-idn-format-security-warnings.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-Subject: [PATCH] idn: fix printf() format security warnings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-| ../../libidn-1.32/src/idn.c: In function 'main':
-| ../../libidn-1.32/src/idn.c:172:7: error: format not a string literal and no format arguments [-Werror=format-security]
-| error (0, 0, _("only one of -s, -e, -d, -a, -u or -n can be specified"));
-| ^~~~~
-| ../../libidn-1.32/src/idn.c:187:5: error: format not a string literal and no format arguments [-Werror=format-security]
-| fprintf (stderr, _("Type each input string on a line by itself, "
-| ^~~~~~~
-| ../../libidn-1.32/src/idn.c:202:4: error: format not a string literal and no format arguments [-Werror=format-security]
-| error (EXIT_FAILURE, errno, _("input error"));
-| ^~~~~
-| ../../libidn-1.32/src/idn.c:220:8: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:245:8: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:281:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:340:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UCS-4 to UTF-8"));
-| ^
-| ../../libidn-1.32/src/idn.c:364:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UCS-4 to UTF-8"));
-| ^
-| ../../libidn-1.32/src/idn.c:442:8: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UCS-4 to UTF-8"));
-| ^
-| ../../libidn-1.32/src/idn.c:498:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:527:5: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-| ../../libidn-1.32/src/idn.c:540:6: error: format not a string literal and no format arguments [-Werror=format-security]
-| error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
-| ^~~~~
-| ../../libidn-1.32/src/idn.c:551:5: error: format not a string literal and no format arguments [-Werror=format-security]
-| _("could not convert from UTF-8 to UCS-4"));
-| ^
-
-Signed-off-by: André Draszik <adraszik@tycoint.com>
-Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com>
-
-Upstream-Status: Pending
-
----
- src/idn.c | 27 ++++++++++++++-------------
- 1 file changed, 14 insertions(+), 13 deletions(-)
-
-diff --git a/src/idn.c b/src/idn.c
-index f2fee11..c6e5caa 100644
---- a/src/idn.c
-+++ b/src/idn.c
-@@ -169,7 +169,7 @@ main (int argc, char *argv[])
- (args_info.idna_to_unicode_given ? 1 : 0) +
- (args_info.nfkc_given ? 1 : 0) != 1)
- {
-- error (0, 0,
-+ error (0, 0, "%s",
- _("only one of -s, -e, -d, -a, -u or -n can be specified"));
- usage (EXIT_FAILURE);
- }
-@@ -183,7 +183,7 @@ main (int argc, char *argv[])
-
- if (!args_info.quiet_given
- && args_info.inputs_num == 0 && isatty (fileno (stdin)))
-- fprintf (stderr, _("Type each input string on a line by itself, "
-+ fprintf (stderr, "%s", _("Type each input string on a line by itself, "
- "terminated by a newline character.\n"));
-
- do
-@@ -195,7 +195,7 @@ main (int argc, char *argv[])
- if (feof (stdin))
- break;
-
-- error (EXIT_FAILURE, errno, _("input error"));
-+ error (EXIT_FAILURE, errno, "%s", _("input error"));
- }
-
- if (strlen (line) > 0)
-@@ -213,7 +213,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (p);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
- }
-
-@@ -238,7 +238,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (r);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
- }
-
-@@ -275,7 +275,7 @@ main (int argc, char *argv[])
- q = stringprep_utf8_to_ucs4 (p, -1, &len);
- free (p);
- if (!q)
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
-
- if (args_info.debug_given)
-@@ -334,7 +334,7 @@ main (int argc, char *argv[])
- r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
- free (q);
- if (!r)
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UCS-4 to UTF-8"));
-
- p = stringprep_utf8_to_locale (r);
-@@ -358,7 +358,7 @@ main (int argc, char *argv[])
- q = stringprep_utf8_to_ucs4 (p, -1, NULL);
- free (p);
- if (!q)
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UCS-4 to UTF-8"));
-
- if (args_info.debug_given)
-@@ -436,7 +436,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (p);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UCS-4 to UTF-8"));
- }
-
-@@ -492,7 +492,7 @@ main (int argc, char *argv[])
- r = stringprep_ucs4_to_utf8 (q, -1, NULL, NULL);
- free (q);
- if (!r)
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
-
- p = stringprep_utf8_to_locale (r);
-@@ -521,7 +521,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (p);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
- }
-
-@@ -535,7 +535,8 @@ main (int argc, char *argv[])
- r = stringprep_utf8_nfkc_normalize (p, -1);
- free (p);
- if (!r)
-- error (EXIT_FAILURE, 0, _("could not do NFKC normalization"));
-+ error (EXIT_FAILURE, 0, "%s",
-+ _("could not do NFKC normalization"));
-
- if (args_info.debug_given)
- {
-@@ -545,7 +546,7 @@ main (int argc, char *argv[])
- if (!q)
- {
- free (r);
-- error (EXIT_FAILURE, 0,
-+ error (EXIT_FAILURE, 0, "%s",
- _("could not convert from UTF-8 to UCS-4"));
- }
-
---
-2.25.1
-
diff --git a/meta-oe/recipes-extended/libidn/libidn/0001-largefile.m4-Sync-with-latest-gnulib.patch b/meta-oe/recipes-extended/libidn/libidn/0001-largefile.m4-Sync-with-latest-gnulib.patch
new file mode 100644
index 0000000000..1dbf2955c9
--- /dev/null
+++ b/meta-oe/recipes-extended/libidn/libidn/0001-largefile.m4-Sync-with-latest-gnulib.patch
@@ -0,0 +1,390 @@
+From 66c1646a3f12836846a054ebd2c427e30c93d3a5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 2 Apr 2023 10:37:15 -0700
+Subject: [PATCH] largefile.m4: Sync with latest gnulib
+
+This ensures it can work with latest autoconf 2.72 release ( upcoming )
+
+Upstream-Status: Backport [it will be not needed with 1.42 release]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gl/m4/largefile.m4 | 330 ++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 263 insertions(+), 67 deletions(-)
+
+diff --git a/gl/m4/largefile.m4 b/gl/m4/largefile.m4
+index 3e8b5e3..7fb81b8 100644
+--- a/gl/m4/largefile.m4
++++ b/gl/m4/largefile.m4
+@@ -1,7 +1,7 @@
+ # Enable large files on systems where this is not the default.
+ # Enable support for files on Linux file systems with 64-bit inode numbers.
+
+-# Copyright 1992-1996, 1998-2022 Free Software Foundation, Inc.
++# Copyright 1992-1996, 1998-2023 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+@@ -10,8 +10,9 @@
+ # It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this
+ # setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko
+ # and ftello in C++ mode as well.
++# Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038.
+ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+-[
++ m4_ifndef([AC_SYS_YEAR2038], [[
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_FUNC_FSEEKO
+ case "$host_os" in
+@@ -20,10 +21,10 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
+ [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).])
+ ;;
+ esac
+-])
++ ]])
++)
+
+-# Work around a problem in Autoconf through at least 2.71 on glibc 2.34+
+-# with _TIME_BITS. Also, work around a problem in autoconf <= 2.69:
++# Work around a problem in autoconf <= 2.69:
+ # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
+ # or configures them incorrectly in some cases.
+ m4_version_prereq([2.70], [], [
+@@ -43,33 +44,258 @@ m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
+ ])
+ ])# m4_version_prereq 2.70
+
++# Support AC_SYS_YEAR2038, even if Autoconf 2.71 or earlier.
++# This code is taken from Autoconf master.
++m4_ifndef([AC_SYS_YEAR2038], [
++
++# _AC_SYS_YEAR2038_TEST_CODE
++# --------------------------
++# C code used to probe for time_t that can represent time points more
++# than 2**31 - 1 seconds after the epoch. With the usual Unix epoch,
++# these correspond to dates after 2038-01-18 22:14:07 +0000 (Gregorian),
++# hence the name.
++AC_DEFUN([_AC_SYS_YEAR2038_TEST_CODE],
++[[
++ #include <time.h>
++ /* Check that time_t can represent 2**32 - 1 correctly. */
++ #define LARGE_TIME_T \\
++ ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
++ int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
++ && LARGE_TIME_T % 65537 == 0)
++ ? 1 : -1];
++]])
++
++# _AC_SYS_YEAR2038_OPTIONS
++# ------------------------
++# List of known ways to enable support for large time_t. If you change
++# this list you probably also need to change the AS_CASE at the end of
++# _AC_SYS_YEAR2038_PROBE.
++m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
++ ["none needed"] dnl 64-bit and newer 32-bit Unix
++ ["-D_TIME_BITS=64"] dnl glibc 2.34 with some 32-bit ABIs
++ ["-D__MINGW_USE_VC2005_COMPAT"] dnl 32-bit MinGW
++ ["-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"]
++ dnl 32-bit MinGW (misconfiguration)
++))
++
++# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED])
++# -----------------------------------------
++# Subroutine of AC_SYS_YEAR2038. Probe for time_t that can represent
++# time points more than 2**31 - 1 seconds after the epoch (dates after
++# 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
++# to one of the values in the _AC_SYS_YEAR2038_OPTIONS list, or to
++# "support not detected" if none of them worked. Then, set compilation
++# options and #defines as necessary to enable large time_t support.
++#
++# Note that we do not test whether mktime, localtime, etc. handle
++# large values of time_t correctly, as that would require use of
++# AC_TRY_RUN. Note also that some systems only support large time_t
++# together with large off_t.
++#
++# If support is not detected, the behavior depends on which of the
++# top-level AC_SYS_YEAR2038 macros was used (see below).
++#
++# If you change this macro you may also need to change
++# _AC_SYS_YEAR2038_OPTIONS.
++AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
++[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038],
++ [ac_cv_sys_year2038_opts],
++ [ac_save_CPPFLAGS="$CPPFLAGS"
++ ac_opt_found=no
++ for ac_opt in _AC_SYS_YEAR2038_OPTIONS; do
++ AS_IF([test x"$ac_opt" != x"none needed"],
++ [CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_YEAR2038_TEST_CODE])],
++ [ac_cv_sys_year2038_opts="$ac_opt"
++ ac_opt_found=yes])
++ test $ac_opt_found = no || break
++ done
++ CPPFLAGS="$ac_save_CPPFLAGS"
++ test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected"])
++
++ac_have_year2038=yes
++AS_CASE([$ac_cv_sys_year2038_opts],
++ ["none needed"], [],
++ ["support not detected"],
++ [ac_have_year2038=no
++ AS_CASE([$enable_year2038],
++ [yes],
++ [# If we're not cross compiling and 'touch' works with a large
++ # timestamp, then we can presume the system supports wider time_t
++ # *somehow* and we just weren't able to detect it. One common
++ # case that we deliberately *don't* probe for is a system that
++ # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
++ # wide time_t. (It would be inappropriate for us to override an
++ # intentional use of -m32.) Error out, demanding use of
++ # --disable-year2038 if this is intentional.
++ AS_IF([test $cross_compiling = no],
++ [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
++ [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
++ [*'Feb 7 2106'* | *'Feb 7 17:10'*],
++ [AC_MSG_FAILURE(m4_text_wrap(
++ [this system appears to support timestamps after January 2038,
++ but no mechanism for enabling wide 'time_t' was detected.
++ Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.)
++ To proceed with 32-bit time_t, configure with '--disable-year2038'.],
++ [], [], [55]))])])])])],
++
++ ["-D_TIME_BITS=64"],
++ [AC_DEFINE([_TIME_BITS], [64],
++ [Number of bits in time_t, on hosts where this is settable.])],
++
++ ["-D__MINGW_USE_VC2005_COMPAT=1"],
++ [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
++ [Define to 1 on platforms where this makes time_t a 64-bit type.])],
+
+-# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
+-# CACHE-VAR,
+-# DESCRIPTION,
+-# PROLOGUE, [FUNCTION-BODY])
+-# --------------------------------------------------------
+-m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
+-[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
+-[while :; do
+- m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+- [AC_LANG_PROGRAM([$5], [$6])],
+- [$3=no; break])
+- m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
+- [AC_LANG_PROGRAM([#undef $1
+-#define $1 $2
+-$5], [$6])],
+- [$3=$2; break])
+- $3=unknown
+- break
+-done])
+-case $$3 in #(
+- no | unknown) ;;
+- *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);;
+-esac
+-rm -rf conftest*[]dnl
+-])# _AC_SYS_LARGEFILE_MACRO_VALUE
++ ["-U_USE_32_BIT_TIME_T"*],
++ [AC_MSG_FAILURE(m4_text_wrap(
++ [the 'time_t' type is currently forced to be 32-bit.
++ It will stop working after January 2038.
++ Remove _USE_32BIT_TIME_T from the compiler flags.],
++ [], [], [55]))],
++
++ [AC_MSG_ERROR(
++ [internal error: bad value for \$ac_cv_sys_year2038_opts])])
++])
++
++# _AC_SYS_YEAR2038_ENABLE
++# -----------------------
++# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN.
++# Depending on which of the YEAR2038 macros was used, add either an
++# --enable-year2038, or a --disable-year2038, or no option at all to
++# the configure script. Note that this is expanded very late and
++# therefore there cannot be any code in the AC_ARG_ENABLE. The
++# default value for enable_year2038 is emitted unconditionally
++# because the generated code always looks at this variable.
++m4_define([_AC_SYS_YEAR2038_ENABLE],
++[m4_divert_text([DEFAULTS],
++ m4_provide_if([AC_SYS_YEAR2038],
++ [enable_year2038=yes],
++ [enable_year2038=no]))]dnl
++[AC_ARG_ENABLE([year2038],
++ m4_provide_if([AC_SYS_YEAR2038],
++ [AS_HELP_STRING([--disable-year2038],
++ [do not support timestamps after 2038])],
++ [AS_HELP_STRING([--enable-year2038],
++ [support timestamps after 2038])]))])
++
++# _AC_SYS_YEAR2038_OPT_IN
++# -----------------------
++# If the --enable-year2038 option is given to configure, attempt to
++# detect and activate support for large time_t on 32-bit systems.
++# This macro is automatically invoked by AC_SYS_LARGEFILE when large
++# *file* support is detected. It does not AC_REQUIRE AC_SYS_LARGEFILE
++# to avoid a dependency loop, and is therefore unsafe to expose as a
++# documented macro.
++AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
++[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
++ AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
++ AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
++])])
++
++# AC_SYS_YEAR2038
++# ---------------
++# Attempt to detect and activate support for large time_t.
++# On systems where time_t is not always 64 bits, this probe can be
++# skipped by passing the --disable-year2038 option to configure.
++AC_DEFUN([AC_SYS_YEAR2038],
++[AC_REQUIRE([AC_SYS_LARGEFILE])]dnl
++[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
++ AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
++ AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
++])])
++
++# _AC_SYS_LARGEFILE_TEST_CODE
++# ---------------------------
++# C code used to probe for large file support.
++m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
++[@%:@include <sys/types.h>
++ /* Check that off_t can represent 2**63 - 1 correctly.
++ We can't simply define LARGE_OFF_T to be 9223372036854775807,
++ since some C++ compilers masquerading as C compilers
++ incorrectly reject 9223372036854775807. */
++@%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
++ int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
++ && LARGE_OFF_T % 2147483647 == 1)
++ ? 1 : -1]];[]dnl
++])
++
++# _AC_SYS_LARGEFILE_OPTIONS
++# -------------------------
++# List of known ways to enable support for large files. If you change
++# this list you probably also need to change the AS_CASE at the end of
++# _AC_SYS_LARGEFILE_PROBE.
++m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize(
++ ["none needed"] dnl Most current systems
++ ["-D_FILE_OFFSET_BITS=64"] dnl X/Open LFS spec
++ ["-D_LARGE_FILES=1"] dnl AIX (which versions?)
++ ["-n32"] dnl Irix 6.2 w/ SGI compiler
++))
++
++# _AC_SYS_LARGEFILE_PROBE
++# -----------------------
++# Subroutine of AC_SYS_LARGEFILE. Probe for large file support and set
++# the cache variable ac_cv_sys_largefile_opts to one of the values in
++# the _AC_SYS_LARGEFILE_OPTIONS list, or to "support not detected" if
++# none of the options in that list worked. Then, set compilation
++# options and #defines as necessary to enable large file support.
++#
++# If large file support is not detected, the behavior depends on which of
++# the top-level AC_SYS_LARGEFILE macros was used (see below).
++#
++# If you change this macro you may also need to change
++# _AC_SYS_LARGEFILE_OPTIONS.
++AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
++[AC_CACHE_CHECK([for $CC option to enable large file support],
++ [ac_cv_sys_largefile_opts],
++ [ac_save_CC="$CC"
++ ac_opt_found=no
++ for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do
++ AS_IF([test x"$ac_opt" != x"none needed"],
++ [CC="$ac_save_CC $ac_opt"])
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])],
++ [ac_cv_sys_largefile_opts="$ac_opt"
++ ac_opt_found=yes])
++ test $ac_opt_found = no || break
++ done
++ CC="$ac_save_CC"
++ test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
++
++ac_have_largefile=yes
++AS_CASE([$ac_cv_sys_largefile_opts],
++ ["none needed"], [],
++ ["support not detected"],
++ [ac_have_largefile=no],
++
++ ["-D_FILE_OFFSET_BITS=64"],
++ [AC_DEFINE([_FILE_OFFSET_BITS], [64],
++ [Number of bits in a file offset, on hosts where this is settable.])],
++
++ ["-D_LARGE_FILES=1"],
++ [AC_DEFINE([_LARGE_FILES], [1],
++ [Define to 1 on platforms where this makes off_t a 64-bit type.])],
++
++ ["-n32"],
++ [CC="$CC -n32"],
++
++ [AC_MSG_ERROR(
++ [internal error: bad value for \$ac_cv_sys_largefile_opts])])
++
++_AC_SYS_YEAR2038_OPT_IN
++])
+
++# _AC_SYS_LARGEFILE_ENABLE
++# ------------------------
++# Subroutine of AC_SYS_LARGEFILE. Note that this
++# is expanded very late and therefore there cannot be any code in the
++# AC_ARG_ENABLE. The default value for enable_largefile is emitted
++# unconditionally because the generated shell code always looks at
++# this variable.
++m4_define([_AC_SYS_LARGEFILE_ENABLE],
++[m4_divert_text([DEFAULTS],
++ enable_largefile=yes)]dnl
++[AC_ARG_ENABLE([largefile],
++ [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])
+
+ # AC_SYS_LARGEFILE
+ # ----------------
+@@ -80,44 +306,14 @@ rm -rf conftest*[]dnl
+ # Additionally, on Linux file systems with 64-bit inodes a file that happens
+ # to have a 64-bit inode number cannot be accessed by 32-bit applications on
+ # Linux x86/x86_64. This can occur with file systems such as XFS and NFS.
++# This macro allows configuration to continue if the system doesn't support
++# large files.
+ AC_DEFUN([AC_SYS_LARGEFILE],
+-[AC_ARG_ENABLE(largefile,
+- [ --disable-largefile omit support for large files])
+-AS_IF([test "$enable_largefile" != no],
+- [AC_CACHE_CHECK([for special C compiler options needed for large files],
+- ac_cv_sys_largefile_CC,
+- [ac_cv_sys_largefile_CC=no
+- if test "$GCC" != yes; then
+- ac_save_CC=$CC
+- while :; do
+- # IRIX 6.2 and later do not support large files by default,
+- # so use the C compiler's -n32 option if that helps.
+- AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
+- AC_COMPILE_IFELSE([], [break])
+- CC="$CC -n32"
+- AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
+- break
+- done
+- CC=$ac_save_CC
+- rm -f conftest.$ac_ext
+- fi])
+- if test "$ac_cv_sys_largefile_CC" != no; then
+- CC=$CC$ac_cv_sys_largefile_CC
+- fi
+-
+- _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
+- ac_cv_sys_file_offset_bits,
+- [Number of bits in a file offset, on hosts where this is settable.],
+- [_AC_SYS_LARGEFILE_TEST_INCLUDES])
+- AS_CASE([$ac_cv_sys_file_offset_bits],
+- [unknown],
+- [_AC_SYS_LARGEFILE_MACRO_VALUE([_LARGE_FILES], [1],
+- [ac_cv_sys_large_files],
+- [Define for large files, on AIX-style hosts.],
+- [_AC_SYS_LARGEFILE_TEST_INCLUDES])],
+- [64],
+- [gl_YEAR2038_BODY([])])])
+-])# AC_SYS_LARGEFILE
++[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
++ AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE])
++ AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
++])])
++])# m4_ifndef AC_SYS_YEAR2038
+
+ # Enable large files on systems where this is implemented by Gnulib, not by the
+ # system headers.
+--
+2.40.0
+
diff --git a/meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch b/meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch
index 0863530f29..46938bccf6 100644
--- a/meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch
+++ b/meta-oe/recipes-extended/libidn/libidn/dont-depend-on-help2man.patch
@@ -1,23 +1,23 @@
Upstream-Status: Inappropriate [disable feature]
Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurdd libidn-1.26/doc/Makefile.am libidn-1.26/doc/Makefile.am
---- libidn-1.26/doc/Makefile.am 2012-09-18 11:25:45.000000000 +0300
-+++ libidn-1.26/doc/Makefile.am 2013-02-08 07:41:24.591431462 +0200
-@@ -49,15 +49,9 @@
-
+--- libidn-1.41.orig/doc/Makefile.am
++++ libidn-1.41/doc/Makefile.am
+@@ -73,16 +73,9 @@ BUILT_SOURCES = example.txt example2.txt
+
# Man pages.
-
+
-dist_man_MANS = idn.1 $(gdoc_MANS)
+dist_man_MANS = $(gdoc_MANS)
MAINTAINERCLEANFILES = $(dist_man_MANS)
-
--idn.1: $(top_srcdir)/src/idn.c $(top_srcdir)/src/idn.ggo \
-- $(top_srcdir)/configure.ac
-- $(HELP2MAN) \
+
+-idn.1: $(top_srcdir)/src/idn.c $(top_srcdir)/src/idn.ggo $(top_srcdir)/.version
+- $(MAKE) -C ../lib
+- $(MAKE) -C ../src
+- $(AM_V_GEN)$(HELP2MAN) \
- --name="Internationalized Domain Names command line tool" \
- --output=$@ $(top_builddir)/src/idn$(EXEEXT)
-
# GDOC
-
- GDOC_BIN = $(srcdir)/gdoc
+
+ gdoc_TEXINFOS =
diff --git a/meta-oe/recipes-extended/libidn/libidn_1.36.bb b/meta-oe/recipes-extended/libidn/libidn_1.36.bb
deleted file mode 100644
index 4c6c8fde4a..0000000000
--- a/meta-oe/recipes-extended/libidn/libidn_1.36.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Internationalized Domain Name support library"
-DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
-HOMEPAGE = "http://www.gnu.org/software/libidn/"
-SECTION = "libs"
-LICENSE = "(LGPLv2.1+ | LGPLv3) & GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=df4be47940a91ee69556f5f71eed4aec \
- file://COPYING.LESSERv2;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://lib/idna.h;endline=21;md5=c381d797e2d7fbdace7c147b1285d076 \
- file://src/idn.c;endline=20;md5=7d88aa87b0494d690bdf7748fe08d536"
-DEPENDS = "virtual/libiconv autoconf-archive"
-
-inherit pkgconfig autotools gettext texinfo gtk-doc
-
-SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \
- file://dont-depend-on-help2man.patch \
- file://0001-idn-format-security-warnings.patch \
- "
-
-SRC_URI[md5sum] = "813c7b268d1051ca02c3610986126f38"
-SRC_URI[sha256sum] = "14b67108344d81ba844631640df77c9071d9fb0659b080326ff5424e86b14038"
-
-# command tool is under GPLv3+, while libidn itself is under LGPLv2.1+ or LGPLv3
-# so package command into a separate package
-PACKAGES =+ "idn"
-FILES_idn = "${bindir}/*"
-
-LICENSE_${PN} = "LGPLv2.1+ | LGPLv3"
-LICENSE_idn = "GPLv3+"
-
-EXTRA_OECONF = "--disable-csharp"
-
-do_install_append() {
- rm -rf ${D}${datadir}/emacs
-}
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta-oe/recipes-extended/libidn/libidn_1.41.bb b/meta-oe/recipes-extended/libidn/libidn_1.41.bb
new file mode 100644
index 0000000000..17ffc6cdc5
--- /dev/null
+++ b/meta-oe/recipes-extended/libidn/libidn_1.41.bb
@@ -0,0 +1,43 @@
+SUMMARY = "Internationalized Domain Name support library"
+DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
+HOMEPAGE = "http://www.gnu.org/software/libidn/"
+SECTION = "libs"
+LICENSE = "(LGPL-2.1-or-later | LGPL-3.0-only) & GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f95a3dc99fecfa9a0c4e726d4b5d822f \
+ file://COPYING.LESSERv2;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYINGv3;md5=11cc2d3ee574f9d6b7ee797bdce4d423 \
+ file://lib/idna.h;endline=21;md5=176de4fe1d98e59d743d3b12a850e4cb \
+ file://src/idn.c;endline=20;md5=dd17b9093355bf669e2ea108d2defbd0 \
+ "
+
+DEPENDS = "virtual/libiconv autoconf-archive"
+
+inherit pkgconfig autotools gettext texinfo gtk-doc
+
+SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \
+ file://dont-depend-on-help2man.patch \
+ file://0001-largefile.m4-Sync-with-latest-gnulib.patch \
+ "
+
+#SRC_URI[md5sum] = "813c7b268d1051ca02c3610986126f38"
+#SRC_URI[sha256sum] = "14b67108344d81ba844631640df77c9071d9fb0659b080326ff5424e86b14038"
+SRC_URI[sha256sum] = "884d706364b81abdd17bee9686d8ff2ae7431c5a14651047c68adf8b31fd8945"
+
+# command tool is under GPLv3+, while libidn itself is under LGPLv2.1+ or LGPLv3
+# so package command into a separate package
+PACKAGES =+ "idn"
+FILES:idn = "${bindir}/*"
+
+LICENSE:${PN} = "LGPL-2.1-or-later | LGPL-3.0-only"
+LICENSE:idn = "GPL-3.0-or-later"
+
+EXTRA_OECONF = "--disable-csharp"
+
+do_install:append() {
+ rm -rf ${D}${datadir}/emacs
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb b/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
deleted file mode 100644
index 6ef5b4f432..0000000000
--- a/meta-oe/recipes-extended/libimobiledevice/libplist_2.2.0.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML"
-HOMEPAGE = "https://github.com/libimobiledevice/libplist"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
- file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7"
-
-DEPENDS = "libxml2 glib-2.0 swig python3"
-
-inherit autotools pkgconfig python3native python3targetconfig
-
-SRCREV = "c5a30e9267068436a75b5d00fcbf95cb9c1f4dcd"
-SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https"
-
-S = "${WORKDIR}/git"
-
-do_install_append () {
- if [ -e ${D}${libdir}/python*/site-packages/plist/_plist.so ]; then
- chrpath -d ${D}${libdir}/python*/site-packages/plist/_plist.so
- fi
-}
-
-PACKAGES =+ "${PN}-utils \
- ${PN}++ \
- ${PN}-python"
-
-FILES_${PN} = "${libdir}/libplist-2.0${SOLIBS}"
-FILES_${PN}++ = "${libdir}/libplist++-2.0${SOLIBS}"
-FILES_${PN}-utils = "${bindir}/*"
-FILES_${PN}-python = "${libdir}/python*/site-packages/*"
diff --git a/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb b/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
new file mode 100644
index 0000000000..81a3c26e04
--- /dev/null
+++ b/meta-oe/recipes-extended/libimobiledevice/libplist_2.3.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML"
+HOMEPAGE = "https://github.com/libimobiledevice/libplist"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
+ file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7"
+
+DEPENDS = "libxml2 glib-2.0 swig python3"
+
+inherit autotools pkgconfig python3native python3targetconfig
+
+SRCREV = "b8fcc89b74c9128a13b07cc15a0ce25dca0cd97e"
+SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+CVE_STATUS_GROUPS += "CVE_STATUS_LIBLIST"
+CVE_STATUS_LIBLIST[status] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS_LIBLIST = " \
+ CVE-2017-5834 \
+ CVE-2017-5835 \
+ CVE-2017-5836 \
+"
+
+do_configure:prepend() {
+ rm -f ${S}/m4/ax_python_devel.m4
+}
+
+do_install:append () {
+ if [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/plist/_plist.so ]; then
+ chrpath -d ${D}${PYTHON_SITEPACKAGES_DIR}/plist/_plist.so
+ fi
+}
+
+PACKAGES =+ "${PN}-utils \
+ ${PN}++ \
+ ${PN}-python"
+
+FILES:${PN} = "${libdir}/libplist-2.0${SOLIBS}"
+FILES:${PN}++ = "${libdir}/libplist++-2.0${SOLIBS}"
+FILES:${PN}-utils = "${bindir}/*"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb b/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
new file mode 100644
index 0000000000..bfd4af053c
--- /dev/null
+++ b/meta-oe/recipes-extended/libimobiledevice/libplist_git.bb
@@ -0,0 +1,43 @@
+SUMMARY = "A library to handle Apple Property List format whereas it's binary or XML"
+HOMEPAGE = "https://github.com/libimobiledevice/libplist"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07 \
+ file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7"
+
+DEPENDS = "libxml2 glib-2.0 swig python3"
+
+inherit autotools pkgconfig python3native python3targetconfig
+
+PV = "2.3.0+git"
+
+SRCREV = "2cd858c679d25633077ca78b67182a9b77653816"
+SRC_URI = "git://github.com/libimobiledevice/libplist;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+CVE_STATUS_GROUPS += "CVE_STATUS_LIBLIST"
+CVE_STATUS_LIBLIST[status] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS_LIBLIST = " \
+ CVE-2017-5834 \
+ CVE-2017-5835 \
+ CVE-2017-5836 \
+"
+
+do_configure:prepend() {
+ rm -f ${S}/m4/ax_python_devel.m4
+}
+
+do_install:append () {
+ if [ -e ${D}${PYTHON_SITEPACKAGES_DIR}/plist/_plist.so ]; then
+ chrpath -d ${D}${PYTHON_SITEPACKAGES_DIR}/plist/_plist.so
+ fi
+}
+
+PACKAGES =+ "${PN}-utils \
+ ${PN}++ \
+ ${PN}-python"
+
+FILES:${PN} = "${libdir}/libplist-2.0${SOLIBS}"
+FILES:${PN}++ = "${libdir}/libplist++-2.0${SOLIBS}"
+FILES:${PN}-utils = "${bindir}/*"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_2.0.2.bb b/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_2.0.2.bb
index 343d0bc63f..a586f49f96 100644
--- a/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_2.0.2.bb
+++ b/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_2.0.2.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7"
DEPENDS = "udev libusb1 libplist"
@@ -9,8 +9,8 @@ inherit autotools pkgconfig gitpkgv
PKGV = "${GITPKGVTAG}"
SRCREV = "ce98c346b7c1dc2a21faea4fd3f32c88e27ca2af"
-SRC_URI = "git://github.com/libimobiledevice/libusbmuxd;protocol=https"
+SRC_URI = "git://github.com/libimobiledevice/libusbmuxd;protocol=https;branch=master"
S = "${WORKDIR}/git"
-FILES_${PN} += "${base_libdir}/udev/rules.d/"
+FILES:${PN} += "${base_libdir}/udev/rules.d/"
diff --git a/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb b/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb
new file mode 100644
index 0000000000..b9f5c34094
--- /dev/null
+++ b/meta-oe/recipes-extended/libimobiledevice/libusbmuxd_git.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "This daemon is in charge of multiplexing connections over USB to an iPhone or iPod touch."
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7"
+
+DEPENDS = "udev libusb1 libplist libimobiledevice-glue"
+
+inherit autotools pkgconfig gitpkgv
+
+PKGV = "${GITPKGVTAG}"
+PV = "2.0.2+git"
+
+SRCREV = "36ffb7ab6e2a7e33bd1b56398a88895b7b8c615a"
+SRC_URI = "git://github.com/libimobiledevice/libusbmuxd;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+FILES:${PN} += "${base_libdir}/udev/rules.d/"
diff --git a/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch b/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch
new file mode 100644
index 0000000000..800ddd9507
--- /dev/null
+++ b/meta-oe/recipes-extended/libleak/libleak/0001-respect-environment-variables.patch
@@ -0,0 +1,26 @@
+From ea3f11a7846ad27926c6eacc0534914f4873504f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 5 Mar 2021 19:30:09 -0800
+Subject: [PATCH] respect environment variables
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,8 +1,8 @@
+-CFLAGS = -g -O2 -Wall -fPIC -Ilibwuya
+-LDFLAGS = -Llibwuya
++CFLAGS += -g -O2 -Wall -fPIC -Ilibwuya
++LDFLAGS += -Llibwuya
+
+ libleak.so: libleak.o
+- CFLAGS='-fPIC' make -C libwuya
++ make -C libwuya
+ $(CC) -shared -o $@ $^ $(LDFLAGS) -lwuya -lpthread -ldl -lbacktrace
+
+ clean:
diff --git a/meta-oe/recipes-extended/libleak/libleak_0.3.6.bb b/meta-oe/recipes-extended/libleak/libleak_0.3.6.bb
new file mode 100644
index 0000000000..e3e4c01acb
--- /dev/null
+++ b/meta-oe/recipes-extended/libleak/libleak_0.3.6.bb
@@ -0,0 +1,37 @@
+# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "libleak detects memory leak by hooking memory functions (e.g. malloc) by LD_PRELOAD"
+HOMEPAGE = "https://github.com/WuBingzheng/libleak"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://README.md;beginline=18;endline=21;md5=de4f705f12cdedbe452b2c3524572b03"
+
+DEPENDS += "libbacktrace"
+
+PE = "1"
+SRCREV = "1c56b0a2ba643db976f589ec04b246e693b6c0ce"
+SRC_URI = "gitsm://github.com/WuBingzheng/libleak;protocol=https;branch=master \
+ file://0001-respect-environment-variables.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+do_configure () {
+ :
+}
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ install -Dm 0755 ${B}/libleak.so ${D}${libdir}/libleak.so
+}
+
+FILES_SOLIBSDEV = ""
+
+FILES:${PN} += "${libdir}/libleak.so"
+
+# libunwind does not support RISCV yet
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
diff --git a/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb b/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb
index 7fc5997983..1d650ac63b 100644
--- a/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb
+++ b/meta-oe/recipes-extended/liblightmodbus/liblightmodbus_2.0.2.bb
@@ -2,12 +2,12 @@ SUMMARY = "A cross-platform, lightweight Modbus RTU library"
DESCRIPTION = "liblightmodbus is a very lightweight, highly configurable, \
platform-independent Modbus RTU library."
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
inherit cmake pkgconfig
-SRC_URI = "git://github.com/Jacajack/liblightmodbus.git;protocol=https \
+SRC_URI = "git://github.com/Jacajack/liblightmodbus.git;protocol=https;branch=master \
file://0001-cmake-Use-GNUInstallDirs-instead-of-hardcoding-lib-p.patch \
"
SRCREV = "59d2b405f95701e5b04326589786dbb43ce49e81"
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-add-DESTDIR.patch b/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-add-DESTDIR.patch
index ea415dd8ba..2533b3a008 100644
--- a/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-add-DESTDIR.patch
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-add-DESTDIR.patch
@@ -1,4 +1,4 @@
-From 67843dabe1177840697839b916fd899218893ec7 Mon Sep 17 00:00:00 2001
+From 8e370a2f35d0c3472ddc9068fab19d0077434c61 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Thu, 19 Jul 2018 00:25:23 -0700
Subject: [PATCH] Makefile.in: add DESTDIR
@@ -29,7 +29,7 @@ Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index 36a6d23..1e4130e 100644
+index 9c74b35..8cbda1d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -12,11 +12,11 @@ CC = @CC@
@@ -50,5 +50,5 @@ index 36a6d23..1e4130e 100644
MAILGROUP = @MAILGROUP@
--
-2.17.1
+2.25.1
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-fix-install-failure-on-host-without-ldco.patch b/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-fix-install-failure-on-host-without-ldco.patch
new file mode 100644
index 0000000000..1fd5c827ba
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-fix-install-failure-on-host-without-ldco.patch
@@ -0,0 +1,63 @@
+From 8b3a5916fff4004b5b2f1e8a1d3a051346ba3901 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 10 Mar 2023 08:59:39 +0800
+Subject: [PATCH] Makefile.in: fix install failure on host without ldconfig
+
+fix syntax error when ldconfig is not installed on host
+
+when ldconfig is not installed on the build host, install will failed with
+error:
+ln -sf nfslock.so.0.1 /mnt/tmp-glibc/work/core2-64-wrs-linux/liblockfile/1.14-r0/image/usr/lib64/nfslock.so.0
+install -m 644 lockfile.h maillock.h /mnt/tmp-glibc/work/core2-64-wrs-linux/liblockfile/1.14-r0/image/usr/include
+if test "/mnt/tmp-glibc/work/core2-64-wrs-linux/liblockfile/1.14-r0/image" = ""; then ; fi
+if [ "mail" != "" ]; then\
+ install -g mail -m 2755 dotlockfile /mnt/tmp-glibc/work/core2-64-wrs-linux/liblockfile/1.14-r0/image/usr/bin;\
+ else \
+ install -g root -m 755 dotlockfile /mnt/tmp-glibc/work/core2-64-wrs-linux/liblockfile/1.14-r0/image/usr/bin; \
+ fi
+/bin/sh: -c: line 1: syntax error near unexpected token `;'
+/bin/sh: -c: line 1: `if test "/mnt/tmp-glibc/work/core2-64-wrs-linux/liblockfile/1.14-r0/image" = ""; then ; fi'
+
+Upstream-Status: Submitted [https://github.com/miquels/liblockfile/pull/20]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile.in | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index e02d75e..5fc5b5a 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -9,6 +9,10 @@ NFSVER = 0.1
+ CFLAGS = @CFLAGS@ -I.
+ LDFLAGS = @LDFLAGS@
+ CC = @CC@
++LDCONFIG = @LDCONFIG@
++ifeq ($(LDCONFIG),)
++ LDCONFIG = ":"
++endif
+
+ prefix = $(DESTDIR)@prefix@
+ exec_prefix = @exec_prefix@
+@@ -69,7 +73,7 @@ install_shared: shared install_static install_common
+ $(libdir)/liblockfile.so.$(SOVER)
+ ln -s liblockfile.so.$(SOVER) $(libdir)/liblockfile.so.$(MAJOR)
+ ln -s liblockfile.so.$(SOVER) $(libdir)/liblockfile.so
+- if test "$(DESTDIR)" = ""; then @LDCONFIG@; fi
++ if test "$(DESTDIR)" = ""; then $(LDCONFIG); fi
+
+ install_common:
+ install -d -m 755 -g root -p $(includedir)
+@@ -90,7 +94,7 @@ install_nfslib: nfslib
+ install -m 755 nfslock.so.$(NFSVER) $(nfslockdir)
+ ln -sf nfslock.so.$(NFSVER) $(libdir)/nfslock.so
+ ln -sf nfslock.so.$(NFSVER) $(libdir)/nfslock.so.0
+- if test "$(DESTDIR)" = ""; then @LDCONFIG@; fi
++ if test "$(DESTDIR)" = ""; then $(LDCONFIG); fi
+
+ test: test-stamp
+ @:
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock-libs.patch b/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock-libs.patch
index a6b297b592..f99ac2bf7a 100644
--- a/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock-libs.patch
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-install-nfslock-libs.patch
@@ -1,4 +1,4 @@
-From 631d46efff2a6d8970e202ba5422ebedd17a8d2f Mon Sep 17 00:00:00 2001
+From 0f34d1d91d641c3d5c5bb2eb11bd6eec7cfaf738 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Thu, 19 Jul 2018 01:00:10 -0700
Subject: [PATCH] Makefile.in: install nfslock.so and nfslock.so.0
@@ -14,10 +14,10 @@ Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
1 file changed, 2 insertions(+)
diff --git a/Makefile.in b/Makefile.in
-index 1e4130e..0f1b506 100644
+index 8cbda1d..3a74811 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -77,6 +77,8 @@ install_common:
+@@ -88,6 +88,8 @@ install_common:
install_nfslib: nfslib
install -d -m 755 -g root -p $(nfslockdir)
install -m 755 nfslock.so.$(NFSVER) $(nfslockdir)
@@ -25,7 +25,7 @@ index 1e4130e..0f1b506 100644
+ ln -sf nfslock.so.$(NFSVER) $(libdir)/nfslock.so.0
if test "$(DESTDIR)" = ""; then @LDCONFIG@; fi
- clean:
+ test: test-stamp
--
-2.17.1
+2.25.1
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-redefine-LOCKPROG.patch b/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-redefine-LOCKPROG.patch
new file mode 100644
index 0000000000..c387db123f
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile/0001-Makefile.in-redefine-LOCKPROG.patch
@@ -0,0 +1,51 @@
+From 05227e74b732f13ed5a2a98232676f98bba028e6 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Fri, 12 Aug 2022 11:18:15 +0800
+Subject: [PATCH] Makefile.in: redefine LOCKPROG
+
+By default the LOCKPROG will be expanded as below:
+LOCKPROG="/build/tmp-glibc/work/core2-32-wrs-linux/liblockfile/1.14-r0/image/usr/bin/dotlockfile"
+
+And it should be "/usr/bin/dotlockfile" on the target.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
+Update patch for 1.17, also redefine LOCKPROG in other lines
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile.in | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index e447cb2..e02d75e 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -44,19 +44,19 @@ dotlockfile: dotlockfile.o dlockfile.o
+ $(CC) $(LDFLAGS) -o dotlockfile dotlockfile.o dlockfile.o
+
+ dotlockfile.o: dotlockfile.c
+- $(CC) $(CFLAGS) -DLOCKPROG=\"$(bindir)/dotlockfile\" \
++ $(CC) $(CFLAGS) -DLOCKPROG=\"/usr/bin/dotlockfile\" \
+ -c dotlockfile.c
+
+ lockfile.o: lockfile.c
+- $(CC) $(CFLAGS) -DLIB -DLOCKPROG=\"$(bindir)/dotlockfile\" \
++ $(CC) $(CFLAGS) -DLIB -DLOCKPROG=\"/usr/bin/dotlockfile\" \
+ -DSTATIC -c lockfile.c
+
+ solockfile.o: lockfile.c
+- $(CC) $(CFLAGS) -DLIB -DLOCKPROG=\"$(bindir)/dotlockfile\" \
++ $(CC) $(CFLAGS) -DLIB -DLOCKPROG=\"/usr/bin/dotlockfile\" \
+ -c lockfile.c -o solockfile.o
+
+ dlockfile.o: lockfile.c
+- $(CC) $(CFLAGS) -DLOCKPROG=\"$(bindir)/dotlockfile\" \
++ $(CC) $(CFLAGS) -DLOCKPROG=\"/usr/bin/dotlockfile\" \
+ -c lockfile.c -o dlockfile.o
+
+ install_static: static install_common
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile/configure.patch b/meta-oe/recipes-extended/liblockfile/liblockfile/configure.patch
index ea13e11d25..2bdf96e639 100644
--- a/meta-oe/recipes-extended/liblockfile/liblockfile/configure.patch
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile/configure.patch
@@ -1,10 +1,19 @@
+From fd3fce8c1a3d0c70a0ffd461fbbe7e2ef71dd3a7 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 7 Mar 2023 11:05:45 +0800
+Subject: [PATCH] Update patch for 1.17
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+Upstream-Status: Pending
---- liblockfile-1.05/./configure.in~configure
-+++ liblockfile-1.05/./configure.in
+ configure.ac | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index df26cee..76e9165 100644
+--- a/configure.ac
++++ b/configure.ac
@@ -1,4 +1,5 @@
-AC_INIT(lockfile.c)
+AC_INIT
@@ -12,7 +21,7 @@
AC_CONFIG_HEADER(autoconf.h)
AC_REVISION($Revision: 1.0 $)dnl
-@@ -111,7 +112,8 @@
+@@ -111,7 +112,8 @@ AC_SUBST(TARGETS)
AC_SUBST(INSTALL_TARGETS)
AC_SUBST(nfslockdir)
@@ -23,3 +32,6 @@
-)
+])
+AC_OUTPUT
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile/liblockfile-fix-install-so-to-man-dir.patch b/meta-oe/recipes-extended/liblockfile/liblockfile/liblockfile-fix-install-so-to-man-dir.patch
index da25033393..046cd8e693 100644
--- a/meta-oe/recipes-extended/liblockfile/liblockfile/liblockfile-fix-install-so-to-man-dir.patch
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile/liblockfile-fix-install-so-to-man-dir.patch
@@ -1,4 +1,4 @@
-From 363eb1aaeca914c7d36a2cdaf1417e4f87af4c22 Mon Sep 17 00:00:00 2001
+From 079d04c187800e22f18723c74e41c4e46eef67f8 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Thu, 19 Jul 2018 01:12:47 -0700
Subject: [PATCH] Makefile.in: define dotlockfile.1 installed to man
@@ -16,10 +16,10 @@ Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
-index 0f1b506..6e53179 100644
+index 3a74811..e447cb2 100644
--- a/Makefile.in
+++ b/Makefile.in
-@@ -71,7 +71,7 @@ install_common:
+@@ -82,7 +82,7 @@ install_common:
else \
install -g root -m 755 dotlockfile $(bindir); \
fi
@@ -29,5 +29,5 @@ index 0f1b506..6e53179 100644
install_nfslib: nfslib
--
-2.17.1
+2.25.1
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb b/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
deleted file mode 100644
index 10d88a3b5a..0000000000
--- a/meta-oe/recipes-extended/liblockfile/liblockfile_1.14.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "File locking library"
-HOMEPAGE = "http://packages.qa.debian.org/libl/liblockfile.html"
-SECTION = "libs"
-LICENSE = "LGPLv2+ & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f4ba6ad04fcb05cc30a4cfa5062c55a3"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.14.orig.tar.gz \
- ${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.14-1.debian.tar.bz2;name=1.14-1 \
- file://configure.patch \
- file://0001-Makefile.in-add-DESTDIR.patch \
- file://0001-Makefile.in-install-nfslock-libs.patch \
- file://liblockfile-fix-install-so-to-man-dir.patch \
-"
-
-SRC_URI[md5sum] = "420c056ba0cc4d1477e402f70ba2f5eb"
-SRC_URI[sha256sum] = "ab40d4a3e8cbc204f7e87fea637a4e4ddf9a1149aaa0a723a4267febd0b1d060"
-
-SRC_URI[1.14-1.md5sum] = "f9a44928c3477d218c56252712ebc479"
-SRC_URI[1.14-1.sha256sum] = "73f9be769e602149391588c28f0f4f5cda131e30fb94c0777dbb23d811ac21ff"
-
-S = "${WORKDIR}/${BPN}"
-
-inherit autotools-brokensep
-
-# set default mailgroup to mail
-# --with-libnfslock specify where to install nfslock.so.NVER
-EXTRA_OECONF = "--enable-shared \
- --with-mailgroup=mail \
- --with-libnfslock=${libdir} \
-"
-
-# Makefile using DESTDIR as the change in e35f9eabcbba224ecc70b145d5d2a2d81064c195
-# at https://github.com/miquels/liblockfile.git
-EXTRA_OEMAKE += "DESTDIR=${D}"
-
-FILES_${PN} += "${libdir}/nfslock.so.*"
-FILES_${PN}-dev += "${libdir}/nfslock.so"
diff --git a/meta-oe/recipes-extended/liblockfile/liblockfile_1.17.bb b/meta-oe/recipes-extended/liblockfile/liblockfile_1.17.bb
new file mode 100644
index 0000000000..b094337e90
--- /dev/null
+++ b/meta-oe/recipes-extended/liblockfile/liblockfile_1.17.bb
@@ -0,0 +1,36 @@
+SUMMARY = "File locking library"
+HOMEPAGE = "http://packages.qa.debian.org/libl/liblockfile.html"
+SECTION = "libs"
+LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f4ba6ad04fcb05cc30a4cfa5062c55a3"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.17.orig.tar.gz \
+ ${DEBIAN_MIRROR}/main/libl/liblockfile/liblockfile_1.17-1.debian.tar.bz2;name=1.17-1 \
+ file://configure.patch \
+ file://0001-Makefile.in-add-DESTDIR.patch \
+ file://0001-Makefile.in-install-nfslock-libs.patch \
+ file://liblockfile-fix-install-so-to-man-dir.patch \
+ file://0001-Makefile.in-redefine-LOCKPROG.patch \
+ file://0001-Makefile.in-fix-install-failure-on-host-without-ldco.patch \
+"
+
+SRC_URI[sha256sum] = "6e937f3650afab4aac198f348b89b1ca42edceb17fb6bb0918f642143ccfd15e"
+SRC_URI[1.17-1.sha256sum] = "e3657c0e3facfeccb58900c0b48d56cd68ad5f9f24d1b4c6eaa69c26490fb673"
+
+S = "${WORKDIR}/${BP}"
+
+inherit autotools-brokensep
+
+# set default mailgroup to mail
+# --with-libnfslock specify where to install nfslock.so.NVER
+EXTRA_OECONF = "--enable-shared \
+ --with-mailgroup=mail \
+ --with-libnfslock=${libdir} \
+"
+
+# Makefile using DESTDIR as the change in e35f9eabcbba224ecc70b145d5d2a2d81064c195
+# at https://github.com/miquels/liblockfile.git
+EXTRA_OEMAKE += "DESTDIR=${D}"
+
+FILES:${PN} += "${libdir}/nfslock.so.*"
+FILES:${PN}-dev += "${libdir}/nfslock.so"
diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm.inc b/meta-oe/recipes-extended/liblognorm/liblognorm.inc
deleted file mode 100644
index dc8abb91f1..0000000000
--- a/meta-oe/recipes-extended/liblognorm/liblognorm.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "Fast samples-based log normalization library"
-DESCRIPTION = "Briefly described, liblognorm is a tool to normalize log data."
-
-HOMEPAGE = "http://www.liblognorm.com"
-SECTION = "base"
-
-LICENSE = "LGPL-2.1+"
-
-SRC_URI = "http://www.liblognorm.com/files/download/${BPN}-${PV}.tar.gz\
-"
-
-inherit autotools pkgconfig
-
-DEPENDS += "libee libestr json-c"
-
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
-PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,sphinx,"
diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm/0001-Add-asprintf-to-autoconf-function-check-macro.patch b/meta-oe/recipes-extended/liblognorm/liblognorm/0001-Add-asprintf-to-autoconf-function-check-macro.patch
new file mode 100644
index 0000000000..abb09bc648
--- /dev/null
+++ b/meta-oe/recipes-extended/liblognorm/liblognorm/0001-Add-asprintf-to-autoconf-function-check-macro.patch
@@ -0,0 +1,28 @@
+From b8c65236cd6cd68b57004479006c683455680a82 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Sun, 15 Oct 2023 12:34:52 +0100
+Subject: [PATCH] Add asprintf to autoconf function check macro
+
+Upstream-Status: Submitted [https://github.com/rsyslog/liblognorm/pull/376]
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index b6f92f1..b057550 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,7 +55,7 @@ AC_TYPE_SIZE_T
+ AC_FUNC_SELECT_ARGTYPES
+ AC_TYPE_SIGNAL
+ AC_FUNC_STRERROR_R
+-AC_CHECK_FUNCS([strdup strndup strtok_r])
++AC_CHECK_FUNCS([asprintf strdup strndup strtok_r])
+
+ LIBLOGNORM_CFLAGS="-I\$(top_srcdir)/src"
+ LIBLOGNORM_LIBS="\$(top_builddir)/src/liblognorm.la"
+--
+2.43.0
+
diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb b/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb
deleted file mode 100644
index 5d89e3540d..0000000000
--- a/meta-oe/recipes-extended/liblognorm/liblognorm_1.0.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require ${BPN}.inc
-
-SRC_URI[md5sum] = "7b9a826542af9686127110deab09d7a1"
-SRC_URI[sha256sum] = "1f6cdfd901a8f6a97a3cb74bc6107c6746b3e9381f7889e4cd866a488e0c59a5"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ca016db57e008528dace002188c73dad"
diff --git a/meta-oe/recipes-extended/liblognorm/liblognorm_2.0.6.bb b/meta-oe/recipes-extended/liblognorm/liblognorm_2.0.6.bb
new file mode 100644
index 0000000000..0cc128c8c4
--- /dev/null
+++ b/meta-oe/recipes-extended/liblognorm/liblognorm_2.0.6.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Liblognorm is a fast-samples based normalization library."
+DESCRIPTION = "Briefly described, liblognorm is a tool to normalize log data."
+HOMEPAGE = "http://www.liblognorm.com"
+SECTION = "base"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ca016db57e008528dace002188c73dad"
+
+DEPENDS = "libfastjson libestr"
+
+SRC_URI = "git://github.com/rsyslog/liblognorm;branch=master;protocol=https \
+ file://0001-Add-asprintf-to-autoconf-function-check-macro.patch \
+ "
+SRCREV = "46c6ee4c8e5f827893e485a4ef1aff04ea881273"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "testbench tools"
+PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,pcre2,"
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+PACKAGECONFIG[advstats] = "--enable-advanced-stats,--disable-advanced-stats,,"
+PACKAGECONFIG[docs] = "--enable-docs,--disable-docs,sphinx,"
+PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,,"
+PACKAGECONFIG[tools] = "--enable-tools,--disable-tools,,"
diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus.inc b/meta-oe/recipes-extended/libmodbus/libmodbus.inc
deleted file mode 100644
index b502177aa4..0000000000
--- a/meta-oe/recipes-extended/libmodbus/libmodbus.inc
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "A Modbus library"
-DESCRIPTION = "libmodbus is a C library designed to provide a fast and robust \
-implementation of the Modbus protocol. It runs on Linux, Mac OS X, FreeBSD, \
-QNX and Windows."
-HOMEPAGE = "http://www.libmodbus.org/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "http://libmodbus.org/releases/${BP}.tar.gz"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[documentation] = "--with-documentation,--without-documentation,asciidoc-native xmlto-native"
-
-inherit autotools pkgconfig
diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch b/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
deleted file mode 100644
index 5372a23b6a..0000000000
--- a/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-float-endianness-issue-on-big-endian-arch.patch
+++ /dev/null
@@ -1,314 +0,0 @@
-From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= <szlin@debian.org>
-Date: Wed, 19 Dec 2018 10:24:47 +0800
-Subject: Fix float endianness issue on big endian arch
-
-It converts float values depending on what order they come in.
-
-This patch was modified from rm5248 [1]
-
-[1] https://github.com/synexxus/libmodbus/commit/a511768e7fe7ec52d7bae1d9ae04e33f87a59627
-
----
- src/modbus-data.c | 110 ++++++++++++++++++++++++++++++++++++++---------
- tests/unit-test-client.c | 22 ++++++----
- tests/unit-test.h.in | 41 ++++++++++++++++--
- 3 files changed, 141 insertions(+), 32 deletions(-)
-
-diff --git a/src/modbus-data.c b/src/modbus-data.c
-index 902b8c6..7a744fa 100644
---- a/src/modbus-data.c
-+++ b/src/modbus-data.c
-@@ -119,9 +119,18 @@ float modbus_get_float_abcd(const uint16_t *src)
- {
- float f;
- uint32_t i;
-+ uint8_t a, b, c, d;
-
-- i = ntohl(((uint32_t)src[0] << 16) + src[1]);
-- memcpy(&f, &i, sizeof(float));
-+ a = (src[0] >> 8) & 0xFF;
-+ b = (src[0] >> 0) & 0xFF;
-+ c = (src[1] >> 8) & 0xFF;
-+ d = (src[1] >> 0) & 0xFF;
-+
-+ i = (a << 24) |
-+ (b << 16) |
-+ (c << 8) |
-+ (d << 0);
-+ memcpy(&f, &i, 4);
-
- return f;
- }
-@@ -131,9 +140,18 @@ float modbus_get_float_dcba(const uint16_t *src)
- {
- float f;
- uint32_t i;
-+ uint8_t a, b, c, d;
-
-- i = ntohl(bswap_32((((uint32_t)src[0]) << 16) + src[1]));
-- memcpy(&f, &i, sizeof(float));
-+ a = (src[0] >> 8) & 0xFF;
-+ b = (src[0] >> 0) & 0xFF;
-+ c = (src[1] >> 8) & 0xFF;
-+ d = (src[1] >> 0) & 0xFF;
-+
-+ i = (d << 24) |
-+ (c << 16) |
-+ (b << 8) |
-+ (a << 0);
-+ memcpy(&f, &i, 4);
-
- return f;
- }
-@@ -143,9 +161,18 @@ float modbus_get_float_badc(const uint16_t *src)
- {
- float f;
- uint32_t i;
-+ uint8_t a, b, c, d;
-
-- i = ntohl((uint32_t)(bswap_16(src[0]) << 16) + bswap_16(src[1]));
-- memcpy(&f, &i, sizeof(float));
-+ a = (src[0] >> 8) & 0xFF;
-+ b = (src[0] >> 0) & 0xFF;
-+ c = (src[1] >> 8) & 0xFF;
-+ d = (src[1] >> 0) & 0xFF;
-+
-+ i = (b << 24) |
-+ (a << 16) |
-+ (d << 8) |
-+ (c << 0);
-+ memcpy(&f, &i, 4);
-
- return f;
- }
-@@ -155,9 +182,18 @@ float modbus_get_float_cdab(const uint16_t *src)
- {
- float f;
- uint32_t i;
-+ uint8_t a, b, c, d;
-
-- i = ntohl((((uint32_t)src[1]) << 16) + src[0]);
-- memcpy(&f, &i, sizeof(float));
-+ a = (src[0] >> 8) & 0xFF;
-+ b = (src[0] >> 0) & 0xFF;
-+ c = (src[1] >> 8) & 0xFF;
-+ d = (src[1] >> 0) & 0xFF;
-+
-+ i = (c << 24) |
-+ (d << 16) |
-+ (a << 8) |
-+ (b << 0);
-+ memcpy(&f, &i, 4);
-
- return f;
- }
-@@ -172,50 +208,84 @@ float modbus_get_float(const uint16_t *src)
- memcpy(&f, &i, sizeof(float));
-
- return f;
-+
- }
-
- /* Set a float to 4 bytes for Modbus w/o any conversion (ABCD) */
- void modbus_set_float_abcd(float f, uint16_t *dest)
- {
- uint32_t i;
-+ uint8_t *out = (uint8_t*) dest;
-+ uint8_t a, b, c, d;
-
- memcpy(&i, &f, sizeof(uint32_t));
-- i = htonl(i);
-- dest[0] = (uint16_t)(i >> 16);
-- dest[1] = (uint16_t)i;
-+ a = (i >> 24) & 0xFF;
-+ b = (i >> 16) & 0xFF;
-+ c = (i >> 8) & 0xFF;
-+ d = (i >> 0) & 0xFF;
-+
-+ out[0] = a;
-+ out[1] = b;
-+ out[2] = c;
-+ out[3] = d;
- }
-
- /* Set a float to 4 bytes for Modbus with byte and word swap conversion (DCBA) */
- void modbus_set_float_dcba(float f, uint16_t *dest)
- {
- uint32_t i;
-+ uint8_t *out = (uint8_t*) dest;
-+ uint8_t a, b, c, d;
-
- memcpy(&i, &f, sizeof(uint32_t));
-- i = bswap_32(htonl(i));
-- dest[0] = (uint16_t)(i >> 16);
-- dest[1] = (uint16_t)i;
-+ a = (i >> 24) & 0xFF;
-+ b = (i >> 16) & 0xFF;
-+ c = (i >> 8) & 0xFF;
-+ d = (i >> 0) & 0xFF;
-+
-+ out[0] = d;
-+ out[1] = c;
-+ out[2] = b;
-+ out[3] = a;
-+
- }
-
- /* Set a float to 4 bytes for Modbus with byte swap conversion (BADC) */
- void modbus_set_float_badc(float f, uint16_t *dest)
- {
- uint32_t i;
-+ uint8_t *out = (uint8_t*) dest;
-+ uint8_t a, b, c, d;
-
- memcpy(&i, &f, sizeof(uint32_t));
-- i = htonl(i);
-- dest[0] = (uint16_t)bswap_16(i >> 16);
-- dest[1] = (uint16_t)bswap_16(i & 0xFFFF);
-+ a = (i >> 24) & 0xFF;
-+ b = (i >> 16) & 0xFF;
-+ c = (i >> 8) & 0xFF;
-+ d = (i >> 0) & 0xFF;
-+
-+ out[0] = b;
-+ out[1] = a;
-+ out[2] = d;
-+ out[3] = c;
- }
-
- /* Set a float to 4 bytes for Modbus with word swap conversion (CDAB) */
- void modbus_set_float_cdab(float f, uint16_t *dest)
- {
- uint32_t i;
-+ uint8_t *out = (uint8_t*) dest;
-+ uint8_t a, b, c, d;
-
- memcpy(&i, &f, sizeof(uint32_t));
-- i = htonl(i);
-- dest[0] = (uint16_t)i;
-- dest[1] = (uint16_t)(i >> 16);
-+ a = (i >> 24) & 0xFF;
-+ b = (i >> 16) & 0xFF;
-+ c = (i >> 8) & 0xFF;
-+ d = (i >> 0) & 0xFF;
-+
-+ out[0] = c;
-+ out[1] = d;
-+ out[2] = a;
-+ out[3] = b;
- }
-
- /* DEPRECATED - Set a float to 4 bytes in a sort of Modbus format! */
-diff --git a/tests/unit-test-client.c b/tests/unit-test-client.c
-index 3e315f4..3fccf3e 100644
---- a/tests/unit-test-client.c
-+++ b/tests/unit-test-client.c
-@@ -27,6 +27,7 @@ int send_crafted_request(modbus_t *ctx, int function,
- uint16_t max_value, uint16_t bytes,
- int backend_length, int backend_offset);
- int equal_dword(uint16_t *tab_reg, const uint32_t value);
-+int is_memory_equal(const void *s1, const void *s2, size_t size);
-
- #define BUG_REPORT(_cond, _format, _args ...) \
- printf("\nLine %d: assertion error for '%s': " _format "\n", __LINE__, # _cond, ## _args)
-@@ -40,6 +41,11 @@ int equal_dword(uint16_t *tab_reg, const uint32_t value);
- } \
- };
-
-+int is_memory_equal(const void *s1, const void *s2, size_t size)
-+{
-+ return (memcmp(s1, s2, size) == 0);
-+}
-+
- int equal_dword(uint16_t *tab_reg, const uint32_t value) {
- return ((tab_reg[0] == (value >> 16)) && (tab_reg[1] == (value & 0xFFFF)));
- }
-@@ -286,26 +292,26 @@ int main(int argc, char *argv[])
- /** FLOAT **/
- printf("1/4 Set/get float ABCD: ");
- modbus_set_float_abcd(UT_REAL, tab_rp_registers);
-- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_ABCD), "FAILED Set float ABCD");
-- real = modbus_get_float_abcd(tab_rp_registers);
-+ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_ABCD_SET, 4), "FAILED Set float ABCD");
-+ real = modbus_get_float_abcd(UT_IREAL_ABCD_GET);
- ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
-
- printf("2/4 Set/get float DCBA: ");
- modbus_set_float_dcba(UT_REAL, tab_rp_registers);
-- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_DCBA), "FAILED Set float DCBA");
-- real = modbus_get_float_dcba(tab_rp_registers);
-+ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_DCBA_SET, 4), "FAILED Set float DCBA");
-+ real = modbus_get_float_dcba(UT_IREAL_DCBA_GET);
- ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
-
- printf("3/4 Set/get float BADC: ");
- modbus_set_float_badc(UT_REAL, tab_rp_registers);
-- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_BADC), "FAILED Set float BADC");
-- real = modbus_get_float_badc(tab_rp_registers);
-+ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_BADC_SET, 4), "FAILED Set float BADC");
-+ real = modbus_get_float_badc(UT_IREAL_BADC_GET);
- ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
-
- printf("4/4 Set/get float CDAB: ");
- modbus_set_float_cdab(UT_REAL, tab_rp_registers);
-- ASSERT_TRUE(equal_dword(tab_rp_registers, UT_IREAL_CDAB), "FAILED Set float CDAB");
-- real = modbus_get_float_cdab(tab_rp_registers);
-+ ASSERT_TRUE(is_memory_equal(tab_rp_registers, UT_IREAL_CDAB_SET, 4), "FAILED Set float CDAB");
-+ real = modbus_get_float_cdab(UT_IREAL_CDAB_GET);
- ASSERT_TRUE(real == UT_REAL, "FAILED (%f != %f)\n", real, UT_REAL);
-
- printf("\nAt this point, error messages doesn't mean the test has failed\n");
-diff --git a/tests/unit-test.h.in b/tests/unit-test.h.in
-index dca826f..4ffa254 100644
---- a/tests/unit-test.h.in
-+++ b/tests/unit-test.h.in
-@@ -56,12 +56,45 @@ const uint16_t UT_INPUT_REGISTERS_ADDRESS = 0x108;
- const uint16_t UT_INPUT_REGISTERS_NB = 0x1;
- const uint16_t UT_INPUT_REGISTERS_TAB[] = { 0x000A };
-
-+/*
-+ * This float value is 0x47F12000 (in big-endian format).
-+ * In Little-endian(intel) format, it will be stored in memory as follows:
-+ * 0x00 0x20 0xF1 0x47
-+ *
-+ * You can check this with the following code:
-+
-+ float fl = UT_REAL;
-+ uint8_t *inmem = (uint8_t*)&fl;
-+ int x;
-+ for(x = 0; x < 4; x++){
-+ printf("0x%02X ", inmem[ x ]);
-+ }
-+ printf("\n");
-+ */
- const float UT_REAL = 123456.00;
-
--const uint32_t UT_IREAL_ABCD = 0x0020F147;
--const uint32_t UT_IREAL_DCBA = 0x47F12000;
--const uint32_t UT_IREAL_BADC = 0x200047F1;
--const uint32_t UT_IREAL_CDAB = 0xF1470020;
-+/*
-+ * The following arrays assume that 'A' is the MSB,
-+ * and 'D' is the LSB.
-+ * Thus, the following is the case:
-+ * A = 0x47
-+ * B = 0xF1
-+ * C = 0x20
-+ * D = 0x00
-+ *
-+ * There are two sets of arrays: one to test that the setting is correct,
-+ * the other to test that the getting is correct.
-+ * Note that the 'get' values must be constants in processor-endianness,
-+ * as libmodbus will convert all words to processor-endianness as they come in.
-+ */
-+const uint8_t UT_IREAL_ABCD_SET[] = {0x47, 0xF1, 0x20, 0x00};
-+const uint16_t UT_IREAL_ABCD_GET[] = {0x47F1, 0x2000};
-+const uint8_t UT_IREAL_DCBA_SET[] = {0x00, 0x20, 0xF1, 0x47};
-+const uint16_t UT_IREAL_DCBA_GET[] = {0x0020, 0xF147};
-+const uint8_t UT_IREAL_BADC_SET[] = {0xF1, 0x47, 0x00, 0x20};
-+const uint16_t UT_IREAL_BADC_GET[] = {0xF147, 0x0020};
-+const uint8_t UT_IREAL_CDAB_SET[] = {0x20, 0x00, 0x47, 0xF1};
-+const uint16_t UT_IREAL_CDAB_GET[] = {0x2000, 0x47F1};
-
- /* const uint32_t UT_IREAL_ABCD = 0x47F12000);
- const uint32_t UT_IREAL_DCBA = 0x0020F147;
diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch b/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch
deleted file mode 100644
index 384a4a40bd..0000000000
--- a/meta-oe/recipes-extended/libmodbus/libmodbus/Fix-typo.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= <szlin@debian.org>
-Date: Thu, 27 Sep 2018 14:51:32 +0800
-Subject: Fix typo
-
----
- doc/modbus_mapping_new_start_address.txt | 4 ++--
- doc/modbus_reply.txt | 2 +-
- doc/modbus_reply_exception.txt | 2 +-
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/doc/modbus_mapping_new_start_address.txt b/doc/modbus_mapping_new_start_address.txt
-index 4fa196a..94a81fb 100644
---- a/doc/modbus_mapping_new_start_address.txt
-+++ b/doc/modbus_mapping_new_start_address.txt
-@@ -21,9 +21,9 @@ The _modbus_mapping_new_start_address()_ function shall allocate four arrays to
- store bits, input bits, registers and inputs registers. The pointers are stored
- in modbus_mapping_t structure. All values of the arrays are initialized to zero.
-
--The different starting adresses make it possible to place the mapping at any
-+The different starting addresses make it possible to place the mapping at any
- address in each address space. This way, you can give access to values stored
--at high adresses without allocating memory from the address zero, for eg. to
-+at high addresses without allocating memory from the address zero, for eg. to
- make available registers from 10000 to 10009, you can use:
-
- [source,c]
-diff --git a/doc/modbus_reply.txt b/doc/modbus_reply.txt
-index 0b29d6f..6b71d11 100644
---- a/doc/modbus_reply.txt
-+++ b/doc/modbus_reply.txt
-@@ -3,7 +3,7 @@ modbus_reply(3)
-
- NAME
- ----
--modbus_reply - send a reponse to the received request
-+modbus_reply - send a response to the received request
-
-
- SYNOPSIS
-diff --git a/doc/modbus_reply_exception.txt b/doc/modbus_reply_exception.txt
-index 7e6324f..b2170be 100644
---- a/doc/modbus_reply_exception.txt
-+++ b/doc/modbus_reply_exception.txt
-@@ -3,7 +3,7 @@ modbus_reply_exception(3)
-
- NAME
- ----
--modbus_reply_exception - send an exception reponse
-+modbus_reply_exception - send an exception response
-
-
- SYNOPSIS
diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch b/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch
deleted file mode 100644
index 7fae34e7d3..0000000000
--- a/meta-oe/recipes-extended/libmodbus/libmodbus/f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d Mon Sep 17 00:00:00 2001
-From: i-ky <gl.ivanovsky@gmail.com>
-Date: Tue, 10 Jul 2018 15:58:45 +0300
-Subject: [PATCH] Fixed MODBUS_GET_* macros in case of negative values
-
-In case resulting value should be negative it is incorrect to use '+' operator to construct it from pieces, because highest bytes will result in negative number after bitwise shift while others will stay positive. Replacing addition with '|' should solve the issue.
----
- src/modbus.h | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/modbus.h b/src/modbus.h
-index f6e9a5f5..c63f5ceb 100644
---- a/src/modbus.h
-+++ b/src/modbus.h
-@@ -245,12 +245,12 @@ MODBUS_API int modbus_reply_exception(modbus_t *ctx, const uint8_t *req,
- #define MODBUS_GET_HIGH_BYTE(data) (((data) >> 8) & 0xFF)
- #define MODBUS_GET_LOW_BYTE(data) ((data) & 0xFF)
- #define MODBUS_GET_INT64_FROM_INT16(tab_int16, index) \
-- (((int64_t)tab_int16[(index) ] << 48) + \
-- ((int64_t)tab_int16[(index) + 1] << 32) + \
-- ((int64_t)tab_int16[(index) + 2] << 16) + \
-+ (((int64_t)tab_int16[(index) ] << 48) | \
-+ ((int64_t)tab_int16[(index) + 1] << 32) | \
-+ ((int64_t)tab_int16[(index) + 2] << 16) | \
- (int64_t)tab_int16[(index) + 3])
--#define MODBUS_GET_INT32_FROM_INT16(tab_int16, index) ((tab_int16[(index)] << 16) + tab_int16[(index) + 1])
--#define MODBUS_GET_INT16_FROM_INT8(tab_int8, index) ((tab_int8[(index)] << 8) + tab_int8[(index) + 1])
-+#define MODBUS_GET_INT32_FROM_INT16(tab_int16, index) ((tab_int16[(index)] << 16) | tab_int16[(index) + 1])
-+#define MODBUS_GET_INT16_FROM_INT8(tab_int8, index) ((tab_int8[(index)] << 8) | tab_int8[(index) + 1])
- #define MODBUS_SET_INT16_TO_INT8(tab_int8, index, value) \
- do { \
- tab_int8[(index)] = (value) >> 8; \
diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb b/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb
deleted file mode 100644
index b4d32fb2c7..0000000000
--- a/meta-oe/recipes-extended/libmodbus/libmodbus_3.0.6.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require libmodbus.inc
-
-SRC_URI[md5sum] = "c80f88b6ca19cabc4ceffc195ca07771"
-SRC_URI[sha256sum] = "046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6"
diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb b/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb
new file mode 100644
index 0000000000..9e17f91669
--- /dev/null
+++ b/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.10.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A Modbus library for Linux, Mac OS, FreeBSD and Windows"
+DESCRIPTION = "libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol. This library can use a serial port or an Ethernet connection."
+HOMEPAGE = "http://www.libmodbus.org/"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "git://github.com/stephane/libmodbus;branch=master;protocol=https"
+SRCREV = "2cbafa3113e276c3697d297f68e88d112b53174d"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[test] = "--enable-tests,--disable-tests,,"
diff --git a/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb b/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb
deleted file mode 100644
index 075487ae90..0000000000
--- a/meta-oe/recipes-extended/libmodbus/libmodbus_3.1.6.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require libmodbus.inc
-
-SRC_URI += "file://f1eb4bc7ccb09cd8d19ab641ee37637f8c34d16d.patch \
- file://Fix-float-endianness-issue-on-big-endian-arch.patch \
- file://Fix-typo.patch"
-SRC_URI[md5sum] = "15c84c1f7fb49502b3efaaa668cfd25e"
-SRC_URI[sha256sum] = "d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16"
-
-# this file has been created one minute after the configure file, so it doesn't get recreated during configure step
-do_configure_prepend() {
- rm -rf ${S}/tests/unit-test.h
-}
diff --git a/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb b/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb
deleted file mode 100644
index c9d259b1a0..0000000000
--- a/meta-oe/recipes-extended/libnss-nisplus/libnss-nisplus.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 2019 Ruslan Bilovol <rbilovol@cisco.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "NSS module for glibc, to provide NIS+ support for glibc"
-
-DESCRIPTION = "This package contains the NSS NIS+ plugin for glibc.\
-This code was formerly part of glibc, but is now standalone to\
-be able to link against TI-RPC for IPv6 support."
-
-HOMEPAGE = "https://github.com/thkukuk/libnss_nisplus"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-SECTION = "libs"
-DEPENDS += "libtirpc libnsl2"
-
-PV = "1.3+git${SRCPV}"
-
-SRCREV = "116219e215858f4af9370171d3ead63baca8fdb4"
-
-SRC_URI = "git://github.com/thkukuk/libnss_nisplus \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-BBCLASSEXTEND += "native nativesdk"
-#
-# We will skip parsing this packagegeoup for non-glibc systems
-#
-COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch b/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
new file mode 100644
index 0000000000..7eaca66b5c
--- /dev/null
+++ b/meta-oe/recipes-extended/libpwquality/files/0001-Use-setuptools-instead-of-distutils.patch
@@ -0,0 +1,78 @@
+From ad95b7684365dea8335c34527d4c1463c1668af0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Fri, 31 Mar 2023 14:52:19 +0200
+Subject: [PATCH] Use setuptools instead of distutils
+
+distutils is removed from Python 3.12+:
+https://peps.python.org/pep-0632/
+
+Upstream-Status: Backport [https://github.com/libpwquality/libpwquality/commit/7b5e0f0097faebdcc6a8b783237bbba7a983147a]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ libpwquality.spec.in | 11 ++---------
+ python/Makefile.am | 2 +-
+ python/setup.py.in | 6 +++---
+ 3 files changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/libpwquality.spec.in b/libpwquality.spec.in
+index 70a6f53..0809126 100644
+--- a/libpwquality.spec.in
++++ b/libpwquality.spec.in
+@@ -33,9 +33,11 @@ BuildRequires: gettext
+ BuildRequires: pam-devel
+ %if %{with python2}
+ BuildRequires: python2-devel
++BuildRequires: python2-setuptools
+ %endif
+ %if %{with python3}
+ BuildRequires: python3-devel
++BuildRequires: python3-setuptools
+ %endif
+
+ URL: https://github.com/libpwquality/libpwquality/
+@@ -103,15 +105,6 @@ cp -a . %{py3dir}
+ pushd %{py3dir}
+ %endif
+ %if %{with python3}
+-# setuptools >= 60 changes the environment to use its bundled copy of distutils
+-# by default, not the Python-bundled one. To run the Python's standard library
+-# distutils, the environment variable must be set.
+-# Although technically setuptools is not needed for this package, if it's
+-# pulled by another package, it changes the environment and consequently,
+-# the build fails. This was reported in:
+-# https://github.com/pypa/setuptools/issues/3143
+-export SETUPTOOLS_USE_DISTUTILS=stdlib
+-
+ %configure \
+ --with-securedir=%{_moduledir} \
+ --with-pythonsitedir=%{python3_sitearch} \
+diff --git a/python/Makefile.am b/python/Makefile.am
+index 1d00c0c..6e51744 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -14,7 +14,7 @@ all-local:
+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV)
+
+ install-exec-local:
+- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
++ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --root ${DESTDIR} --prefix=${prefix}
+
+ clean-local:
+ rm -rf py$(PYTHONREV)
+diff --git a/python/setup.py.in b/python/setup.py.in
+index a741b91..f934c50 100755
+--- a/python/setup.py.in
++++ b/python/setup.py.in
+@@ -6,9 +6,9 @@
+
+ import os
+
+-from distutils.core import setup, Extension
+-from distutils.command.build_ext import build_ext as _build_ext
+-from distutils.command.sdist import sdist as _sdist
++from setuptools import setup, Extension
++from setuptools.command.build_ext import build_ext as _build_ext
++from setuptools.command.sdist import sdist as _sdist
+
+ def genconstants(headerfile, outputfile):
+ hf = open(headerfile, 'r')
diff --git a/meta-oe/recipes-extended/libpwquality/files/0002-Makefile.am-respect-PYTHONSITEDIR.patch b/meta-oe/recipes-extended/libpwquality/files/0002-Makefile.am-respect-PYTHONSITEDIR.patch
new file mode 100644
index 0000000000..cd59a6d887
--- /dev/null
+++ b/meta-oe/recipes-extended/libpwquality/files/0002-Makefile.am-respect-PYTHONSITEDIR.patch
@@ -0,0 +1,26 @@
+From edc51ba1b446913232cdf2945f485392bca72dc7 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 3 Aug 2015 13:43:14 +0800
+Subject: [PATCH] Makefile.am: respect ${PYTHONSITEDIR}
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+Upstream-Status: Backport [https://github.com/libpwquality/libpwquality/commit/5192eab011ada47b0157f8d0524bf5b18bba3bd0]
+
+ python/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/python/Makefile.am b/python/Makefile.am
+index 6e51744..0a3bad5 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -14,7 +14,7 @@ all-local:
+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV)
+
+ install-exec-local:
+- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --root ${DESTDIR} --prefix=${prefix}
++ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --root ${DESTDIR} --prefix=${prefix} --install-lib=$(pythonsitedir)
+
+ clean-local:
+ rm -rf py$(PYTHONREV)
diff --git a/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch b/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
deleted file mode 100644
index ec8672107f..0000000000
--- a/meta-oe/recipes-extended/libpwquality/files/add-missing-python-include-dir-for-cross.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 1ea09e09ab2387c326bb7170835361ece6e25477 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 3 Aug 2015 13:43:14 +0800
-Subject: [PATCH] setup.py.in: add missing python include dir for cross
- compiling
-
-Upstream-Status: inappropriate [oe-core specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- python/Makefile.am | 2 +-
- python/setup.py.in | 3 ++-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/python/Makefile.am b/python/Makefile.am
-index 1d00c0c..52816b2 100644
---- a/python/Makefile.am
-+++ b/python/Makefile.am
-@@ -14,7 +14,7 @@ all-local:
- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV)
-
- install-exec-local:
-- CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
-+ CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix} --install-lib=${DESTDIR}/${PYTHONSITEDIR}
-
- clean-local:
- rm -rf py$(PYTHONREV)
-diff --git a/python/setup.py.in b/python/setup.py.in
-index a741b91..6759a95 100755
---- a/python/setup.py.in
-+++ b/python/setup.py.in
-@@ -33,7 +33,7 @@ class sdist(_sdist):
-
- pwqmodule = Extension('pwquality',
- sources = ['pwquality.c'],
-- include_dirs = ['../src'],
-+ include_dirs = ['../src', os.path.join(os.environ['STAGING_INCDIR'], os.environ['PYTHON_DIR'])],
- library_dirs = ['../src/.libs'],
- libraries = ['pwquality'])
-
---
-2.17.1
-
diff --git a/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.4.bb b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.4.bb
deleted file mode 100644
index ee75a9847c..0000000000
--- a/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.4.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Library for password quality checking and generating random passwords"
-HOMEPAGE = "https://github.com/libpwquality/libpwquality"
-SECTION = "devel/lib"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2"
-
-SRCNAME = "libpwquality"
-SRC_URI = "https://github.com/${SRCNAME}/${SRCNAME}/releases/download/${SRCNAME}-${PV}/${SRCNAME}-${PV}.tar.bz2 \
- file://add-missing-python-include-dir-for-cross.patch \
-"
-
-SRC_URI[md5sum] = "1fe43f6641dbf1e1766e2a02cf68a9c3"
-SRC_URI[sha256sum] = "d43baf23dc6887fe8f8e9b75cabaabc5f4bbbaa0f9eff44278d276141752a545"
-
-UPSTREAM_CHECK_URI = "https://github.com/libpwquality/libpwquality/releases"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-DEPENDS = "cracklib virtual/gettext"
-
-inherit autotools distutils3-base gettext
-
-B = "${S}"
-
-export PYTHON_DIR
-export BUILD_SYS
-export HOST_SYS
-
-EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \
- --with-python-binary=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \
- --with-pythonsitedir=${PYTHON_SITEPACKAGES_DIR} \
- --libdir=${libdir} \
-"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
-PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam"
-
-FILES_${PN} += "${libdir}/security/pam_pwquality.so"
-FILES_${PN}-dbg += "${libdir}/security/.debug"
-FILES_${PN}-staticdev += "${libdir}/security/pam_pwquality.a"
-FILES_${PN}-dev += "${libdir}/security/pam_pwquality.la"
diff --git a/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.5.bb b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.5.bb
new file mode 100644
index 0000000000..f08fea7de3
--- /dev/null
+++ b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.5.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Library for password quality checking and generating random passwords"
+HOMEPAGE = "https://github.com/libpwquality/libpwquality"
+SECTION = "devel/lib"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bd2f1386df813a459a0c34fde676fc2"
+
+DEPENDS = "cracklib python3-setuptools-native"
+
+SRC_URI = "git://github.com/libpwquality/libpwquality;branch=master;protocol=https \
+ file://0001-Use-setuptools-instead-of-distutils.patch \
+ file://0002-Makefile.am-respect-PYTHONSITEDIR.patch \
+"
+SRCREV = "5490e96a3dd6ed7371435ca5b3ccef98bdb48b5a"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep gettext setuptools3-base
+
+do_configure:prepend() {
+ cp ${STAGING_DATADIR_NATIVE}/gettext/ABOUT-NLS ${AUTOTOOLS_AUXDIR}/
+}
+
+export PYTHON_DIR
+export BUILD_SYS
+export HOST_SYS
+
+EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \
+ --with-python-binary=${STAGING_BINDIR_NATIVE}/python3-native/python3 \
+ --with-pythonsitedir=${PYTHON_SITEPACKAGES_DIR} \
+ --libdir=${libdir} \
+ --with-securedir=${base_libdir}/security \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
+PACKAGECONFIG[pam] = "--enable-pam,--disable-pam,libpam"
+
+FILES:${PN} += "${base_libdir}/security/pam_pwquality.so"
+FILES:${PN}-dbg += "${base_libdir}/security/.debug"
+FILES:${PN}-staticdev += "${base_libdir}/security/pam_pwquality.a"
+FILES:${PN}-dev += "${base_libdir}/security/pam_pwquality.la"
diff --git a/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch b/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch
deleted file mode 100644
index c82f3bf017..0000000000
--- a/meta-oe/recipes-extended/libqb/libqb/0001-build-fix-configure-script-neglecting-re-enable-out-.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 73d2aea33e32272bac693550e8a3b0e3ad89707f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
-Date: Tue, 26 Dec 2017 00:02:26 +0100
-Subject: [PATCH] build: fix configure script neglecting, re-enable out-of-tree
- builds
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-For the former, a prototype and the final code got (hm, mysteriously)
-intertwisted. For the latter, I am clearly guilty of (rare, anyway)
-testing of the out-of-tree builds only with libqb-already-system-wide
-scenario, which is rather shortsighted.
-
-Thanks Fabio and his ci.kronosnet.org project for spotting that.
-
-X-mas-present-for: Fabio M. Di Nitto <fdinitto@redhat.com>
-Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
----
-Upstream-Status: Backport
-
- configure.ac | 2 +-
- lib/Makefile.am | 4 +++-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9900310..f9761cc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -710,7 +710,7 @@ if test "x${GCC}" = xyes; then
- | grep __stop___verbose | cut -d" " -f 3)
- test "${verbose_start_addr}" = "${verbose_stop_addr}" \
- && gcc_has_attribute_section_visible=no \
-- || { verbose_start_type=$(${READELF} -s backup \
-+ || { verbose_start_type=$(${READELF} -s "conftest${shrext_cmds}" \
- | sed -n '/__start___verbose/{s/^\s*//p;q}' \
- | tr -s ' ' \
- | cut -d" " -f6)
-diff --git a/lib/Makefile.am b/lib/Makefile.am
-index 6ca6b15..b035f0b 100644
---- a/lib/Makefile.am
-+++ b/lib/Makefile.am
-@@ -101,7 +101,9 @@ endif
- endif
-
- qblog_script.ld: %.ld: %.ld.in
-- $(AM_V_GEN)$(CPP) -xc -I$(top_srcdir)/include -D_GNU_SOURCE -C -P $< \
-+ $(AM_V_GEN)$(CPP) -C -D_GNU_SOURCE -P \
-+ -I$(top_srcdir)/include -I$(top_builddir)/include \
-+ -xc $< \
- | sed -n "/$$(sed -n '/^[^#]/{s/[*\/]/\\&/g;p;q;}' $<)/,$$ p" \
- > $@
-
---
-2.16.2
-
diff --git a/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb b/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb
deleted file mode 100644
index cd4019666d..0000000000
--- a/meta-oe/recipes-extended/libqb/libqb_1.0.5.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "An IPC library for high performance servers"
-DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
-It provides high performance logging, tracing, ipc, and poll."
-
-HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
-SECTION = "libs"
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
-
-inherit autotools pkgconfig
-
-# v1.0.5
-SRCREV = "d08dbcf08b0da418bce9b5427dfd89522916322a"
-SRC_URI = "git://github.com/ClusterLabs/${BPN}.git;branch=version_1 \
- file://0001-build-fix-configure-script-neglecting-re-enable-out-.patch \
- "
-S = "${WORKDIR}/git"
-
-# otherwise do_configure fails
-# configure:21609: checking whether linker workaround for orphan sections usable
-# configure:21639: i586-oe-linux-gcc -m32 -march=i586 --sysroot=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot -o conftest -O -fno-omit-frame-pointer -g -feliminate-unused-debug-types -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0=/usr/src/debug/libqb/1.0.3+gitAUTOINC+c235284b5f-r0 -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot= -fdebug-prefix-map=WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native= -pipe -pthread -D_REENTRANT -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,conftest.ld conftest.c >&5
-# WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: error: conftest.ld: SECTIONS seen after other input files; try -T/--script
-# WORKDIR/libqb/1.0.3+gitAUTOINC+c235284b5f-r0/recipe-sysroot-native/usr/bin/i586-oe-linux/../../libexec/i586-oe-linux/gcc/i586-oe-linux/8.1.0/ld: internal error in write_sections, at ../../gold/reloc.cc:791
-# collect2: error: ld returned 1 exit status
-NOSECTION_FALLBACK = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '--enable-nosection-fallback', '', d)}"
-NOSECTION_FALLBACK_toolchain-clang_mips64 = "--enable-nosection-fallback"
-
-EXTRA_OECONF += "${NOSECTION_FALLBACK}"
-
-CFLAGS += "-pthread -D_REENTRANT"
-
-do_configure_prepend() {
- ( cd ${S}
- ${S}/autogen.sh )
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/libqb/libqb_2.0.8.bb b/meta-oe/recipes-extended/libqb/libqb_2.0.8.bb
new file mode 100644
index 0000000000..3db9e2e66f
--- /dev/null
+++ b/meta-oe/recipes-extended/libqb/libqb_2.0.8.bb
@@ -0,0 +1,26 @@
+SUMMARY = "An IPC library for high performance servers"
+DESCRIPTION = "libqb is a library with the primary purpose of providing high performance client server reusable features. \
+It provides high performance logging, tracing, ipc, and poll."
+
+HOMEPAGE = "https://github.com/clusterlabs/libqb/wiki"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=321bf41f280cf805086dd5a720b37785"
+
+inherit autotools pkgconfig
+
+SRCREV = "002171bbcf4bc4728da56c1538afd9e9d814ecaf"
+SRC_URI = "git://github.com/ClusterLabs/${BPN}.git;branch=main;protocol=https \
+ "
+S = "${WORKDIR}/git"
+
+DEPENDS += "libxml2"
+
+CFLAGS += "-pthread -D_REENTRANT"
+
+do_configure:prepend() {
+ ( cd ${S}
+ ${S}/autogen.sh )
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch b/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch
index 97fb097fef..934dd1778a 100644
--- a/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch
+++ b/meta-oe/recipes-extended/libreport/files/0001-Makefile.am-remove-doc-and-apidoc.patch
@@ -1,28 +1,32 @@
-From 1f7d106c7d982fe055addc8d883b161202233175 Mon Sep 17 00:00:00 2001
+From 73dc0c2cd942e30f5f7cb40cb5828895b96f0fb1 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 26 Apr 2017 03:47:58 -0400
-Subject: [PATCH 1/4] Makefile.am: remove doc and apidoc
+Subject: [PATCH] Makefile.am: remove doc and apidoc
There was a failure at do_install time, so remove doc to workaround.
-Upstream-Status: Inappropriate workaround
+Upstream-Status: Inappropriate [workaround]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Context modified to apply to v2.17.8.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
-index 9ad827c..34364a8 100644
+index 4ff2f5c5..d4e30bc2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
ACLOCAL_AMFLAGS = -I m4
--SUBDIRS = po src tests doc apidoc
-+SUBDIRS = po src tests
+-SUBDIRS = data po src tests doc apidoc
++SUBDIRS = data po src tests
EXTRA_DIST = \
libreport.pc.in \
--
-2.7.4
+2.25.1
diff --git a/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch b/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch
index 7f5895ea12..4fdf69c73a 100644
--- a/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch
+++ b/meta-oe/recipes-extended/libreport/files/0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch
@@ -1,24 +1,28 @@
-From 9beadcdfca9198548f06bf18f3f26e1d11542e53 Mon Sep 17 00:00:00 2001
+From 276c45d0663124c9ccab0ddc8b97fb5cdc8b3867 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 31 Jul 2018 16:53:04 +0800
-Subject: [PATCH 2/4] configure.ac: remove prog test of xmlto and asciidoc
+Subject: [PATCH] configure.ac: remove prog test of xmlto and asciidoc
The prog of xmlto and asciidoc were used to generate documents,
and since the doc module has already been disabled, so we should
remove the prog test.
-Upstream-Status: Inappropriate workaround
+Upstream-Status: Inappropriate [workaround]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Modify to apply to v 2.17.8.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
configure.ac | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/configure.ac b/configure.ac
-index feafc28..aceccf4 100644
+index da8cf898..17ece200 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -56,24 +56,6 @@ IT_PROG_INTLTOOL([0.35.0])
+@@ -57,24 +57,6 @@ IT_PROG_INTLTOOL([0.35.0])
dnl ****** END ****************************************
@@ -42,7 +46,7 @@ index feafc28..aceccf4 100644
-
AC_ARG_WITH(bugzilla,
AS_HELP_STRING([--with-bugzilla],[use Bugzilla plugin (default is YES)]),
- LIBREPORT_PARSE_WITH([bugzilla]))
+ LIBREPORT_PARSE_WITH([bugzilla]),
--
-2.7.4
+2.25.1
diff --git a/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch b/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch
index 2ff1731be6..f6ff860408 100644
--- a/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch
+++ b/meta-oe/recipes-extended/libreport/files/0003-without-build-plugins.patch
@@ -1,26 +1,30 @@
-From 41bce1de2fd2a0f79c266f245ae3e3720ccaf46a Mon Sep 17 00:00:00 2001
+From f46610901dbac56d9631df012374c600db08453e Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Wed, 26 Apr 2017 03:51:03 -0400
-Subject: [PATCH 3/4] without build plugins
+Subject: [PATCH] without build plugins
-Upstream-Status: Inappropriate workaround
+Upstream-Status: Inappropriate [workaround]
Rebase to 2.9.1
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Modify to apply to v2.17.8.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
src/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile.am b/src/Makefile.am
-index c15928c..bac02b1 100644
+index 410bfcb0..bac02b16 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -8,4 +8,4 @@ if BUILD_NEWT
sub_dirs += report-newt
endif
--SUBDIRS = include lib plugins report-python cli client-python workflows $(sub_dirs)
+-SUBDIRS = include lib report-python cli client-python plugins workflows $(sub_dirs)
+SUBDIRS = include lib report-python cli client-python workflows $(sub_dirs)
--
-2.7.4
+2.25.1
diff --git a/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch b/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch
index 4ba69c793d..998ae6b50e 100644
--- a/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch
+++ b/meta-oe/recipes-extended/libreport/files/0004-configure.ac-remove-prog-test-of-augparse.patch
@@ -1,25 +1,29 @@
-From c1c301502a8f69b9889197744b301a136082f09d Mon Sep 17 00:00:00 2001
+From 62c922f43b54585d25ba89be36c10612b479270b Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Thu, 27 Apr 2017 02:15:02 -0400
-Subject: [PATCH 4/4] configure.ac: remove prog test of augparse
+Subject: [PATCH] configure.ac: remove prog test of augparse
The build time does not require it.
-Upstream-Status: Inappropriate workaround
+Upstream-Status: Inappropriate [workaround]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Modify to apply to v2.17.8.
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
- configure.ac | 8 --------
- 1 file changed, 8 deletions(-)
+ configure.ac | 9 ---------
+ 1 file changed, 9 deletions(-)
diff --git a/configure.ac b/configure.ac
-index aceccf4..83c101b 100644
+index 17ece200..89b463a4 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -350,14 +350,6 @@ AC_ARG_WITH(augeaslenslibdir,
- [Directory for librepor lens (default: /usr/share/augeas/lenses)])],
- [], [with_augeaslenslibdir="/usr/share/augeas/lenses"])
- AC_SUBST([AUGEAS_LENS_LIB_DIR], [$with_augeaslenslibdir])
+@@ -287,15 +287,6 @@ AC_ARG_WITH(largedatatmpdir,
+ [], [with_largedatatmpdir="/var/tmp"])
+ AC_SUBST([LARGE_DATA_TMP_DIR], [$with_largedatatmpdir])
+
-AC_PATH_PROG(AUGPARSE, augparse, no)
-[if test "$AUGPARSE" = "no"]
-[then]
@@ -28,9 +32,10 @@ index aceccf4..83c101b 100644
- [echo "Then run configure again before attempting to build libreport."]
- [exit 1]
-[fi]
-
+-
AC_ARG_WITH([defaultdumpdirmode],
AS_HELP_STRING([--with-defaultdumpdirmode=OCTAL-MODE],
+ [Default dump dir mode (default: 0x1A0 (0640))]),
--
-2.7.4
+2.25.1
diff --git a/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb b/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb
deleted file mode 100644
index 4276c49173..0000000000
--- a/meta-oe/recipes-extended/libreport/libreport_2.10.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-DESCRIPTION = "Libraries providing API for reporting different problems in applications \
-to different bug targets like Bugzilla, ftp, trac, etc..."
-SUMMARY = "Generic library for reporting various problems"
-HOMEPAGE = "https://abrt.readthedocs.org/"
-LICENSE = "GPLv2+"
-DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
- json-c libtar libnewt libproxy rpm \
- augeas satyr systemd \
-"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-
-SRC_URI = "git://github.com/abrt/libreport.git;protocol=https"
-SRC_URI += "file://0001-Makefile.am-remove-doc-and-apidoc.patch \
- file://0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch \
- file://0003-without-build-plugins.patch \
- file://0004-configure.ac-remove-prog-test-of-augparse.patch \
-"
-SRCREV = "eaff08f38d771d9362923765bb404b1514c5ca0a"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "systemd"
-
-inherit gettext autotools python3native pkgconfig
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','gtk','',d)}"
-PACKAGECONFIG[gtk] = "--with-gtk, --without-gtk, gtk+3,"
-
-EXTRA_OECONF += "--without-python2 --with-python3"
-
-RDEPENDS_python3-libreport += "${PN}"
-
-do_patch[prefuncs] += "do_gen_version"
-do_gen_version() {
- cd ${S}
- ./gen-version
-}
-
-PACKAGES += "python3-libreport"
-
-FILES_${PN} += "${datadir}/*"
-FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug"
-FILES_python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*"
-
diff --git a/meta-oe/recipes-extended/libreport/libreport_2.17.15.bb b/meta-oe/recipes-extended/libreport/libreport_2.17.15.bb
new file mode 100644
index 0000000000..28c64a1614
--- /dev/null
+++ b/meta-oe/recipes-extended/libreport/libreport_2.17.15.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "Libraries providing API for reporting different problems in applications \
+to different bug targets like Bugzilla, ftp, trac, etc..."
+SUMMARY = "Generic library for reporting various problems"
+HOMEPAGE = "https://abrt.readthedocs.org/"
+LICENSE = "GPL-2.0-or-later"
+DEPENDS = "xmlrpc-c xmlrpc-c-native intltool-native \
+ json-c libarchive libtar libnewt libproxy rpm \
+ augeas satyr systemd \
+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "git://github.com/abrt/libreport.git;protocol=https;branch=master"
+SRC_URI += "file://0001-Makefile.am-remove-doc-and-apidoc.patch \
+ file://0002-configure.ac-remove-prog-test-of-xmlto-and-asciidoc.patch \
+ file://0003-without-build-plugins.patch \
+ file://0004-configure.ac-remove-prog-test-of-augparse.patch \
+"
+
+SRCREV = "f6bb06a699617d078fcd4f8b71b4d063bf47b52b"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+inherit gettext autotools python3native python3targetconfig pkgconfig
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','x11','gtk','',d)}"
+PACKAGECONFIG[gtk] = "--with-gtk, --without-gtk, gtk+3,"
+
+EXTRA_OECONF += "--with-python3"
+
+RDEPENDS:python3-libreport += "${PN}"
+
+do_patch[prefuncs] += "do_gen_version"
+do_gen_version() {
+ cd ${S}
+ ./gen-version
+}
+
+PACKAGES += "python3-libreport"
+
+FILES:${PN} += "${datadir}/*"
+FILES:${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug"
+FILES:python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*"
+
diff --git a/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb b/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb
index 192d4bce6f..4190338c1f 100644
--- a/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb
+++ b/meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "libserialport is a minimal, cross-platform shared library written in C that is intended to take care of the OS-specific details when writing software that uses serial ports."
HOMEPAGE = "https://sigrok.org/wiki/Libserialport"
-LICENSE = "LGPL-3.0+"
+LICENSE = "LGPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
inherit autotools
diff --git a/meta-oe/recipes-extended/libstatgrab/libstatgrab/0001-configure.ac-Do-not-use-single-line-comment.patch b/meta-oe/recipes-extended/libstatgrab/libstatgrab/0001-configure.ac-Do-not-use-single-line-comment.patch
deleted file mode 100644
index 46493bb9e7..0000000000
--- a/meta-oe/recipes-extended/libstatgrab/libstatgrab/0001-configure.ac-Do-not-use-single-line-comment.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a8502c5a7e336f1e5068f9dd3bdb359d787f9bdc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 5 Feb 2021 18:35:12 -0800
-Subject: [PATCH] configure.ac: Do not use single line comment
-
-autoconf 2.70+ does not like it and regenerating configure script fails
-
-| ../libstatgrab-0.92/configure: line 7818: syntax error near unexpected token `ac_fn_check_decl'
-| ../libstatgrab-0.92/configure: line 7818: `fi ac_fn_check_decl "$LINENO" "__sun" "ac_cv_have_decl___sun" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"'
-
-Upstream-Status: Submitted [https://github.com/libstatgrab/libstatgrab/pull/128]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 99518f8..74e7f0f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,8 @@ AC_TYPE_UNSIGNED_LONG_LONG_INT
-
- dnl Check for extra flags to enable some kind of behavior
- AC_CHECK_DECL([_AIX],[ac_cv_need_minus_d_linux_source_compat="yes"; ac_cv_need_minus_d_all_source="yes"])
--AC_CHECK_DECL([__linux],[ac_cv_need_minus_d_gnu_source="yes"]) dnl probably required by kfreebsd, too?
-+dnl probably required by kfreebsd, too?
-+AC_CHECK_DECL([__linux],[ac_cv_need_minus_d_gnu_source="yes"])
- AC_CHECK_DECL([__sun],[ac_cv_need_minus_d_extensions="yes"; ac_cv_need_minus_d_posix_pthread_semantics="yes"])
- AC_CHECK_DECL([__hpux],[ac_cv_need_minus_d_hpux_source="yes"])
-
---
-2.30.0
-
diff --git a/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.1.bb b/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.1.bb
new file mode 100644
index 0000000000..7498a57049
--- /dev/null
+++ b/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.1.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Utilities to collect and visualise system statistics"
+HOMEPAGE = "http://www.i-scream.org/libstatgrab/"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "ncurses"
+
+PACKAGES:prepend = "statgrab statgrab-dbg saidar saidar-dbg ${PN}-mrtg "
+
+# don't use the git tag unless docbooc2x is available to build the manpages
+SRC_URI = "https://github.com/libstatgrab/libstatgrab/releases/download/LIBSTATGRAB_0_92_1/libstatgrab-${PV}.tar.gz \
+ "
+SRC_URI[sha256sum] = "5688aa4a685547d7174a8a373ea9d8ee927e766e3cc302bdee34523c2c5d6c11"
+
+UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
+
+# Perl5 is for tests only
+EXTRA_OECONF = "--without-perl5 --with-mnttab=/proc/mounts"
+
+# use with caution - default properties are configured to trace
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[log4cplus] = "--with-log4cplus,--without-log4cplus,log4cplus"
+PACKAGECONFIG[logging] = "--enable-logging,--disable-logging,"
+
+inherit autotools pkgconfig
+
+FILES:statgrab = "${bindir}/statgrab"
+FILES:statgrab-dbg = "${bindir}/.debug/statgrab"
+FILES:saidar = "${bindir}/saidar"
+FILES:saidar-dbg = "${bindir}/.debug/saidar"
+FILES:${PN}-mrtg = "${bindir}/statgrab-make-mrtg-config ${bindir}/statgrab-make-mrtg-index"
+RDEPENDS:${PN}-mrtg:append = " perl statgrab"
diff --git a/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb b/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
deleted file mode 100644
index a47d3bf000..0000000000
--- a/meta-oe/recipes-extended/libstatgrab/libstatgrab_0.92.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "Utilities to collect and visualise system statistics"
-HOMEPAGE = "http://www.i-scream.org/libstatgrab/"
-
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "ncurses"
-
-PACKAGES_prepend = "statgrab statgrab-dbg saidar saidar-dbg ${PN}-mrtg "
-
-# don't use the git tag unless docbooc2x is available to build the manpages
-SRC_URI = "https://github.com/libstatgrab/libstatgrab/releases/download/LIBSTATGRAB_0_92/libstatgrab-0.92.tar.gz \
- file://0001-configure.ac-Do-not-use-single-line-comment.patch \
- "
-SRC_URI[md5sum] = "5362b2ddbec54b3901e7d70c22cda249"
-SRC_URI[sha256sum] = "5bf1906aff9ffc3eeacf32567270f4d819055d8386d98b9c8c05519012d5a196"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-
-# Perl5 is for tests only
-EXTRA_OECONF = "--without-perl5 --with-mnttab=/proc/mounts"
-
-# use with caution - default properties are configured to trace
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[log4cplus] = "--with-log4cplus,--without-log4cplus,log4cplus"
-PACKAGECONFIG[logging] = "--enable-logging,--disable-logging,"
-
-inherit autotools pkgconfig
-
-FILES_statgrab = "${bindir}/statgrab"
-FILES_statgrab-dbg = "${bindir}/.debug/statgrab"
-FILES_saidar = "${bindir}/saidar"
-FILES_saidar-dbg = "${bindir}/.debug/saidar"
-FILES_${PN}-mrtg = "${bindir}/statgrab-make-mrtg-config ${bindir}/statgrab-make-mrtg-index"
-RDEPENDS_${PN}-mrtg_append = " perl statgrab"
diff --git a/meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch b/meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch
deleted file mode 100644
index 3cae5c9928..0000000000
--- a/meta-oe/recipes-extended/libuio/libuio/0001-include-fcntl.h-for-O_RDWR-define.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From d39c78d322585a32f9a55c67c25a99602ce08b12 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 1 Apr 2017 09:01:33 -0700
-Subject: [PATCH] include fcntl.h for O_RDWR define
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- tools/lsuio.c | 1 +
- tools/rwuio.c | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/tools/lsuio.c b/tools/lsuio.c
-index 58eb922..4769446 100644
---- a/tools/lsuio.c
-+++ b/tools/lsuio.c
-@@ -19,6 +19,7 @@
- #include <stdio.h>
- #include <sys/types.h>
- #include <getopt.h>
-+#include <fcntl.h>
-
- #include "system.h"
- #include "uio_helper.h"
-diff --git a/tools/rwuio.c b/tools/rwuio.c
-index aef9e90..ebc71e1 100644
---- a/tools/rwuio.c
-+++ b/tools/rwuio.c
-@@ -20,6 +20,7 @@
- */
- #include <stdio.h>
- #include <stdlib.h>
-+#include <fcntl.h>
- #include <sys/types.h>
- #include <getopt.h>
-
---
-2.12.1
-
diff --git a/meta-oe/recipes-extended/libuio/libuio/replace_inline_with_static-inline.patch b/meta-oe/recipes-extended/libuio/libuio/replace_inline_with_static-inline.patch
deleted file mode 100644
index fd314bfee5..0000000000
--- a/meta-oe/recipes-extended/libuio/libuio/replace_inline_with_static-inline.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-By default, gcc-5 uses C99 inline semantics, this semantics doesn't
-generate externally visible function for inline functions. This results in
-below error, when an another translation unit (TU) tries to link with the
-inline function,
-
--- snip --
-| lsuio.o: In function `main':
-| <...>/libuio/0.2.1-r0/git/tools/lsuio.c:85: undefined reference to `uio_mmap'
-| collect2: error: ld returned 1 exit status
-| make[2]: *** [lsuio] Error 1
--- CUT --
-
-To solve this error and make libuio to compile with both 4.x and 5.x,
-
-1. We can remove 'uio_mmap' inline function definition in uio_mmap.c, and move
- that definition into uio_helper.h file (which is included by lsuio.c) and
- replace inline with "static inline". Similarly it can be done to other
- uio_single_munmap and uio_munmap inline functions
-
-2. Add 'extern' keyword in front of inline functions declaration, to make
- inlined function as externally visible function, and to link with other TUs.
-
-Going with option 1.
-
-Upstream-Status: Pending
-
-Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
-
---- git_org/src/uio_helper.h 2015-10-20 02:37:04.183075855 -0400
-+++ git/src/uio_helper.h 2015-10-20 03:34:24.659970136 -0400
-@@ -61,11 +61,11 @@ struct uio_info_t {
-
- /* function prototypes */
-
--inline char* uio_lib_name(void);
--inline char* uio_lib_version(void);
--inline int uio_lib_ifcurrent(void);
--inline int uio_lib_ifrevision(void);
--inline int uio_lib_ifage(void);
-+static inline char* uio_lib_name(void);
-+static inline char* uio_lib_version(void);
-+static inline int uio_lib_ifcurrent(void);
-+static inline int uio_lib_ifrevision(void);
-+static inline int uio_lib_ifage(void);
-
- int uio_get_mem_size(struct uio_info_t* info, int map_num);
- int uio_get_mem_addr(struct uio_info_t* info, int map_num);
-@@ -76,10 +76,30 @@ int uio_get_all_info(struct uio_info_t*
- int uio_get_device_attributes(struct uio_info_t* info);
-
- void* uio_single_mmap(struct uio_info_t* info, int map_num, int fd);
--inline void uio_mmap(struct uio_info_t* info, int fd);
-
--inline void uio_single_munmap(struct uio_info_t* info, int map_num);
--inline void uio_munmap(struct uio_info_t* info);
-+static inline void uio_mmap(struct uio_info_t* info, int fd);
-+static inline void uio_mmap(struct uio_info_t* info, int fd)
-+{
-+ int map_num;
-+ if (!fd) return;
-+ for (map_num= 0; map_num < MAX_UIO_MAPS; map_num++)
-+ uio_single_mmap(info, map_num, fd);
-+}
-+
-+static inline void uio_single_munmap(struct uio_info_t* info, int map_num);
-+static inline void uio_single_munmap(struct uio_info_t* info, int map_num)
-+{
-+ munmap(info->maps[map_num].internal_addr, info->maps[map_num].size);
-+ info->maps[map_num].mmap_result = UIO_MMAP_NOT_DONE;
-+}
-+
-+static inline void uio_munmap(struct uio_info_t* info);
-+static inline void uio_munmap(struct uio_info_t* info)
-+{
-+ int i;
-+ for (i = 0; i < MAX_UIO_MAPS; i++)
-+ uio_single_munmap(info, i);
-+}
-
- void uio_free_dev_attrs(struct uio_info_t* info);
- void uio_free_info(struct uio_info_t* info);
---- git_org/src/uio_mmap.c 2015-10-20 02:37:04.183075855 -0400
-+++ git/src/uio_mmap.c 2015-10-20 03:34:45.060003208 -0400
-@@ -22,11 +22,3 @@
- #include <stdlib.h>
-
- #include "uio_helper.h"
--
--inline void uio_mmap(struct uio_info_t* info, int fd)
--{
-- int map_num;
-- if (!fd) return;
-- for (map_num= 0; map_num < MAX_UIO_MAPS; map_num++)
-- uio_single_mmap(info, map_num, fd);
--}
---- git_org/src/uio_munmap.c 2015-10-20 02:37:04.183075855 -0400
-+++ git/src/uio_munmap.c 2015-10-20 03:34:59.636026835 -0400
-@@ -22,10 +22,3 @@
- #include <stdlib.h>
-
- #include "uio_helper.h"
--
--inline void uio_munmap(struct uio_info_t* info)
--{
-- int i;
-- for (i = 0; i < MAX_UIO_MAPS; i++)
-- uio_single_munmap(info, i);
--}
-\ No newline at end of file
---- git_org/src/uio_single_munmap.c 2015-10-20 02:37:04.183075855 -0400
-+++ git/src/uio_single_munmap.c 2015-10-20 03:52:55.005763023 -0400
-@@ -24,9 +24,3 @@
- #include <sys/mman.h>
-
- #include "uio_helper.h"
--
--inline void uio_single_munmap(struct uio_info_t* info, int map_num)
--{
-- munmap(info->maps[map_num].internal_addr, info->maps[map_num].size);
-- info->maps[map_num].mmap_result = UIO_MMAP_NOT_DONE;
--}
diff --git a/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb b/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
index dd34c180a3..6e6c8cc226 100644
--- a/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
+++ b/meta-oe/recipes-extended/libuio/libuio_0.2.1.bb
@@ -1,22 +1,19 @@
SUMMARY = "Libuio - helper library for UIO subsystem"
SECTION = "base"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-SRC_URI = "git://git.code.sf.net/p/libuio/code \
- file://replace_inline_with_static-inline.patch \
- file://0001-include-fcntl.h-for-O_RDWR-define.patch \
- "
+SRCREV = "17d96e8f9a5bce7cee5e2222855ab46a246dba51"
-inherit autotools
+SRC_URI = "git://git.code.sf.net/p/libuio/code;branch=master;protocol=https"
-SRCREV = "ed4f07ea147ac403c28105ab44d01bbf524d36f9"
+PV .= "+0.2.2+git"
-PV .= "+git${SRCPV}"
+inherit autotools
S = "${WORKDIR}/git"
PACKAGES += "${PN}-tools"
-FILES_${PN} = "${libdir}"
-FILES_${PN}-tools = "${bindir}"
+FILES:${PN} = "${libdir}"
+FILES:${PN}-tools = "${bindir}"
diff --git a/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch b/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch
index 0f133e2e75..21a6f292c8 100644
--- a/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch
+++ b/meta-oe/recipes-extended/libwmf/libwmf/0001-configure-use-pkg-config-for-freetype.patch
@@ -3,7 +3,7 @@ From: Koen Kooi <koen@dominion.thruhere.net>
Date: Wed, 6 Aug 2014 14:53:03 +0200
Subject: [PATCH] configure: use pkg-config for freetype
-Upstream-status: Pending
+Upstream-Status: Pending
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
configure.ac | 37 ++++++++-----------------------------
diff --git a/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch b/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch
index 50d915c010..4e7cd8887a 100644
--- a/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch
+++ b/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-intoverflow.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
http://cvs.fedoraproject.org/viewvc/devel/libwmf/libwmf-0.2.8.4-intoverflow.patch?view=log
CVE-2006-3376 libwmf integer overflow
diff --git a/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch b/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch
index 4d2d285641..9a8cbcb508 100644
--- a/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch
+++ b/meta-oe/recipes-extended/libwmf/libwmf/libwmf-0.2.8.4-useafterfree.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
http://cvs.fedoraproject.org/viewvc/devel/libwmf/libwmf-0.2.8.4-useafterfree.patch?view=log
Resolves: CVE-2009-1364
diff --git a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
index 401c2c4dab..93b58057ce 100644
--- a/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
+++ b/meta-oe/recipes-extended/libwmf/libwmf_0.2.8.4.bb
@@ -2,12 +2,11 @@ SUMMARY = "Library for converting WMF files"
HOMEPAGE = "http://wvware.sourceforge.net/libwmf.html"
SECTION = "libs"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r3"
-DEPENDS_class-native = "freetype-native libpng-native jpeg-native"
+DEPENDS:class-native = "freetype-native libpng-native jpeg-native"
DEPENDS = "freetype libpng jpeg expat gtk+"
BBCLASSEXTEND = "native"
@@ -25,8 +24,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/wvware/${BPN}/${PV}/${BPN}-${PV}.tar.gz;name=ta
SRC_URI[tarball.md5sum] = "d1177739bf1ceb07f57421f0cee191e0"
SRC_URI[tarball.sha256sum] = "5b345c69220545d003ad52bfd035d5d6f4f075e65204114a9e875e84895a7cf8"
-FILES_${PN}-dbg += "${libdir}/gtk-2.0/2.10.0/loaders/.debug"
-FILES_${PN}-dev += "${libdir}/gtk-2.0/2.10.0/loaders/*.la"
-FILES_${PN}-staticdev += "${libdir}/gtk-2.0/2.10.0/loaders/*.a"
-FILES_${PN} += "${libdir}/gtk-2.0/2.10.0/loaders/*.so"
+FILES:${PN}-dbg += "${libdir}/gtk-2.0/2.10.0/loaders/.debug"
+FILES:${PN}-dev += "${libdir}/gtk-2.0/2.10.0/loaders/*.la"
+FILES:${PN}-staticdev += "${libdir}/gtk-2.0/2.10.0/loaders/*.a"
+FILES:${PN} += "${libdir}/gtk-2.0/2.10.0/loaders/*.so"
diff --git a/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-Define-CARD32-as-uint-as-it-is-32-bit.patch b/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-Define-CARD32-as-uint-as-it-is-32-bit.patch
new file mode 100644
index 0000000000..aef521bc5d
--- /dev/null
+++ b/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-Define-CARD32-as-uint-as-it-is-32-bit.patch
@@ -0,0 +1,42 @@
+From 592c915df252932961a4151c891da58c48a8db90 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 2 Mar 2023 18:47:40 -0800
+Subject: [PATCH] Define CARD32 as uint as it is 32-bit
+
+long can be 64bit on LP64 systems and none of systems we support need int < 32-bits
+therefore use NUM32 to be int always if the system is linux
+
+Fixes build with clang-16
+thunk.c:147:3: error: incompatible function pointer types initializing 'x86emuu32 (*)(X86EMU_pioAddr)' (aka 'unsigned int (*)(unsigned short)') with an expression of type 'unsigned long (*)(unsigned short)' [-Wincompatible-function-pointer-types]
+ (&x_inl),
+ ^~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ x86emu/include/xf86int10.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/x86emu/include/xf86int10.h
++++ b/x86emu/include/xf86int10.h
+@@ -18,7 +18,7 @@
+
+ #define CARD8 unsigned char
+ #define CARD16 unsigned short
+-#define CARD32 unsigned long
++#define CARD32 unsigned int
+ #define pointer void *
+ #define IOADDRESS void *
+ #define Bool int
+--- a/x86emu/include/types.h
++++ b/x86emu/include/types.h
+@@ -77,7 +77,8 @@
+ defined(__s390x__) || \
+ (defined(__hppa__) && defined(__LP64)) || \
+ defined(__amd64__) || defined(amd64) || \
+- (defined(__sgi) && (_MIPS_SZLONG == 64))
++ (defined(__sgi) && (_MIPS_SZLONG == 64)) || \
++ defined(__linux__)
+ #define NUM32 int
+ #else
+ #define NUM32 long
diff --git a/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-Fix-type-of-the-void-pointer-assignment.patch b/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-Fix-type-of-the-void-pointer-assignment.patch
new file mode 100644
index 0000000000..ea3c306fd7
--- /dev/null
+++ b/meta-oe/recipes-extended/libx86-1/libx86-1.1/0001-Fix-type-of-the-void-pointer-assignment.patch
@@ -0,0 +1,33 @@
+From c782e208021409e9b78acb2200abd4319072e78a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 00:28:05 -0700
+Subject: [PATCH] Fix type of the void pointer assignment
+
+Fixes build with clang
+
+x86-common.c:216:9: error: incompatible integer to pointer conversion assigning to 'void *' from 'long' [-Wint-conversion]
+ offset = mem_info.offset - REAL_MEM_BASE;
+ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ x86-common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/x86-common.c b/x86-common.c
+index 137bc3c..6f737ed 100644
+--- a/x86-common.c
++++ b/x86-common.c
+@@ -213,7 +213,7 @@ void *LRMI_common_init(int high_page)
+ if (!real_mem_init(high_page))
+ return NULL;
+
+- offset = mem_info.offset - REAL_MEM_BASE;
++ offset = (void*)(mem_info.offset - REAL_MEM_BASE);
+
+ /*
+ Map the Interrupt Vectors (0x0 - 0x400) + BIOS data (0x400 - 0x502)
+--
+2.37.3
+
diff --git a/meta-oe/recipes-extended/libx86-1/libx86-1.1/libx86-mmap-offset.patch b/meta-oe/recipes-extended/libx86-1/libx86-1.1/libx86-mmap-offset.patch
index 843acc8868..1c120c04b9 100644
--- a/meta-oe/recipes-extended/libx86-1/libx86-1.1/libx86-mmap-offset.patch
+++ b/meta-oe/recipes-extended/libx86-1/libx86-1.1/libx86-mmap-offset.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Upstream-Statue: Pending
[from ftp://195.220.108.108/linux/fedora/linux/development/rawhide/source/SRPMS/l/libx86-1.1-21.fc23.src.rpm]
diff --git a/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb b/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb
index d303147259..f11c52dd11 100644
--- a/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb
+++ b/meta-oe/recipes-extended/libx86-1/libx86-1_1.1.bb
@@ -7,13 +7,13 @@ LICENSE = "MIT & BSD-3-Clause"
SECTION = "libs"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=633af6c02e6f624d4c472d970a2aca53"
-SRC_URI = "http://www.codon.org.uk/~mjg59/libx86/downloads/${BPN}-${PV}.tar.gz \
+SRC_URI = "https://mirrors.slackware.com/slackware/slackware-current/source/ap/libx86/libx86-${PV}.tar.gz \
file://libx86-mmap-offset.patch \
file://0001-assume-zero-is-valid-address.patch \
file://makefile-add-ldflags.patch \
+ file://0001-Fix-type-of-the-void-pointer-assignment.patch \
+ file://0001-Define-CARD32-as-uint-as-it-is-32-bit.patch \
"
-
-SRC_URI[md5sum] = "41bee1f8e22b82d82b5f7d7ba51abc2a"
SRC_URI[sha256sum] = "5bf13104cb327472b5cb65643352a9138646becacc06763088d83001d832d048"
BPN = "libx86"
diff --git a/meta-oe/recipes-extended/libyang/libyang/0001-test_context-skip-test-case-test_searchdirs.patch b/meta-oe/recipes-extended/libyang/libyang/0001-test_context-skip-test-case-test_searchdirs.patch
new file mode 100644
index 0000000000..3c6aee9247
--- /dev/null
+++ b/meta-oe/recipes-extended/libyang/libyang/0001-test_context-skip-test-case-test_searchdirs.patch
@@ -0,0 +1,29 @@
+From 5de24e1b39c09adb0c5bf4bb4228bd1bb935542a Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 22 Mar 2023 16:03:56 +0800
+Subject: [PATCH] test_context: skip test case test_searchdirs
+
+Skip test case test_searchdirs as it searchs the source code directory.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ tests/utests/basic/test_context.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tests/utests/basic/test_context.c b/tests/utests/basic/test_context.c
+index cfba1d30f..8c3bb7ad6 100644
+--- a/tests/utests/basic/test_context.c
++++ b/tests/utests/basic/test_context.c
+@@ -1061,7 +1061,6 @@ int
+ main(void)
+ {
+ const struct CMUnitTest tests[] = {
+- UTEST(test_searchdirs),
+ UTEST(test_options),
+ UTEST(test_models),
+ UTEST(test_imports),
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/libyang/libyang/run-ptest b/meta-oe/recipes-extended/libyang/libyang/run-ptest
new file mode 100644
index 0000000000..c507afb2f5
--- /dev/null
+++ b/meta-oe/recipes-extended/libyang/libyang/run-ptest
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# cd into right directory
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd "$ptestdir"/tests || exit
+
+tests=$(find * -type f -name 'utest_*')
+
+for f in $tests
+do
+ if test -x ./"$f"; then
+ if ./"$f" > ./"$f".out 2> ./"$f".err; then
+ echo "PASS: $f"
+ else
+ echo "FAIL: $f"
+ fi
+ fi
+done
diff --git a/meta-oe/recipes-extended/libyang/libyang_2.1.148.bb b/meta-oe/recipes-extended/libyang/libyang_2.1.148.bb
new file mode 100644
index 0000000000..0eff3247c6
--- /dev/null
+++ b/meta-oe/recipes-extended/libyang/libyang_2.1.148.bb
@@ -0,0 +1,45 @@
+SUMMARY = "YANG data modeling language library"
+DESCRIPTION = "libyang is a YANG data modelling language parser and toolkit written (and providing API) in C."
+HOMEPAGE = "https://github.com/CESNET/libyang"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f3916d7d8d42a6508d0ea418cfff10ad"
+
+SRCREV = "fc4dbd923e044006c93df020590a1e5a8656c09e"
+
+SRC_URI = "git://github.com/CESNET/libyang.git;branch=master;protocol=https \
+ file://0001-test_context-skip-test-case-test_searchdirs.patch \
+ file://run-ptest \
+ "
+
+S = "${WORKDIR}/git"
+
+# Main dependencies
+inherit cmake pkgconfig lib_package ptest multilib_header
+DEPENDS = "libpcre2"
+DEPENDS += "${@bb.utils.contains('PTEST_ENABLED', '1', 'cmocka', '', d)}"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
+EXTRA_OECMAKE += " ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON -DENABLE_VALGRIND_TESTS=OFF', '', d)}"
+
+do_compile:prepend () {
+ if [ ${PTEST_ENABLED} = "1" ]; then
+ sed -i -e 's|${S}|${PTEST_PATH}|g' ${B}/tests/tests_config.h
+ sed -i -e 's|${B}|${PTEST_PATH}|g' ${B}/tests/tests_config.h
+ fi
+}
+
+do_install:append () {
+ oe_multilib_header libyang/config.h
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -f ${B}/tests/utest_* ${D}${PTEST_PATH}/tests/
+ cp -fR ${S}/tests/modules ${D}${PTEST_PATH}/tests/
+ install -d ${D}${PTEST_PATH}/tests/plugins
+ cp -f ${B}/tests/plugins/plugin_*.so ${D}${PTEST_PATH}/tests/plugins/
+}
+
+FILES:${PN} += "${datadir}/yang/*"
diff --git a/meta-oe/recipes-extended/libzip/libzip_1.10.1.bb b/meta-oe/recipes-extended/libzip/libzip_1.10.1.bb
new file mode 100644
index 0000000000..a314efc126
--- /dev/null
+++ b/meta-oe/recipes-extended/libzip/libzip_1.10.1.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "libzip is a C library for reading, creating, and modifying zip archives."
+HOMEPAGE = "https://libzip.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a9d2078f35e61cf1122ccd440687cf"
+
+DEPENDS = "zlib bzip2"
+
+PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
+PACKAGECONFIG[lzma] = "-DENABLE_LZMA=ON,-DENABLE_LZMA=OFF,xz"
+PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF,gnutls nettle"
+PACKAGECONFIG[zstd] = "-DENABLE_ZSTD=ON,-DENABLE_ZSTD=OFF,zstd"
+PACKAGECONFIG[mbedtls] = "-DENABLE_MBEDTLS=ON,-DENABLE_MBEDTLS=OFF,mbedtls"
+PACKAGECONFIG[examples] = "-DENABLE_EXAMPLES=ON,-DENABLE_EXAMPLES=OFF,"
+PACKAGECONFIG[tools] = "-DENABLE_TOOLS=ON,-DENABLE_TOOLS=OFF,"
+PACKAGECONFIG[tests] = "-DBUILD_REGRESS=ON,-DBUILD_REGRESS=OFF,"
+
+PACKAGECONFIG ?= "ssl lzma tools examples"
+
+inherit cmake
+
+SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
+
+SRC_URI[sha256sum] = "dc3c8d5b4c8bbd09626864f6bcf93de701540f761d76b85d7c7d710f4bd90318"
+
+BBCLASSEXTEND += "native"
diff --git a/meta-oe/recipes-extended/libzip/libzip_1.7.3.bb b/meta-oe/recipes-extended/libzip/libzip_1.7.3.bb
deleted file mode 100644
index e903de3da3..0000000000
--- a/meta-oe/recipes-extended/libzip/libzip_1.7.3.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "libzip is a C library for reading, creating, and modifying zip archives."
-HOMEPAGE = "https://libzip.org/"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=067e9870bba57e1ce20695c4d5672f30"
-
-DEPENDS = "zlib bzip2"
-
-PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
-PACKAGECONFIG[lzma] = "-DENABLE_LZMA=ON,-DENABLE_LZMA=OFF,xz"
-
-PACKAGECONFIG ?= "ssl lzma"
-
-inherit cmake
-
-SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
-
-SRC_URI[sha256sum] = "a60473ffdb7b4260c08bfa19c2ccea0438edac11193c3afbbb1f17fbcf6c6132"
diff --git a/meta-oe/recipes-extended/linuxconsole/linuxconsole/0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch b/meta-oe/recipes-extended/linuxconsole/linuxconsole/0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch
new file mode 100644
index 0000000000..bbfed0fd82
--- /dev/null
+++ b/meta-oe/recipes-extended/linuxconsole/linuxconsole/0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch
@@ -0,0 +1,37 @@
+From 25f54c3359a0fa34890030662e9b02e0a9745f4f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 13 Apr 2022 20:57:38 -0700
+Subject: [PATCH] utils: Use name of the first prerequisite in rule
+
+Use $< instead of $^ because the latter will specify both pre-requisite
+inputattach.c serio-ids.h files on same compiler cmdline and clang does
+not like that and errors out like below
+
+clang-14: error: cannot specify -o when generating multiple output files
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/utils/Makefile b/utils/Makefile
+index 1fc51ab..a7434a9 100644
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -46,10 +46,10 @@ endif
+ evdev-joystick: evdev-joystick.c
+
+ inputattach: inputattach.c serio-ids.h
+- $(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $^ $(LDFLAGS) $(SYSTEMDFLAGS) -lm -o $@
++ $(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $< $(LDFLAGS) $(SYSTEMDFLAGS) -lm -o $@
+
+ ffcfstress: ffcfstress.c bitmaskros.h
+- $(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $^ $(LDFLAGS) -lm -o $@
++ $(CC) $(CFLAGS) $(CPPFLAGS) -funsigned-char $< $(LDFLAGS) -lm -o $@
+
+ ffmvforce.o: ffmvforce.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $^ -o $@ `$(PKG_CONFIG) --cflags sdl2`
+--
+2.35.2
+
diff --git a/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb b/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
deleted file mode 100644
index fb161b6583..0000000000
--- a/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.0.bb
+++ /dev/null
@@ -1,96 +0,0 @@
-SUMMARY = "Linux Console Project"
-DESCRIPTION = "This project maintains the Linux Console tools, which include \
-utilities to test and configure joysticks, connect legacy devices to the kernel's \
-input subsystem (providing support for serial mice, touchscreens etc.), and test \
-the input event layer."
-HOMEPAGE = "https://sourceforge.net/projects/linuxconsole"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \
- file://51-these-are-not-joysticks-rm.rules \
- file://60-joystick.rules \
- file://inputattachctl \
- file://inputattach.service \
-"
-
-SRC_URI[sha256sum] = "95d112f06393806116341d593bda002c8bc44119c1538407623268fed90d8c34"
-
-S = "${WORKDIR}/linuxconsoletools-${PV}"
-
-inherit systemd pkgconfig
-
-EXTRA_OEMAKE = "DESTDIR=${D} PREFIX=${prefix} -C utils"
-EXTRA_OEMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'SYSTEMD_SUPPORT=1', '', d)}"
-
-SYSTEMD_PACKAGES += "inputattach"
-SYSTEMD_SERVICE_inputattach = "inputattach.service"
-SYSTEMD_AUTO_ENABLE_inputattach = "enable"
-
-PROVIDES += "joystick"
-
-PACKAGECONFIG ??= "sdl"
-PACKAGECONFIG[sdl] = ",,libsdl2"
-
-do_compile() {
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'sdl', 'true', 'false', d)}; then
- # drop ffmvforce so that we don't need libsdl2
- sed '/^PROGRAMS/s/ffmvforce *//g' -i ${S}/utils/Makefile
- fi
- # respect nonarch_base_libdir path to keep QA check happy
- sed 's#DESTDIR)/lib/udev#DESTDIR)/${nonarch_base_libdir}/udev#g' -i ${S}/utils/Makefile
- oe_runmake
-}
-
-do_install() {
- oe_runmake install
-
- install -Dm 0644 ${WORKDIR}/51-these-are-not-joysticks-rm.rules ${D}${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules
- install -Dm 0644 ${WORKDIR}/60-joystick.rules ${D}${nonarch_base_libdir}/udev/rules.d/60-joystick.rules
-
- install -Dm 0644 ${WORKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service
- install -Dm 0755 ${WORKDIR}/inputattachctl ${D}${bindir}/inputattachctl
-}
-
-PACKAGES += "inputattach joystick-jscal joystick"
-
-# We won't package any file here as we are following the same packaging schema
-# Debian does and we are splitting it in 'inputattach' and 'joystick' packages.
-FILES_${PN} = ""
-
-FILES_inputattach += "\
- ${bindir}/inputattach \
- ${bindir}/inputattachctl \
- ${systemd_system_unitdir}/inputattach.service \
-"
-
-FILES_joystick += "\
- ${bindir}/evdev-joystick \
- ${bindir}/ffcfstress \
- ${bindir}/ffmvforce \
- ${bindir}/ffset \
- ${bindir}/fftest \
- ${bindir}/jstest \
- ${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \
- ${nonarch_base_libdir}/udev/js-set-enum-leds \
- ${nonarch_base_libdir}/udev/rules.d/60-joystick.rules \
- ${nonarch_base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \
-"
-
-FILES_joystick-jscal = " \
- ${datadir}/joystick \
- ${bindir}/jscal \
- ${bindir}/jscal-restore \
- ${bindir}/jscal-store \
-"
-
-RDEPENDS_inputattach += "inputattach-config"
-
-RDEPENDS_joystick-jscal += "\
- bash \
- gawk \
-"
diff --git a/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.1.bb b/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.1.bb
new file mode 100644
index 0000000000..5716817e95
--- /dev/null
+++ b/meta-oe/recipes-extended/linuxconsole/linuxconsole_1.7.1.bb
@@ -0,0 +1,97 @@
+SUMMARY = "Linux Console Project"
+DESCRIPTION = "This project maintains the Linux Console tools, which include \
+utilities to test and configure joysticks, connect legacy devices to the kernel's \
+input subsystem (providing support for serial mice, touchscreens etc.), and test \
+the input event layer."
+HOMEPAGE = "https://sourceforge.net/projects/linuxconsole"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \
+ file://0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch \
+ file://51-these-are-not-joysticks-rm.rules \
+ file://60-joystick.rules \
+ file://inputattachctl \
+ file://inputattach.service \
+"
+
+SRC_URI[sha256sum] = "bd4d4b7e37da02fc67e47ddf20b6f1243c0a7af7b02b918d5e72138ea8727547"
+
+S = "${WORKDIR}/linuxconsoletools-${PV}"
+
+inherit systemd pkgconfig
+
+EXTRA_OEMAKE = "DESTDIR=${D} PREFIX=${prefix} -C utils"
+EXTRA_OEMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'SYSTEMD_SUPPORT=1', '', d)}"
+
+SYSTEMD_PACKAGES += "inputattach"
+SYSTEMD_SERVICE:inputattach = "inputattach.service"
+SYSTEMD_AUTO_ENABLE:inputattach = "enable"
+
+PROVIDES += "joystick"
+
+PACKAGECONFIG ??= "sdl"
+PACKAGECONFIG[sdl] = ",,libsdl2"
+
+do_compile() {
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'sdl', 'true', 'false', d)}; then
+ # drop ffmvforce so that we don't need libsdl2
+ sed '/^PROGRAMS/s/ffmvforce *//g' -i ${S}/utils/Makefile
+ fi
+ # respect nonarch_base_libdir path to keep QA check happy
+ sed 's#DESTDIR)/lib/udev#DESTDIR)/${nonarch_base_libdir}/udev#g' -i ${S}/utils/Makefile
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install
+
+ install -Dm 0644 ${WORKDIR}/51-these-are-not-joysticks-rm.rules ${D}${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules
+ install -Dm 0644 ${WORKDIR}/60-joystick.rules ${D}${nonarch_base_libdir}/udev/rules.d/60-joystick.rules
+
+ install -Dm 0644 ${WORKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service
+ install -Dm 0755 ${WORKDIR}/inputattachctl ${D}${bindir}/inputattachctl
+}
+
+PACKAGES += "inputattach joystick-jscal joystick"
+
+# We won't package any file here as we are following the same packaging schema
+# Debian does and we are splitting it in 'inputattach' and 'joystick' packages.
+FILES:${PN} = ""
+
+FILES:inputattach += "\
+ ${bindir}/inputattach \
+ ${bindir}/inputattachctl \
+ ${systemd_system_unitdir}/inputattach.service \
+"
+
+FILES:joystick += "\
+ ${bindir}/evdev-joystick \
+ ${bindir}/ffcfstress \
+ ${bindir}/ffmvforce \
+ ${bindir}/ffset \
+ ${bindir}/fftest \
+ ${bindir}/jstest \
+ ${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \
+ ${nonarch_base_libdir}/udev/js-set-enum-leds \
+ ${nonarch_base_libdir}/udev/rules.d/60-joystick.rules \
+ ${nonarch_base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \
+"
+
+FILES:joystick-jscal = " \
+ ${datadir}/joystick \
+ ${bindir}/jscal \
+ ${bindir}/jscal-restore \
+ ${bindir}/jscal-store \
+"
+
+RDEPENDS:inputattach += "inputattach-config"
+
+RDEPENDS:joystick-jscal += "\
+ bash \
+ gawk \
+"
diff --git a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb
deleted file mode 100644
index a82f10b919..0000000000
--- a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.18.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes"
-DESCRIPTION = "\
-lockfile-progs provide a method to lock and unlock mailboxes and files \
-safely (via liblockfile)."
-HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html"
-SECTION = "Applications/System"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-DEPENDS = "liblockfile"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/l/${BPN}/${BPN}_${PV}.tar.gz"
-SRC_URI[md5sum] = "4eb83bdf88016db836b7cc09591fb0f3"
-SRC_URI[sha256sum] = "a42995a4b97e6188efc90fcc1a761163c4b2cff5c81b936f85c84301ddb05ce6"
-
-do_compile() {
- oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables'
-}
-
-do_install() {
- install -m 755 -d ${D}${bindir}
- install bin/* ${D}${bindir}
- install -m 755 -d ${D}${mandir}/man1
- install man/* ${D}${mandir}/man1
-}
diff --git a/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.19.bb b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.19.bb
new file mode 100644
index 0000000000..834687b43b
--- /dev/null
+++ b/meta-oe/recipes-extended/lockfile-progs/lockfile-progs_0.1.19.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Command-line programs to safely lock and unlock files and mailboxes"
+DESCRIPTION = "\
+lockfile-progs provide a method to lock and unlock mailboxes and files \
+safely (via liblockfile)."
+HOMEPAGE = "http://packages.qa.debian.org/l/lockfile-progs.html"
+SECTION = "Applications/System"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
+DEPENDS = "liblockfile"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/l/${BPN}/${BPN}_${PV}.tar.gz"
+SRC_URI[sha256sum] = "2c5704b01c8f474f82921780e4592a927b2bf6a6d7616354a6c5d7cd5664857e"
+
+do_compile() {
+ oe_runmake CFLAGS=' -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables ${DEBUG_PREFIX_MAP}'
+}
+
+do_install() {
+ install -m 755 -d ${D}${bindir}
+ install bin/* ${D}${bindir}
+ install -m 755 -d ${D}${mandir}/man1
+ install man/* ${D}${mandir}/man1
+}
diff --git a/meta-oe/recipes-extended/logwatch/logwatch_7.10.bb b/meta-oe/recipes-extended/logwatch/logwatch_7.10.bb
new file mode 100644
index 0000000000..2efaa2b3c6
--- /dev/null
+++ b/meta-oe/recipes-extended/logwatch/logwatch_7.10.bb
@@ -0,0 +1,57 @@
+SUMMARY = "A log file analysis program"
+DESCRIPTION = "\
+Logwatch is a customizable, pluggable log-monitoring system. It will go \
+through your logs for a given period of time and make a report in the areas \
+that you wish with the detail that you wish. Easy to use - works right out of \
+the package on many systems.\
+"
+SECTION = "devel"
+HOMEPAGE = "http://www.logwatch.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ba882fa9b4b6b217a51780be3f4db9c8"
+RDEPENDS:${PN} = "perl"
+
+SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "329df0991b879764ed7e50a869de5b6bfa70d241eb254397a5659d1ff5f2588f"
+
+do_install() {
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
+ install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
+ install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
+ install -m 0755 -d ${D}${localstatedir}/cache/logwatch
+ cp -r -f conf/ ${D}${datadir}/logwatch/default.conf
+ cp -r -f scripts/ ${D}${datadir}/logwatch/scripts
+ cp -r -f lib ${D}${datadir}/logwatch/lib
+ chown -R root:root ${D}${datadir}/logwatch
+
+ install -m 0755 -d ${D}${mandir}/man1
+ install -m 0755 -d ${D}${mandir}/man5
+ install -m 0755 -d ${D}${mandir}/man8
+ install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
+ install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
+ install -m 0644 ignore.conf.5 ${D}${mandir}/man5
+ install -m 0644 override.conf.5 ${D}${mandir}/man5
+ install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
+ install -m 0644 logwatch.8 ${D}${mandir}/man8
+
+ install -m 0755 -d ${D}${sysconfdir}/cron.daily
+ install -m 0755 -d ${D}${sbindir}
+ ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
+ cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
+ DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
+ if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
+ then
+ logwatch
+ fi
+EOF
+ chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
+
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
+ install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
+ touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+ touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
+ touch ${D}${sysconfdir}/logwatch/conf/override.conf
+ echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
+ echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
+ echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
+}
diff --git a/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb b/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb
deleted file mode 100644
index 644e420711..0000000000
--- a/meta-oe/recipes-extended/logwatch/logwatch_7.5.3.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "A log file analysis program"
-DESCRIPTION = "\
-Logwatch is a customizable, pluggable log-monitoring system. It will go \
-through your logs for a given period of time and make a report in the areas \
-that you wish with the detail that you wish. Easy to use - works right out of \
-the package on many systems.\
-"
-SECTION = "devel"
-HOMEPAGE = "http://www.logwatch.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ad199c8aca74e70f296f731ad9a1521c"
-RDEPENDS_${PN} = "perl"
-
-SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
-SRC_URI[md5sum] = "8bcf3edc5a4687c8aad1b9c01e2be54b"
-SRC_URI[sha256sum] = "1b2b96879dec01cd02754fe00f8989b11ff16158c3dc7c4aff0faa4b1d34974b"
-
-do_install() {
- install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
- install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/logfiles
- install -m 0755 -d ${D}${datadir}/logwatch/dist.conf/services
- install -m 0755 -d ${D}${localstatedir}/cache/logwatch
- cp -r -f conf/ ${D}${datadir}/logwatch/default.conf
- cp -r -f scripts/ ${D}${datadir}/logwatch/scripts
- cp -r -f lib ${D}${datadir}/logwatch/lib
- chown -R root:root ${D}${datadir}/logwatch
-
- install -m 0755 -d ${D}${mandir}/man1
- install -m 0755 -d ${D}${mandir}/man5
- install -m 0755 -d ${D}${mandir}/man8
- install -m 0644 amavis-logwatch.1 ${D}${mandir}/man1
- install -m 0644 postfix-logwatch.1 ${D}${mandir}/man1
- install -m 0644 ignore.conf.5 ${D}${mandir}/man5
- install -m 0644 override.conf.5 ${D}${mandir}/man5
- install -m 0644 logwatch.conf.5 ${D}${mandir}/man5
- install -m 0644 logwatch.8 ${D}${mandir}/man8
-
- install -m 0755 -d ${D}${sysconfdir}/cron.daily
- install -m 0755 -d ${D}${sbindir}
- ln -sf ../..${datadir}/logwatch/scripts/logwatch.pl ${D}${sbindir}/logwatch
- cat > ${D}${sysconfdir}/cron.daily/0logwatch <<EOF
- DailyReport=\`grep -e "^[[:space:]]*DailyReport[[:space:]]*=[[:space:]]*" /usr/share/logwatch/default.conf/logwatch.conf | head -n1 | sed -e "s|^\s*DailyReport\s*=\s*||"\`
- if [ "\$DailyReport" != "No" ] && [ "\$DailyReport" != "no" ]
- then
- logwatch
- fi
-EOF
- chmod 755 ${D}${sysconfdir}/cron.daily/0logwatch
-
- install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/logfiles
- install -m 0755 -d ${D}${sysconfdir}/logwatch/conf/services
- touch ${D}${sysconfdir}/logwatch/conf/logwatch.conf
- touch ${D}${sysconfdir}/logwatch/conf/ignore.conf
- touch ${D}${sysconfdir}/logwatch/conf/override.conf
- echo "# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)" > ${D}${sysconfdir}/logwatch/conf/logwatch.conf
- echo "###### REGULAR EXPRESSIONS IN THIS FILE WILL BE TRIMMED FROM REPORT OUTPUT #####" > ${D}${sysconfdir}/logwatch/conf/ignore.conf
- echo "# Configuration overrides for specific logfiles/services may be placed here." > ${D}${sysconfdir}/logwatch/conf/override.conf
-}
diff --git a/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb b/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
index 4432342366..73e4eac3dd 100644
--- a/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
+++ b/meta-oe/recipes-extended/lprng/lprng_3.8.C.bb
@@ -1,6 +1,6 @@
SUMMARY = "An Enhanced Printer Spooler"
SECTION = "console/utils"
-LICENSE = "GPLv2 | Artistic-1.0"
+LICENSE = "GPL-2.0-only | Artistic-1.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c6570d8d699af1883db9d0e733ac9bfb"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
@@ -12,12 +12,12 @@ SRC_URI[sha256sum] = "694a1747a96385b89e93f43343bf35cee5c8c73353a83814106911c99f
inherit autotools gettext
EXTRA_OECONF = "--disable-ssl --disable-kerberos --enable-force_localhost"
-FILES_${PN}-dbg += "${libdir}/lprng/filters/.debug"
+FILES:${PN}-dbg += "${libdir}/lprng/filters/.debug"
# configure: WARNING: Program 'clear' is not found. Set environment CLEAR=no if you do not want to use it
export CLEAR = "no"
-do_install_append() {
+do_install:append() {
mv ${D}/etc/printcap.sample ${D}/etc/printcap
mv ${D}/etc/lpd/lpd.conf.sample ${D}/etc/lpd/lpd.conf
mv ${D}/etc/lpd/lpd.perms.sample ${D}/etc/lpd/lpd.perms
diff --git a/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch b/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch
deleted file mode 100644
index 77da33321d..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From: Luk Claes <luk@debian.org>
-Date: Sat, 4 Jul 2009 10:54:53 +0200
-Subject: Don't reuse weak symbol optopt to fix FTBFS on mips*
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- getopt.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/getopt.c b/getopt.c
-index 83ce628..82e983c 100644
---- a/getopt.c
-+++ b/getopt.c
-@@ -43,7 +43,7 @@ typedef int ssize_t;
- char *optarg;
- int optind = 1;
- int opterr = 1;
--int optopt;
-+int optoptc;
-
- static void
- error(const char *s, int c)
-@@ -69,7 +69,7 @@ error(const char *s, int c)
- *bp++ = *s++;
- while (*msg)
- *bp++ = *msg++;
-- *bp++ = optopt;
-+ *bp++ = optoptc;
- *bp++ = '\n';
- write(2, buf, bp - buf);
- ac_free(buf);
-@@ -101,13 +101,13 @@ getopt(int argc, char *const argv[], const char *optstring)
- }
- curp = &argv[optind][1];
- }
-- optopt = curp[0] & 0377;
-+ optoptc = curp[0] & 0377;
- while (optstring[0]) {
- if (optstring[0] == ':') {
- optstring++;
- continue;
- }
-- if ((optstring[0] & 0377) == optopt) {
-+ if ((optstring[0] & 0377) == optoptc) {
- if (optstring[1] == ':') {
- if (curp[1] != '\0') {
- optarg = (char *)&curp[1];
-@@ -127,7 +127,7 @@ getopt(int argc, char *const argv[], const char *optstring)
- optind++;
- optarg = 0;
- }
-- return optopt;
-+ return optoptc;
- }
- optstring++;
- }
diff --git a/meta-oe/recipes-extended/mailx/files/0001-support-openssl-1.1.x.patch b/meta-oe/recipes-extended/mailx/files/0001-support-openssl-1.1.x.patch
deleted file mode 100644
index 6a8911daf7..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0001-support-openssl-1.1.x.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 7db6d8a657d13bb562a27c6181accaf3e53c0efd Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 25 Sep 2018 14:03:10 +0800
-Subject: [PATCH] support openssl 1.1.x
-
-Long time no maintain from upstream since 2013-06-04
-(https://sourceforge.net/projects/nail/), backport a
-fix from openSUSE
-
-Upstream-Status: Backport [openSUSE]
-https://build.opensuse.org/package/view_file/openSUSE:Leap:15.0/mailx/mailx-12.5-openssl-1.1.0f.patch?expand=1
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- openssl.c | 25 ++++++++++++++++++++++++-
- 1 file changed, 24 insertions(+), 1 deletion(-)
-
-diff --git a/openssl.c b/openssl.c
-index 44fe4e5..0ccc517 100644
---- a/openssl.c
-+++ b/openssl.c
-@@ -137,7 +137,12 @@ ssl_rand_init(void)
-
- if ((cp = value("ssl-rand-egd")) != NULL) {
- cp = expand(cp);
-- if (RAND_egd(cp) == -1) {
-+#ifndef OPENSSL_NO_EGD
-+ if (RAND_egd(cp) == -1)
-+#else
-+ if (1)
-+#endif
-+ {
- fprintf(stderr, catgets(catd, CATSET, 245,
- "entropy daemon at \"%s\" not available\n"),
- cp);
-@@ -216,6 +221,7 @@ ssl_select_method(const char *uhp)
-
- cp = ssl_method_string(uhp);
- if (cp != NULL) {
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
- if (equal(cp, "ssl3"))
- method = SSLv3_client_method();
- else if (equal(cp, "tls1"))
-@@ -225,8 +231,25 @@ ssl_select_method(const char *uhp)
- "Invalid SSL method \"%s\"\n"), cp);
- method = SSLv23_client_method();
- }
-+#else
-+ method = NULL;
-+ if (equal(cp, "tls"))
-+ method = TLS_client_method();
-+ else if (equal(cp, "dtls"))
-+ method = DTLS_client_method();
-+
-+ if (!method) {
-+ fprintf(stderr, catgets(catd, CATSET, 244,
-+ "Invalid SSL method \"%s\"\n"), cp);
-+ method = TLS_client_method();
-+ }
-+#endif
- } else
-+#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x1010006fL
- method = SSLv23_client_method();
-+#else
-+ method = TLS_client_method();
-+#endif
- return method;
- }
-
---
-2.7.4
-
diff --git a/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch b/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch
deleted file mode 100644
index 6bad433ea6..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Hilko Bengen <bengen@debian.org>
-Date: Wed, 27 Apr 2011 00:18:42 +0200
-Subject: Patched out SSL2 support since it is no longer supported by OpenSSL.
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- mailx.1 | 2 +-
- openssl.c | 4 +---
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/mailx.1 b/mailx.1
-index 417ea04..a02e430 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -3575,7 +3575,7 @@ Only applicable if SSL/TLS support is built using OpenSSL.
- .TP
- .B ssl-method
- Selects a SSL/TLS protocol version;
--valid values are `ssl2', `ssl3', and `tls1'.
-+valid values are `ssl3', and `tls1'.
- If unset, the method is selected automatically,
- if possible.
- .TP
-diff --git a/openssl.c b/openssl.c
-index b4e33fc..44fe4e5 100644
---- a/openssl.c
-+++ b/openssl.c
-@@ -216,9 +216,7 @@ ssl_select_method(const char *uhp)
-
- cp = ssl_method_string(uhp);
- if (cp != NULL) {
-- if (equal(cp, "ssl2"))
-- method = SSLv2_client_method();
-- else if (equal(cp, "ssl3"))
-+ if (equal(cp, "ssl3"))
- method = SSLv3_client_method();
- else if (equal(cp, "tls1"))
- method = TLSv1_client_method();
diff --git a/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch b/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch
deleted file mode 100644
index 13b73ae593..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Hilko Bengen <bengen@debian.org>
-Date: Sat, 14 Apr 2012 20:22:43 +0200
-Subject: Fixed Lintian warning (warning: macro `N' not defined)
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- mailx.1 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mailx.1 b/mailx.1
-index a02e430..b0723bd 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -3781,7 +3781,7 @@ you could examine the first message by giving the command:
- .sp
- .fi
- which might cause
--.N mailx
-+.I mailx
- to respond with, for example:
- .nf
- .sp
diff --git a/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch b/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch
deleted file mode 100644
index 13b955c4b5..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0011-outof-Introduce-expandaddr-flag.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 9984ae5cb0ea0d61df1612b06952a61323c083d9 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 11:13:38 +0100
-Subject: [PATCH 1/4] outof: Introduce expandaddr flag
-
-Document that address expansion is disabled unless the expandaddr
-binary option is set.
-
-This has been assigned CVE-2014-7844 for BSD mailx, but it is not
-a vulnerability in Heirloom mailx because this feature was documented.
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-CVE: CVE-2014-7844
----
- mailx.1 | 14 ++++++++++++++
- names.c | 3 +++
- 2 files changed, 17 insertions(+)
-
-diff --git a/mailx.1 b/mailx.1
-index 70a7859..22a171b 100644
---- a/mailx.1
-+++ b/mailx.1
-@@ -656,6 +656,14 @@ but any reply returned to the machine
- will have the system wide alias expanded
- as all mail goes through sendmail.
- .SS "Recipient address specifications"
-+If the
-+.I expandaddr
-+option is not set (the default), recipient addresses must be names of
-+local mailboxes or Internet mail addresses.
-+.PP
-+If the
-+.I expandaddr
-+option is set, the following rules apply:
- When an address is used to name a recipient
- (in any of To, Cc, or Bcc),
- names of local mail folders
-@@ -2391,6 +2399,12 @@ and exits immediately.
- If this option is set,
- \fImailx\fR starts even with an empty mailbox.
- .TP
-+.B expandaddr
-+Causes
-+.I mailx
-+to expand message recipient addresses, as explained in the section,
-+Recipient address specifications.
-+.TP
- .B flipr
- Exchanges the
- .I Respond
-diff --git a/names.c b/names.c
-index 66e976b..c69560f 100644
---- a/names.c
-+++ b/names.c
-@@ -268,6 +268,9 @@ outof(struct name *names, FILE *fo, struct header *hp)
- FILE *fout, *fin;
- int ispipe;
-
-+ if (value("expandaddr") == NULL)
-+ return names;
-+
- top = names;
- np = names;
- time(&now);
---
-1.9.3
-
-
diff --git a/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch b/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch
deleted file mode 100644
index 8cdbfd8b03..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0012-unpack-Disable-option-processing-for-email-addresses.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From e34e2ac67b80497080ebecccec40c3b61456167d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 11:14:06 +0100
-Subject: [PATCH 2/4] unpack: Disable option processing for email addresses
- when calling sendmail
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- extern.h | 2 +-
- names.c | 8 ++++++--
- sendout.c | 2 +-
- 3 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/extern.h b/extern.h
-index 6b85ba0..8873fe8 100644
---- a/extern.h
-+++ b/extern.h
-@@ -396,7 +396,7 @@ struct name *outof(struct name *names, FILE *fo, struct header *hp);
- int is_fileaddr(char *name);
- struct name *usermap(struct name *names);
- struct name *cat(struct name *n1, struct name *n2);
--char **unpack(struct name *np);
-+char **unpack(struct name *smopts, struct name *np);
- struct name *elide(struct name *names);
- int count(struct name *np);
- struct name *delete_alternates(struct name *np);
-diff --git a/names.c b/names.c
-index c69560f..45bbaed 100644
---- a/names.c
-+++ b/names.c
-@@ -549,7 +549,7 @@ cat(struct name *n1, struct name *n2)
- * Return an error if the name list won't fit.
- */
- char **
--unpack(struct name *np)
-+unpack(struct name *smopts, struct name *np)
- {
- char **ap, **top;
- struct name *n;
-@@ -564,7 +564,7 @@ unpack(struct name *np)
- * the terminating 0 pointer. Additional spots may be needed
- * to pass along -f to the host mailer.
- */
-- extra = 2;
-+ extra = 3 + count(smopts);
- extra++;
- metoo = value("metoo") != NULL;
- if (metoo)
-@@ -581,6 +581,10 @@ unpack(struct name *np)
- *ap++ = "-m";
- if (verbose)
- *ap++ = "-v";
-+ for (; smopts != NULL; smopts = smopts->n_flink)
-+ if ((smopts->n_type & GDEL) == 0)
-+ *ap++ = smopts->n_name;
-+ *ap++ = "--";
- for (; n != NULL; n = n->n_flink)
- if ((n->n_type & GDEL) == 0)
- *ap++ = n->n_name;
-diff --git a/sendout.c b/sendout.c
-index 7b7f2eb..c52f15d 100644
---- a/sendout.c
-+++ b/sendout.c
-@@ -835,7 +835,7 @@ start_mta(struct name *to, struct name *mailargs, FILE *input,
- #endif /* HAVE_SOCKETS */
-
- if ((smtp = value("smtp")) == NULL) {
-- args = unpack(cat(mailargs, to));
-+ args = unpack(mailargs, to);
- if (debug || value("debug")) {
- printf(catgets(catd, CATSET, 181,
- "Sendmail arguments:"));
---
-1.9.3
-
-
diff --git a/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch b/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch
deleted file mode 100644
index 5558d8639f..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0013-fio.c-Unconditionally-require-wordexp-support.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 2bae8ecf04ec2ba6bb9f0af5b80485dd0edb427d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 12:48:25 +0100
-Subject: [PATCH 3/4] fio.c: Unconditionally require wordexp support
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
----
- fio.c | 67 +++++--------------------------------------------------------------
- 1 file changed, 5 insertions(+), 62 deletions(-)
-
-diff --git a/fio.c b/fio.c
-index 65e8f10..1529236 100644
---- a/fio.c
-+++ b/fio.c
-@@ -43,12 +43,15 @@ static char sccsid[] = "@(#)fio.c 2.76 (gritter) 9/16/09";
- #endif /* not lint */
-
- #include "rcv.h"
-+
-+#ifndef HAVE_WORDEXP
-+#error wordexp support is required
-+#endif
-+
- #include <sys/stat.h>
- #include <sys/file.h>
- #include <sys/wait.h>
--#ifdef HAVE_WORDEXP
- #include <wordexp.h>
--#endif /* HAVE_WORDEXP */
- #include <unistd.h>
-
- #if defined (USE_NSS)
-@@ -481,7 +484,6 @@ next:
- static char *
- globname(char *name)
- {
--#ifdef HAVE_WORDEXP
- wordexp_t we;
- char *cp;
- sigset_t nset;
-@@ -527,65 +529,6 @@ globname(char *name)
- }
- wordfree(&we);
- return cp;
--#else /* !HAVE_WORDEXP */
-- char xname[PATHSIZE];
-- char cmdbuf[PATHSIZE]; /* also used for file names */
-- int pid, l;
-- char *cp, *shell;
-- int pivec[2];
-- extern int wait_status;
-- struct stat sbuf;
--
-- if (pipe(pivec) < 0) {
-- perror("pipe");
-- return name;
-- }
-- snprintf(cmdbuf, sizeof cmdbuf, "echo %s", name);
-- if ((shell = value("SHELL")) == NULL)
-- shell = SHELL;
-- pid = start_command(shell, 0, -1, pivec[1], "-c", cmdbuf, NULL);
-- if (pid < 0) {
-- close(pivec[0]);
-- close(pivec[1]);
-- return NULL;
-- }
-- close(pivec[1]);
--again:
-- l = read(pivec[0], xname, sizeof xname);
-- if (l < 0) {
-- if (errno == EINTR)
-- goto again;
-- perror("read");
-- close(pivec[0]);
-- return NULL;
-- }
-- close(pivec[0]);
-- if (wait_child(pid) < 0 && WTERMSIG(wait_status) != SIGPIPE) {
-- fprintf(stderr, catgets(catd, CATSET, 81,
-- "\"%s\": Expansion failed.\n"), name);
-- return NULL;
-- }
-- if (l == 0) {
-- fprintf(stderr, catgets(catd, CATSET, 82,
-- "\"%s\": No match.\n"), name);
-- return NULL;
-- }
-- if (l == sizeof xname) {
-- fprintf(stderr, catgets(catd, CATSET, 83,
-- "\"%s\": Expansion buffer overflow.\n"), name);
-- return NULL;
-- }
-- xname[l] = 0;
-- for (cp = &xname[l-1]; *cp == '\n' && cp > xname; cp--)
-- ;
-- cp[1] = '\0';
-- if (strchr(xname, ' ') && stat(xname, &sbuf) < 0) {
-- fprintf(stderr, catgets(catd, CATSET, 84,
-- "\"%s\": Ambiguous.\n"), name);
-- return NULL;
-- }
-- return savestr(xname);
--#endif /* !HAVE_WORDEXP */
- }
-
- /*
---
-1.9.3
-
-
diff --git a/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch b/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch
deleted file mode 100644
index ae14b8acfe..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 73fefa0c1ac70043ec84f2d8b8f9f683213f168d Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Mon, 17 Nov 2014 13:11:32 +0100
-Subject: [PATCH 4/4] globname: Invoke wordexp with WRDE_NOCMD (CVE-2004-2771)
-
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-CVE: CVE-2004-2771
----
- fio.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fio.c b/fio.c
-index 1529236..774a204 100644
---- a/fio.c
-+++ b/fio.c
-@@ -497,7 +497,7 @@ globname(char *name)
- sigemptyset(&nset);
- sigaddset(&nset, SIGCHLD);
- sigprocmask(SIG_BLOCK, &nset, NULL);
-- i = wordexp(name, &we, 0);
-+ i = wordexp(name, &we, WRDE_NOCMD);
- sigprocmask(SIG_UNBLOCK, &nset, NULL);
- switch (i) {
- case 0:
---
-1.9.3
-
-
diff --git a/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch b/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch
deleted file mode 100644
index 2b5991425b..0000000000
--- a/meta-oe/recipes-extended/mailx/files/0015-usr-sbin-sendmail.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Description: Sendmail is at /usr/sbin/sendmail
- As per Debian Policy §11.6
-Author: Ryan Kavanagh <rak@debian.org>
-Origin: Debian
-Forwarded: no
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: heirloom-mailx-12.5/Makefile
-===================================================================
-This patch is taken from
-ftp://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5-5.debian.tar.xz
-
-Upstream-Status: Inappropriate [upstream is dead]
-
---- heirloom-mailx-12.5.orig/Makefile 2011-04-26 17:23:22.000000000 -0400
-+++ heirloom-mailx-12.5/Makefile 2015-01-27 13:20:04.733542801 -0500
-@@ -13,7 +13,7 @@
-
- MAILRC = $(SYSCONFDIR)/nail.rc
- MAILSPOOL = /var/mail
--SENDMAIL = /usr/lib/sendmail
-+SENDMAIL = /usr/sbin/sendmail
-
- DESTDIR =
-
-Index: heirloom-mailx-12.5/mailx.1
-===================================================================
---- heirloom-mailx-12.5.orig/mailx.1 2015-01-27 13:18:49.000000000 -0500
-+++ heirloom-mailx-12.5/mailx.1 2015-01-27 13:20:32.382336867 -0500
-@@ -4922,7 +4922,7 @@
- which just acts as a proxy.
- .PP
- \fIMailx\fR immediately contacts the SMTP server (or
--.IR \%/usr/lib/sendmail )
-+.IR \%/usr/sbin/sendmail )
- even when operating in
- .I disconnected
- mode.
diff --git a/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch b/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch
deleted file mode 100644
index b74fd0472e..0000000000
--- a/meta-oe/recipes-extended/mailx/files/explicitly.disable.krb5.support.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-krb5 support is autodetected from sysroot making builds undeterministic
-feel free to improve this to support explicitly enabling/disabling it
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
---- a/makeconfig 2013-07-21 15:06:11.177792334 +0200
-+++ b/makeconfig 2013-07-21 15:07:20.028793994 +0200
-@@ -424,36 +424,6 @@
- }
- !
-
--<$tmp2.c link_check gssapi 'for GSSAPI in libgss' \
-- '#define USE_GSSAPI' '-lgss' ||
-- <$tmp2.c link_check gssapi 'for GSSAPI in libgssapi_krb5' \
-- '#define USE_GSSAPI' '-lgssapi_krb5' ||
-- link_check gssapi 'for GSSAPI in libgssapi_krb5, old-style' \
-- '#define USE_GSSAPI
--#define GSSAPI_OLD_STYLE' '-lgssapi_krb5' <<\! || \
-- link_check gssapi 'for GSSAPI in libgssapi' \
-- '#define USE_GSSAPI
--#define GSSAPI_REG_INCLUDE' '-lgssapi' <<\%
--#include <gssapi/gssapi.h>
--#include <gssapi/gssapi_generic.h>
--
--int main(void)
--{
-- gss_import_name(0, 0, gss_nt_service_name, 0);
-- gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
-- return 0;
--}
--!
--#include <gssapi.h>
--
--int main(void)
--{
-- gss_import_name(0, 0, GSS_C_NT_HOSTBASED_SERVICE, 0);
-- gss_init_sec_context(0,0,0,0,0,0,0,0,0,0,0,0,0);
-- return 0;
--}
--%
--
- cat >$tmp2.c <<\!
- #include "config.h"
- #ifdef HAVE_NL_LANGINFO
diff --git a/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb b/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb
deleted file mode 100644
index 4161ea6750..0000000000
--- a/meta-oe/recipes-extended/mailx/mailx_12.5-5.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "mailx is the traditional command-line-mode mail user agent"
-
-DESCRIPTION = "Mailx is derived from Berkeley Mail and is intended provide the \
-functionality of the POSIX mailx command with additional support \
-for MIME, IMAP, POP3, SMTP, and S/MIME."
-
-HOMEPAGE = "http://heirloom.sourceforge.net/mailx.html"
-SECTION = "console/network"
-LICENSE = "BSD & MPL-1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4202a0a62910cf94f7af8a3436a2a2dd"
-
-DEPENDS = "openssl"
-
-SRC_URI = "http://snapshot.debian.org/archive/debian/20160728T043443Z/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gz;name=archive \
- file://0001-Don-t-reuse-weak-symbol-optopt-to-fix-FTBFS-on-mips.patch \
- file://0002-Patched-out-SSL2-support-since-it-is-no-longer-suppo.patch \
- file://0003-Fixed-Lintian-warning-warning-macro-N-not-defined.patch \
- file://0011-outof-Introduce-expandaddr-flag.patch \
- file://0012-unpack-Disable-option-processing-for-email-addresses.patch \
- file://0013-fio.c-Unconditionally-require-wordexp-support.patch \
- file://0014-globname-Invoke-wordexp-with-WRDE_NOCMD.patch \
- file://0015-usr-sbin-sendmail.patch \
- file://explicitly.disable.krb5.support.patch \
- file://0001-support-openssl-1.1.x.patch \
- "
-
-SRC_URI[archive.md5sum] = "29a6033ef1412824d02eb9d9213cb1f2"
-SRC_URI[archive.sha256sum] = "015ba4209135867f37a0245d22235a392b8bbed956913286b887c2e2a9a421ad"
-
-# for this package we're mostly interested in tracking debian patches,
-# and not in the upstream version where all development has effectively stopped
-UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/h/heirloom-mailx/"
-UPSTREAM_CHECK_REGEX = "(?P<pver>((\d+\.*)+)-((\d+\.*)+))\.(diff|debian\.tar)\.(gz|xz)"
-
-S = "${WORKDIR}/heirloom-mailx-12.5"
-
-inherit autotools-brokensep
-
-CFLAGS_append = " -D_BSD_SOURCE -DDEBIAN -I${S}/EXT"
-
-# "STRIP=true" means that 'true' command will be used to 'strip' files which will achieve the effect of not stripping them
-# mailx's Makefile doesn't allow a more straightforward way to avoid stripping
-EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail IPv6=-DHAVE_IPv6_FUNCS PREFIX=/usr UCBINSTALL=/usr/bin/install STRIP=true"
-
-# The makeconfig can't run parallelly, otherwise the checking results
-# might be incorrect and lead to errors:
-# fio.c:56:17: fatal error: ssl.h: No such file or directory
-# #include <ssl.h>
-PARALLEL_MAKE = ""
-
-# Causes gcc to get stuck and eat all available memory in qemuarm builds
-# http://errors.yoctoproject.org/Errors/Details/20488/
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
diff --git a/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch b/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch
index 73c6cb126a..b637d81e9e 100644
--- a/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch
+++ b/meta-oe/recipes-extended/md5deep/files/wrong-variable-expansion.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: git/configure.ac
===================================================================
--- git.orig/configure.ac
diff --git a/meta-oe/recipes-extended/md5deep/md5deep_git.bb b/meta-oe/recipes-extended/md5deep/md5deep_git.bb
index e8c6864c1f..5351a37db6 100644
--- a/meta-oe/recipes-extended/md5deep/md5deep_git.bb
+++ b/meta-oe/recipes-extended/md5deep/md5deep_git.bb
@@ -1,15 +1,14 @@
SUMMARY = "md5deep and hashdeep to compute and audit hashsets of amounts of files."
DESCRIPTION = "md5deep is a set of programs to compute MD5, SHA-1, SHA-256, Tiger, or Whirlpool message digests on an arbitrary number of files. This package also includes hashdeep which is also able to audit hashsets."
-AUTHOR = "Jesse Kornblum, Simson L. Garfinkel"
HOMEPAGE = "http://md5deep.sourceforge.net"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=9190f660105b9a56cdb272309bfd5491"
-PV = "4.4+git${SRCPV}"
+PV = "4.4+git"
SRCREV = "877613493ff44807888ce1928129574be393cbb0"
-SRC_URI = "git://github.com/jessek/hashdeep.git \
+SRC_URI = "git://github.com/jessek/hashdeep.git;branch=master;protocol=https \
file://wrong-variable-expansion.patch \
file://0001-Fix-literal-and-identifier-spacing-as-dictated-by-C-.patch \
"
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch b/meta-oe/recipes-extended/minifi-cpp/files/0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch
deleted file mode 100644
index d813b37f99..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 609e1745d26d6f42d426018a4dd8d2342d6fc170 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 18 Aug 2020 08:37:57 -0700
-Subject: [PATCH] Add -lxml2 to linker cmdline of xml is found
-
-When cross compiling for systems where static libs
-for libxml are not available cmake's detection mechanism
-resort to linking with libxml.so but doesnt use -lxml2
-liblldbHost.a however requires libxml on linker
-cmdline _after_ itself so its use of symbols from libxml2
-can be resolved. Here check for libxml2 being detected and
-add it if its found.
-
-Fixes
-minifi-cpp/0.7.0-r0/recipe-sysroot-native/usr/lib/libxml2.so is incompatible with elf32-i386
-| clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- thirdparty/libarchive-3.3.2/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/thirdparty/libarchive-3.3.2/CMakeLists.txt b/thirdparty/libarchive-3.3.2/CMakeLists.txt
-index 0c1ea6f7..cde0cc51 100644
---- a/thirdparty/libarchive-3.3.2/CMakeLists.txt
-+++ b/thirdparty/libarchive-3.3.2/CMakeLists.txt
-@@ -1031,7 +1031,7 @@ ENDIF()
- IF(LIBXML2_FOUND)
- CMAKE_PUSH_CHECK_STATE() # Save the state of the variables
- INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
-- LIST(APPEND ADDITIONAL_LIBS ${LIBXML2_LIBRARIES})
-+ LIST(APPEND ADDITIONAL_LIBS xml2)
- SET(HAVE_LIBXML2 1)
- # libxml2's include files use iconv.h
- SET(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
---
-2.28.0
-
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0001-CMakeLists.txt-use-curl-local-source-tarball.patch b/meta-oe/recipes-extended/minifi-cpp/files/0001-CMakeLists.txt-use-curl-local-source-tarball.patch
deleted file mode 100644
index 183a006e81..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/0001-CMakeLists.txt-use-curl-local-source-tarball.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 8d99edeefb23c9d7574a0b5a0e2e3f41b0433490 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Thu, 10 Sep 2020 16:14:10 +0800
-Subject: [PATCH] CMakeLists.txt: use curl local source tarball
-
-Do not download curl source during compile.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- CMakeLists.txt | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7cd550fb..215a4ef4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -314,11 +314,7 @@ endif()
-
- ExternalProject_Add(
- curl-external
-- GIT_REPOSITORY "https://github.com/curl/curl.git"
-- GIT_TAG "f3294d9d86e6a7915a967efff2842089b8b0d071" # Version 7.64.0
-- SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-src"
-- LIST_SEPARATOR % # This is needed for passing semicolon-separated lists
-- TLS_VERIFY OFF
-+ SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/curl-7.64.0"
- CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
- "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-install"
- "-DCMAKE_INSTALL_LIBDIR=lib${LIBSUFFIX}"
---
-2.17.1
-
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0001-Do-not-use-bundled-packages.patch b/meta-oe/recipes-extended/minifi-cpp/files/0001-Do-not-use-bundled-packages.patch
new file mode 100644
index 0000000000..b997d6ce7d
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0001-Do-not-use-bundled-packages.patch
@@ -0,0 +1,108 @@
+From 65923a872e44cb461ef1a03374057351f0bc5efe Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 19 Mar 2024 19:39:04 +0800
+Subject: [PATCH] Do not use bundled packages
+
+Use external dependencies for openssl, curl, bzip2, zlib, libarchive,
+xz, yaml-cpp and libxml2.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CMakeLists.txt | 23 ++++++-----------------
+ extensions/libarchive/CMakeLists.txt | 7 ++-----
+ 2 files changed, 8 insertions(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 13a2b992..8a1dd6d9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -222,9 +222,7 @@ else()
+ endif()
+
+ if (NOT DISABLE_BZIP2 AND (NOT DISABLE_LIBARCHIVE OR (NOT DISABLE_ROCKSDB AND NOT WIN32)))
+- include(BundledBZip2)
+- use_bundled_bzip2(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
+- list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/bzip2/dummy")
++ find_package(BZip2 REQUIRED)
+ endif()
+
+ if(NOT WIN32)
+@@ -247,9 +245,7 @@ endif()
+
+ # OpenSSL
+ if (NOT OPENSSL_OFF)
+- include(BundledOpenSSL)
+- use_openssl("${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}")
+- list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/ssl")
++ find_package(OpenSSL REQUIRED)
+
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOPENSSL_SUPPORT")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DOPENSSL_SUPPORT")
+@@ -262,9 +258,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSODIUM_STATIC=1")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSODIUM_STATIC=1")
+
+ # zlib
+-include(BundledZLIB)
+-use_bundled_zlib(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+-list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/zlib/dummy")
++find_package(ZLIB REQUIRED)
+
+ # uthash
+ add_library(ut INTERFACE)
+@@ -272,9 +266,7 @@ target_include_directories(ut SYSTEM INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/thir
+
+ # cURL
+ if(NOT DISABLE_CURL)
+- include(BundledLibcURL)
+- use_bundled_curl(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+- list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/curl/dummy")
++ find_package(CURL REQUIRED)
+ else()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDISABLE_CURL")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDISABLE_CURL")
+@@ -285,8 +277,7 @@ include(BundledSpdlog)
+ use_bundled_spdlog(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+
+ # yaml-cpp
+-include(BundledYamlCpp)
+-use_bundled_yamlcpp(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
++find_package(yaml-cpp REQUIRED)
+
+ # concurrentqueue
+ add_library(concurrentqueue INTERFACE)
+@@ -357,9 +348,7 @@ include(Extensions)
+ add_subdirectory(libminifi)
+
+ if ((ENABLE_OPENWSMAN AND NOT DISABLE_CIVET AND NOT DISABLE_CURL) OR ENABLE_ALL OR ENABLE_AZURE)
+- include(BundledLibXml2)
+- use_bundled_libxml2(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+- list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/libxml2/dummy")
++ find_package(LibXml2 REQUIRED)
+ endif()
+
+ if (ENABLE_ALL OR ENABLE_PROMETHEUS OR NOT DISABLE_CIVET)
+diff --git a/extensions/libarchive/CMakeLists.txt b/extensions/libarchive/CMakeLists.txt
+index 2b89d3ea..49e13e21 100644
+--- a/extensions/libarchive/CMakeLists.txt
++++ b/extensions/libarchive/CMakeLists.txt
+@@ -22,13 +22,10 @@ if (DISABLE_LIBARCHIVE)
+ endif()
+
+ if (NOT DISABLE_LZMA)
+- include(BundledLibLZMA)
+- use_bundled_liblzma(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
+- list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/liblzma/dummy")
++ find_package(LibLZMA REQUIRED)
+ endif()
+
+-include(BundledLibArchive)
+-use_bundled_libarchive(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
++find_package(LibArchive REQUIRED)
+
+ include(${CMAKE_SOURCE_DIR}/extensions/ExtensionHeader.txt)
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch b/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch
deleted file mode 100644
index bc480d9699..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 0eee3fb85dad084b6b42f7b219d8aa3a62620a27 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Wed, 28 Oct 2020 09:52:40 +0800
-Subject: [PATCH] civetweb/CMakeLists.txt: do not search gcc-ar and gcc-ranlib
-
-Do not search gcc-ar and gcc-ranlib. Specify GCC_AR and GCC_RANLIB in
-EXTRA_OECMAKE to avoid host contamination.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- thirdparty/civetweb-1.10/CMakeLists.txt | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/thirdparty/civetweb-1.10/CMakeLists.txt b/thirdparty/civetweb-1.10/CMakeLists.txt
-index f559a04e..0689e3f6 100644
---- a/thirdparty/civetweb-1.10/CMakeLists.txt
-+++ b/thirdparty/civetweb-1.10/CMakeLists.txt
-@@ -246,11 +246,9 @@ set_property(CACHE CIVETWEB_CXX_STANDARD PROPERTY STRINGS auto c++14 c++11 c++98
-
- # Configure the linker
- if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
-- find_program(GCC_AR gcc-ar)
- if (GCC_AR)
- set(CMAKE_AR ${GCC_AR})
- endif()
-- find_program(GCC_RANLIB gcc-ranlib)
- if (GCC_RANLIB)
- set(CMAKE_RANLIB ${GCC_RANLIB})
- endif()
---
-2.17.1
-
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0001-cxxopts-Add-limits-header.patch b/meta-oe/recipes-extended/minifi-cpp/files/0001-cxxopts-Add-limits-header.patch
deleted file mode 100644
index ef26c475d8..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/0001-cxxopts-Add-limits-header.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From fda0713ce3e07786757a057abe7ebf2146d33780 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Mar 2021 18:31:45 -0800
-Subject: [PATCH] cxxopts: Add limits header
-
-needed for numeric_limits
-
-Upstream-Status: Submitted [https://github.com/apache/nifi-minifi-cpp/pull/1021]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- thirdparty/cxxopts/include/cxxopts.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/thirdparty/cxxopts/include/cxxopts.hpp
-+++ b/thirdparty/cxxopts/include/cxxopts.hpp
-@@ -29,6 +29,7 @@ THE SOFTWARE.
- #include <cctype>
- #include <exception>
- #include <iostream>
-+#include <limits>
- #include <map>
- #include <memory>
- #include <regex>
---- a/libminifi/src/utils/StringUtils.cpp
-+++ b/libminifi/src/utils/StringUtils.cpp
-@@ -21,6 +21,8 @@
- #include <Windows.h>
- #endif
-
-+#include <limits>
-+
- namespace org {
- namespace apache {
- namespace nifi {
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0002-Fix-osspuuid-build.patch b/meta-oe/recipes-extended/minifi-cpp/files/0002-Fix-osspuuid-build.patch
new file mode 100644
index 0000000000..65c52c6337
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0002-Fix-osspuuid-build.patch
@@ -0,0 +1,78 @@
+From 4e8e1943541d3b887ba86dc1b488cbb058c7d1cd Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 19 Mar 2024 20:48:25 +0800
+Subject: [PATCH] Fix osspuuid build
+
+* Specify correct configure options to fix osspuuid cross build.
+* Do not download osspuuid source during compile.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ cmake/BundledOSSPUUID.cmake | 10 +++++-----
+ .../ossp-uuid/ossp-uuid-cross-compile-fix.patch | 13 +++++++++++++
+ 2 files changed, 18 insertions(+), 5 deletions(-)
+ create mode 100644 thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch
+
+diff --git a/cmake/BundledOSSPUUID.cmake b/cmake/BundledOSSPUUID.cmake
+index c4fa1523..1faf2e5c 100644
+--- a/cmake/BundledOSSPUUID.cmake
++++ b/cmake/BundledOSSPUUID.cmake
+@@ -23,10 +23,12 @@ function(use_bundled_osspuuid SOURCE_DIR BINARY_DIR)
+ set(PATCH_FILE1 "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
+ set(PATCH_FILE2 "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-no-prog.patch")
+ set(PATCH_FILE3 "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-update-config-guess.patch")
++ set(PATCH_FILE4 "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch")
+ set(PC ${Bash_EXECUTABLE} -c "set -x &&\
+ (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE1}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE1}\") &&\
+ (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE2}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE2}\") &&\
+- (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE3}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE3}\") ")
++ (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE3}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE3}\") &&\
++ (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE4}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE4}\") ")
+
+ # Define byproducts
+ set(BYPRODUCTS "lib/libuuid.a"
+@@ -39,7 +41,7 @@ function(use_bundled_osspuuid SOURCE_DIR BINARY_DIR)
+ ENDFOREACH(BYPRODUCT)
+
+ # Build project
+- set(CONFIGURE_COMMAND ./configure "CC=${CMAKE_C_COMPILER}" "CXX=${CMAKE_CXX_COMPILER}" "CFLAGS=${PASSTHROUGH_CMAKE_C_FLAGS} -fPIC" "CXXFLAGS=${PASSTHROUGH_CMAKE_CXX_FLAGS} -fPIC" --enable-shared=no --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install")
++ set(CONFIGURE_COMMAND ac_cv_va_copy=C99 ./configure --host=${HOST_SYS} --build=${BUILD_SYS} "CC=${CMAKE_C_COMPILER}" "CXX=${CMAKE_CXX_COMPILER}" "CFLAGS=${PASSTHROUGH_CMAKE_C_FLAGS} -fPIC" "CXXFLAGS=${PASSTHROUGH_CMAKE_CXX_FLAGS} -fPIC" --enable-shared=no --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install")
+ string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type)
+ if(NOT build_type MATCHES debug)
+ list(APPEND CONFIGURE_COMMAND --enable-debug=yes)
+@@ -47,10 +49,8 @@ function(use_bundled_osspuuid SOURCE_DIR BINARY_DIR)
+
+ ExternalProject_Add(
+ ossp-uuid-external
+- URL "https://deb.debian.org/debian/pool/main/o/ossp-uuid/ossp-uuid_1.6.2.orig.tar.gz"
+- URL_HASH "SHA256=11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"
+ BUILD_IN_SOURCE true
+- SOURCE_DIR "${BINARY_DIR}/thirdparty/ossp-uuid-src"
++ SOURCE_DIR "${SOURCE_DIR}/thirdparty/uuid-1.6.2"
+ BUILD_COMMAND make
+ CMAKE_COMMAND ""
+ UPDATE_COMMAND ""
+diff --git a/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch b/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch
+new file mode 100644
+index 00000000..b8d7b0bb
+--- /dev/null
++++ b/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch
+@@ -0,0 +1,13 @@
++diff --git a/shtool b/shtool
++index a2d2567..ab4fe17 100755
++--- a/shtool
+++++ b/shtool
++@@ -1400,7 +1400,7 @@ install )
++ if [ ".$opt_t" = .yes ]; then
++ echo "strip $dsttmp" 1>&2
++ fi
++- strip $dsttmp || shtool_exit $?
+++ $STRIP $dsttmp || shtool_exit $?
++ fi
++ if [ ".$opt_o" != . ]; then
++ if [ ".$opt_t" = .yes ]; then
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0002-cmake-LibreSSL.cmake-use-libressl-local-source-tarba.patch b/meta-oe/recipes-extended/minifi-cpp/files/0002-cmake-LibreSSL.cmake-use-libressl-local-source-tarba.patch
deleted file mode 100644
index da5ee97540..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/0002-cmake-LibreSSL.cmake-use-libressl-local-source-tarba.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 5a5317044b0039e9e19aabcecb7b666a3f13e136 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Thu, 10 Sep 2020 15:08:19 +0800
-Subject: [PATCH] cmake/LibreSSL.cmake: use libressl local source tarball
-
-Do not download libressl source during compile.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- cmake/LibreSSL.cmake | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/cmake/LibreSSL.cmake b/cmake/LibreSSL.cmake
-index 57319e40..bab30129 100644
---- a/cmake/LibreSSL.cmake
-+++ b/cmake/LibreSSL.cmake
-@@ -43,9 +43,7 @@ function(use_libre_ssl SOURCE_DIR BINARY_DIR)
-
- ExternalProject_Add(
- libressl-portable
-- URL https://cdn.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://gentoo.osuosl.org/distfiles/libressl-2.8.3.tar.gz
-- URL_HASH "SHA256=9b640b13047182761a99ce3e4f000be9687566e0828b4a72709e9e6a3ef98477"
-- SOURCE_DIR "${BINARY_DIR}/thirdparty/libressl-src"
-+ SOURCE_DIR "${SOURCE_DIR}/thirdparty/libressl-2.8.3"
- PATCH_COMMAND ${PATCH}
- CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
- "-DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libressl-install"
---
-2.17.1
-
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0003-Fix-libsodium-build.patch b/meta-oe/recipes-extended/minifi-cpp/files/0003-Fix-libsodium-build.patch
new file mode 100644
index 0000000000..a08962724e
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0003-Fix-libsodium-build.patch
@@ -0,0 +1,39 @@
+From 1c697e4d75f0045d5364d622960ff8047a4ad3ec Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 19 Mar 2024 20:56:05 +0800
+Subject: [PATCH] Fix libsodium build
+
+* Specify correct configure options to fix libsodium cross build.
+* Do not download libsodium source during compile.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ cmake/BundledLibSodium.cmake | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/BundledLibSodium.cmake b/cmake/BundledLibSodium.cmake
+index 3a3daf41..d851f753 100644
+--- a/cmake/BundledLibSodium.cmake
++++ b/cmake/BundledLibSodium.cmake
+@@ -58,14 +58,12 @@ function(use_bundled_libsodium SOURCE_DIR BINARY_DIR)
+ EXCLUDE_FROM_ALL TRUE
+ )
+ else()
+- set(CONFIGURE_COMMAND ./configure --disable-pie --enable-minimal "--prefix=${LIBSODIUM_BIN_DIR}")
++ set(CONFIGURE_COMMAND ./configure --host=${HOST_SYS} --build=${BUILD_SYS} --disable-pie --enable-minimal "--prefix=${LIBSODIUM_BIN_DIR}")
+
+ ExternalProject_Add(
+ libsodium-external
+- URL "${LIBSODIUM_OFFICIAL_MIRROR_URL} ${LIBSODIUM_GITHUB_MIRROR_URL} ${LIBSODIUM_GENTOO_MIRROR_URL}"
+- URL_HASH ${LIBSODIUM_URL_HASH}
+ BUILD_IN_SOURCE true
+- SOURCE_DIR "${BINARY_DIR}/thirdparty/libsodium-src"
++ SOURCE_DIR "${SOURCE_DIR}/thirdparty/libsodium-stable"
+ BUILD_COMMAND make
+ CMAKE_COMMAND ""
+ UPDATE_COMMAND ""
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0003-cmake-BundledOSSPUUID.cmake-use-ossp-uuid-local-sour.patch b/meta-oe/recipes-extended/minifi-cpp/files/0003-cmake-BundledOSSPUUID.cmake-use-ossp-uuid-local-sour.patch
deleted file mode 100644
index a39e15b791..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/0003-cmake-BundledOSSPUUID.cmake-use-ossp-uuid-local-sour.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 74ade26f7ccd0dbc4ad97cb3082204118a67c92b Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Thu, 10 Sep 2020 15:12:41 +0800
-Subject: [PATCH] cmake/BundledOSSPUUID.cmake: use ossp-uuid local source
- tarball
-
-Do not download ossp-uuid source during compile.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- cmake/BundledOSSPUUID.cmake | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/cmake/BundledOSSPUUID.cmake b/cmake/BundledOSSPUUID.cmake
-index 1103156d..0cf4bac0 100644
---- a/cmake/BundledOSSPUUID.cmake
-+++ b/cmake/BundledOSSPUUID.cmake
-@@ -47,10 +47,8 @@ function(use_bundled_osspuuid SOURCE_DIR BINARY_DIR)
-
- ExternalProject_Add(
- ossp-uuid-external
-- URL "https://deb.debian.org/debian/pool/main/o/ossp-uuid/ossp-uuid_1.6.2.orig.tar.gz"
-- URL_HASH "SHA256=11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"
- BUILD_IN_SOURCE true
-- SOURCE_DIR "${BINARY_DIR}/thirdparty/ossp-uuid-src"
-+ SOURCE_DIR "${SOURCE_DIR}/thirdparty/uuid-1.6.2"
- BUILD_COMMAND make
- CMAKE_COMMAND ""
- UPDATE_COMMAND ""
---
-2.17.1
-
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0004-Fix-spdlog-build.patch b/meta-oe/recipes-extended/minifi-cpp/files/0004-Fix-spdlog-build.patch
new file mode 100644
index 0000000000..177c6adee6
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0004-Fix-spdlog-build.patch
@@ -0,0 +1,44 @@
+From 8a5fe73f722718aa5c9a467c28a26913771f7208 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 19 Mar 2024 20:57:37 +0800
+Subject: [PATCH] Fix spdlog build
+
+* Specify CMAKE_INSTALL_LIBDIR to fix multilib build.
+* Do not download spdlog source during compile.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ cmake/BundledSpdlog.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/BundledSpdlog.cmake b/cmake/BundledSpdlog.cmake
+index 974cbbaa..c0c45688 100644
+--- a/cmake/BundledSpdlog.cmake
++++ b/cmake/BundledSpdlog.cmake
+@@ -35,11 +35,12 @@ function(use_bundled_spdlog SOURCE_DIR BINARY_DIR)
+ endif()
+
+ # Set build options
+- set(SPDLOG_SOURCE_DIR "${BINARY_DIR}/thirdparty/spdlog-src")
++ set(SPDLOG_SOURCE_DIR "${SOURCE_DIR}/thirdparty/spdlog-src")
+ set(SPDLOG_INSTALL_DIR "${BINARY_DIR}/thirdparty/spdlog-install")
+ set(SPDLOG_LIBRARY "${SPDLOG_INSTALL_DIR}/${BYPRODUCT}")
+ set(SPDLOG_CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
+ "-DCMAKE_INSTALL_PREFIX=${SPDLOG_INSTALL_DIR}"
++ "-DCMAKE_INSTALL_LIBDIR=${LIBDIR}"
+ "-DSPDLOG_BUILD_EXAMPLE=OFF"
+ "-DSPDLOG_BUILD_TESTS=OFF"
+ "-DSPDLOG_BUILD_TESTING=OFF"
+@@ -49,7 +50,6 @@ function(use_bundled_spdlog SOURCE_DIR BINARY_DIR)
+ # Build project
+ ExternalProject_Add(
+ spdlog-external
+- URL "https://github.com/gabime/spdlog/archive/v1.8.0.zip"
+ SOURCE_DIR "${SPDLOG_SOURCE_DIR}"
+ CMAKE_ARGS ${SPDLOG_CMAKE_ARGS}
+ BUILD_BYPRODUCTS "${SPDLOG_LIBRARY}"
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0005-Pass-noline-flag-to-flex.patch b/meta-oe/recipes-extended/minifi-cpp/files/0005-Pass-noline-flag-to-flex.patch
new file mode 100644
index 0000000000..53939131ff
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0005-Pass-noline-flag-to-flex.patch
@@ -0,0 +1,31 @@
+From 083babbd6c6cc6f31530fbac0227c1d426fb0863 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 19 Mar 2024 21:00:59 +0800
+Subject: [PATCH] Pass --noline flag to flex
+
+This ensures that line directive is not emitted into lexer output which
+could be absolute build paths.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ extensions/expression-language/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/extensions/expression-language/CMakeLists.txt b/extensions/expression-language/CMakeLists.txt
+index 775b4116..84edc617 100644
+--- a/extensions/expression-language/CMakeLists.txt
++++ b/extensions/expression-language/CMakeLists.txt
+@@ -77,7 +77,7 @@ flex_target(
+ el-scanner
+ ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.ll
+ ${CMAKE_CURRENT_SOURCE_DIR}/Scanner.cpp
+- COMPILE_FLAGS --c++
++ COMPILE_FLAGS "--c++ --noline"
+ )
+
+ add_flex_bison_dependency(el-scanner el-parser)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0006-OsUtils.h-add-missing-header-cstdint-for-int64_t.patch b/meta-oe/recipes-extended/minifi-cpp/files/0006-OsUtils.h-add-missing-header-cstdint-for-int64_t.patch
new file mode 100644
index 0000000000..38893e74ac
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0006-OsUtils.h-add-missing-header-cstdint-for-int64_t.patch
@@ -0,0 +1,36 @@
+From 08d1b4b66fedde97eefb5e3ff6aa98fd02be7c21 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 20 Mar 2024 10:03:14 +0800
+Subject: [PATCH] OsUtils.h: add missing header <cstdint> for int64_t
+
+Fix build with musl:
+libminifi/include/utils/OsUtils.h:31:1: error: 'int64_t' does not name a type
+ 31 | int64_t getCurrentProcessPhysicalMemoryUsage();
+ | ^~~~~~~
+libminifi/include/utils/OsUtils.h:22:1: note: 'int64_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
+ 21 | #include <system_error>
+ +++ |+#include <cstdint>
+ 22 |
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ libminifi/include/utils/OsUtils.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libminifi/include/utils/OsUtils.h b/libminifi/include/utils/OsUtils.h
+index a7117233..5e623d1a 100644
+--- a/libminifi/include/utils/OsUtils.h
++++ b/libminifi/include/utils/OsUtils.h
+@@ -19,6 +19,7 @@
+ #include <string>
+ #include <optional>
+ #include <system_error>
++#include <cstdint>
+
+ struct sockaddr;
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0007-CMakeLists.txt-do-not-use-ccache.patch b/meta-oe/recipes-extended/minifi-cpp/files/0007-CMakeLists.txt-do-not-use-ccache.patch
new file mode 100644
index 0000000000..73a59f2a84
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0007-CMakeLists.txt-do-not-use-ccache.patch
@@ -0,0 +1,38 @@
+From 44867a8e4100a7296b98e0e850d950d24b980959 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 21 Mar 2024 10:18:39 +0800
+Subject: [PATCH] CMakeLists.txt: do not use ccache
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CMakeLists.txt | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8a1dd6d91..8a5314544 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,12 +82,12 @@ if (USE_REAL_ODBC_TEST_DRIVER)
+ endif()
+
+ # Use ccache if present
+-find_program(CCACHE_FOUND ccache)
+-if(CCACHE_FOUND)
+- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
+- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
+- message("-- Found ccache: ${CCACHE_FOUND}")
+-endif(CCACHE_FOUND)
++#find_program(CCACHE_FOUND ccache)
++#if(CCACHE_FOUND)
++# set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
++# set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
++# message("-- Found ccache: ${CCACHE_FOUND}")
++#endif(CCACHE_FOUND)
+
+ # Use gold linker if instructed
+ if (UNIX AND USE_GOLD_LINKER AND NOT APPLE )
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/0008-libsodium-aarch64_crypto.patch b/meta-oe/recipes-extended/minifi-cpp/files/0008-libsodium-aarch64_crypto.patch
new file mode 100644
index 0000000000..c2c51148f6
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/files/0008-libsodium-aarch64_crypto.patch
@@ -0,0 +1,38 @@
+Move target #pragma after arm_neon.h include
+
+Fix per android/ndk#1945
+
+If the pragma is done before the header include,
+when using clang compiler attribute may apply to the functions in arm_neon.h
+
+Upstream-Status: Submitted [https://github.com/jedisct1/libsodium/pull/1321]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
++++ b/thirdparty/libsodium-stable/src/libsodium/crypto_aead/aes256gcm/armcrypto/aead_aes256gcm_armcrypto.c
+@@ -19,12 +19,6 @@
+ #define __vectorcall
+ #endif
+
+-#ifdef __clang__
+-#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
+-#elif defined(__GNUC__)
+-#pragma GCC target("+simd+crypto")
+-#endif
+-
+ #ifndef __ARM_FEATURE_CRYPTO
+ #define __ARM_FEATURE_CRYPTO 1
+ #endif
+@@ -34,6 +28,12 @@
+
+ #include <arm_neon.h>
+
++#ifdef __clang__
++#pragma clang attribute push(__attribute__((target("neon,crypto,aes"))), apply_to = function)
++#elif defined(__GNUC__)
++#pragma GCC target("+simd+crypto")
++#endif
++
+ #define ABYTES crypto_aead_aes256gcm_ABYTES
+ #define NPUBBYTES crypto_aead_aes256gcm_NPUBBYTES
+ #define KEYBYTES crypto_aead_aes256gcm_KEYBYTES
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch
deleted file mode 100644
index d0febfd534..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -urN -x .git orig/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch patched/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch
---- orig/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch 1970-01-01 09:00:00.000000000 +0900
-+++ patched/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch 2020-08-07 23:14:46.196764271 +0900
-@@ -0,0 +1,30 @@
-+This patch was imported from the libressl potable.
-+https://github.com/libressl-portable/portable/commit/a9332ccecfce63bf54924e70c11f420edd3ae312
-+
-+From a9332ccecfce63bf54924e70c11f420edd3ae312 Mon Sep 17 00:00:00 2001
-+From: Brent Cook <bcook@openbsd.org>
-+Date: Sun, 17 Jul 2016 18:12:23 -0500
-+Subject: [PATCH] avoid BSWAP assembly for ARM <= v6
-+
-+diff -urN orig/crypto/modes/modes_lcl.h patched/crypto/modes/modes_lcl.h
-+--- orig/crypto/modes/modes_lcl.h 2018-11-18 21:27:10.000000000 +0900
-++++ patched/crypto/modes/modes_lcl.h 2020-08-07 23:11:01.960764745 +0900
-+@@ -45,14 +45,16 @@
-+ asm ("bswapl %0" \
-+ : "+r"(ret)); ret; })
-+ # elif (defined(__arm__) || defined(__arm)) && !defined(__STRICT_ALIGNMENT)
-+-# define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
-++# if (__ARM_ARCH >= 6)
-++# define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
-+ asm ("rev %0,%0; rev %1,%1" \
-+ : "+r"(hi),"+r"(lo)); \
-+ (u64)hi<<32|lo; })
-+-# define BSWAP4(x) ({ u32 ret; \
-++# define BSWAP4(x) ({ u32 ret; \
-+ asm ("rev %0,%1" \
-+ : "=r"(ret) : "r"((u32)(x))); \
-+ ret; })
-++# endif
-+ # endif
-+ #endif
-+ #endif
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch
deleted file mode 100644
index 84b8c8cb0e..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/fix-libressl-compile.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -urN -x .git orig/cmake/LibreSSL.cmake patched/cmake/LibreSSL.cmake
---- orig/cmake/LibreSSL.cmake 2020-08-07 21:58:34.660773928 +0900
-+++ patched/cmake/LibreSSL.cmake 2020-08-07 22:51:18.620767245 +0900
-@@ -18,6 +18,9 @@
- function(use_libre_ssl SOURCE_DIR BINARY_DIR)
- message("Using bundled LibreSSL from release")
-
-+ find_package(Patch REQUIRED)
-+ set(PATCH "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/libressl/avoid-BSWAP-assembly-for-ARM-v6.patch")
-+
- set(BYPRODUCT_PREFIX "lib" CACHE STRING "" FORCE)
- set(BYPRODUCT_SUFFIX ".a" CACHE STRING "" FORCE)
-
-@@ -27,16 +30,29 @@
- set(BYPRODUCT_PREFIX "" CACHE STRING "" FORCE)
- set(BUILD_ARGS " -GVisual Studio 15 2017")
- endif(WIN32)
-+
-+ set(BYPRODUCTS
-+ "lib/${BYPRODUCT_PREFIX}crypto${BYPRODUCT_SUFFIX}"
-+ "lib/${BYPRODUCT_PREFIX}ssl${BYPRODUCT_SUFFIX}"
-+ "lib/${BYPRODUCT_PREFIX}tls${BYPRODUCT_SUFFIX}"
-+ )
-+ set(LIBRESSL_INSTALL_DIR "${BINARY_DIR}/thirdparty/libressl-install" CACHE STRING "" FORCE)
-+ FOREACH(BYPRODUCT ${BYPRODUCTS})
-+ LIST(APPEND LIBRESSL_LIBRARIES_LIST "${LIBRESSL_INSTALL_DIR}/${BYPRODUCT}")
-+ ENDFOREACH(BYPRODUCT)
-+
- ExternalProject_Add(
- libressl-portable
- URL https://cdn.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz https://gentoo.osuosl.org/distfiles/libressl-2.8.3.tar.gz
- URL_HASH "SHA256=9b640b13047182761a99ce3e4f000be9687566e0828b4a72709e9e6a3ef98477"
- SOURCE_DIR "${BINARY_DIR}/thirdparty/libressl-src"
-+ PATCH_COMMAND ${PATCH}
- CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
- "-DCMAKE_INSTALL_PREFIX=${BINARY_DIR}/thirdparty/libressl-install"
- "-DLIBRESSL_APPS=OFF"
- "-DLIBRESSL_TESTS=OFF"
- "${BUILD_ARGS}"
-+ BUILD_BYPRODUCTS ${LIBRESSL_LIBRARIES_LIST}
- )
-
- add_library(crypto STATIC IMPORTED)
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch
deleted file mode 100644
index 9653ba3426..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/fix-minifi-compile.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff -urN -x .git orig/CMakeLists.txt patched/CMakeLists.txt
---- orig/CMakeLists.txt 2020-08-07 21:58:34.656773928 +0900
-+++ patched/CMakeLists.txt 2020-08-10 15:08:31.800278357 +0900
-@@ -119,13 +119,28 @@
- endif()
- endif()
-
-+include(CheckCXXSourceCompiles)
-+CHECK_CXX_SOURCE_COMPILES("
-+ #include <atomic>
-+ int main(int argc, char **argv) {
-+ uint8_t m;
-+ __atomic_load_8(&m, 0);
-+ __atomic_fetch_add_1(&m , 0, 0);
-+ return 0;
-+ }"
-+ HAVE_ATOMIC
-+)
-+if(NOT HAVE_ATOMIC)
-+ set(LIB_ATOMIC atomic)
-+endif()
-+
- # Use ccache if present
--find_program(CCACHE_FOUND ccache)
--if(CCACHE_FOUND)
-- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
-- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
-- message("-- Found ccache: ${CCACHE_FOUND}")
--endif(CCACHE_FOUND)
-+#find_program(CCACHE_FOUND ccache)
-+#if(CCACHE_FOUND)
-+# set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
-+# set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
-+# message("-- Found ccache: ${CCACHE_FOUND}")
-+#endif(CCACHE_FOUND)
-
- if (UNIX AND USE_GOLD_LINKER AND NOT APPLE )
- execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE ld_version)
-@@ -303,8 +318,10 @@
- GIT_TAG "f3294d9d86e6a7915a967efff2842089b8b0d071" # Version 7.64.0
- SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-src"
- LIST_SEPARATOR % # This is needed for passing semicolon-separated lists
-+ TLS_VERIFY OFF
- CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
- "-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/thirdparty/curl-install"
-+ "-DCMAKE_INSTALL_LIBDIR=lib${LIBSUFFIX}"
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
- -DBUILD_CURL_EXE=OFF
- -DBUILD_TESTING=OFF
-diff -urN -x .git orig/libminifi/CMakeLists.txt patched/libminifi/CMakeLists.txt
---- orig/libminifi/CMakeLists.txt 2020-08-07 21:58:34.676773928 +0900
-+++ patched/libminifi/CMakeLists.txt 2020-08-10 15:06:17.124278642 +0900
-@@ -108,6 +108,7 @@
- add_library(spdlog STATIC ${SPD_SOURCES})
- add_library(core-minifi STATIC ${SOURCES})
- target_link_libraries(core-minifi ${CMAKE_DL_LIBS} yaml-cpp)
-+target_link_libraries(core-minifi ${LIB_ATOMIC})
-
- #target_link_libraries(core-minifi PRIVATE bsdiff )
-
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch
deleted file mode 100644
index 42e1e583c3..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-compile.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -urN -x .git orig/cmake/BundledOSSPUUID.cmake patched/cmake/BundledOSSPUUID.cmake
---- orig/cmake/BundledOSSPUUID.cmake 2020-08-07 21:58:34.660773928 +0900
-+++ patched/cmake/BundledOSSPUUID.cmake 2020-08-07 22:05:57.404772993 +0900
-@@ -22,7 +22,9 @@
-
- # Define patch step
- find_package(Patch REQUIRED)
-- set(PC "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
-+ set(PATCH1 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-mac-fix.patch")
-+ set(PATCH2 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch")
-+ set(PATCH3 "${Patch_EXECUTABLE}" -p1 -i "${SOURCE_DIR}/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch")
-
- # Define byproducts
- set(BYPRODUCTS "lib/libuuid.a"
-@@ -35,7 +37,9 @@
- ENDFOREACH(BYPRODUCT)
-
- # Build project
-- set(CONFIGURE_COMMAND ./configure "CFLAGS=-fPIC" "CXXFLAGS=-fPIC" --with-cxx --without-perl --without-php --without-pgsql "--prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install")
-+ set(CONFIGURE_COMMAND ac_cv_va_copy=C99 ./configure CFLAGS=-fPIC CXXFLAGS=-fPIC --host=${HOST_SYS}
-+ --with-cxx --without-perl --without-php --without-pgsql
-+ --prefix=${BINARY_DIR}/thirdparty/ossp-uuid-install)
- string(TOLOWER "${CMAKE_BUILD_TYPE}" build_type)
- if(NOT build_type MATCHES debug)
- list(APPEND CONFIGURE_COMMAND --enable-debug=yes)
-@@ -52,8 +56,8 @@
- UPDATE_COMMAND ""
- INSTALL_COMMAND make install
- BUILD_BYPRODUCTS ${OSSPUUID_LIBRARIES_LIST}
-- CONFIGURE_COMMAND ""
-- PATCH_COMMAND ${PC} && ${CONFIGURE_COMMAND}
-+ CONFIGURE_COMMAND ${CONFIGURE_COMMAND}
-+ PATCH_COMMAND ${PATCH1} && ${PATCH2} && ${PATCH3}
- STEP_TARGETS build
- EXCLUDE_FROM_ALL TRUE
- )
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch
deleted file mode 100644
index dc354d9ac7..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-cross-compile.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -urN -x .git orig/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch patched/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch
---- orig/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch 1970-01-01 09:00:00.000000000 +0900
-+++ patched/thirdparty/ossp-uuid/ossp-uuid-cross-compile-fix.patch 2020-08-07 22:28:04.396770190 +0900
-@@ -0,0 +1,33 @@
-+diff -urN orig/config.sub patched/config.sub
-+--- orig/config.sub 2008-07-05 06:43:08.000000000 +0900
-++++ patched/config.sub 2020-08-07 22:23:48.412770731 +0900
-+@@ -238,6 +238,8 @@
-+ # Some are omitted here because they have special meanings below.
-+ 1750a | 580 \
-+ | a29k \
-++ | aarch64 | aarch64_be \
-++ | riscv32 | riscv64 \
-+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-+ | am33_2.0 \
-+@@ -314,6 +316,8 @@
-+ # Recognize the basic CPU types with company name.
-+ 580-* \
-+ | a29k-* \
-++ | aarch64-* | aarch64_be-* \
-++ | riscv32-* | riscv64-* \
-+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-+diff -urN orig/shtool patched/shtool
-+--- orig/shtool 2008-07-05 06:43:08.000000000 +0900
-++++ patched/shtool 2020-08-07 22:21:23.192771037 +0900
-+@@ -1400,7 +1400,7 @@
-+ if [ ".$opt_t" = .yes ]; then
-+ echo "strip $dsttmp" 1>&2
-+ fi
-+- strip $dsttmp || shtool_exit $?
-++ $STRIP $dsttmp || shtool_exit $?
-+ fi
-+ if [ ".$opt_o" != . ]; then
-+ if [ ".$opt_t" = .yes ]; then
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch
deleted file mode 100644
index 7caf848eb5..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/fix-osspuuid-musl-compile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -urN -x .git orig/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch patched/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch
---- orig/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch 1970-01-01 09:00:00.000000000 +0900
-+++ patched/thirdparty/ossp-uuid/ossp-uuid-musl-compile-fix.patch 2020-08-07 11:22:49.344854508 +0900
-@@ -0,0 +1,21 @@
-+diff -urN orig/config.sub patched/config.sub
-+--- orig/config.sub 2008-07-05 06:43:08.000000000 +0900
-++++ patched/config.sub 2020-08-07 11:19:25.948854937 +0900
-+@@ -120,7 +120,7 @@
-+ # Here we must recognize all the valid KERNEL-OS combinations.
-+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-+ case $maybe_os in
-+- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-++ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | linux-musl* | \
-+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
-+ storm-chaos* | os2-emx* | rtmk-nova*)
-+ os=-$maybe_os
-+@@ -1250,7 +1250,7 @@
-+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-+ | -chorusos* | -chorusrdb* \
-+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-+- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
-++ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* | -linux-musl* \
-+ | -uxpv* | -beos* | -mpeix* | -udk* \
-+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch b/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch
deleted file mode 100644
index 8c5db7c9e3..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/fix-rocksdb-cross-compile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN orig/thirdparty/rocksdb/CMakeLists.txt patched/thirdparty/rocksdb/CMakeLists.txt
---- orig/thirdparty/rocksdb/CMakeLists.txt 2020-07-28 11:39:40.254677515 +0900
-+++ patched/thirdparty/rocksdb/CMakeLists.txt 2020-07-28 11:51:11.898676054 +0900
-@@ -618,6 +618,7 @@
- add_library(${ROCKSDB_STATIC_LIB} STATIC ${SOURCES})
- target_link_libraries(${ROCKSDB_STATIC_LIB}
- ${THIRDPARTY_LIBS} ${SYSTEM_LIBS})
-+target_link_libraries(${ROCKSDB_STATIC_LIB} ${LIB_ATOMIC})
-
- if(WIN32)
- # add_library(${ROCKSDB_IMPORT_LIB} SHARED ${SOURCES})
-
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/minifi.service b/meta-oe/recipes-extended/minifi-cpp/files/minifi.service
deleted file mode 100644
index 059cdbcc23..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/minifi.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=MiNiFi Service
-After=network.target
-RequiresMountsFor=/var
-
-[Service]
-Type=simple
-WorkingDirectory=@LOCALSTATEDIR@/lib/minifi
-Environment=MINIFI_HOME=@SYSCONFDIR@/minifi
-ExecStart=@BINDIR@/minifi
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch b/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch
deleted file mode 100644
index 2d66576f6e..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/files/remove_const_due_to_std_lock_guard.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From bfce136fa9ff1e955928539484ba4dd55f98f05b Mon Sep 17 00:00:00 2001
-From: Willem Jan Withagen <wjw@digiware.nl>
-Date: Sun, 16 Aug 2020 23:38:55 +0200
-Subject: [PATCH] Update channel.h
-
-Compiling this on FreeBSD with CLang fails due to:
-```In file included from /usr/ports/net/ceph15/work/ceph-15.2.4/src/rocksdb/utilities/backupable/backupable_db.cc:16:
-/usr/ports/net/ceph15/work/ceph-15.2.4/src/rocksdb/util/channel.h:35:33: error: no matching constructor for initialization of 'std::lock_guard<std::mutex>'
- std::lock_guard<std::mutex> lk(lock_);
- ^ ~~~~~
-/usr/include/c++/v1/__mutex_base:90:14: note: candidate constructor not viable: 1st argument ('const std::mutex') would lose const qualifier
- explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m))
- ^
-/usr/include/c++/v1/__mutex_base:100:5: note: candidate constructor not viable: no known conversion from 'const std::mutex' to 'const std::__1::lock_guard<std::__1::mutex>' for 1st argument
- lock_guard(lock_guard const&) _LIBCPP_EQUAL_DELETE;
- ^
-/usr/include/c++/v1/__mutex_base:94:5: note: candidate constructor not viable: requires 2 arguments, but 1 was provided
- lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m))
- ^
-1 error generated.
-```
----
- thirdparty/rocksdb/util/channel.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/thirdparty/rocksdb/util/channel.h b/thirdparty/rocksdb/util/channel.h
-index 705fa2d28f..993bef5bc0 100644
---- a/thirdparty/rocksdb/util/channel.h
-+++ b/thirdparty/rocksdb/util/channel.h
-@@ -31,7 +31,7 @@ class channel {
- return buffer_.empty() && eof_;
- }
-
-- size_t size() const {
-+ size_t size() {
- std::lock_guard<std::mutex> lk(lock_);
- return buffer_.size();
- }
diff --git a/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.15.0.bb b/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.15.0.bb
new file mode 100644
index 0000000000..beb247c254
--- /dev/null
+++ b/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.15.0.bb
@@ -0,0 +1,201 @@
+SUMMARY = "A subproject of Apache NiFi to collect data where it originates."
+DESCRIPTION = "MiNiFi--a subproject of Apache NiFi--is a complementary \
+data collection approach that supplements the core tenets of NiFi in dataflow \
+management, focusing on the collection of data at the source of its creation."
+HOMEPAGE = "https://nifi.apache.org/minifi/index.html"
+SECTION = "console/network"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c62efdfb90a8aa4cc3bc15f56baa30b7"
+
+SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git;protocol=https;branch=main \
+ git://github.com/martinmoene/expected-lite.git;protocol=https;branch=master;name=expected-lite;destsuffix=${S}/thirdparty/expected-lite-src \
+ git://github.com/ericniebler/range-v3.git;protocol=https;branch=master;name=range-v3;destsuffix=${S}/thirdparty/range-v3-src \
+ git://github.com/Neargye/magic_enum.git;protocol=https;branch=master;name=magic-enum;destsuffix=${S}/thirdparty/magic-enum-src \
+ git://github.com/jarro2783/cxxopts.git;protocol=https;branch=v2_2;name=cxxopts;destsuffix=${S}/thirdparty/cxxopts-src \
+ git://github.com/gsl-lite/gsl-lite.git;protocol=https;branch=master;name=gsl-lite;destsuffix=${S}/thirdparty/gsl-lite-src \
+ git://github.com/HowardHinnant/date.git;protocol=https;branch=master;name=date;destsuffix=${S}/thirdparty/date-src \
+ git://github.com/chriskohlhoff/asio.git;protocol=https;branch=master;name=asio;destsuffix=${S}/thirdparty/asio-src \
+ git://github.com/gabime/spdlog.git;protocol=https;branch=v1.x;name=spdlog;destsuffix=${S}/thirdparty/spdlog-src \
+ git://github.com/civetweb/civetweb.git;protocol=https;branch=master;name=civetweb;destsuffix=${S}/thirdparty/civetweb-src \
+ ${DEBIAN_MIRROR}/main/o/ossp-uuid/ossp-uuid_1.6.2.orig.tar.gz;name=ossp-uuid;subdir=${S}/thirdparty \
+ https://download.libsodium.org/libsodium/releases/libsodium-1.0.19.tar.gz;name=libsodium;subdir=${S}/thirdparty \
+ file://0001-Do-not-use-bundled-packages.patch \
+ file://0002-Fix-osspuuid-build.patch \
+ file://0003-Fix-libsodium-build.patch \
+ file://0004-Fix-spdlog-build.patch \
+ file://0005-Pass-noline-flag-to-flex.patch \
+ file://0006-OsUtils.h-add-missing-header-cstdint-for-int64_t.patch \
+ file://0007-CMakeLists.txt-do-not-use-ccache.patch \
+ file://0008-libsodium-aarch64_crypto.patch \
+ file://systemd-volatile.conf \
+ file://sysvinit-volatile.conf \
+ "
+
+SRCREV = "9b55dc0c0f17a190f3e9ade87070a28faf542c25"
+SRCREV_expected-lite = "c8ffab649ba56e43c731b7017a69ddaebe2e1893"
+SRCREV_range-v3 = "a81477931a8aa2ad025c6bda0609f38e09e4d7ec"
+SRCREV_magic-enum = "e1ea11a93d0bdf6aae415124ded6126220fa4f28"
+SRCREV_cxxopts = "302302b30839505703d37fb82f536c53cf9172fa"
+SRCREV_gsl-lite = "755ba124b54914e672737acace6a9314f59e8d6f"
+SRCREV_date = "6e921e1b1d21e84a5c82416ba7ecd98e33a436d0"
+SRCREV_asio = "814f67e730e154547aea3f4d99f709cbdf1ea4a0"
+SRCREV_spdlog = "7c02e204c92545f869e2f04edaab1f19fe8b19fd"
+SRCREV_civetweb = "d7ba35bbb649209c66e582d5a0244ba988a15159"
+
+SRCREV_FORMAT .= "_expected-lite_range-v3_magic-enum_cxxopts_gsl-lite_date_asio_spdlog_civetweb"
+
+SRC_URI[ossp-uuid.sha256sum] = "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"
+SRC_URI[libsodium.sha256sum] = "018d79fe0a045cca07331d37bd0cb57b2e838c51bc48fd837a1472e50068bbea"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake systemd
+
+DEPENDS = "virtual/crypt bison-native flex-native flex openssl curl zlib xz bzip2 yaml-cpp"
+
+OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
+
+EXTRA_OECMAKE = " \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DHOST_SYS=${HOST_SYS} -DBUILD_SYS=${BUILD_SYS} \
+ -DGCC_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \
+ -DGCC_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \
+ -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
+ -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines --file-prefix-map=${S}=${TARGET_DBGSRC_DIR}' \
+ -DENABLE_ENCRYPT_CONFIG=ON \
+ -DENABLE_LUA_SCRIPTING=OFF \
+ -DENABLE_PYTHON_SCRIPTING=OFF \
+ -DENABLE_AWS=OFF \
+ -DENABLE_AZURE=OFF \
+ -DENABLE_GCP=OFF \
+ -DENABLE_KUBERNETES=OFF \
+ -DENABLE_MQTT=OFF \
+ -DENABLE_ELASTICSEARCH=OFF \
+ -DENABLE_SQL=OFF \
+ -DENABLE_PROMETHEUS=OFF \
+ -DENABLE_PROCFS=OFF \
+ -DENABLE_SPLUNK=OFF \
+ -DENABLE_OPC=OFF \
+ -DENABLE_LIBRDKAFKA=OFF \
+ -DDISABLE_CURL=OFF \
+ -DDISABLE_BZIP2=OFF \
+ -DDISABLE_LZMA=OFF \
+ -DDISABLE_JEMALLOC=ON \
+ -DSKIP_TESTS=ON \
+ -DFETCHCONTENT_SOURCE_DIR_GSL-LITE=${S}/thirdparty/gsl-lite-src \
+ -DFETCHCONTENT_SOURCE_DIR_DATE_SRC=${S}/thirdparty/date-src \
+ -DFETCHCONTENT_SOURCE_DIR_EXPECTED-LITE=${S}/thirdparty/expected-lite-src \
+ -DFETCHCONTENT_SOURCE_DIR_RANGE-V3_SRC=${S}/thirdparty/range-v3-src \
+ -DFETCHCONTENT_SOURCE_DIR_MAGIC_ENUM=${S}/thirdparty/magic-enum-src \
+ -DFETCHCONTENT_SOURCE_DIR_ASIO=${S}/thirdparty/asio-src \
+ -DFETCHCONTENT_SOURCE_DIR_CXXOPTS_SRC=${S}/thirdparty/cxxopts-src \
+ -DFETCHCONTENT_SOURCE_DIR_CIVETWEB=${S}/thirdparty/civetweb-src \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DENABLE_SYSTEMD=ON', '-DENABLE_SYSTEMD=OFF', d)} \
+ "
+
+PACKAGECONFIG ??= "civetweb libarchive rocksdb expression-language"
+PACKAGECONFIG[civetweb] = "-DDISABLE_CIVET=OFF,-DDISABLE_CIVET=ON"
+PACKAGECONFIG[openwsman] = "-DENABLE_OPENWSMAN=ON,-DENABLE_OPENWSMAN=OFF,libxml2"
+PACKAGECONFIG[libarchive] = "-DDISABLE_LIBARCHIVE=OFF,-DDISABLE_LIBARCHIVE=ON,libarchive"
+PACKAGECONFIG[rocksdb] = "-DDISABLE_ROCKSDB=OFF -DBUILD_ROCKSDB=OFF,-DDISABLE_ROCKSDB=ON,rocksdb"
+PACKAGECONFIG[expression-language] = "-DDISABLE_EXPRESSION_LANGUAGE=OFF, -DDISABLE_EXPRESSION_LANGUAGE=ON"
+
+SYSTEMD_PACKAGES = "minifi-cpp"
+SYSTEMD_SERVICE:${PN} = "minifi.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install[cleandirs] += "${WORKDIR}/minifi-install"
+PSEUDO_CONSIDER_PATHS .= ",${WORKDIR}/minifi-install"
+
+do_compile:prepend() {
+ # Remove build host references
+ sed -i -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
+ -e 's|${DEBUG_PREFIX_MAP}||g' \
+ -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
+ ${B}/libminifi/agent_version.cpp
+}
+
+do_install() {
+ DESTDIR='${WORKDIR}/minifi-install' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL}
+ MINIFI_BIN=${bindir}
+ MINIFI_HOME=${sysconfdir}/minifi
+ MINIFI_RUN=${localstatedir}/lib/minifi
+ MINIFI_LOG=${localstatedir}/log/minifi
+
+ install -m 755 -d ${D}${MINIFI_BIN}
+ install -m 755 -d ${D}${MINIFI_HOME}/conf
+ install -m 755 -d ${D}${localstatedir}/lib/minifi
+
+ for i in encrypt-config minifi minifi.sh minificontroller; do
+ install -m 755 ${WORKDIR}/minifi-install/usr/bin/${i} ${D}${MINIFI_BIN}
+ done
+ for i in config.yml minifi-log.properties minifi.properties minifi-uid.properties; do
+ install -m 644 ${WORKDIR}/minifi-install/usr/conf/${i} ${D}${MINIFI_HOME}/conf
+ done
+
+ install -m 755 -d ${D}${libdir}/minifi-extensions
+ install -m 755 ${WORKDIR}/minifi-install/usr/bin/libcore-minifi.so ${D}${libdir}
+ install -m 755 ${WORKDIR}/minifi-install/usr/extensions/*.so ${D}${libdir}/minifi-extensions
+
+ install -m 755 -d ${D}${libexecdir}/minifi-python
+ for i in examples google h2o; do
+ cp -rf ${WORKDIR}/minifi-install/usr/minifi-python/${i} ${D}${libexecdir}/minifi-python
+ done
+
+ sed -i "s|MINIFI_HOME=.*|MINIFI_HOME=${MINIFI_HOME}|g" ${D}${MINIFI_BIN}/minifi.sh
+ sed -i "s|bin_dir=.*|bin_dir=${MINIFI_BIN}|g" ${D}${MINIFI_BIN}/minifi.sh
+
+ sed -i "s|#appender.rolling.directory=.*|appender.rolling.directory=${MINIFI_LOG}|g" \
+ ${D}${MINIFI_HOME}/conf/minifi-log.properties
+ sed -i "s|nifi.provenance.repository.directory.default=.*|nifi.provenance.repository.directory.default=${MINIFI_RUN}/provenance_repository|g" \
+ ${D}${MINIFI_HOME}/conf/minifi.properties
+ sed -i "s|nifi.flowfile.repository.directory.default=.*|nifi.flowfile.repository.directory.default=${MINIFI_RUN}/flowfile_repository|g" \
+ ${D}${MINIFI_HOME}/conf/minifi.properties
+ sed -i "s|nifi.database.content.repository.directory.default=.*|nifi.database.content.repository.directory.default=${MINIFI_RUN}/content_repository|g" \
+ ${D}${MINIFI_HOME}/conf/minifi.properties
+ sed -i "s|nifi.flow.configuration.file=.*|nifi.flow.configuration.file=${MINIFI_HOME}/conf/config.yml|g" \
+ ${D}${MINIFI_HOME}/conf/minifi.properties
+ sed -i "s|nifi.python.processor.dir=.*|nifi.python.processor.dir=${libexecdir}/minifi-python|g" \
+ ${D}${MINIFI_HOME}/conf/minifi.properties
+ sed -i "s|nifi.extension.path=.*|nifi.extension.path=${libdir}/minifi-extensions/*|g" \
+ ${D}${MINIFI_HOME}/conf/minifi.properties
+
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -m 755 -d ${D}${sysconfdir}/tmpfiles.d
+ install -m 644 ${WORKDIR}/systemd-volatile.conf ${D}${sysconfdir}/tmpfiles.d/minifi.conf
+ sed -i "s|@MINIFI_LOG@|${MINIFI_LOG}|g" ${D}${sysconfdir}/tmpfiles.d/minifi.conf
+
+ install -m 755 -d ${D}${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/minifi-install/usr/bin/minifi.service ${D}${systemd_system_unitdir}
+
+ sed -i -e "s|^Environment=.*|Environment=MINIFI_HOME=${MINIFI_HOME}|g" ${D}${systemd_system_unitdir}/minifi.service
+ sed -i -e "s|^ExecStart=.*|ExecStart=${MINIFI_BIN}/minifi|g" ${D}${systemd_system_unitdir}/minifi.service
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/default/volatiles
+ install -m 0644 ${WORKDIR}/sysvinit-volatile.conf ${D}${sysconfdir}/default/volatiles/99_minifi
+
+ sed -i "s|@MINIFI_LOG@|${MINIFI_LOG}|g" ${D}${sysconfdir}/default/volatiles/99_minifi
+ fi
+}
+
+pkg_postinst:${PN}() {
+ if [ -z "$D" ]; then
+ if type systemd-tmpfiles >/dev/null; then
+ systemd-tmpfiles --create
+ elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+ ${sysconfdir}/init.d/populate-volatile.sh update
+ fi
+ fi
+}
+
+FILES:${PN}-dev = ""
+FILES:${PN} += "${libdir}/libcore-minifi.so \
+ ${libdir}/minifi-extensions \
+ ${libexecdir}/minifi-python \
+ "
+
+INSANE_SKIP:${PN} += "dev-deps"
+
+CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb b/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
deleted file mode 100644
index 322b58477d..0000000000
--- a/meta-oe/recipes-extended/minifi-cpp/minifi-cpp_0.7.0.bb
+++ /dev/null
@@ -1,137 +0,0 @@
-SUMMARY = "A subproject of Apache NiFi to collect data where it originates."
-DESCRIPTION = "MiNiFi--a subproject of Apache NiFi--is a complementary \
-data collection approach that supplements the core tenets of NiFi in dataflow \
-management, focusing on the collection of data at the source of its creation."
-HOMEPAGE = "https://nifi.apache.org/minifi/index.html"
-SECTION = "console/network"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f9534eb5f4ab800b573a37bffc62f3a7"
-
-DEPENDS = "virtual/crypt expat flex python3 bison-native libxml2 nettle lz4"
-RDEPENDS_${PN} = "python3-core"
-
-SRCREV = "aa42957a2e227df41510047cece3cd606dc1cb6a"
-SRC_URI = "git://github.com/apache/nifi-minifi-cpp.git \
- https://curl.haxx.se/download/curl-7.64.0.tar.bz2;name=curl;subdir=git/thirdparty \
- https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.8.3.tar.gz;name=libressl;subdir=git/thirdparty \
- ${DEBIAN_MIRROR}/main/o/ossp-uuid/ossp-uuid_1.6.2.orig.tar.gz;name=ossp-uuid;subdir=git/thirdparty \
- file://fix-minifi-compile.patch \
- file://fix-libressl-compile.patch \
- file://fix-libressl-avoid-BSWAP-assembly-for-ARM-v6.patch \
- file://fix-osspuuid-compile.patch \
- file://fix-osspuuid-cross-compile.patch \
- file://fix-osspuuid-musl-compile.patch \
- file://fix-rocksdb-cross-compile.patch \
- file://remove_const_due_to_std_lock_guard.patch \
- file://0001-Add-lxml2-to-linker-cmdline-of-xml-is-found.patch \
- file://0001-CMakeLists.txt-use-curl-local-source-tarball.patch \
- file://0002-cmake-LibreSSL.cmake-use-libressl-local-source-tarba.patch \
- file://0003-cmake-BundledOSSPUUID.cmake-use-ossp-uuid-local-sour.patch \
- file://0001-civetweb-CMakeLists.txt-do-not-search-gcc-ar-and-gcc.patch \
- file://0001-cxxopts-Add-limits-header.patch \
- file://minifi.service \
- file://systemd-volatile.conf \
- file://sysvinit-volatile.conf \
- "
-
-SRC_URI[curl.md5sum] = "d0bcc586873cfef08b4b9594e5395a33"
-SRC_URI[curl.sha256sum] = "d573ba1c2d1cf9d8533fadcce480d778417964e8d04ccddcc76e591d544cf2eb"
-SRC_URI[libressl.md5sum] = "0f1127bd21b4aa8495a910379c2ad936"
-SRC_URI[libressl.sha256sum] = "9b640b13047182761a99ce3e4f000be9687566e0828b4a72709e9e6a3ef98477"
-SRC_URI[ossp-uuid.md5sum] = "5db0d43a9022a6ebbbc25337ae28942f"
-SRC_URI[ossp-uuid.sha256sum] = "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig cmake systemd
-
-SYSTEMD_PACKAGES = "minifi-cpp"
-SYSTEMD_SERVICE_${PN} = "minifi.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
-
-EXTRA_OECMAKE += " \
- -DHOST_SYS=${HOST_SYS} -DBUILD_SYS=${BUILD_SYS} \
- -DSKIP_TESTS=ON \
- -DGCC_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \
- -DGCC_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \
- "
-EXTRA_OECMAKE_append_toolchain-clang = " -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib"
-LDFLAGS_append_toolchain-clang = " -fuse-ld=lld"
-
-# RV lld errors out:
-# riscv64-yoe-linux-ld.lld: error: init.c:(.text+0x0): relocation R_RISCV_ALIGN requires unimplemented linker relaxation; recompile with -mno-relax
-LDFLAGS_remove_riscv32 = "-fuse-ld=lld"
-LDFLAGS_remove_riscv64 = "-fuse-ld=lld"
-
-# There are endian issues when communicating with the x86 nifi on the the mips and the ppc machines.
-COMPATIBLE_MACHINE_mips = "(!.*mips).*"
-COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
-COMPATIBLE_MACHINE_powerpc = "(!.*ppc).*"
-
-TARGET_CFLAGS_append_riscv32 = " -fpic"
-TARGET_CXXFLAGS_append_riscv32 = " -fpic"
-TARGET_CFLAGS_append_riscv64 = " -fpic"
-TARGET_CXXFLAGS_append_riscv64 = " -fpic"
-
-do_install[cleandirs] += "${WORKDIR}/minifi-install"
-PSEUDO_CONSIDER_PATHS .= ",${WORKDIR}/minifi-install"
-
-do_install() {
- DESTDIR='${WORKDIR}/minifi-install' cmake_runcmake_build --target ${OECMAKE_TARGET_INSTALL}
- MINIFI_BIN=${bindir}
- MINIFI_HOME=${sysconfdir}/minifi
- MINIFI_RUN=${localstatedir}/lib/minifi
- MINIFI_LOG=${localstatedir}/log/minifi
-
- install -d ${D}${MINIFI_BIN}
- install -d ${D}${MINIFI_HOME}/conf
- install -m 755 -d ${D}${localstatedir}/lib/minifi
- cp -a ${WORKDIR}/minifi-install/usr/bin/* ${D}${MINIFI_BIN}/
- cp -a ${WORKDIR}/minifi-install/usr/conf/* ${D}${MINIFI_HOME}/conf/
-
- sed -i 's|#appender.rolling.directory=.*|appender.rolling.directory='${MINIFI_LOG}'|g' \
- ${D}${MINIFI_HOME}/conf/minifi-log.properties
- sed -i 's|nifi.provenance.repository.directory.default=.*|nifi.provenance.repository.directory.default='${MINIFI_RUN}'/provenance_repository|g' \
- ${D}${MINIFI_HOME}/conf/minifi.properties
- sed -i 's|nifi.flowfile.repository.directory.default=.*|nifi.flowfile.repository.directory.default='${MINIFI_RUN}'/flowfile_repository|g' \
- ${D}${MINIFI_HOME}/conf/minifi.properties
- sed -i 's|nifi.database.content.repository.directory.default=.*|nifi.database.content.repository.directory.default='${MINIFI_RUN}'/content_repository|g' \
- ${D}${MINIFI_HOME}/conf/minifi.properties
- sed -i 's|nifi.flow.configuration.file=.*|nifi.flow.configuration.file='${MINIFI_HOME}'/conf/config.yml|g' \
- ${D}${MINIFI_HOME}/conf/minifi.properties
-
- sed -i 's|export MINIFI_HOME=.*|export MINIFI_HOME='${MINIFI_HOME}'|g' ${D}${MINIFI_BIN}/minifi.sh
- sed -i 's|bin_dir=${MINIFI_HOME}/bin|bin_dir='${MINIFI_BIN}'|g' ${D}${MINIFI_BIN}/minifi.sh
- sed -i 's|pid_file=${bin_dir}/.|pid_file='${localstatedir}/run/'|g' ${D}${MINIFI_BIN}/minifi.sh
-
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${sysconfdir}/tmpfiles.d/
- install -m 0644 ${WORKDIR}/systemd-volatile.conf ${D}${sysconfdir}/tmpfiles.d/minifi.conf
- install -m 0755 -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/minifi.service ${D}${systemd_unitdir}/system/
-
- sed -i 's|@LOCALSTATEDIR@|${localstatedir}|g' ${D}${systemd_unitdir}/system/minifi.service
- sed -i 's|@SYSCONFDIR@|${sysconfdir}|g' ${D}${systemd_unitdir}/system/minifi.service
- sed -i 's|@BINDIR@|${bindir}|g' ${D}${systemd_unitdir}/system/minifi.service
-
- sed -i 's|@MINIFI_LOG@|'${MINIFI_LOG}'|g' ${D}${sysconfdir}/tmpfiles.d/minifi.conf
-
- elif ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -d ${D}${sysconfdir}/default/volatiles
- install -m 0644 ${WORKDIR}/sysvinit-volatile.conf ${D}${sysconfdir}/default/volatiles/99_minifi
-
- sed -i 's|@MINIFI_LOG@|'${MINIFI_LOG}'|g' ${D}${sysconfdir}/default/volatiles/99_minifi
- fi
-}
-
-pkg_postinst_${PN}() {
- if [ -z "$D" ]; then
- if type systemd-tmpfiles >/dev/null; then
- systemd-tmpfiles --create
- elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
- ${sysconfdir}/init.d/populate-volatile.sh update
- fi
- fi
-}
diff --git a/meta-oe/recipes-extended/minio/minio/modules.txt b/meta-oe/recipes-extended/minio/minio/modules.txt
new file mode 100644
index 0000000000..fbd01e51a9
--- /dev/null
+++ b/meta-oe/recipes-extended/minio/minio/modules.txt
@@ -0,0 +1,208 @@
+# github.com/charmbracelet/bubbletea v0.19.3
+## explicit
+# github.com/cheggaaa/pb v1.0.29
+## explicit
+# github.com/dustin/go-humanize v1.0.0
+## explicit
+# github.com/fatih/color v1.13.0
+## explicit
+# github.com/go-ole/go-ole v1.2.6
+## explicit
+# github.com/goccy/go-json v0.8.1
+## explicit
+# github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
+## explicit
+# github.com/google/uuid v1.3.0
+## explicit
+# github.com/inconshreveable/mousetrap v1.0.0
+## explicit
+# github.com/json-iterator/go v1.1.12
+## explicit
+# github.com/klauspost/compress v1.13.6
+## explicit
+# github.com/mattn/go-ieproxy v0.0.1
+## explicit
+# github.com/mattn/go-isatty v0.0.14
+## explicit
+# github.com/minio/cli v1.22.0
+## explicit
+# github.com/minio/colorjson v1.0.2
+## explicit
+# github.com/minio/filepath v1.0.0
+## explicit
+# github.com/minio/madmin-go v1.4.3
+## explicit
+# github.com/minio/md5-simd v1.1.2
+## explicit
+# github.com/minio/minio-go/v7 v7.0.30
+## explicit
+# github.com/minio/pkg v1.1.22
+## explicit
+# github.com/minio/selfupdate v0.4.0
+## explicit
+# github.com/minio/sha256-simd v1.0.0
+## explicit
+# github.com/mitchellh/go-homedir v1.1.0
+## explicit
+# github.com/pkg/xattr v0.4.4
+## explicit
+# github.com/posener/complete v1.2.3
+## explicit
+# github.com/prometheus/client_golang v1.12.1
+## explicit
+# github.com/prometheus/prom2json v1.3.1
+## explicit
+# github.com/rjeczalik/notify v0.9.2
+## explicit
+# github.com/rs/xid v1.3.0
+## explicit
+# github.com/secure-io/sio-go v0.3.1
+## explicit
+# github.com/shirou/gopsutil/v3 v3.21.12
+## explicit
+# github.com/tidwall/gjson v1.12.1
+## explicit
+# golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e
+## explicit
+# golang.org/x/net v0.0.0-20220225172249-27dd8689420f
+## explicit
+# golang.org/x/text v0.3.7
+## explicit
+# gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b
+## explicit
+# gopkg.in/h2non/filetype.v1 v1.0.5
+## explicit
+# gopkg.in/yaml.v2 v2.4.0
+## explicit
+# github.com/charmbracelet/bubbles v0.10.0
+## explicit
+# github.com/charmbracelet/lipgloss v0.4.1-0.20220204041308-bf2912e703f6
+## explicit
+# github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1
+## explicit
+# github.com/golang-jwt/jwt/v4 v4.4.1
+## explicit
+# github.com/navidys/tvxwidgets v0.1.0
+## explicit
+# github.com/olekukonko/tablewriter v0.0.5
+## explicit
+# github.com/prometheus/client_model v0.2.0
+## explicit
+# github.com/rivo/tview v0.0.0-20211202162923-2a6de950f73b
+## explicit
+# github.com/tinylib/msgp v1.1.6
+## explicit
+# golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
+## explicit
+# github.com/beorn7/perks v1.0.1
+## explicit
+# github.com/cespare/xxhash/v2 v2.1.2
+## explicit
+# github.com/containerd/console v1.0.2
+## explicit
+# github.com/coreos/go-semver v0.3.0
+## explicit
+# github.com/coreos/go-systemd/v22 v22.3.2
+## explicit
+# github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1
+## explicit
+# github.com/fatih/structs v1.1.0
+## explicit
+# github.com/gdamore/encoding v1.0.0
+## explicit
+# github.com/gogo/protobuf v1.3.2
+## explicit
+# github.com/golang/protobuf v1.5.2
+## explicit
+# github.com/hashicorp/errwrap v1.1.0
+## explicit
+# github.com/hashicorp/go-multierror v1.1.1
+## explicit
+# github.com/klauspost/cpuid/v2 v2.0.9
+## explicit
+# github.com/kr/text v0.2.0
+## explicit
+# github.com/lestrrat-go/backoff/v2 v2.0.8
+## explicit
+# github.com/lestrrat-go/blackmagic v1.0.0
+## explicit
+# github.com/lestrrat-go/httpcc v1.0.0
+## explicit
+# github.com/lestrrat-go/iter v1.0.1
+## explicit
+# github.com/lestrrat-go/jwx v1.2.14
+## explicit
+# github.com/lestrrat-go/option v1.0.0
+## explicit
+# github.com/lucasb-eyer/go-colorful v1.2.0
+## explicit
+# github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0
+## explicit
+# github.com/mattn/go-colorable v0.1.12
+## explicit
+# github.com/mattn/go-runewidth v0.0.13
+## explicit
+# github.com/matttproud/golang_protobuf_extensions v1.0.1
+## explicit
+# github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
+## explicit
+# github.com/modern-go/reflect2 v1.0.2
+## explicit
+# github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b
+## explicit
+# github.com/muesli/reflow v0.3.0
+## explicit
+# github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0
+## explicit
+# github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e
+## explicit
+# github.com/philhofer/fwd v1.1.1
+## explicit
+# github.com/pkg/errors v0.9.1
+## explicit
+# github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c
+## explicit
+# github.com/prometheus/common v0.33.0
+## explicit
+# github.com/prometheus/procfs v0.7.3
+## explicit
+# github.com/rivo/uniseg v0.2.0
+## explicit
+# github.com/sirupsen/logrus v1.8.1
+## explicit
+# github.com/tidwall/match v1.1.1
+## explicit
+# github.com/tidwall/pretty v1.2.0
+## explicit
+# github.com/tklauser/go-sysconf v0.3.9
+## explicit
+# github.com/tklauser/numcpus v0.3.0
+## explicit
+# github.com/yusufpapurcu/wmi v1.2.2
+## explicit
+# go.etcd.io/etcd/api/v3 v3.5.2
+## explicit
+# go.etcd.io/etcd/client/pkg/v3 v3.5.2
+## explicit
+# go.etcd.io/etcd/client/v3 v3.5.2
+## explicit
+# go.uber.org/atomic v1.9.0
+## explicit
+# go.uber.org/multierr v1.7.0
+## explicit
+# go.uber.org/zap v1.19.1
+## explicit
+# golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
+## explicit
+# golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
+## explicit
+# google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb
+## explicit
+# google.golang.org/grpc v1.43.0
+## explicit
+# google.golang.org/protobuf v1.27.1
+## explicit
+# gopkg.in/ini.v1 v1.66.3
+## explicit
+# gopkg.in/yaml.v3 v3.0.1
+## explicit
diff --git a/meta-oe/recipes-extended/minio/minio_git.bb b/meta-oe/recipes-extended/minio/minio_git.bb
new file mode 100644
index 0000000000..f278a728fd
--- /dev/null
+++ b/meta-oe/recipes-extended/minio/minio_git.bb
@@ -0,0 +1,166 @@
+HOMEPAGE = "https://github.com/minio/mc"
+SUMMARY = "MinIO Client is a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage."
+DESCRIPTION = "MinIO Client (mc) provides a modern alternative to \
+ UNIX commands like ls, cat, cp, mirror, diff, find \
+ etc. It supports filesystems and Amazon S3 compatible \
+ cloud storage service (AWS Signature v2 and v4). \
+"
+
+SRC_URI = "git://github.com/minio/mc;branch=master;name=mc;protocol=https \
+ file://modules.txt \
+ "
+
+include src_uri.inc
+
+SRCREV_mc = "01b87ecc02ffad47dfe13c2154ac31db3e3115df"
+
+SRCREV_FORMAT .= "_mc"
+
+GO_IMPORT = "import"
+
+LICENSE = "AGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=eb1e647870add0502f8f010b19de32af"
+
+PV = "${SRCREV_mc}"
+
+inherit go
+inherit goarch
+
+# | ./github.com/minio/mc/main.go:27:(.text+0xd258b8): relocation R_MIPS_HI16 against `a local symbol' cannot be used when making a shared object; recompile with -fPIC
+COMPATIBLE_HOST:mips = "null"
+# ERROR: QA Issue: minio: ELF binary /usr/sbin/mc has relocations in .text [textrel]
+# Needs fixing with go >= 1.20.4"
+EXCLUDE_FROM_WORLD = "1"
+
+DEPENDS += "rsync-native"
+
+do_compile() {
+
+ cd ${S}/src/${GO_IMPORT}
+
+ export GOFLAGS="-mod=vendor"
+ export GOPATH="$GOPATH:${S}/src/import/.gopath:${S}/src/import/vendor"
+ sites="github.com/charmbracelet/bubbletea:github.com/charmbracelet/bubbletea \
+ github.com/cheggaaa/pb:github.com/cheggaaa/pb \
+ github.com/dustin/go-humanize:github.com/dustin/go-humanize \
+ github.com/fatih/color:github.com/fatih/color \
+ github.com/go-ole/go-ole:github.com/go-ole/go-ole \
+ github.com/goccy/go-json:github.com/goccy/go-json \
+ github.com/google/shlex:github.com/google/shlex \
+ github.com/google/uuid:github.com/google/uuid \
+ github.com/inconshreveable/mousetrap:github.com/inconshreveable/mousetrap \
+ github.com/json-iterator/go:github.com/json-iterator/go \
+ github.com/klauspost/compress:github.com/klauspost/compress \
+ github.com/mattn/go-ieproxy:github.com/mattn/go-ieproxy \
+ github.com/mattn/go-isatty:github.com/mattn/go-isatty \
+ github.com/minio/cli:github.com/minio/cli \
+ github.com/minio/colorjson:github.com/minio/colorjson \
+ github.com/minio/filepath:github.com/minio/filepath \
+ github.com/minio/madmin-go:github.com/minio/madmin-go \
+ github.com/minio/md5-simd:github.com/minio/md5-simd \
+ github.com/minio/minio-go/v7:github.com/minio/minio-go/v7 \
+ github.com/minio/pkg:github.com/minio/pkg \
+ github.com/minio/selfupdate:github.com/minio/selfupdate \
+ github.com/minio/sha256-simd:github.com/minio/sha256-simd \
+ github.com/mitchellh/go-homedir:github.com/mitchellh/go-homedir \
+ github.com/pkg/xattr:github.com/pkg/xattr \
+ github.com/posener/complete:github.com/posener/complete \
+ github.com/prometheus/client_golang:github.com/prometheus/client_golang \
+ github.com/prometheus/prom2json:github.com/prometheus/prom2json \
+ github.com/rjeczalik/notify:github.com/rjeczalik/notify \
+ github.com/rs/xid:github.com/rs/xid \
+ github.com/secure-io/sio-go:github.com/secure-io/sio-go \
+ github.com/shirou/gopsutil/v3:github.com/shirou/gopsutil/v3 \
+ github.com/tidwall/gjson:github.com/tidwall/gjson \
+ golang.org/x/crypto:go.googlesource.com/crypto \
+ golang.org/x/net:go.googlesource.com/net \
+ golang.org/x/text:go.googlesource.com/text \
+ gopkg.in/check.v1:gopkg.in/check.v1 \
+ gopkg.in/h2non/filetype.v1:gopkg.in/h2non/filetype.v1 \
+ gopkg.in/yaml.v2:gopkg.in/yaml.v2 \
+ github.com/charmbracelet/bubbles:github.com/charmbracelet/bubbles \
+ github.com/charmbracelet/lipgloss:github.com/charmbracelet/lipgloss \
+ github.com/gdamore/tcell/v2:github.com/gdamore/tcell/v2 \
+ github.com/golang-jwt/jwt/v4:github.com/golang-jwt/jwt/v4 \
+ github.com/navidys/tvxwidgets:github.com/navidys/tvxwidgets \
+ github.com/olekukonko/tablewriter:github.com/olekukonko/tablewriter \
+ github.com/prometheus/client_model:github.com/prometheus/client_model \
+ github.com/rivo/tview:github.com/rivo/tview \
+ github.com/tinylib/msgp:github.com/tinylib/msgp \
+ golang.org/x/term:go.googlesource.com/term \
+ github.com/beorn7/perks:github.com/beorn7/perks \
+ github.com/cespare/xxhash/v2:github.com/cespare/xxhash/v2 \
+ github.com/containerd/console:github.com/containerd/console \
+ github.com/coreos/go-semver:github.com/coreos/go-semver \
+ github.com/coreos/go-systemd/v22:github.com/coreos/go-systemd/v22 \
+ github.com/decred/dcrd/dcrec/secp256k1/v4:github.com/decred/dcrd/dcrec/secp256k1/v4//dcrec/secp256k1 \
+ github.com/fatih/structs:github.com/fatih/structs \
+ github.com/gdamore/encoding:github.com/gdamore/encoding \
+ github.com/gogo/protobuf:github.com/gogo/protobuf \
+ github.com/golang/protobuf:github.com/golang/protobuf \
+ github.com/hashicorp/errwrap:github.com/hashicorp/errwrap \
+ github.com/hashicorp/go-multierror:github.com/hashicorp/go-multierror \
+ github.com/klauspost/cpuid/v2:github.com/klauspost/cpuid/v2 \
+ github.com/kr/text:github.com/kr/text \
+ github.com/lestrrat-go/backoff/v2:github.com/lestrrat-go/backoff/v2 \
+ github.com/lestrrat-go/blackmagic:github.com/lestrrat-go/blackmagic \
+ github.com/lestrrat-go/httpcc:github.com/lestrrat-go/httpcc \
+ github.com/lestrrat-go/iter:github.com/lestrrat-go/iter \
+ github.com/lestrrat-go/jwx:github.com/lestrrat-go/jwx \
+ github.com/lestrrat-go/option:github.com/lestrrat-go/option \
+ github.com/lucasb-eyer/go-colorful:github.com/lucasb-eyer/go-colorful \
+ github.com/lufia/plan9stats:github.com/lufia/plan9stats \
+ github.com/mattn/go-colorable:github.com/mattn/go-colorable \
+ github.com/mattn/go-runewidth:github.com/mattn/go-runewidth \
+ github.com/matttproud/golang_protobuf_extensions:github.com/matttproud/golang_protobuf_extensions \
+ github.com/modern-go/concurrent:github.com/modern-go/concurrent \
+ github.com/modern-go/reflect2:github.com/modern-go/reflect2 \
+ github.com/muesli/ansi:github.com/muesli/ansi \
+ github.com/muesli/reflow:github.com/muesli/reflow \
+ github.com/muesli/termenv:github.com/muesli/termenv \
+ github.com/niemeyer/pretty:github.com/niemeyer/pretty \
+ github.com/philhofer/fwd:github.com/philhofer/fwd \
+ github.com/pkg/errors:github.com/pkg/errors \
+ github.com/power-devops/perfstat:github.com/power-devops/perfstat \
+ github.com/prometheus/common:github.com/prometheus/common \
+ github.com/prometheus/procfs:github.com/prometheus/procfs \
+ github.com/rivo/uniseg:github.com/rivo/uniseg \
+ github.com/sirupsen/logrus:github.com/sirupsen/logrus \
+ github.com/tidwall/match:github.com/tidwall/match \
+ github.com/tidwall/pretty:github.com/tidwall/pretty \
+ github.com/tklauser/go-sysconf:github.com/tklauser/go-sysconf \
+ github.com/tklauser/numcpus:github.com/tklauser/numcpus \
+ github.com/yusufpapurcu/wmi:github.com/yusufpapurcu/wmi \
+ go.etcd.io/etcd/api/v3:github.com/etcd-io/etcd/api/v3//api \
+ go.etcd.io/etcd/client/pkg/v3:github.com/etcd-io/etcd/api/v3//client/pkg \
+ go.etcd.io/etcd/client/v3:github.com/etcd-io/etcd/api/v3//client/v3 \
+ go.uber.org/atomic:go.uber.org/atomic \
+ go.uber.org/multierr:go.uber.org/multierr \
+ go.uber.org/zap:go.uber.org/zap \
+ golang.org/x/sync:go.googlesource.com/sync \
+ golang.org/x/sys:go.googlesource.com/sys \
+ google.golang.org/genproto:google.golang.org/genproto \
+ google.golang.org/grpc:google.golang.org/grpc \
+ google.golang.org/protobuf:google.golang.org/protobuf \
+ gopkg.in/ini.v1:gopkg.in/ini.v1 \
+ gopkg.in/yaml.v3:gopkg.in/yaml.v3"
+ for s in $sites; do
+ site_dest=$(echo $s | cut -d: -f1)
+ site_source=$(echo $s | cut -d: -f2)
+ mkdir -p vendor.copy/$site_dest
+ [ -n "$(ls -A vendor.copy/$site_dest/*.go 2> /dev/null)" ] && { echo "[INFO] vendor.fetch/$site_source -> $site_dest: go copy skipped (files present)" ; true ; } || { echo "[INFO] $site_dest: copying .go files" ; rsync -a --exclude='vendor/' --exclude='.git/' vendor.fetch/$site_source/ vendor.copy/$site_dest ; }
+ done
+
+ ln -sf vendor.copy vendor
+ # these are bad symlinks, go validates them and breaks the build if they are present
+ rm -f vendor/go.etcd.io/etcd/client/v3/example_*
+
+ cp ${WORKDIR}/modules.txt vendor/
+
+ ${GO} build -trimpath
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install ${S}/src/${GO_IMPORT}/mc ${D}/${sbindir}/mc
+}
diff --git a/meta-oe/recipes-extended/minio/src_uri.inc b/meta-oe/recipes-extended/minio/src_uri.inc
new file mode 100644
index 0000000000..5cdc69dfca
--- /dev/null
+++ b/meta-oe/recipes-extended/minio/src_uri.inc
@@ -0,0 +1,509 @@
+# github.com/charmbracelet/bubbletea v0.19.3
+# [1] git ls-remote https://github.com/charmbracelet/bubbletea 3dc51789d11229a1fb00f137d02b50b04cac372b
+SRCREV_bubbletea="3dc51789d11229a1fb00f137d02b50b04cac372b"
+SRC_URI += "git://github.com/charmbracelet/bubbletea;name=bubbletea;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/charmbracelet/bubbletea"
+
+# github.com/cheggaaa/pb v1.0.29
+# [1] git ls-remote https://github.com/cheggaaa/pb e2a33cc368a206516cc95f7bdd9176db0b83f098
+SRCREV_pb="e2a33cc368a206516cc95f7bdd9176db0b83f098"
+SRC_URI += "git://github.com/cheggaaa/pb;name=pb;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cheggaaa/pb"
+
+# github.com/dustin/go-humanize v1.0.0
+# [1] git ls-remote https://github.com/dustin/go-humanize e673fa1ffc91213297a60d18a6f513aa74bced52
+SRCREV_go-humanize="e673fa1ffc91213297a60d18a6f513aa74bced52"
+SRC_URI += "git://github.com/dustin/go-humanize;name=go-humanize;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/dustin/go-humanize"
+
+# github.com/fatih/color v1.13.0
+# [1] git ls-remote https://github.com/fatih/color a05da93ebe62ca9fc6791d3376ec4dad01196448
+SRCREV_color="a05da93ebe62ca9fc6791d3376ec4dad01196448"
+SRC_URI += "git://github.com/fatih/color;name=color;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fatih/color"
+
+# github.com/go-ole/go-ole v1.2.6
+# [1] git ls-remote https://github.com/go-ole/go-ole 8b1f7f90f6b1728609c9694f2cff140d34fd91f8
+SRCREV_go-ole="8b1f7f90f6b1728609c9694f2cff140d34fd91f8"
+SRC_URI += "git://github.com/go-ole/go-ole;name=go-ole;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/go-ole/go-ole"
+
+# github.com/goccy/go-json v0.8.1
+# [1] git ls-remote https://github.com/goccy/go-json de89bd3db67f2219c6183ec6febe2b5f7a6b06fb
+SRCREV_go-json="de89bd3db67f2219c6183ec6febe2b5f7a6b06fb"
+SRC_URI += "git://github.com/goccy/go-json;name=go-json;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/goccy/go-json"
+
+# github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
+# [1] git ls-remote https://github.com/google/shlex e7afc7fbc51079733e9468cdfd1efcd7d196cd1d
+SRCREV_shlex="e7afc7fbc51079733e9468cdfd1efcd7d196cd1d"
+SRC_URI += "git://github.com/google/shlex;name=shlex;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/shlex"
+
+# github.com/google/uuid v1.3.0
+# [1] git ls-remote https://github.com/google/uuid 44b5fee7c49cf3bcdf723f106b36d56ef13ccc88
+SRCREV_uuid="44b5fee7c49cf3bcdf723f106b36d56ef13ccc88"
+SRC_URI += "git://github.com/google/uuid;name=uuid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/google/uuid"
+
+# github.com/inconshreveable/mousetrap v1.0.0
+# [1] git ls-remote https://github.com/inconshreveable/mousetrap 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75
+SRCREV_mousetrap="76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
+SRC_URI += "git://github.com/inconshreveable/mousetrap;name=mousetrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/inconshreveable/mousetrap"
+
+# github.com/json-iterator/go v1.1.12
+# [1] git ls-remote https://github.com/json-iterator/go 024077e996b048517130b21ea6bf12aa23055d3d
+SRCREV_go="024077e996b048517130b21ea6bf12aa23055d3d"
+SRC_URI += "git://github.com/json-iterator/go;name=go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/json-iterator/go"
+
+# github.com/klauspost/compress v1.13.6
+# [1] git ls-remote https://github.com/klauspost/compress 38d4ba985ac157cb858763e016645e14e74c13c4
+SRCREV_compress="38d4ba985ac157cb858763e016645e14e74c13c4"
+SRC_URI += "git://github.com/klauspost/compress;name=compress;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/klauspost/compress"
+
+# github.com/mattn/go-ieproxy v0.0.1
+# [1] git ls-remote https://github.com/mattn/go-ieproxy 439dd0581a2a03b415673a2462ad5c21eaabc588
+SRCREV_go-ieproxy="439dd0581a2a03b415673a2462ad5c21eaabc588"
+SRC_URI += "git://github.com/mattn/go-ieproxy;name=go-ieproxy;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-ieproxy"
+
+# github.com/mattn/go-isatty v0.0.14
+# [1] git ls-remote https://github.com/mattn/go-isatty 504425e14f742f1f517c4586048b49b37f829c8e
+SRCREV_go-isatty="504425e14f742f1f517c4586048b49b37f829c8e"
+SRC_URI += "git://github.com/mattn/go-isatty;name=go-isatty;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-isatty"
+
+# github.com/minio/cli v1.22.0
+# [1] git ls-remote https://github.com/minio/cli 735b30120ed7535d13933b0246f8a75cf80b0f74
+SRCREV_cli="735b30120ed7535d13933b0246f8a75cf80b0f74"
+SRC_URI += "git://github.com/minio/cli;name=cli;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/cli"
+
+# github.com/minio/colorjson v1.0.2
+# [1] git ls-remote https://github.com/minio/colorjson f964b335cdb6cd51dff32a726d3d6ab9e1db0633
+SRCREV_colorjson="f964b335cdb6cd51dff32a726d3d6ab9e1db0633"
+SRC_URI += "git://github.com/minio/colorjson;name=colorjson;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/colorjson"
+
+# github.com/minio/filepath v1.0.0
+# [1] git ls-remote https://github.com/minio/filepath a116cb5d2b6396deea35d06389e3e9809c887fcf
+SRCREV_filepath="a116cb5d2b6396deea35d06389e3e9809c887fcf"
+SRC_URI += "git://github.com/minio/filepath;name=filepath;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/filepath"
+
+# github.com/minio/madmin-go v1.4.3
+# [1] git ls-remote https://github.com/minio/madmin-go 4f71c826739af4ebf73308e7f9a849a781859f78
+SRCREV_madmin-go="4f71c826739af4ebf73308e7f9a849a781859f78"
+SRC_URI += "git://github.com/minio/madmin-go;name=madmin-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/madmin-go"
+
+# github.com/minio/md5-simd v1.1.2
+# [1] git ls-remote https://github.com/minio/md5-simd 776275e0c9a74ceebbd50fe5c1d61b0c80c608df
+SRCREV_md5-simd="776275e0c9a74ceebbd50fe5c1d61b0c80c608df"
+SRC_URI += "git://github.com/minio/md5-simd;name=md5-simd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/md5-simd"
+
+# github.com/minio/minio-go/v7 v7.0.30
+# [1] git ls-remote https://github.com/minio/minio-go 81c303325bb4426c89776854b2ea4f7936deb11c
+SRCREV_v7="81c303325bb4426c89776854b2ea4f7936deb11c"
+SRC_URI += "git://github.com/minio/minio-go;name=v7;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/minio-go/v7"
+
+# github.com/minio/pkg v1.1.22
+# [1] git ls-remote https://github.com/minio/pkg 3b76bdaec27995a31d0b0a7959bbef55bfe0d364
+SRCREV_pkg="3b76bdaec27995a31d0b0a7959bbef55bfe0d364"
+SRC_URI += "git://github.com/minio/pkg;name=pkg;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/pkg"
+
+# github.com/minio/selfupdate v0.4.0
+# [1] git ls-remote https://github.com/minio/selfupdate 9e32fb8d38277355add4fa3983edb0b376d12bb5
+SRCREV_selfupdate="9e32fb8d38277355add4fa3983edb0b376d12bb5"
+SRC_URI += "git://github.com/minio/selfupdate;name=selfupdate;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/selfupdate"
+
+# github.com/minio/sha256-simd v1.0.0
+# [1] git ls-remote https://github.com/minio/sha256-simd 6a57409d8e0fa3ae883aee331b71aaa40d5a7dd9
+SRCREV_sha256-simd="6a57409d8e0fa3ae883aee331b71aaa40d5a7dd9"
+SRC_URI += "git://github.com/minio/sha256-simd;name=sha256-simd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/minio/sha256-simd"
+
+# github.com/mitchellh/go-homedir v1.1.0
+# [1] git ls-remote https://github.com/mitchellh/go-homedir af06845cf3004701891bf4fdb884bfe4920b3727
+SRCREV_go-homedir="af06845cf3004701891bf4fdb884bfe4920b3727"
+SRC_URI += "git://github.com/mitchellh/go-homedir;name=go-homedir;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mitchellh/go-homedir"
+
+# github.com/pkg/xattr v0.4.4
+# [1] git ls-remote https://github.com/pkg/xattr 8725d4ccc0fcef59c8d9f0eaf606b3c6f962467a
+SRCREV_xattr="8725d4ccc0fcef59c8d9f0eaf606b3c6f962467a"
+SRC_URI += "git://github.com/pkg/xattr;name=xattr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pkg/xattr"
+
+# github.com/posener/complete v1.2.3
+# [1] git ls-remote https://github.com/posener/complete 05b68ffc813dd10c420993cb1cf927b346c057b8
+SRCREV_complete="05b68ffc813dd10c420993cb1cf927b346c057b8"
+SRC_URI += "git://github.com/posener/complete;name=complete;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/posener/complete"
+
+# github.com/prometheus/client_golang v1.12.1
+# [1] git ls-remote https://github.com/prometheus/client_golang 2e1c4818ccfdcf953ce399cadad615ff2bed968c
+SRCREV_client_golang="2e1c4818ccfdcf953ce399cadad615ff2bed968c"
+SRC_URI += "git://github.com/prometheus/client_golang;name=client_golang;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/client_golang"
+
+# github.com/prometheus/prom2json v1.3.1
+# [1] git ls-remote https://github.com/prometheus/prom2json ac13972e54feb2f8eafc9a613112cb310f5463dc
+SRCREV_prom2json="ac13972e54feb2f8eafc9a613112cb310f5463dc"
+SRC_URI += "git://github.com/prometheus/prom2json;name=prom2json;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/prom2json"
+
+# github.com/rjeczalik/notify v0.9.2
+# [1] git ls-remote https://github.com/rjeczalik/notify 69d839f37b13a8cb7a78366f7633a4071cb43be7
+SRCREV_notify="69d839f37b13a8cb7a78366f7633a4071cb43be7"
+SRC_URI += "git://github.com/rjeczalik/notify;name=notify;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rjeczalik/notify"
+
+# github.com/rs/xid v1.3.0
+# [1] git ls-remote https://github.com/rs/xid efa678f304ab65d6d57eedcb086798381ae22206
+SRCREV_xid="efa678f304ab65d6d57eedcb086798381ae22206"
+SRC_URI += "git://github.com/rs/xid;name=xid;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rs/xid"
+
+# github.com/secure-io/sio-go v0.3.1
+# [1] git ls-remote https://github.com/secure-io/sio-go a455d2cd8fcacdfe18557d117db15c0629fb7e2c
+SRCREV_sio-go="a455d2cd8fcacdfe18557d117db15c0629fb7e2c"
+SRC_URI += "git://github.com/secure-io/sio-go;name=sio-go;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/secure-io/sio-go"
+
+# github.com/shirou/gopsutil/v3 v3.21.12
+# [1] git ls-remote https://github.com/shirou/gopsutil 2f8da0a39487ceddf44cebe53a1b563b0b7173cc
+SRCREV_v3="2f8da0a39487ceddf44cebe53a1b563b0b7173cc"
+SRC_URI += "git://github.com/shirou/gopsutil;name=v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/shirou/gopsutil/v3"
+
+# github.com/tidwall/gjson v1.12.1
+# [1] git ls-remote https://github.com/tidwall/gjson db0033701cccc8e2e43b77d03e4f509a48b6b2f2
+SRCREV_gjson="db0033701cccc8e2e43b77d03e4f509a48b6b2f2"
+SRC_URI += "git://github.com/tidwall/gjson;name=gjson;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tidwall/gjson"
+
+# golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e
+# [1] git ls-remote https://go.googlesource.com/crypto 793ad666bf5ec61392092b27061be9618e4e219b
+SRCREV_crypto="793ad666bf5ec61392092b27061be9618e4e219b"
+SRC_URI += "git://go.googlesource.com/crypto;name=crypto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.googlesource.com/crypto"
+
+# golang.org/x/net v0.0.0-20220225172249-27dd8689420f
+# [1] git ls-remote https://go.googlesource.com/net 27dd8689420fcde088514397d015e4fea5174e0e
+SRCREV_net="27dd8689420fcde088514397d015e4fea5174e0e"
+SRC_URI += "git://go.googlesource.com/net;name=net;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.googlesource.com/net"
+
+# golang.org/x/text v0.3.7
+# [1] git ls-remote https://go.googlesource.com/text 3cd4007149f3f883d229d707172ed356727aae99
+SRCREV_text="3cd4007149f3f883d229d707172ed356727aae99"
+SRC_URI += "git://go.googlesource.com/text;name=text;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.googlesource.com/text"
+
+# gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b
+# [1] git ls-remote https://gopkg.in/check.v1 038fdea0a05bc030b0bfda479dc2e08d2220ec74
+SRCREV_check.v1="038fdea0a05bc030b0bfda479dc2e08d2220ec74"
+SRC_URI += "git://gopkg.in/check.v1;name=check.v1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/check.v1"
+
+# gopkg.in/h2non/filetype.v1 v1.0.5
+# [1] git ls-remote https://gopkg.in/h2non/filetype.v1 8f3142c797f0413f00dadaf1bf97dd0b7b1f8d8b
+SRCREV_filetype.v1="8f3142c797f0413f00dadaf1bf97dd0b7b1f8d8b"
+SRC_URI += "git://gopkg.in/h2non/filetype.v1;name=filetype.v1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/h2non/filetype.v1"
+
+# gopkg.in/yaml.v2 v2.4.0
+# [1] git ls-remote https://gopkg.in/yaml.v2 7649d4548cb53a614db133b2a8ac1f31859dda8c
+SRCREV_yaml.v2="7649d4548cb53a614db133b2a8ac1f31859dda8c"
+SRC_URI += "git://gopkg.in/yaml.v2;name=yaml.v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/yaml.v2"
+
+# github.com/charmbracelet/bubbles v0.10.0
+# [1] git ls-remote https://github.com/charmbracelet/bubbles 7714089ad7c81898564ebeb7b6876b5844e26ccd
+SRCREV_bubbles="7714089ad7c81898564ebeb7b6876b5844e26ccd"
+SRC_URI += "git://github.com/charmbracelet/bubbles;name=bubbles;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/charmbracelet/bubbles"
+
+# github.com/charmbracelet/lipgloss v0.4.1-0.20220204041308-bf2912e703f6
+# [1] git ls-remote https://github.com/charmbracelet/lipgloss bf2912e703f6ecf88a1b843472afd47ce5002caf
+SRCREV_lipgloss="bf2912e703f6ecf88a1b843472afd47ce5002caf"
+SRC_URI += "git://github.com/charmbracelet/lipgloss;name=lipgloss;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/charmbracelet/lipgloss"
+
+# github.com/gdamore/tcell/v2 v2.4.1-0.20210905002822-f057f0a857a1
+# [1] git ls-remote https://github.com/gdamore/tcell f057f0a857a1b3ac3e4fff8c6cfe8126f8387cd1
+SRCREV_v2="f057f0a857a1b3ac3e4fff8c6cfe8126f8387cd1"
+SRC_URI += "git://github.com/gdamore/tcell;name=v2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gdamore/tcell/v2"
+
+# github.com/golang-jwt/jwt/v4 v4.4.1
+# [1] git ls-remote https://github.com/golang-jwt/jwt 0972257eba279bb357882afc11db8218644ad565
+SRCREV_v4="0972257eba279bb357882afc11db8218644ad565"
+SRC_URI += "git://github.com/golang-jwt/jwt;name=v4;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang-jwt/jwt/v4"
+
+# github.com/navidys/tvxwidgets v0.1.0
+# [1] git ls-remote https://github.com/navidys/tvxwidgets f017cfd5ce6d4bd7fb22529305d7a438c3f1369d
+SRCREV_tvxwidgets="f017cfd5ce6d4bd7fb22529305d7a438c3f1369d"
+SRC_URI += "git://github.com/navidys/tvxwidgets;name=tvxwidgets;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/navidys/tvxwidgets"
+
+# github.com/olekukonko/tablewriter v0.0.5
+# [1] git ls-remote https://github.com/olekukonko/tablewriter c7d2a8a09b076b70918308a3cd95464b2ae3b5d8
+SRCREV_tablewriter="c7d2a8a09b076b70918308a3cd95464b2ae3b5d8"
+SRC_URI += "git://github.com/olekukonko/tablewriter;name=tablewriter;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/olekukonko/tablewriter"
+
+# github.com/prometheus/client_model v0.2.0
+# [1] git ls-remote https://github.com/prometheus/client_model f44e7adcba5ee54c8a94709e6fc300d83245f171
+SRCREV_client_model="f44e7adcba5ee54c8a94709e6fc300d83245f171"
+SRC_URI += "git://github.com/prometheus/client_model;name=client_model;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/client_model"
+
+# github.com/rivo/tview v0.0.0-20211202162923-2a6de950f73b
+# [1] git ls-remote https://github.com/rivo/tview 2a6de950f73bdc70658f7e754d4b5593f15c8408
+SRCREV_tview="2a6de950f73bdc70658f7e754d4b5593f15c8408"
+SRC_URI += "git://github.com/rivo/tview;name=tview;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rivo/tview"
+
+# github.com/tinylib/msgp v1.1.6
+# [1] git ls-remote https://github.com/tinylib/msgp 205265da651409c54677b486e350b4d105da6d8b
+SRCREV_msgp="205265da651409c54677b486e350b4d105da6d8b"
+SRC_URI += "git://github.com/tinylib/msgp;name=msgp;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tinylib/msgp"
+
+# golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
+# [1] git ls-remote https://go.googlesource.com/term 03fcf44c2211dcd5eb77510b5f7c1fb02d6ded50
+SRCREV_term="03fcf44c2211dcd5eb77510b5f7c1fb02d6ded50"
+SRC_URI += "git://go.googlesource.com/term;name=term;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.googlesource.com/term"
+
+# github.com/beorn7/perks v1.0.1
+# [1] git ls-remote https://github.com/beorn7/perks c49ff274687222a7373c4cd83578f1065cf3e143
+SRCREV_perks="c49ff274687222a7373c4cd83578f1065cf3e143"
+SRC_URI += "git://github.com/beorn7/perks;name=perks;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/beorn7/perks"
+
+# github.com/cespare/xxhash/v2 v2.1.2
+# [1] git ls-remote https://github.com/cespare/xxhash 7ae26c41ed6fb1f8a6c21e05eeff4d91b5e401c4
+SRCREV_v21="7ae26c41ed6fb1f8a6c21e05eeff4d91b5e401c4"
+SRC_URI += "git://github.com/cespare/xxhash;name=v21;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/cespare/xxhash/v2"
+
+# github.com/containerd/console v1.0.2
+# [1] git ls-remote https://github.com/containerd/console d5efa7d56fd239f7f3dad2ab6685db09359a3618
+SRCREV_console="d5efa7d56fd239f7f3dad2ab6685db09359a3618"
+SRC_URI += "git://github.com/containerd/console;name=console;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/containerd/console"
+
+# github.com/coreos/go-semver v0.3.0
+# [1] git ls-remote https://github.com/coreos/go-semver 6e25b691b0ebe9657dd0ee60d73a9f8716f0c6f5
+SRCREV_go-semver="6e25b691b0ebe9657dd0ee60d73a9f8716f0c6f5"
+SRC_URI += "git://github.com/coreos/go-semver;name=go-semver;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-semver"
+
+# github.com/coreos/go-systemd/v22 v22.3.2
+# [1] git ls-remote https://github.com/coreos/go-systemd 0b40357fd65760243a3eceb80a299772c23c8470
+SRCREV_v22="0b40357fd65760243a3eceb80a299772c23c8470"
+SRC_URI += "git://github.com/coreos/go-systemd;name=v22;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/coreos/go-systemd/v22"
+
+# github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1
+# [1] git ls-remote https://github.com/decred/dcrd 75f1b4dac2e43133f3281ac63a9ef9eb699200e5
+SRCREV_v41="75f1b4dac2e43133f3281ac63a9ef9eb699200e5"
+SRC_URI += "git://github.com/decred/dcrd;name=v41;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/decred/dcrd/dcrec/secp256k1/v4"
+
+# github.com/fatih/structs v1.1.0
+# [1] git ls-remote https://github.com/fatih/structs 4966fc68f5b7593aafa6cbbba2d65ec6e1416047
+SRCREV_structs="4966fc68f5b7593aafa6cbbba2d65ec6e1416047"
+SRC_URI += "git://github.com/fatih/structs;name=structs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/fatih/structs"
+
+# github.com/gdamore/encoding v1.0.0
+# [1] git ls-remote https://github.com/gdamore/encoding 79c592247a6248468805a0e297f43a7cac979903
+SRCREV_encoding="79c592247a6248468805a0e297f43a7cac979903"
+SRC_URI += "git://github.com/gdamore/encoding;name=encoding;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gdamore/encoding"
+
+# github.com/gogo/protobuf v1.3.2
+# [1] git ls-remote https://github.com/gogo/protobuf b03c65ea87cdc3521ede29f62fe3ce239267c1bc
+SRCREV_protobuf="b03c65ea87cdc3521ede29f62fe3ce239267c1bc"
+SRC_URI += "git://github.com/gogo/protobuf;name=protobuf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/gogo/protobuf"
+
+# github.com/golang/protobuf v1.5.2
+# [1] git ls-remote https://github.com/golang/protobuf ae97035608a719c7a1c1c41bed0ae0744bdb0c6f
+SRCREV_protobuf1="ae97035608a719c7a1c1c41bed0ae0744bdb0c6f"
+SRC_URI += "git://github.com/golang/protobuf;name=protobuf1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/golang/protobuf"
+
+# github.com/hashicorp/errwrap v1.1.0
+# [1] git ls-remote https://github.com/hashicorp/errwrap 7b00e5db719c64d14dd0caaacbd13e76254d02c0
+SRCREV_errwrap="7b00e5db719c64d14dd0caaacbd13e76254d02c0"
+SRC_URI += "git://github.com/hashicorp/errwrap;name=errwrap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/errwrap"
+
+# github.com/hashicorp/go-multierror v1.1.1
+# [1] git ls-remote https://github.com/hashicorp/go-multierror 9974e9ec57696378079ecc3accd3d6f29401b3a0
+SRCREV_go-multierror="9974e9ec57696378079ecc3accd3d6f29401b3a0"
+SRC_URI += "git://github.com/hashicorp/go-multierror;name=go-multierror;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/hashicorp/go-multierror"
+
+# github.com/klauspost/cpuid/v2 v2.0.9
+# [1] git ls-remote https://github.com/klauspost/cpuid 6903d4066801a7d800d4537ee9eebe81ea97000e
+SRCREV_v212="6903d4066801a7d800d4537ee9eebe81ea97000e"
+SRC_URI += "git://github.com/klauspost/cpuid;name=v212;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/klauspost/cpuid/v2"
+
+# github.com/kr/text v0.2.0
+# [1] git ls-remote https://github.com/kr/text 0e5f52c28dd72ab84daeb81b5a51f20fdc35f9c5
+SRCREV_text1="0e5f52c28dd72ab84daeb81b5a51f20fdc35f9c5"
+SRC_URI += "git://github.com/kr/text;name=text1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/kr/text"
+
+# github.com/lestrrat-go/backoff/v2 v2.0.8
+# [1] git ls-remote https://github.com/lestrrat-go/backoff c3af762cb9d2bc8339e1d5099a4550366a675f60
+SRCREV_v2123="c3af762cb9d2bc8339e1d5099a4550366a675f60"
+SRC_URI += "git://github.com/lestrrat-go/backoff;name=v2123;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lestrrat-go/backoff/v2"
+
+# github.com/lestrrat-go/blackmagic v1.0.0
+# [1] git ls-remote https://github.com/lestrrat-go/blackmagic 370527f88bbfd5be3192a38af3148dbd64f0976f
+SRCREV_blackmagic="370527f88bbfd5be3192a38af3148dbd64f0976f"
+SRC_URI += "git://github.com/lestrrat-go/blackmagic;name=blackmagic;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lestrrat-go/blackmagic"
+
+# github.com/lestrrat-go/httpcc v1.0.0
+# [1] git ls-remote https://github.com/lestrrat-go/httpcc e7e8fea419e32f7549252ad15ecf17f3a3c1a268
+SRCREV_httpcc="e7e8fea419e32f7549252ad15ecf17f3a3c1a268"
+SRC_URI += "git://github.com/lestrrat-go/httpcc;name=httpcc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lestrrat-go/httpcc"
+
+# github.com/lestrrat-go/iter v1.0.1
+# [1] git ls-remote https://github.com/lestrrat-go/iter 628869e97ee3dcc09033086e547a5cab96b0d708
+SRCREV_iter="628869e97ee3dcc09033086e547a5cab96b0d708"
+SRC_URI += "git://github.com/lestrrat-go/iter;name=iter;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lestrrat-go/iter"
+
+# github.com/lestrrat-go/jwx v1.2.14
+# [1] git ls-remote https://github.com/lestrrat-go/jwx de7d9bca43812abc4f630320f8632108ccfe34bf
+SRCREV_jwx="de7d9bca43812abc4f630320f8632108ccfe34bf"
+SRC_URI += "git://github.com/lestrrat-go/jwx;name=jwx;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lestrrat-go/jwx"
+
+# github.com/lestrrat-go/option v1.0.0
+# [1] git ls-remote https://github.com/lestrrat-go/option 7e3467dce320ff45667b138ae503367c92deaa0b
+SRCREV_option="7e3467dce320ff45667b138ae503367c92deaa0b"
+SRC_URI += "git://github.com/lestrrat-go/option;name=option;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lestrrat-go/option"
+
+# github.com/lucasb-eyer/go-colorful v1.2.0
+# [1] git ls-remote https://github.com/lucasb-eyer/go-colorful d2b05a0d83cca9d610425691c3253d5f36d0ad06
+SRCREV_go-colorful="d2b05a0d83cca9d610425691c3253d5f36d0ad06"
+SRC_URI += "git://github.com/lucasb-eyer/go-colorful;name=go-colorful;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lucasb-eyer/go-colorful"
+
+# github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0
+# [1] git ls-remote https://github.com/lufia/plan9stats 39d0f177ccd07bdf5eb6f051ab9b09651f05d6f2
+SRCREV_plan9stats="39d0f177ccd07bdf5eb6f051ab9b09651f05d6f2"
+SRC_URI += "git://github.com/lufia/plan9stats;name=plan9stats;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/lufia/plan9stats"
+
+# github.com/mattn/go-colorable v0.1.12
+# [1] git ls-remote https://github.com/mattn/go-colorable e1bb79c8d53c38a60962ad4b8f658226cc983710
+SRCREV_go-colorable="e1bb79c8d53c38a60962ad4b8f658226cc983710"
+SRC_URI += "git://github.com/mattn/go-colorable;name=go-colorable;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-colorable"
+
+# github.com/mattn/go-runewidth v0.0.13
+# [1] git ls-remote https://github.com/mattn/go-runewidth df1ff59654317c1b5a3f860ffc47402931932104
+SRCREV_go-runewidth="df1ff59654317c1b5a3f860ffc47402931932104"
+SRC_URI += "git://github.com/mattn/go-runewidth;name=go-runewidth;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/mattn/go-runewidth"
+
+# github.com/matttproud/golang_protobuf_extensions v1.0.1
+# [1] git ls-remote https://github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c
+SRCREV_golang_protobuf_extensions="c12348ce28de40eed0136aa2b644d0ee0650e56c"
+SRC_URI += "git://github.com/matttproud/golang_protobuf_extensions;name=golang_protobuf_extensions;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/matttproud/golang_protobuf_extensions"
+
+# github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
+# [1] git ls-remote https://github.com/modern-go/concurrent bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94
+SRCREV_concurrent="bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94"
+SRC_URI += "git://github.com/modern-go/concurrent;name=concurrent;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/modern-go/concurrent"
+
+# github.com/modern-go/reflect2 v1.0.2
+# [1] git ls-remote https://github.com/modern-go/reflect2 2b33151c9bbc5231aea69b8861c540102b087070
+SRCREV_reflect2="2b33151c9bbc5231aea69b8861c540102b087070"
+SRC_URI += "git://github.com/modern-go/reflect2;name=reflect2;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/modern-go/reflect2"
+
+# github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b
+# [1] git ls-remote https://github.com/muesli/ansi 2e021307bc4b4f4766c3fb4faf6030b13dc9ec51
+SRCREV_ansi="2e021307bc4b4f4766c3fb4faf6030b13dc9ec51"
+SRC_URI += "git://github.com/muesli/ansi;name=ansi;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/muesli/ansi"
+
+# github.com/muesli/reflow v0.3.0
+# [1] git ls-remote https://github.com/muesli/reflow 602e329532049c9e33fa8c74e352a46fb9486947
+SRCREV_reflow="602e329532049c9e33fa8c74e352a46fb9486947"
+SRC_URI += "git://github.com/muesli/reflow;name=reflow;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/muesli/reflow"
+
+# github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0
+# [1] git ls-remote https://github.com/muesli/termenv 5ac8409525e03ee6cd96daeae32d47902b88f32a
+SRCREV_termenv="5ac8409525e03ee6cd96daeae32d47902b88f32a"
+SRC_URI += "git://github.com/muesli/termenv;name=termenv;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/muesli/termenv"
+
+# github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e
+# [1] git ls-remote https://github.com/niemeyer/pretty a10e7caefd8e0d600cea437f5c3613aeb1553d56
+SRCREV_pretty="a10e7caefd8e0d600cea437f5c3613aeb1553d56"
+SRC_URI += "git://github.com/niemeyer/pretty;name=pretty;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/niemeyer/pretty"
+
+# github.com/philhofer/fwd v1.1.1
+# [1] git ls-remote https://github.com/philhofer/fwd 9bcb9cab1b0394d8516a132ec243ba944efdb644
+SRCREV_fwd="9bcb9cab1b0394d8516a132ec243ba944efdb644"
+SRC_URI += "git://github.com/philhofer/fwd;name=fwd;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/philhofer/fwd"
+
+# github.com/pkg/errors v0.9.1
+# [1] git ls-remote https://github.com/pkg/errors 614d223910a179a466c1767a985424175c39b465
+SRCREV_errors="614d223910a179a466c1767a985424175c39b465"
+SRC_URI += "git://github.com/pkg/errors;name=errors;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/pkg/errors"
+
+# github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c
+# [1] git ls-remote https://github.com/power-devops/perfstat 5aafc221ea8c1ff54b0835cbd5f2386a8410be11
+SRCREV_perfstat="5aafc221ea8c1ff54b0835cbd5f2386a8410be11"
+SRC_URI += "git://github.com/power-devops/perfstat;name=perfstat;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/power-devops/perfstat"
+
+# github.com/prometheus/common v0.33.0
+# [1] git ls-remote https://github.com/prometheus/common 63e75f51cd2368130efbd51b95a4e457e64b444e
+SRCREV_common="63e75f51cd2368130efbd51b95a4e457e64b444e"
+SRC_URI += "git://github.com/prometheus/common;name=common;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/common"
+
+# github.com/prometheus/procfs v0.7.3
+# [1] git ls-remote https://github.com/prometheus/procfs f436cbb89ece38bf080d446b3ca27053b305eaac
+SRCREV_procfs="f436cbb89ece38bf080d446b3ca27053b305eaac"
+SRC_URI += "git://github.com/prometheus/procfs;name=procfs;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/prometheus/procfs"
+
+# github.com/rivo/uniseg v0.2.0
+# [1] git ls-remote https://github.com/rivo/uniseg 75711fccf6a3e85bc74c241e2dddd06a9bc9e53d
+SRCREV_uniseg="75711fccf6a3e85bc74c241e2dddd06a9bc9e53d"
+SRC_URI += "git://github.com/rivo/uniseg;name=uniseg;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/rivo/uniseg"
+
+# github.com/sirupsen/logrus v1.8.1
+# [1] git ls-remote https://github.com/sirupsen/logrus bdc0db8ead3853c56b7cd1ac2ba4e11b47d7da6b
+SRCREV_logrus="bdc0db8ead3853c56b7cd1ac2ba4e11b47d7da6b"
+SRC_URI += "git://github.com/sirupsen/logrus;name=logrus;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/sirupsen/logrus"
+
+# github.com/tidwall/match v1.1.1
+# [1] git ls-remote https://github.com/tidwall/match 4c9fc61b493b7aa0a3d347e9190aa78c5bec09cf
+SRCREV_match="4c9fc61b493b7aa0a3d347e9190aa78c5bec09cf"
+SRC_URI += "git://github.com/tidwall/match;name=match;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tidwall/match"
+
+# github.com/tidwall/pretty v1.2.0
+# [1] git ls-remote https://github.com/tidwall/pretty aaa765e7476acb0028a854b85675801362cbdaa2
+SRCREV_pretty1="aaa765e7476acb0028a854b85675801362cbdaa2"
+SRC_URI += "git://github.com/tidwall/pretty;name=pretty1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tidwall/pretty"
+
+# github.com/tklauser/go-sysconf v0.3.9
+# [1] git ls-remote https://github.com/tklauser/go-sysconf 746b19d14e19d242c2daa08e0d645c19832c1939
+SRCREV_go-sysconf="746b19d14e19d242c2daa08e0d645c19832c1939"
+SRC_URI += "git://github.com/tklauser/go-sysconf;name=go-sysconf;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tklauser/go-sysconf"
+
+# github.com/tklauser/numcpus v0.3.0
+# [1] git ls-remote https://github.com/tklauser/numcpus cc3fdd5f3955d53d50d94380963bddd24bd373e2
+SRCREV_numcpus="cc3fdd5f3955d53d50d94380963bddd24bd373e2"
+SRC_URI += "git://github.com/tklauser/numcpus;name=numcpus;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/tklauser/numcpus"
+
+# github.com/yusufpapurcu/wmi v1.2.2
+# [1] git ls-remote https://github.com/yusufpapurcu/wmi 253c5f0cb35e666c4c0fc42083824e7c89f0cc8d
+SRCREV_wmi="253c5f0cb35e666c4c0fc42083824e7c89f0cc8d"
+SRC_URI += "git://github.com/yusufpapurcu/wmi;name=wmi;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/yusufpapurcu/wmi"
+
+# go.etcd.io/etcd/api/v3 v3.5.2
+# [1] git ls-remote https://github.com/etcd-io/etcd 4591a096d4d3c08e577d7269851938db0c1da3d4
+SRCREV_v31="4591a096d4d3c08e577d7269851938db0c1da3d4"
+SRC_URI += "git://github.com/etcd-io/etcd;name=v31;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/github.com/etcd-io/etcd/api/v3"
+
+# go.uber.org/atomic v1.9.0
+# [1] git ls-remote https://github.com/uber-go/atomic 135466e2d0c8f8adf4d37dc757e3df0ebdd0dfe8
+SRCREV_atomic="135466e2d0c8f8adf4d37dc757e3df0ebdd0dfe8"
+SRC_URI += "git://github.com/uber-go/atomic;name=atomic;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/atomic"
+
+# go.uber.org/multierr v1.7.0
+# [1] git ls-remote https://github.com/uber-go/multierr 19d9fff1d3b66750a134671435786579bc994737
+SRCREV_multierr="19d9fff1d3b66750a134671435786579bc994737"
+SRC_URI += "git://github.com/uber-go/multierr;name=multierr;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/multierr"
+
+# go.uber.org/zap v1.19.1
+# [1] git ls-remote https://github.com/uber-go/zap 2f61e97148e69cd2dd1902b03e89ce07cd1218a1
+SRCREV_zap="2f61e97148e69cd2dd1902b03e89ce07cd1218a1"
+SRC_URI += "git://github.com/uber-go/zap;name=zap;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.uber.org/zap"
+
+# golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
+# [1] git ls-remote https://go.googlesource.com/sync 036812b2e83c0ddf193dd5a34e034151da389d09
+SRCREV_sync="036812b2e83c0ddf193dd5a34e034151da389d09"
+SRC_URI += "git://go.googlesource.com/sync;name=sync;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.googlesource.com/sync"
+
+# golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
+# [1] git ls-remote https://go.googlesource.com/sys 33da011f77ade50ff5b6a6fb4a9a1e6d6b285809
+SRCREV_sys="33da011f77ade50ff5b6a6fb4a9a1e6d6b285809"
+SRC_URI += "git://go.googlesource.com/sys;name=sys;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/go.googlesource.com/sys"
+
+# google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb
+# [1] git ls-remote https://github.com/googleapis/go-genproto 3ac035c7e7cbd86eb6d8b95be888cf83d73dedd3
+SRCREV_genproto="3ac035c7e7cbd86eb6d8b95be888cf83d73dedd3"
+SRC_URI += "git://github.com/googleapis/go-genproto;name=genproto;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/genproto"
+
+# google.golang.org/grpc v1.43.0
+# [1] git ls-remote https://github.com/grpc/grpc-go 14c11384b76b67f7b1b32a5d18f865762634c0ae
+SRCREV_grpc="14c11384b76b67f7b1b32a5d18f865762634c0ae"
+SRC_URI += "git://github.com/grpc/grpc-go;name=grpc;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/grpc"
+
+# google.golang.org/protobuf v1.27.1
+# [1] git ls-remote https://github.com/protocolbuffers/protobuf-go b92717ecb630d4a4824b372bf98c729d87311a4d
+SRCREV_protobuf12="b92717ecb630d4a4824b372bf98c729d87311a4d"
+SRC_URI += "git://github.com/protocolbuffers/protobuf-go;name=protobuf12;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/google.golang.org/protobuf"
+
+# gopkg.in/ini.v1 v1.66.3
+# [1] git ls-remote https://gopkg.in/ini.v1 fcd6cc399e588727c1231f4ea187d1b963536bcc
+SRCREV_ini.v1="fcd6cc399e588727c1231f4ea187d1b963536bcc"
+SRC_URI += "git://gopkg.in/ini.v1;name=ini.v1;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/ini.v1"
+
+# gopkg.in/yaml.v3 v3.0.1
+# [1] git ls-remote https://gopkg.in/yaml.v3 f6f7691b1fdeb513f56608cd2c32c51f8194bf51
+SRCREV_yaml.v3="f6f7691b1fdeb513f56608cd2c32c51f8194bf51"
+SRC_URI += "git://gopkg.in/yaml.v3;name=yaml.v3;protocol=https;nobranch=1;destsuffix=${WORKDIR}/${BP}/src/import/vendor.fetch/gopkg.in/yaml.v3"
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/0001-Cargo.toml-do-not-abort-on-panic.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-Cargo.toml-do-not-abort-on-panic.patch
new file mode 100644
index 0000000000..e8dfdea1e9
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-Cargo.toml-do-not-abort-on-panic.patch
@@ -0,0 +1,32 @@
+From f501f7c02df4f0ff5d5f100d9eeb74cd4d12ea3d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 1 Oct 2021 13:00:24 +0200
+Subject: [PATCH] Cargo.toml: do not abort on panic
+
+OE's rust is configured to unwind, and this setting clashes with it/
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+---
+ Cargo.toml | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index a2718b2f35..4e231c30e8 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -59,13 +59,11 @@ opt-level = 1
+ rpath = false
+ lto = false
+ debug-assertions = true
+-panic = "abort"
+
+ [profile.release]
+ opt-level = 2
+ rpath = false
+ debug-assertions = false
+-panic = "abort"
+
+ # Optimize build dependencies, because bindgen and proc macros / style
+ # compilation take more to run than to build otherwise.
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/0001-add-arm-to-list-of-mozinline.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-add-arm-to-list-of-mozinline.patch
new file mode 100644
index 0000000000..83187861c7
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-add-arm-to-list-of-mozinline.patch
@@ -0,0 +1,32 @@
+From c5cfb8aa591afd5ad3aedc58fe7f410e89013605 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Fri, 22 Sep 2023 22:59:59 +0000
+Subject: [PATCH] Backport patch from firefox bugzilla to fix compile error for
+ qemuarm with some armv7ve tunes such as 'armv7vethf' and 'armv7vet-vfpv3d16':
+
+| /path/to/build/tmp/work/armv7vet2hf-vfp-poky-linux-gnueabi/mozjs-102/102.5.0-r0/build/js/src/jit/AtomicOperationsGenerated.h:240:17:
+ error: 'asm' operand has impossible constraints
+| 240 | asm volatile (
+| | ^~~
+
+Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1761665]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+---
+ js/src/jit/GenerateAtomicOperations.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/jit/GenerateAtomicOperations.py b/js/src/jit/GenerateAtomicOperations.py
+index 24b5a191cf..e41948c5af 100644
+--- a/js/src/jit/GenerateAtomicOperations.py
++++ b/js/src/jit/GenerateAtomicOperations.py
+@@ -860,7 +860,7 @@ def generate_atomics_header(c_out):
+
+ # Work around a GCC issue on 32-bit x86 by adding MOZ_NEVER_INLINE.
+ # See bug 1756347.
+- if is_gcc and cpu_arch == "x86":
++ if is_gcc and cpu_arch in ("x86", "arm"):
+ contents = contents.replace("INLINE_ATTR", "MOZ_NEVER_INLINE inline")
+ else:
+ contents = contents.replace("INLINE_ATTR", "inline")
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch
new file mode 100644
index 0000000000..38496ea56c
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch
@@ -0,0 +1,44 @@
+From c860dcbe63b0e393c95bfb0131238f91aaac11d3 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Thu, 7 Oct 2021 12:44:18 +0200
+Subject: [PATCH] build: do not use autoconf's config.sub to 'canonicalize'
+ names
+
+The outcome is that processed names no longer match our custom rust
+target definitions, and the build fails.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+---
+ build/moz.configure/init.configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/build/moz.configure/init.configure
++++ b/build/moz.configure/init.configure
+@@ -647,24 +647,7 @@ def help_host_target(help, host, target)
+
+ def config_sub(shell, triplet):
+ config_sub = os.path.join(os.path.dirname(__file__), "..", "autoconf", "config.sub")
+- # Config.sub doesn't like the *-windows-msvc/*-windows-gnu triplets, so
+- # munge those before and after calling config.sub.
+- suffix = None
+- munging = {
+- "-windows-msvc": "-mingw32",
+- "-windows-gnu": "-mingw32",
+- }
+- for check_suffix, replacement in munging.items():
+- if triplet.endswith(check_suffix):
+- suffix = check_suffix
+- triplet = triplet[: -len(suffix)] + replacement
+- break
+- result = check_cmd_output(shell, config_sub, triplet).strip()
+- if suffix:
+- assert result.endswith(replacement)
+- result = result[: -len(replacement)] + suffix
+- return result
+-
++ return triplet
+
+ @depends("--host", shell)
+ @checking("for host system type", lambda h: h.alias)
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/0001-rewrite-cargo-host-linker-in-python3.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-rewrite-cargo-host-linker-in-python3.patch
new file mode 100644
index 0000000000..83f384e6c2
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-rewrite-cargo-host-linker-in-python3.patch
@@ -0,0 +1,54 @@
+From c6a84863454b882695058187cd282987613474ef Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 18 Nov 2021 07:16:39 +0000
+Subject: [PATCH] Rewrite cargo-host-linker in python3
+
+Mozjs compile failed with this failure:
+/bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /build/tmp-glibc/work/corei7-64-wrs-linux/mozjs/91.1.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5)
+
+Root Cause:
+cargo-host-linker has /bin/sh as it's interpreter, but cargo run the cmd
+with LD_LIBRARY_PATH set to recipe-sysroot-native. The host /bin/sh links
+libtinfo.so.5 under recipe-sysroot-native, which needs higher libc. But
+host libc is older libc. So the incompatible problem occurred.
+
+Solution:
+rewrite cargo-host-linker in python3
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+---
+ build/cargo-host-linker | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/build/cargo-host-linker b/build/cargo-host-linker
+index cbd0472bf7..87d43ce9ec 100755
+--- a/build/cargo-host-linker
++++ b/build/cargo-host-linker
+@@ -1,3 +1,21 @@
+-#!/bin/sh
+-# See comment in cargo-linker.
+-eval ${MOZ_CARGO_WRAP_HOST_LD} ${MOZ_CARGO_WRAP_HOST_LDFLAGS} '"$@"'
++#!/usr/bin/env python3
++
++import os,sys
++
++if os.environ['MOZ_CARGO_WRAP_HOST_LD'].strip():
++ binary=os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]
++else:
++ sys.exit(0)
++
++if os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS'].strip():
++ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]:
++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:]
++ else:
++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:]
++else:
++ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]:
++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + sys.argv[1:]
++ else:
++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + sys.argv[1:]
++
++os.execvp(binary, args)
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/0001-util.configure-fix-one-occasionally-reproduced-confi.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-util.configure-fix-one-occasionally-reproduced-confi.patch
new file mode 100644
index 0000000000..4921a9028c
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0001-util.configure-fix-one-occasionally-reproduced-confi.patch
@@ -0,0 +1,48 @@
+From 0d28cd65efe14022e1d645db71dec74f11ab2ae8 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 11 Nov 2021 16:05:54 +0800
+Subject: [PATCH] util.configure: fix one occasionally reproduced configure
+ failure
+
+error:
+| checking whether the C++ compiler supports -Wno-range-loop-analysis...
+| DEBUG: Creating /tmp/conftest.jr1qrcw3.cpp with content:
+| DEBUG: | int
+| DEBUG: | main(void)
+| DEBUG: | {
+| DEBUG: |
+| DEBUG: | ;
+| DEBUG: | return 0;
+| DEBUG: | }
+| DEBUG: Executing: aarch64-wrs-linux-g++ -mcpu=cortex-a53 -march=armv8-a+crc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mozjs/91.1.0-r0/recipe-sysroot /tmp/conftest.jr1qrcw3.cpp -Werror -Wrange-loop-analysis -c
+| DEBUG: The command returned non-zero exit status 1.
+| DEBUG: Its error output was:
+...
+| File "/mozjs/91.1.0-r0/firefox-91.1.0/build/moz.configure/util.configure", line 239, in try_invoke_compiler
+| os.remove(path)
+| FileNotFoundError: [Errno 2] No such file or directory: '/tmp/conftest.jr1qrcw3.cpp'
+
+It should be another process that deleted this file by using
+"rm -rf conftest*" inappropriately
+
+Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1740667]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+---
+ build/moz.configure/util.configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/moz.configure/util.configure b/build/moz.configure/util.configure
+index f5ff3acd79..44f69deceb 100644
+--- a/build/moz.configure/util.configure
++++ b/build/moz.configure/util.configure
+@@ -254,7 +254,7 @@ def try_invoke_compiler(
+ "C++": ".cpp",
+ }[language]
+
+- fd, path = mkstemp(prefix="conftest.", suffix=suffix, text=True)
++ fd, path = mkstemp(prefix="try_invoke_compiler_conftest.", suffix=suffix, text=True)
+ try:
+ source = source.encode("ascii", "replace")
+
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/0002-moz.configure-do-not-look-for-llvm-objdump.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0002-moz.configure-do-not-look-for-llvm-objdump.patch
new file mode 100644
index 0000000000..4c69155a68
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0002-moz.configure-do-not-look-for-llvm-objdump.patch
@@ -0,0 +1,44 @@
+From 49cb509abd309e3b74ef4c872ae773f18dabca19 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 1 Oct 2021 13:01:10 +0200
+Subject: [PATCH] moz.configure: do not look for llvm-objdump
+
+This avoid dragging in a dependency that isn't even needed
+for js builds.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+---
+ moz.configure | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/moz.configure b/moz.configure
+index 3a9461200d..33b3f49b0c 100755
+--- a/moz.configure
++++ b/moz.configure
+@@ -723,15 +723,15 @@ check_prog(
+ )
+
+
+-llvm_objdump = check_prog(
+- "LLVM_OBJDUMP",
+- llvm_tool("llvm-objdump"),
+- what="llvm-objdump",
+- when="--enable-compile-environment",
+- paths=clang_search_path,
+-)
+-
+-add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump)
++#llvm_objdump = check_prog(
++# "LLVM_OBJDUMP",
++# llvm_tool("llvm-objdump"),
++# what="llvm-objdump",
++# when="--enable-compile-environment",
++# paths=clang_search_path,
++#)
++#
++#add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump)
+
+
+ def validate_readelf(path):
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch
new file mode 100644
index 0000000000..0f9d062205
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch
@@ -0,0 +1,66 @@
+From ac6a3711917ff3f2b64662cbf4681c22a09da403 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Fri, 1 Oct 2021 13:02:17 +0200
+Subject: [PATCH] rust.configure: do not try to find a suitable upstream target
+
+OE is using custom targets and so this is bound to fail.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+---
+ build/moz.configure/rust.configure | 34 ++----------------------------
+ 1 file changed, 2 insertions(+), 32 deletions(-)
+
+diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
+index 7a2fd1ae70..e11f13b253 100644
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -486,33 +486,7 @@ def assert_rust_compile(host_or_target, rustc_target, rustc):
+ def rust_host_triple(
+ rustc, host, compiler_info, rustc_host, rust_supported_targets, arm_target
+ ):
+- rustc_target = detect_rustc_target(
+- host, compiler_info, arm_target, rust_supported_targets
+- )
+- if rustc_target != rustc_host:
+- if host.alias == rustc_target:
+- configure_host = host.alias
+- else:
+- configure_host = "{}/{}".format(host.alias, rustc_target)
+- die(
+- dedent(
+- """\
+- The rust compiler host ({rustc}) is not suitable for the configure host ({configure}).
+-
+- You can solve this by:
+- * Set your configure host to match the rust compiler host by editing your
+- mozconfig and adding "ac_add_options --host={rustc}".
+- * Or, install the rust toolchain for {configure}, if supported, by running
+- "rustup default stable-{rustc_target}"
+- """.format(
+- rustc=rustc_host,
+- configure=configure_host,
+- rustc_target=rustc_target,
+- )
+- )
+- )
+- assert_rust_compile(host, rustc_target, rustc)
+- return rustc_target
++ return rustc_host
+
+
+ @depends(
+@@ -522,11 +496,7 @@ def rust_host_triple(
+ def rust_target_triple(
+ rustc, target, compiler_info, rust_supported_targets, arm_target
+ ):
+- rustc_target = detect_rustc_target(
+- target, compiler_info, arm_target, rust_supported_targets
+- )
+- assert_rust_compile(target, rustc_target, rustc)
+- return rustc_target
++ return target.alias
+
+
+ set_config("RUST_TARGET", rust_target_triple)
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/0004-use-asm-sgidefs.h.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/0004-use-asm-sgidefs.h.patch
new file mode 100644
index 0000000000..6443d46b2c
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/0004-use-asm-sgidefs.h.patch
@@ -0,0 +1,38 @@
+From 607aa4d822b0e074ae1b2fc16d7c140c3e889680 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <amccurdy@gmail.com>
+Date: Sat, 30 Apr 2016 15:29:06 -0700
+Subject: [PATCH] use <asm/sgidefs.h>
+
+Build fix for MIPS with musl libc
+
+The MIPS specific header <sgidefs.h> is provided by glibc and uclibc
+but not by musl. Regardless of the libc, the kernel headers provide
+<asm/sgidefs.h> which provides the same definitions, so use that
+instead.
+
+Upstream-Status: Pending
+
+[Vincent:
+Taken from: https://sourceware.org/bugzilla/show_bug.cgi?id=21070]
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+---
+ mfbt/RandomNum.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mfbt/RandomNum.cpp b/mfbt/RandomNum.cpp
+index 96de5d4055..2cfb2e10ee 100644
+--- a/mfbt/RandomNum.cpp
++++ b/mfbt/RandomNum.cpp
+@@ -53,7 +53,7 @@ extern "C" BOOLEAN NTAPI RtlGenRandom(PVOID RandomBuffer,
+ # elif defined(__s390__)
+ # define GETRANDOM_NR 349
+ # elif defined(__mips__)
+-# include <sgidefs.h>
++# include <asm/sgidefs.h>
+ # if _MIPS_SIM == _MIPS_SIM_ABI32
+ # define GETRANDOM_NR 4353
+ # elif _MIPS_SIM == _MIPS_SIM_ABI64
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/armv5.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/armv5.patch
new file mode 100644
index 0000000000..4c45955bca
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/armv5.patch
@@ -0,0 +1,19 @@
+The ISB instruction isn't available in ARMv5 or v6, so
+guard it's use to fix the build on qemuarmv5.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/js/src/jit/arm/Architecture-arm.cpp b/js/src/jit/arm/Architecture-arm.cpp
+--- a/js/src/jit/arm/Architecture-arm.cpp 2024-01-18 17:31:32.078718197 +0000
++++ b/js/src/jit/arm/Architecture-arm.cpp 2024-01-18 18:00:16.738921445 +0000
+@@ -529,7 +529,9 @@
+ void FlushExecutionContext() {
+ #ifndef JS_SIMULATOR_ARM
++#if __ARM_ARCH >= 7
+ // Ensure that any instructions already in the pipeline are discarded and
+ // reloaded from the icache.
+ asm volatile("isb\n" : : : "memory");
++#endif
+ #else
+ // We assume the icache flushing routines on other platforms take care of this
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/fix-musl-build.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/fix-musl-build.patch
new file mode 100644
index 0000000000..22f31e05f8
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/fix-musl-build.patch
@@ -0,0 +1,29 @@
+From e4d8016d0dc56b02e22898d83aad9f80a94d1c3c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 20 Oct 2021 16:21:14 -0700
+Subject: [PATCH] mozjs: Fix musl miscompiles with HAVE_THREAD_TLS_KEYWORD
+
+Upstream: No
+Reason: mozjs60 miscompiles on musl if built with HAVE_THREAD_TLS_KEYWORD:
+https://github.com/void-linux/void-packages/issues/2598
+
+---
+Upstream-Status: Pending
+
+ js/src/old-configure.in | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/js/src/old-configure.in b/js/src/old-configure.in
+index cabd72a2b6..0f08d91cbf 100644
+--- a/js/src/old-configure.in
++++ b/js/src/old-configure.in
+@@ -807,6 +807,9 @@ if test "$ac_cv_thread_keyword" = yes; then
+ *-android*|*-linuxandroid*)
+ :
+ ;;
++ *-musl*)
++ :
++ ;;
+ *)
+ AC_DEFINE(HAVE_THREAD_TLS_KEYWORD)
+ ;;
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/musl-disable-stackwalk.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/musl-disable-stackwalk.patch
new file mode 100644
index 0000000000..590cddfe5f
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/musl-disable-stackwalk.patch
@@ -0,0 +1,27 @@
+From 9aae71c6ee73431d2609be0ef74ffd4b22b36c75 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 22 Sep 2023 22:59:56 +0000
+Subject: [PATCH] Musl does not have stack unwinder like glibc therefore we can
+ not assume that its always available on musl, we do need to check for target
+ environment as well which could be musl or glibc.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ mozglue/misc/StackWalk.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp
+index 307715b170..a8d3cb40c0 100644
+--- a/mozglue/misc/StackWalk.cpp
++++ b/mozglue/misc/StackWalk.cpp
+@@ -43,7 +43,7 @@ using namespace mozilla;
+ # define MOZ_STACKWALK_SUPPORTS_MACOSX 0
+ #endif
+
+-#if (defined(linux) && \
++#if (defined(linux) && defined(__GLIBC__) && \
+ ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
+ defined(HAVE__UNWIND_BACKTRACE)))
+ # define MOZ_STACKWALK_SUPPORTS_LINUX 1
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115/riscv32.patch b/meta-oe/recipes-extended/mozjs/mozjs-115/riscv32.patch
new file mode 100644
index 0000000000..16f95659e2
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115/riscv32.patch
@@ -0,0 +1,60 @@
+From d6aff068170e56e6773feba42a463dd8c50bc4ff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Oct 2021 22:32:50 -0700
+Subject: [PATCH] Add RISCV32 support
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ build/moz.configure/init.configure | 3 +++
+ python/mozbuild/mozbuild/configure/constants.py | 2 ++
+ .../mozbuild/test/configure/test_toolchain_configure.py | 1 +
+ 3 files changed, 6 insertions(+)
+
+diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
+index 53bbc4203f..2ac40d3d39 100644
+--- a/build/moz.configure/init.configure
++++ b/build/moz.configure/init.configure
+@@ -584,6 +584,9 @@ def split_triplet(triplet, allow_wasi=False):
+ elif cpu.startswith("aarch64"):
+ canonical_cpu = "aarch64"
+ endianness = "little"
++ elif cpu in ("riscv32", "riscv32gc"):
++ canonical_cpu = "riscv32"
++ endianness = "little"
+ elif cpu in ("riscv64", "riscv64gc"):
+ canonical_cpu = "riscv64"
+ endianness = "little"
+diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
+index a36152651d..a6050be5d8 100644
+--- a/python/mozbuild/mozbuild/configure/constants.py
++++ b/python/mozbuild/mozbuild/configure/constants.py
+@@ -51,6 +51,7 @@ CPU_bitness = {
+ "mips64": 64,
+ "ppc": 32,
+ "ppc64": 64,
++ 'riscv32': 32,
+ "riscv64": 64,
+ "s390": 32,
+ "s390x": 64,
+@@ -98,6 +99,7 @@ CPU_preprocessor_checks = OrderedDict(
+ ("m68k", "__m68k__"),
+ ("mips64", "__mips64"),
+ ("mips32", "__mips__"),
++ ("riscv32", "__riscv && __riscv_xlen == 32"),
+ ("riscv64", "__riscv && __riscv_xlen == 64"),
+ ("loongarch64", "__loongarch64"),
+ ("sh4", "__sh__"),
+diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+index c6af3d99d4..7ef02e1a85 100644
+--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
++++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+@@ -1325,6 +1325,7 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest):
+ "m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1},
+ "mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1},
+ "mips-unknown-linux-gnu": big_endian + {"__mips__": 1},
++ "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32},
+ "riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64},
+ "sh4-unknown-linux-gnu": little_endian + {"__sh__": 1},
+ }
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb b/meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb
new file mode 100644
index 0000000000..1269795d20
--- /dev/null
+++ b/meta-oe/recipes-extended/mozjs/mozjs-115_115.8.0.bb
@@ -0,0 +1,98 @@
+SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++"
+HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf"
+
+SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \
+ file://0001-Cargo.toml-do-not-abort-on-panic.patch \
+ file://0002-moz.configure-do-not-look-for-llvm-objdump.patch \
+ file://0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch \
+ file://0004-use-asm-sgidefs.h.patch \
+ file://fix-musl-build.patch \
+ file://0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \
+ file://riscv32.patch \
+ file://0001-util.configure-fix-one-occasionally-reproduced-confi.patch \
+ file://0001-rewrite-cargo-host-linker-in-python3.patch \
+ file://musl-disable-stackwalk.patch \
+ file://0001-add-arm-to-list-of-mozinline.patch \
+ file://armv5.patch \
+ "
+SRC_URI[sha256sum] = "af8086f23efc8492d286671f6035b1a915de6f4ed5c7897e40be0e1cb6b895ea"
+
+S = "${WORKDIR}/firefox-${PV}"
+
+inherit pkgconfig perlnative python3native rust
+
+DEPENDS += "zlib cargo-native python3 icu"
+DEPENDS:remove:mipsarch = "icu"
+DEPENDS:remove:powerpc:toolchain-clang = "icu"
+
+B = "${WORKDIR}/build"
+
+export PYTHONPATH = "${S}/build:\
+${S}/third_party/python/PyYAML/lib3:\
+${S}/testing/mozbase/mozfile:\
+${S}/python/mozboot:\
+${S}/third_party/python/distro:\
+${S}/testing/mozbase/mozinfo:\
+${S}/config:\
+${S}/testing/mozbase/manifestparser:\
+${S}/third_party/python/pytoml:\
+${S}/testing/mozbase/mozprocess:\
+${S}/third_party/python/six:\
+${S}/python/mozbuild:\
+${S}/python/mozbuild/mozbuild:\
+${S}/python/mach:\
+${S}/third_party/python/jsmin:\
+${S}/python/mozversioncontrol"
+
+export HOST_CC = "${BUILD_CC}"
+export HOST_CXX = "${BUILD_CXX}"
+export HOST_CFLAGS = "${BUILD_CFLAGS}"
+export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}"
+export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
+
+export AS = "${CC}"
+
+export RUSTFLAGS
+
+JIT ?= ""
+JIT:mipsarch = "--disable-jit"
+ICU ?= "--with-system-icu"
+ICU:mipsarch = ""
+ICU:powerpc:toolchain-clang = ""
+
+do_configure() {
+ cd ${B}
+ python3 ${S}/configure.py \
+ --enable-project=js \
+ --target=${RUST_HOST_SYS} \
+ --host=${BUILD_SYS} \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+ --disable-jemalloc \
+ --disable-strip \
+ ${JIT} \
+ ${ICU}
+}
+do_configure[cleandirs] += "${B}"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+inherit multilib_script multilib_header
+
+MAJ_VER = "${@oe.utils.trim_version("${PV}", 1)}"
+MULTILIB_SCRIPTS += "${PN}-dev:${bindir}/js${MAJ_VER}-config"
+
+do_install:append() {
+ oe_multilib_header mozjs-${MAJ_VER}/js-config.h
+ sed -e 's@${STAGING_DIR_HOST}@@g' \
+ -i ${D}${bindir}/js${MAJ_VER}-config
+ rm -f ${D}${libdir}/libjs_static.ajs
+}
+
+PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
+PACKAGES =+ "lib${BPN}"
+FILES:lib${BPN} += "${libdir}/lib*"
diff --git a/meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch b/meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch
index 0cae02f061..bd8f5be05d 100644
--- a/meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch
+++ b/meta-oe/recipes-extended/mraa/mraa/0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch
@@ -13,6 +13,8 @@ So using a wildcard helps in using any x86 arch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Submitted [https://github.com/eclipse/mraa/pull/1125]
+
CMakeLists.txt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/meta-oe/recipes-extended/mraa/mraa/0001-include-Declare-gVERSION-global-as-extern.patch b/meta-oe/recipes-extended/mraa/mraa/0001-include-Declare-gVERSION-global-as-extern.patch
deleted file mode 100644
index d1152ed641..0000000000
--- a/meta-oe/recipes-extended/mraa/mraa/0001-include-Declare-gVERSION-global-as-extern.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From dbb5961f106ec42cd70689d933674c9c37aedfe1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
-Date: Mon, 13 Apr 2020 20:12:11 +0200
-Subject: include: Declare gVERSION global as 'extern'.
-
-Fixes build with '-fno-common'.
-
-Upstream-Status: Submitted [https://github.com/eclipse/mraa/pull/1012]
-Signed-off-by: Adrian Bunk <bunk@stusta.de>
----
- include/version.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/version.h b/include/version.h
-index 47366ef..3a567a1 100644
---- a/include/version.h
-+++ b/include/version.h
-@@ -11,8 +11,8 @@
- extern "C" {
- #endif
-
--const char* gVERSION;
--const char* gVERSION_SHORT;
-+extern const char* gVERSION;
-+extern const char* gVERSION_SHORT;
-
- #ifdef __cplusplus
- }
---
-2.17.1
-
diff --git a/meta-oe/recipes-extended/mraa/mraa/0001-mraa-Use-posix-basename.patch b/meta-oe/recipes-extended/mraa/mraa/0001-mraa-Use-posix-basename.patch
new file mode 100644
index 0000000000..4f07eae631
--- /dev/null
+++ b/meta-oe/recipes-extended/mraa/mraa/0001-mraa-Use-posix-basename.patch
@@ -0,0 +1,46 @@
+From 30f78cb2775358dacd10b02c0ba2ec0c3ba2945d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 31 Dec 2023 19:16:35 -0800
+Subject: [PATCH 1/2] mraa: Use posix basename
+
+Musl has removed the declaration from string.h [1] which exposes the
+problem especially with clang-17+ compiler where implicit function
+declaration is flagged as error. Use posix basename and make a copy of
+string to operate on to emulate GNU basename behaviour.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/eclipse/mraa/pull/1125]
+ src/mraa.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/mraa.c b/src/mraa.c
+index 653ea1fa..b556d045 100644
+--- a/src/mraa.c
++++ b/src/mraa.c
+@@ -12,6 +12,7 @@
+ #endif
+
+ #include <dlfcn.h>
++#include <libgen.h>
+ #include <pwd.h>
+ #include <sched.h>
+ #include <stddef.h>
+@@ -341,9 +342,11 @@ static int
+ mraa_count_iio_devices(const char* path, const struct stat* sb, int flag, struct FTW* ftwb)
+ {
+ // we are only interested in files with specific names
+- if (fnmatch(IIO_DEVICE_WILDCARD, basename(path), 0) == 0) {
++ char* tmp = strdup(path);
++ if (fnmatch(IIO_DEVICE_WILDCARD, basename(tmp), 0) == 0) {
+ num_iio_devices++;
+ }
++ free(tmp);
+ return 0;
+ }
+
+--
+2.43.0
+
diff --git a/meta-oe/recipes-extended/mraa/mraa/0002-gpio-Include-limits.h-for-PATH_MAX.patch b/meta-oe/recipes-extended/mraa/mraa/0002-gpio-Include-limits.h-for-PATH_MAX.patch
new file mode 100644
index 0000000000..0e472255a9
--- /dev/null
+++ b/meta-oe/recipes-extended/mraa/mraa/0002-gpio-Include-limits.h-for-PATH_MAX.patch
@@ -0,0 +1,30 @@
+From ffa6f1254066b1d5d99192002043be945ff64297 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 31 Dec 2023 19:18:42 -0800
+Subject: [PATCH 2/2] gpio: Include limits.h for PATH_MAX
+
+Musl exposes this problem where PATH_MAX is used but limits.h is not
+included, it works with glibc perhaps due to limits.h being indirectly
+included by another system header.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/eclipse/mraa/pull/1125]
+ src/gpio/gpio_chardev.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/gpio/gpio_chardev.c b/src/gpio/gpio_chardev.c
+index 2cd15968..9f727de7 100644
+--- a/src/gpio/gpio_chardev.c
++++ b/src/gpio/gpio_chardev.c
+@@ -12,6 +12,7 @@
+ #include <dirent.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <limits.h>
+ #include <poll.h>
+ #include <pthread.h>
+ #include <signal.h>
+--
+2.43.0
+
diff --git a/meta-oe/recipes-extended/mraa/mraa_git.bb b/meta-oe/recipes-extended/mraa/mraa_git.bb
index 9b3289f174..4d3baf6caa 100644
--- a/meta-oe/recipes-extended/mraa/mraa_git.bb
+++ b/meta-oe/recipes-extended/mraa/mraa_git.bb
@@ -5,12 +5,13 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=91e7de50a8d3cf01057f318d72460acd"
-SRCREV = "7786c7ded5c9ce7773890d0e3dc27632898fc6b1"
-PV = "2.2.0+git${SRCPV}"
+SRCREV = "3c288a09109969eef9c2da7d92d3c62f92a015cc"
+PV = "2.2.0+git"
-SRC_URI = "git://github.com/eclipse/${BPN}.git;protocol=http \
+SRC_URI = "git://github.com/eclipse/${BPN}.git;protocol=https;branch=master \
file://0001-cmake-Use-a-regular-expression-to-match-x86-architec.patch \
- file://0001-include-Declare-gVERSION-global-as-extern.patch \
+ file://0001-mraa-Use-posix-basename.patch \
+ file://0002-gpio-Include-limits.h-for-PATH_MAX.patch \
"
S = "${WORKDIR}/git"
@@ -18,11 +19,11 @@ S = "${WORKDIR}/git"
# CMakeLists.txt checks the architecture, only x86 and ARM supported for now
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
-inherit cmake distutils3-base
+inherit cmake setuptools3-base
DEPENDS += "json-c"
-EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON -DPYTHON2_LIBRARY=OFF \
+EXTRA_OECMAKE:append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON -DPYTHON2_LIBRARY=OFF \
-DPYTHON3_PACKAGES_PATH:PATH=${baselib}/python${PYTHON_BASEVERSION}/site-packages \
-DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
-DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} \
@@ -31,36 +32,36 @@ EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=
# Prepend mraa-utils to make sure bindir ends up in there
PACKAGES =+ "${PN}-utils"
-FILES_${PN}-doc += "${datadir}/mraa/examples/"
+FILES:${PN}-doc += "${datadir}/mraa/examples/"
-FILES_${PN}-utils = "${bindir}/"
+FILES:${PN}-utils = "${bindir}/"
# override this in local.conf to get needed bindings.
-# BINDINGS_pn-mraa="python"
+# BINDINGS:pn-mraa="python"
# will result in only the python bindings being built/packaged.
# Note: 'nodejs' is disabled by default because the bindings
# generation currently fails with nodejs (>v7.x).
BINDINGS ??= "python"
# nodejs isn't available for armv4/armv5 architectures
-BINDINGS_armv4 ??= "python"
-BINDINGS_armv5 ??= "python"
+BINDINGS:armv4 ??= "python"
+BINDINGS:armv5 ??= "python"
PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
- ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
+ ${@bb.utils.contains('PACKAGES', 'python3-${PN}', 'python', '', d)}"
-PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native python3,"
PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
PACKAGECONFIG[ft4222] = "-DUSBPLAT=ON -DFTDI4222=ON, -DUSBPLAT=OFF -DFTDI4222=OFF,, libft4222"
-FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/"
-RDEPENDS_${PYTHON_PN}-${PN} += "${PYTHON_PN}"
+FILES:python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/"
+RDEPENDS:python3-${PN} += "python3"
-FILES_node-${PN} = "${prefix}/lib/node_modules/"
-RDEPENDS_node-${PN} += "nodejs"
+FILES:node-${PN} = "${prefix}/lib/node_modules/"
+RDEPENDS:node-${PN} += "nodejs"
### Include desired language bindings ###
PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}"
-PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}"
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', 'python3-${PN}', '', d)}"
TOOLCHAIN = "gcc"
diff --git a/meta-oe/recipes-extended/nana/nana/0001-Makefile.am-fix-build-with-separate-build-dir.patch b/meta-oe/recipes-extended/nana/nana/0001-Makefile.am-fix-build-with-separate-build-dir.patch
new file mode 100644
index 0000000000..aee27e803e
--- /dev/null
+++ b/meta-oe/recipes-extended/nana/nana/0001-Makefile.am-fix-build-with-separate-build-dir.patch
@@ -0,0 +1,27 @@
+From 22485e13c6e32e63ff522cd367bf63ab0a8848b1 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Wed, 7 Feb 2024 15:42:30 +0000
+Subject: [PATCH] Makefile.am: fix build with separate build dir
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Pending
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 54ceda6..9e9ffe4 100755
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -33,7 +33,7 @@ PROJECTS: doc/nana.info
+ #
+
+ showconfig:
+- $(CPP) $(CPPFLAGS) -I$(top_srcdir)/src $(DEFS) $(top_srcdir)/showconfig.c | grep "==>"
++ $(CPP) $(CPPFLAGS) -I$(top_builddir)/src -I$(top_srcdir)/src $(DEFS) $(top_srcdir)/showconfig.c | grep "==>"
+
+ #
+ # various targets for the maintainer to build patches, releases, etc.
+--
+2.43.0
+
diff --git a/meta-oe/recipes-extended/nana/nana/0002-man-Makefile.am-we-seem-not-to-need-the-work-around-.patch b/meta-oe/recipes-extended/nana/nana/0002-man-Makefile.am-we-seem-not-to-need-the-work-around-.patch
new file mode 100644
index 0000000000..31a0f045a1
--- /dev/null
+++ b/meta-oe/recipes-extended/nana/nana/0002-man-Makefile.am-we-seem-not-to-need-the-work-around-.patch
@@ -0,0 +1,56 @@
+From 5519de933d851789a672d47be3f53258d036aa18 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Thu, 8 Feb 2024 14:12:17 +0100
+Subject: [PATCH] man/Makefile.am: we seem not to need the work around anymore
+
+* I'm trying to fix random build failure in world builds which sometimes
+ fail with:
+
+Making install in man
+make[1]: Entering directory 'nana/2.5/nana-2.5/man'
+make[2]: Entering directory 'nana/2.5/nana-2.5/man'
+make[2]: Nothing to be done for 'install-exec-am'.
+ TOPDIR/BUILD/hosttools/mkdir -p 'nana/2.5/image/usr/share/man/man1'
+installing nana.1 as /usr/share/man/man1/nana.1
+ TOPDIR/BUILD/hosttools/mkdir -p 'nana/2.5/image/usr/share/man/man3'
+ TOPDIR/BUILD/hosttools/install -c -m 644 I.3 DI.3 L.3 DL.3 Q.3 Qstl.3 nana.3 'nana/2.5/image/usr/share/man/man3'
+ TOPDIR/BUILD/hosttools/install -c -m 644 nana.1 nana-clg.1 'nana/2.5/image/usr/share/man/man1'
+TOPDIR/BUILD/hosttools/install: cannot create regular file 'nana/2.5/image/usr/share/man/man1/nana.1': File exists
+make[2]: *** [Makefile:314: install-man1] Error 1
+make[2]: *** Waiting for unfinished jobs....
+make[2]: Leaving directory 'nana/2.5/nana-2.5/man'
+make[1]: Leaving directory 'nana/2.5/nana-2.5/man'
+make[1]: *** [Makefile:450: install-am] Error 2
+make: *** [Makefile:380: install-recursive] Error 1
+
+ I guess it's related to install-data-local work around in:
+ https://github.com/pjmaker/nana/blob/master/man/Makefile.am#L15
+
+ which might not be needed on some make versions and then it ends
+ installing nana.1 multiple times
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Pending
+---
+ man/Makefile.am | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/man/Makefile.am b/man/Makefile.am
+index 4cc5b28..3b2936d 100755
+--- a/man/Makefile.am
++++ b/man/Makefile.am
+@@ -7,14 +7,3 @@ CLEANFILES = *~
+ EXTRA_DIST = nana.1 nana-clg.1 I.3 DI.3 L.3 DL.3 Q.3 Qstl.3 nana.3
+
+ man_MANS = nana.1 nana-clg.1 I.3 DI.3 L.3 DL.3 Q.3 Qstl.3 nana.3
+-
+-# We seem to have a problem with automake, if I include nana.1 in the
+-# man_MANS variable we don't install it. The following dodgey aims
+-# to fix it.
+-
+-install-data-local:
+- @sect=1; \
+- inst=`echo "nana" | sed '$(transform)'`.1; \
+- echo installing nana.1 as $(mandir)/man$$sect/$$inst; \
+- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst
+-
diff --git a/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch
deleted file mode 100644
index 653a7e44c1..0000000000
--- a/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 7b04c4873c0a4510bdaf9145bf01ca34b3549fdb Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Thu, 4 Dec 2014 03:50:19 +0900
-Subject: [PATCH 1/2] change mandir to DESTDIR
-
-Upstream-Status: pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- man/Makefile.am | 2 +-
- man/Makefile.in | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/man/Makefile.am b/man/Makefile.am
-index 80d24d8..944bc57 100644
---- a/man/Makefile.am
-+++ b/man/Makefile.am
-@@ -16,5 +16,5 @@ install-data-local:
- @sect=1; \
- inst=`echo "nana" | sed '$(transform)'`.1; \
- echo installing nana.1 as $(mandir)/man$$sect/$$inst; \
-- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst
-+ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst
-
-diff --git a/man/Makefile.in b/man/Makefile.in
-index 6008b20..64bb84c 100644
---- a/man/Makefile.in
-+++ b/man/Makefile.in
-@@ -274,7 +274,7 @@ install-data-local:
- @sect=1; \
- inst=`echo "nana" | sed '$(transform)'`.1; \
- echo installing nana.1 as $(mandir)/man$$sect/$$inst; \
-- $(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst
-+ $(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst
-
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
---
-1.8.4.2
-
diff --git a/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch
deleted file mode 100644
index aeb25466ca..0000000000
--- a/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From 679e33bfe74d713240fdd930602b993b937dce39 Mon Sep 17 00:00:00 2001
-From: Li xin <lixin.fnst@cn.fujitsu.com>
-Date: Fri, 23 Jan 2015 03:30:47 +0900
-Subject: [PATCH] modify acinclude.m4 and configure.in
-
-this patch is from Debian to fix build errors.
-"acinclude.m4:34: error: automatic de-ANSI-fication
-support has been removed"
-
-Upstream-Status: pending
-
-Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
----
- acinclude.m4 | 79 ------------------------------------------------------------
- configure.in | 12 +++++++++
- 2 files changed, 12 insertions(+), 79 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index e9e5500..d467fb5 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -30,82 +30,3 @@ AC_SUBST($1)
- ## ------------------------------- ##
- ## Check for function prototypes. ##
- ## ------------------------------- ##
--
--AC_DEFUN(fp_C_PROTOTYPES,
--[AC_REQUIRE([AM_PROG_CC_STDC])
--AC_MSG_CHECKING([for function prototypes])
--if test "$ac_cv_prog_cc_stdc" != no; then
-- AC_MSG_RESULT(yes)
-- AC_DEFINE(PROTOTYPES)
-- U= ANSI2KNR=
--else
-- AC_MSG_RESULT(no)
-- U=_ ANSI2KNR=./ansi2knr
--fi
--AC_SUBST(U)dnl
--AC_SUBST(ANSI2KNR)dnl
--])
--
--## ----------------------------------------- ##
--## ANSIfy the C compiler whenever possible. ##
--## ----------------------------------------- ##
--
--# @defmac AC_PROG_CC_STDC
--# @maindex PROG_CC_STDC
--# @ovindex CC
--# If the C compiler in not in ANSI C mode by default, try to add an option
--# to output variable @code{CC} to make it so. This macro tries various
--# options that select ANSI C on some system or another. It considers the
--# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and
--# handles function prototypes correctly.
--#
--# If you use this macro, you should check after calling it whether the C
--# compiler has been set to accept ANSI C; if not, the shell variable
--# @code{ac_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
--# code in ANSI C, you can make an un-ANSIfied copy of it by using the
--# program @code{ansi2knr}, which comes with Ghostscript.
--# @end defmac
--
--AC_DEFUN(fp_PROG_CC_STDC,
--[AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
--AC_CACHE_VAL(ac_cv_prog_cc_stdc,
--[ac_cv_prog_cc_stdc=no
--ac_save_CFLAGS="$CFLAGS"
--# Don't try gcc -ansi; that turns off useful extensions and
--# breaks some systems' header files.
--# AIX -qlanglvl=ansi
--# Ultrix and OSF/1 -std1
--# HP-UX -Aa -D_HPUX_SOURCE
--# SVR4 -Xc
--for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc
--do
-- CFLAGS="$ac_save_CFLAGS $ac_arg"
-- AC_TRY_COMPILE(
--[#if !defined(__STDC__) || __STDC__ != 1
--choke me
--#endif
--], [int test (int i, double x);
--struct s1 {int (*f) (int a);};
--struct s2 {int (*f) (double a);};],
--[ac_cv_prog_cc_stdc="$ac_arg"; break])
--done
--CFLAGS="$ac_save_CFLAGS"
--])
--AC_MSG_RESULT($ac_cv_prog_cc_stdc)
--case "x$ac_cv_prog_cc_stdc" in
-- x|xno) ;;
-- *) CC="$CC $ac_cv_prog_cc_stdc" ;;
--esac
--])
--
--## --------------------------------------------------------- ##
--## Use AC_PROG_INSTALL, supplementing it with INSTALL_SCRIPT ##
--## substitution. ##
--## --------------------------------------------------------- ##
--
--AC_DEFUN(fp_PROG_INSTALL,
--[AC_PROG_INSTALL
--test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755'
--AC_SUBST(INSTALL_SCRIPT)dnl
--])
--
-diff --git a/configure.in b/configure.in
-index 6b25ed5..a6a7f5b 100644
---- a/configure.in
-+++ b/configure.in
-@@ -103,6 +103,12 @@ nana_DEFINE(DI_MAKE_VALID_BREAKPOINT,(exprn),
- sparc-*-*|i?86-*-*)
- DI_MAKE_VALID_BREAKPOINT='asm("nop")'
- ;;
-+ arm*-*-*|frv-*-*|mips*-*-*)
-+ DI_MAKE_VALID_BREAKPOINT='asm("nop")'
-+ ;;
-+ sh*-*-*)
-+ DI_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")'
-+ ;;
- esac
- ])
-
-@@ -113,6 +119,12 @@ nana_DEFINE(DL_MAKE_VALID_BREAKPOINT,(),
- sparc-*-*|i?86-*-*)
- DL_MAKE_VALID_BREAKPOINT='asm("nop")'
- ;;
-+ arm*-*-*|frv-*-*|mips*-*-*)
-+ DL_MAKE_VALID_BREAKPOINT='asm("nop")'
-+ ;;
-+ sh*-*-*)
-+ DL_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")'
-+ ;;
- esac
- ])
-
---
-1.8.4.2
-
diff --git a/meta-oe/recipes-extended/nana/nana_2.5.bb b/meta-oe/recipes-extended/nana/nana_2.5.bb
deleted file mode 100644
index 4235006984..0000000000
--- a/meta-oe/recipes-extended/nana/nana_2.5.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Support for assertion checking and logging in GNU C/C++"
-DESCRIPTION = "GNU Nana is a free library providing improved support for assertion\
-checking (as in assert.h) and logging (printf style debugging) in \
-GNU C and C++."
-SECTION = "Development/Languages/C and C++"
-
-SRC_URI = "http://download.savannah.gnu.org/releases/${BPN}/${BP}.tar.gz \
- file://change-mandir-to-DESTDIR.patch \
- file://modify-acinclude.m4-and-configure.in.patch \
-"
-SRC_URI[md5sum] = "66c88aa0ad095b2e67673773135475f1"
-SRC_URI[sha256sum] = "fd1819ffea94b209513959447e4802afe2719600e7d161cd78b265a42812affa"
-
-LICENSE = "BSD-2-Clause"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=16aa57f3b7fdda870cee597275bd5d11"
-
-inherit autotools-brokensep pkgconfig texinfo
-
-EXTRA_OEMAKE = "DESTDIR=${D}"
-
-do_configure_prepend_class-nativesdk() {
- sed -i -e 's:@CPP@:\$\{CXX\} \$\{CXXFLAGS\} \-E:g' ${S}/src/nana.in
- sed -i -e 's:@CC@:\$\{CC\} \$\{CFLAGS\} \-E:g' ${S}/src/nana-clg.in
- sed -i -e 's:@CXX@::g' ${S}/src/nana-c++lg.in
- sed -i -e 's:@GDB@:\$\{GDB\}:g' ${S}/src/nana-run.in
-}
-
-do_install_prepend() {
- install -d ${D}${mandir}/man1
- install -d ${D}${mandir}/man3
- install -d ${D}${datadir}/info
-}
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-extended/nana/nana_git.bb b/meta-oe/recipes-extended/nana/nana_git.bb
new file mode 100644
index 0000000000..7c748bc49b
--- /dev/null
+++ b/meta-oe/recipes-extended/nana/nana_git.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Support for assertion checking and logging in GNU C/C++"
+DESCRIPTION = "GNU Nana is a free library providing improved support for assertion\
+checking (as in assert.h) and logging (printf style debugging) in \
+GNU C and C++."
+SECTION = "Development/Languages/C and C++"
+
+PV = "2.5+git"
+SRCREV = "6d70617db8b9972e6c1008265fc228aba91c2042"
+SRC_URI = "git://github.com/pjmaker/nana;protocol=https;branch=master \
+ file://0001-Makefile.am-fix-build-with-separate-build-dir.patch \
+ file://0002-man-Makefile.am-we-seem-not-to-need-the-work-around-.patch \
+"
+S = "${WORKDIR}/git"
+
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=16aa57f3b7fdda870cee597275bd5d11"
+
+inherit autotools pkgconfig texinfo
+
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+do_configure:prepend() {
+ # make distclean but in ${S}
+ rm -rf ${S}/src/*.o ${S}/src/.deps \
+ ${S}/Makefile ${S}/config.log ${S}/config.status \
+ ${S}/doc/Makefile ${S}/doc/nana.pdf \
+ ${S}/emacs/Makefile ${S}/examples/Makefile \
+ ${S}/gdb/Makefile ${S}/gdb/nana-libtrace ${S}/gdb/nana-trace \
+ ${S}/man/Makefile ${S}/perf/Makefile \
+ ${S}/shortform/Makefile ${S}/shortform/nana-sfdir ${S}/shortform/nana-sfg \
+ ${S}/src/Makefile ${S}/src/libnana.a \
+ ${S}/src/nana ${S}/src/nana-c++lg ${S}/src/nana-clg ${S}/src/nana-config.h ${S}/src/nana-run ${S}/src/nanafilter \
+ ${S}/test/Makefile ${S}/test/gammon
+}
+
+do_configure:prepend:class-nativesdk() {
+ sed -i -e 's:@CPP@:\$\{CXX\} \$\{CXXFLAGS\} \-E:g' ${S}/src/nana.in
+ sed -i -e 's:@CC@:\$\{CC\} \$\{CFLAGS\} \-E:g' ${S}/src/nana-clg.in
+ sed -i -e 's:@CXX@::g' ${S}/src/nana-c++lg.in
+ sed -i -e 's:@GDB@:\$\{GDB\}:g' ${S}/src/nana-run.in
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-extended/networking/mstpd/bridge-stp b/meta-oe/recipes-extended/networking/mstpd/bridge-stp
new file mode 100644
index 0000000000..59c5786b74
--- /dev/null
+++ b/meta-oe/recipes-extended/networking/mstpd/bridge-stp
@@ -0,0 +1,18 @@
+#!/bin/sh
+if [ "$#" -lt 2 ]; then
+ echo "Missing args: bridge-stp <bridge> <start|stop>" >&2
+ exit 1
+fi
+case "$2" in
+ start)
+ /usr/sbin/mstpctl addbridge "$1"
+ exit
+ ;;
+ stop)
+ /usr/sbin/mstpctl delbridge "$1"
+ exit
+ ;;
+ *)
+ echo "Invalid operation: $2" >&2
+ exit 1
+esac
diff --git a/meta-oe/recipes-extended/networking/mstpd/mstpd.service b/meta-oe/recipes-extended/networking/mstpd/mstpd.service
new file mode 100644
index 0000000000..645db893cc
--- /dev/null
+++ b/meta-oe/recipes-extended/networking/mstpd/mstpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Multiple Spanning Tree Protocol Daemon
+Before=network-pre.target
+Wants=network-pre.target
+[Service]
+Restart=always
+Type=simple
+ExecStart=/usr/sbin/mstpd -d -v 2
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/networking/mstpd_git.bb b/meta-oe/recipes-extended/networking/mstpd_git.bb
new file mode 100644
index 0000000000..b2043ef062
--- /dev/null
+++ b/meta-oe/recipes-extended/networking/mstpd_git.bb
@@ -0,0 +1,33 @@
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4325afd396febcb659c36b49533135d4"
+
+PV = "0.1.0+git"
+
+SRC_URI = " \
+ git://github.com/mstpd/mstpd;branch=master;protocol=https \
+ file://bridge-stp \
+ file://mstpd.service \
+"
+SRCREV = "181c453fc1a00573e19f14960dcc54ad84beea7c"
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+){2,})"
+
+inherit autotools pkgconfig systemd
+
+PACKAGES =+ "${PN}-mstpd"
+FILES:${PN}-mstpd = "${sbindir}/mstpd ${sbindir}/mstpctl ${sbindir}/bridge-stp"
+
+SYSTEMD_PACKAGES = "${PN}-mstpd"
+SYSTEMD_SERVICE:${PN}-mstpd = "mstpd.service"
+
+do_install:append() {
+ rm -rf ${D}${libexecdir} ${D}${libdir}/NetworkManager
+ rmdir ${D}${libdir} || true
+
+ install -d -m 0755 ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/bridge-stp ${D}${sbindir}
+
+ install -d -m 0755 ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/mstpd.service ${D}${systemd_system_unitdir}
+}
diff --git a/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch b/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch
index a208f97eb2..78e3176e89 100644
--- a/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch
+++ b/meta-oe/recipes-extended/nicstat/nicstat/0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch
@@ -8,6 +8,8 @@ Use the defines from platform
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
nicstat.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb
index 3875f0f605..bf742fa062 100644
--- a/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb
+++ b/meta-oe/recipes-extended/nicstat/nicstat_1.95.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "http://nicstat.sourceforge.net"
LICENSE = "Artistic-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b4a94da2a1f918b217ef5156634fc9e0"
-SRC_URI = "http://softlayer-sng.dl.sourceforge.net/project/${BPN}/${BP}.tar.gz \
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
file://0001-nicstat.c-Do-not-define-uint64_t-and-uint32_t.patch \
"
SRC_URI[md5sum] = "9a0b87bbc670c1e738e5b40c7afd184d"
diff --git a/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb b/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
index 04f82d2bcd..df43d25ac3 100644
--- a/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
+++ b/meta-oe/recipes-extended/openlmi/openlmi-tools_0.10.5.bb
@@ -1,12 +1,14 @@
SUMMARY = "Set of CLI tools for Openlmi providers"
DESCRIPTION = "openlmi-tools is a set of command line tools for Openlmi providers."
HOMEPAGE = "http://www.openlmi.org/"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://../COPYING;md5=75859989545e37968a99b631ef42722e"
SECTION = "System/Management"
inherit ${@bb.utils.contains("BBFILE_COLLECTIONS", "meta-python2", "setuptools", "", d)}
+SKIP_RECIPE[openlmi-tools] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+
DEPENDS = "python-native python-pywbem-native python-m2crypto python-pywbem"
SRC_URI = "http://fedorahosted.org/released/${BPN}/${BP}.tar.gz \
@@ -16,7 +18,7 @@ SRC_URI[sha256sum] = "292b8f5f2250655a4add8183c529b73358bc980bd4f23cfa484a940953
S = "${WORKDIR}/${BP}/cli"
-do_configure_prepend() {
+do_configure:prepend() {
sed 's/@@VERSION@@/$(VERSION)/g' ${S}/setup.py.skel > ${S}/setup.py
}
diff --git a/meta-oe/recipes-extended/openwsman/openwsman/0001-Link-with-libm-for-floor-function.patch b/meta-oe/recipes-extended/openwsman/openwsman/0001-Link-with-libm-for-floor-function.patch
new file mode 100644
index 0000000000..2f47261588
--- /dev/null
+++ b/meta-oe/recipes-extended/openwsman/openwsman/0001-Link-with-libm-for-floor-function.patch
@@ -0,0 +1,71 @@
+From 09101da4efaa5584b7f3f3f3bfa5dbb4d1e26948 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 24 Jul 2023 22:09:21 -0700
+Subject: [PATCH] Link with libm for floor() function
+
+LLD linker finds this missing symbol
+
+arm-yoe-linux-gnueabi-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: floor
+>>> referenced by src/lib/libwsman.so.1.0.0
+
+Upstream-Status: Submitted [https://github.com/Openwsman/openwsman/pull/195]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 10 ++++++++++
+ configure.ac | 3 ++-
+ src/lib/CMakeLists.txt | 4 ++++
+ 3 files changed, 16 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6e54c66b..507ee633 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -297,6 +297,16 @@ ELSE(HAVE_LIBDL)
+ SET(HAVE_LIBDL 0)
+ ENDIF(HAVE_LIBDL)
+
++# m
++
++FIND_LIBRARY( HAVE_LIBM "m" )
++IF(HAVE_LIBM)
++ SET(M_LIBRARIES ${HAVE_LIBM})
++ SET(HAVE_LIBM 1)
++ELSE(HAVE_LIBM)
++ SET(HAVE_LIBM 0)
++ENDIF(HAVE_LIBM)
++
+ # crypt
+
+ FIND_LIBRARY( HAVE_LIBCRYPT "crypt" )
+diff --git a/configure.ac b/configure.ac
+index 125564da..010fa0b6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -128,7 +128,8 @@ daemon \
+ va_copy \
+ memmove \
+ bcopy \
+-gmtime_r
++gmtime_r \
++floor
+ )
+ AC_CHECK_FUNC(socket, , AC_CHECK_LIB(socket, socket))
+ AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname))
+diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
+index 5c51781f..496fd672 100644
+--- a/src/lib/CMakeLists.txt
++++ b/src/lib/CMakeLists.txt
+@@ -36,6 +36,10 @@ if( HAVE_LIBDL )
+ TARGET_LINK_LIBRARIES(wsman ${DL_LIBRARIES})
+ endif( HAVE_LIBDL )
+
++if( HAVE_LIBM )
++TARGET_LINK_LIBRARIES(wsman ${M_LIBRARIES})
++endif( HAVE_LIBM )
++
+ IF( ENABLE_EVENTING_SUPPORT )
+ TARGET_LINK_LIBRARIES( wsman ${WSMAN_CLIENT_PKG} )
+ ENDIF( ENABLE_EVENTING_SUPPORT )
+--
+2.41.0
+
diff --git a/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch b/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch
index 7823fde7a0..0e2349e303 100644
--- a/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch
+++ b/meta-oe/recipes-extended/openwsman/openwsman/0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch
@@ -8,6 +8,8 @@ checking for OS
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/lib/u/lock.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/openwsman/openwsman/libssl-is-required-if-eventint-supported.patch b/meta-oe/recipes-extended/openwsman/openwsman/libssl-is-required-if-eventint-supported.patch
index bd540e37c1..71f3d90a81 100644
--- a/meta-oe/recipes-extended/openwsman/openwsman/libssl-is-required-if-eventint-supported.patch
+++ b/meta-oe/recipes-extended/openwsman/openwsman/libssl-is-required-if-eventint-supported.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
libssl is required by wsman_client_transport if ENABLE_EVENTING_SUPPORT enabled.
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
diff --git a/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb b/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb
deleted file mode 100644
index 9d5a2307e7..0000000000
--- a/meta-oe/recipes-extended/openwsman/openwsman_2.6.11.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "Opensource Implementation of WS-Management"
-DESCRIPTION = "Openwsman is a project intended to provide an open-source \
-implementation of the Web Services Management specipication \
-(WS-Management) and to expose system management information on the \
-Linux operating system using the WS-Management protocol. WS-Management \
-is based on a suite of web services specifications and usage \
-requirements that exposes a set of operations focused on and covers \
-all system management aspects. \
-Openwsman Server and service libraries"
-HOMEPAGE = "http://www.openwsman.org/"
-SECTION = "Applications/System"
-
-DEPENDS = "curl libxml2 openssl libpam"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-SRCREV = "d8eba6cb6682b59d84ca1da67a523520b879ade6"
-
-SRC_URI = "git://github.com/Openwsman/openwsman.git \
- file://libssl-is-required-if-eventint-supported.patch \
- file://openwsmand.service \
- file://0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch \
- "
-
-S = "${WORKDIR}/git"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba"
-
-inherit systemd cmake pkgconfig python3native perlnative
-
-SYSTEMD_SERVICE_${PN} = "openwsmand.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd ", '', d)}"
-
-EXTRA_OECMAKE = "-DBUILD_BINDINGS=NO \
- -DBUILD_LIBCIM=NO \
- -DBUILD_PERL=YES \
- -DBUILD_PYTHON3=YES \
- -DBUILD_PYTHON=NO \
- -DCMAKE_INSTALL_PREFIX=${prefix} \
- -DLIB=${baselib} \
- "
-
-do_configure_prepend() {
- export STAGING_INCDIR=${STAGING_INCDIR}
- export STAGING_LIBDIR=${STAGING_LIBDIR}
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 755 ${B}/etc/init/openwsmand.sh ${D}/${sysconfdir}/init.d/openwsmand
- ln -sf ${sysconfdir}/init.d/openwsmand ${D}/${sbindir}/rcopenwsmand
- chmod 755 ${D}/${sysconfdir}/openwsman/owsmangencert.sh
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/openwsmand.service ${D}/${systemd_unitdir}/system
-
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/openwsmand.service
- fi
-}
-
-FILES_${PN}-dbg += "${libdir}/openwsman/plugins/.debug/ \
- ${libdir}/openwsman/authenticators/.debug/ \
- "
-
-INSANE_SKIP_${PN} = "dev-so"
-RDEPENDS_${PN} = "ruby"
diff --git a/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb b/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb
new file mode 100644
index 0000000000..1c68b5f432
--- /dev/null
+++ b/meta-oe/recipes-extended/openwsman/openwsman_2.7.2.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Opensource Implementation of WS-Management"
+DESCRIPTION = "Openwsman is a project intended to provide an open-source \
+implementation of the Web Services Management specipication \
+(WS-Management) and to expose system management information on the \
+Linux operating system using the WS-Management protocol. WS-Management \
+is based on a suite of web services specifications and usage \
+requirements that exposes a set of operations focused on and covers \
+all system management aspects. \
+Openwsman Server and service libraries"
+HOMEPAGE = "http://www.openwsman.org/"
+SECTION = "Applications/System"
+
+DEPENDS = "curl libxml2 openssl libpam"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SRCREV = "0120e256faa255d997d9a49d5207662c0b73d430"
+
+SRC_URI = "git://github.com/Openwsman/openwsman.git;branch=main;protocol=https \
+ file://libssl-is-required-if-eventint-supported.patch \
+ file://openwsmand.service \
+ file://0001-lock.c-Define-PTHREAD_MUTEX_RECURSIVE_NP-if-undefine.patch \
+ file://0001-Link-with-libm-for-floor-function.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d4f53d4c6cf73b9d43186ce3be6dd0ba"
+
+inherit systemd cmake pkgconfig python3native perlnative
+
+SYSTEMD_SERVICE:${PN} = "openwsmand.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd ", '', d)}"
+
+EXTRA_OECMAKE = "-DBUILD_BINDINGS=NO \
+ -DBUILD_LIBCIM=NO \
+ -DBUILD_PERL=YES \
+ -DBUILD_PYTHON3=YES \
+ -DBUILD_PYTHON=NO \
+ -DCMAKE_INSTALL_PREFIX=${prefix} \
+ -DLIB=${baselib} \
+ "
+
+do_configure:prepend() {
+ export STAGING_INCDIR=${STAGING_INCDIR}
+ export STAGING_LIBDIR=${STAGING_LIBDIR}
+}
+
+do_install:append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${B}/etc/init/openwsmand.sh ${D}/${sysconfdir}/init.d/openwsmand
+ ln -sf ${sysconfdir}/init.d/openwsmand ${D}/${sbindir}/rcopenwsmand
+ chmod 755 ${D}/${sysconfdir}/openwsman/owsmangencert.sh
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openwsmand.service ${D}/${systemd_unitdir}/system
+
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/openwsmand.service
+ fi
+}
+
+FILES:${PN}-dbg += "${libdir}/openwsman/plugins/.debug/ \
+ ${libdir}/openwsman/authenticators/.debug/ \
+ "
+
+INSANE_SKIP:${PN} = "dev-so"
+RDEPENDS:${PN} = "ruby"
diff --git a/meta-oe/recipes-extended/ostree/ostree_2020.8.bb b/meta-oe/recipes-extended/ostree/ostree_2020.8.bb
deleted file mode 100644
index 4f0f719fb3..0000000000
--- a/meta-oe/recipes-extended/ostree/ostree_2020.8.bb
+++ /dev/null
@@ -1,189 +0,0 @@
-SUMMARY = "Versioned Operating System Repository."
-DESCRIPTION = "libostree is both a shared library and suite of command line \
-tools that combines a \"git-like\" model for committing and downloading \
-bootable filesystem trees, along with a layer for deploying them and managing \
-the bootloader configuration."
-HOMEPAGE = "https://ostree.readthedocs.io"
-LICENSE = "LGPLv2.1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-DEPENDS = " \
- glib-2.0 \
- e2fsprogs \
- libcap \
- zlib \
- xz \
- bison-native \
-"
-
-# The Yocto mirror has an old export of ostree:
-# http://downloads.yoctoproject.org/mirror/sources/git2_github.com.ostreedev.ostree.tar.gz
-PREMIRRORS = ""
-
-SRC_URI = " \
- gitsm://github.com/ostreedev/ostree \
- file://run-ptest \
-"
-SRCREV = "3e289b19345e30d2da193cd208e109f7d7aaa2a1"
-
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+\.\d+)"
-
-S = "${WORKDIR}/git"
-
-inherit autotools bash-completion gobject-introspection gtk-doc manpages pkgconfig ptest-gnome systemd
-
-# Package configuration - match ostree defaults, but without rofiles-fuse
-# otherwise we introduce a dependendency on meta-filesystems
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \
- glib \
- gpgme \
- soup \
-"
-
-# We include soup because ostree can't (currently) be built without
-# soup or curl - https://github.com/ostreedev/ostree/issues/1897
-PACKAGECONFIG_class-native ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
- builtin-grub2-mkconfig \
- gpgme \
- soup \
-"
-
-PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi"
-PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig"
-PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl"
-PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut"
-PACKAGECONFIG[glib] = "--with-crypto=glib"
-PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs"
-PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls"
-PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme"
-PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive"
-PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux"
-PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native"
-PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio"
-PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2"
-PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl"
-PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse"
-PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux"
-PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack"
-PACKAGECONFIG[soup] = "--with-soup, --without-soup --disable-glibtest, libsoup-2.4"
-PACKAGECONFIG[static] = ""
-PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_unitdir}/system, --without-libsystemd, systemd"
-PACKAGECONFIG[trivial-httpd-cmdline] = "--enable-trivial-httpd-cmdline, --disable-trivial-httpd-cmdline"
-
-EXTRA_OECONF = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \
-"
-
-# Makefile-libostree.am overrides this to avoid a build problem with clang,
-# but that fix breaks cross compilation and we don't need it
-EXTRA_OEMAKE = " \
- INTROSPECTION_SCANNER_ENV= \
-"
-
-EXTRA_OECONF_class-native = " \
- --enable-wrpseudo-compat \
- --disable-otmpfile \
-"
-
-# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the
-# do_configure stage so we do depend on it
-SYSROOT_DIR = "${STAGING_DIR_TARGET}"
-SYSROOT_DIR_class-native = "${STAGING_DIR_NATIVE}"
-do_configure[vardeps] += "SYSROOT_DIR"
-
-do_configure_prepend() {
- # this reflects what autogen.sh does, but the OE wrappers for autoreconf
- # allow it to work without the other gyrations which exist there
- cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc
- cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc
-}
-
-do_install_append_class-native() {
- create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator"
-}
-
-PACKAGE_BEFORE_PN = " \
- ${PN}-dracut \
- ${PN}-grub \
- ${PN}-mkinitcpio \
- ${PN}-switchroot \
- ${PN}-trivial-httpd \
-"
-
-FILES_${PN} += " \
- ${nonarch_libdir}/${BPN} \
- ${nonarch_libdir}/tmpfiles.d \
- ${systemd_unitdir}/system \
- ${systemd_unitdir}/system-generators \
-"
-FILES_${PN}-dracut = " \
- ${sysconfdir}/dracut.conf.d \
- ${libdir}/dracut \
-"
-FILES_${PN}-grub = " \
- ${sysconfdir}/grub.d \
- ${libexecdir}/libostree/grub2-15_ostree \
-"
-FILES_${PN}-mkinitcpio = " \
- ${sysconfdir}/ostree-mkinitcpio.conf \
- ${libdir}/initcpio \
-"
-FILES_${PN}-switchroot = " \
- ${nonarch_libdir}/${BPN}/ostree-prepare-root \
- ${systemd_unitdir}/system/ostree-prepare-root.service \
-"
-FILES_${PN}-trivial-httpd = " \
- ${libexecdir}/libostree/ostree-trivial-httpd \
-"
-
-RDEPENDS_${PN} = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'trivial-httpd-cmdline', '${PN}-trivial-httpd', '', d)} \
-"
-RDEPENDS_${PN}-dracut = "bash"
-RDEPENDS_${PN}-mkinitcpio = "bash"
-RDEPENDS_${PN}_class-target = " \
- ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \
- ${PN}-switchroot \
-"
-
-#
-# Note that to get ptest to pass you also need:
-#
-# xattr in DISTRO_FEATURES
-# static ostree-prepare-root (PACKAGECONFIG_append_pn-ostree = " static")
-# meta-python in your layers
-# overlayfs in your kernel (KERNEL_EXTRA_FEATURES += "features/overlayfs/overlayfs.scc")
-# busybox built statically
-# /var/tmp as a real filesystem (not a tmpfs)
-# Sufficient disk space (IMAGE_ROOTFS_SIZE = "524288") and RAM (QB_MEM = "-m 1024")
-#
-RDEPENDS_${PN}-ptest += " \
- attr \
- bash \
- coreutils \
- cpio \
- diffutils \
- findutils \
- grep \
- python3-core \
- python3-multiprocessing \
- strace \
- tar \
- util-linux \
- xz \
- ${PN}-trivial-httpd \
- ${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'python3-pyyaml', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \
-"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils glibc-localedata-en-us"
-
-RRECOMMENDS_${PN} += "kernel-module-overlay"
-
-SYSTEMD_SERVICE_${PN} = "ostree-remount.service ostree-finalize-staged.path"
-SYSTEMD_SERVICE_${PN}-switchroot = "ostree-prepare-root.service"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/ostree/ostree_2024.5.bb b/meta-oe/recipes-extended/ostree/ostree_2024.5.bb
new file mode 100644
index 0000000000..2ea92f190c
--- /dev/null
+++ b/meta-oe/recipes-extended/ostree/ostree_2024.5.bb
@@ -0,0 +1,214 @@
+SUMMARY = "Versioned Operating System Repository."
+DESCRIPTION = "libostree is both a shared library and suite of command line \
+tools that combines a \"git-like\" model for committing and downloading \
+bootable filesystem trees, along with a layer for deploying them and managing \
+the bootloader configuration."
+HOMEPAGE = "https://ostree.readthedocs.io"
+LICENSE = "LGPL-2.1-only"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+DEPENDS = " \
+ glib-2.0-native \
+ glib-2.0 \
+ e2fsprogs \
+ libcap \
+ zlib \
+ xz \
+ bison-native \
+"
+
+GITHUB_BASE_URI = "https://github.com/ostreedev/ostree/releases"
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/libostree-${PV}.tar.xz \
+ file://run-ptest \
+ "
+SRC_URI[sha256sum] = "bc12d8493db64152093ee5be77cf62a29cc67a4a9e430dc987103e78aada4a6f"
+
+S = "${WORKDIR}/libostree-${PV}"
+
+inherit autotools bash-completion gobject-introspection github-releases gtk-doc manpages pkgconfig ptest-gnome systemd
+
+UNKNOWN_CONFIGURE_OPT_IGNORE = "--disable-introspection --enable-introspection"
+
+# Workaround compile failure:
+# |../git/src/libotutil/zbase32.c:37:1: error: function returns an aggregate [-Werror=aggregate-return]
+# so remove -Og and use -O2 as workaround
+DEBUG_OPTIMIZATION:remove = "-Og"
+DEBUG_OPTIMIZATION:append = " -O2"
+BUILD_OPTIMIZATION:remove = "-Og"
+BUILD_OPTIMIZATION:append = " -O2"
+
+# Package configuration - match ostree defaults, but without rofiles-fuse
+# otherwise we introduce a dependendency on meta-filesystems and swap
+# soup for curl to avoid bringing in deprecated libsoup2 (though
+# to run ptest requires that you have soup2 or soup3).
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd libmount', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'soup3', '', d)} \
+ glib \
+ gpgme \
+ curl \
+"
+
+# We include curl because ostree can't (currently) be built without
+# soup or curl - https://github.com/ostreedev/ostree/issues/1897
+PACKAGECONFIG:class-native ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ builtin-grub2-mkconfig \
+ gpgme \
+ curl \
+"
+
+PACKAGECONFIG:class-nativesdk ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux smack', d)} \
+ builtin-grub2-mkconfig \
+ gpgme \
+ curl \
+"
+
+PACKAGECONFIG[avahi] = "--with-avahi, --without-avahi, avahi"
+PACKAGECONFIG[builtin-grub2-mkconfig] = "--with-builtin-grub2-mkconfig, --without-builtin-grub2-mkconfig"
+PACKAGECONFIG[curl] = "--with-curl, --without-curl, curl"
+PACKAGECONFIG[dracut] = "--with-dracut, --without-dracut"
+PACKAGECONFIG[ed25519-libsodium] = "--with-ed25519-libsodium, --without-ed25519-libsodium, libsodium"
+PACKAGECONFIG[ed25519-openssl] = "--with-openssl, --without-openssl, openssl"
+PACKAGECONFIG[gjs] = "ac_cv_path_GJS=${bindir}/gjs"
+PACKAGECONFIG[glib] = "--with-crypto=glib, , , , , gnutls openssl"
+PACKAGECONFIG[gnutls] = "--with-crypto=gnutls, , gnutls, , , glib openssl"
+PACKAGECONFIG[gpgme] = "--with-gpgme, --without-gpgme, gpgme"
+PACKAGECONFIG[libarchive] = "--with-libarchive, --without-libarchive, libarchive"
+PACKAGECONFIG[libmount] = "--with-libmount, --without-libmount, util-linux"
+PACKAGECONFIG[manpages] = "--enable-man, --disable-man, libxslt-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[mkinitcpio] = "--with-mkinitcpio, --without-mkinitcpio"
+PACKAGECONFIG[no-http2] = "--disable-http2, --enable-http2"
+PACKAGECONFIG[openssl] = "--with-crypto=openssl, , openssl, , , glib gnutls"
+PACKAGECONFIG[rofiles-fuse] = "--enable-rofiles-fuse, --disable-rofiles-fuse, fuse3"
+PACKAGECONFIG[selinux] = "--with-selinux, --without-selinux, libselinux, bubblewrap"
+PACKAGECONFIG[smack] = "--with-smack, --without-smack, smack"
+PACKAGECONFIG[soup2] = "--with-soup, --without-soup, libsoup-2.4, , , soup3"
+PACKAGECONFIG[soup3] = "--with-soup3, --without-soup3, libsoup, , , soup2"
+PACKAGECONFIG[static] = ""
+PACKAGECONFIG[systemd] = "--with-libsystemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-libsystemd, systemd"
+
+EXTRA_OECONF = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'static', '--with-static-compiler=\'${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}\'', '', d)} \
+"
+
+# Makefile-libostree.am overrides this to avoid a build problem with clang,
+# but that fix breaks cross compilation and we don't need it
+EXTRA_OEMAKE = " \
+ INTROSPECTION_SCANNER_ENV= \
+"
+
+EXTRA_OECONF:class-native = " \
+ --enable-wrpseudo-compat \
+ --disable-otmpfile \
+"
+
+EXTRA_OECONF:class-nativesdk = " \
+ --enable-wrpseudo-compat \
+ --disable-otmpfile \
+"
+
+# Path to ${prefix}/lib/ostree/ostree-grub-generator is hardcoded on the
+# do_configure stage so we do depend on it
+SYSROOT_DIR = "${STAGING_DIR_TARGET}"
+SYSROOT_DIR:class-native = "${STAGING_DIR_NATIVE}"
+do_configure[vardeps] += "SYSROOT_DIR"
+
+do_configure:prepend() {
+ # this reflects what autogen.sh does, but the OE wrappers for autoreconf
+ # allow it to work without the other gyrations which exist there
+ cp ${S}/libglnx/Makefile-libglnx.am ${S}/libglnx/Makefile-libglnx.am.inc
+ cp ${S}/bsdiff/Makefile-bsdiff.am ${S}/bsdiff/Makefile-bsdiff.am.inc
+}
+
+do_install:append:class-native() {
+ create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="${STAGING_LIBDIR_NATIVE}/ostree/ostree-grub-generator"
+}
+
+do_install:append:class-nativesdk() {
+ create_wrapper ${D}${bindir}/ostree OSTREE_GRUB2_EXEC="\$OECORE_NATIVE_SYSROOT/usr/lib/ostree/ostree-grub-generator"
+}
+
+PACKAGE_BEFORE_PN = " \
+ ${PN}-dracut \
+ ${PN}-grub \
+ ${PN}-mkinitcpio \
+ ${PN}-switchroot \
+"
+
+FILES:${PN} += " \
+ ${nonarch_libdir}/${BPN} \
+ ${nonarch_libdir}/tmpfiles.d \
+ ${systemd_system_unitdir} \
+ ${systemd_unitdir}/system-generators \
+"
+FILES:${PN}-dracut = " \
+ ${sysconfdir}/dracut.conf.d \
+ ${libdir}/dracut \
+"
+FILES:${PN}-grub = " \
+ ${sysconfdir}/grub.d \
+ ${libexecdir}/libostree/grub2-15_ostree \
+"
+FILES:${PN}-mkinitcpio = " \
+ ${sysconfdir}/ostree-mkinitcpio.conf \
+ ${libdir}/initcpio \
+"
+FILES:${PN}-switchroot = " \
+ ${nonarch_libdir}/${BPN}/ostree-prepare-root \
+ ${systemd_system_unitdir}/ostree-prepare-root.service \
+"
+
+RDEPENDS:${PN}-dracut = "bash"
+RDEPENDS:${PN}-mkinitcpio = "bash"
+RDEPENDS:${PN}:class-target = " \
+ ${@bb.utils.contains('PACKAGECONFIG', 'gpgme', 'gnupg', '', d)} \
+ ${PN}-switchroot \
+"
+
+#
+# Note that to get ptest to pass you also need:
+#
+# xattr in DISTRO_FEATURES (default)
+# static ostree-prepare-root
+# overlayfs in your kernel
+# busybox built statically
+# C.UTF-8 locale available (default)
+# Sufficient disk space/RAM (e.g. core-image-sato-sdk)
+#
+# Something like this in your local.conf:
+#
+# PACKAGECONFIG:append:pn-ostree = " static soup3"
+# KERNEL_EXTRA_FEATURES:append = " features/overlayfs/overlayfs.scc"
+# TARGET_CFLAGS:append:pn-busybox = " -static"
+#
+RDEPENDS:${PN}-ptest += " \
+ attr \
+ bash \
+ coreutils \
+ cpio \
+ diffutils \
+ findutils \
+ grep \
+ locale-base-en-us \
+ python3-core \
+ python3-multiprocessing \
+ strace \
+ tar \
+ util-linux \
+ xz \
+ python3-pyyaml \
+ ${@bb.utils.contains('PACKAGECONFIG', 'gjs', 'gjs', '', d)} \
+"
+RDEPENDS:${PN}-ptest:remove:riscv32 = "strace"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-localedata-en-us"
+
+RRECOMMENDS:${PN}:append:class-target = " kernel-module-overlay"
+
+SYSTEMD_SERVICE:${PN} = "ostree-remount.service ostree-finalize-staged.path"
+SYSTEMD_SERVICE:${PN}-switchroot = "ostree-prepare-root.service"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch b/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch
index ae27517458..1f08d1603a 100644
--- a/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch
+++ b/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch
@@ -1,4 +1,4 @@
-From b6b1782af4aa7f9084d32e4144738dc2535c8d6f Mon Sep 17 00:00:00 2001
+From 653674e11872465dd5edf1c1e8413ea813d7e086 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 23 Apr 2018 23:07:21 -0700
Subject: [PATCH] Fix narrowing errors -Wc++11-narrowing
@@ -17,6 +17,7 @@ also reported here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224930
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
CPP/Windows/ErrorMsg.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/meta-oe/recipes-extended/p7zip/files/CVE-2016-9296.patch b/meta-oe/recipes-extended/p7zip/files/CVE-2016-9296.patch
new file mode 100644
index 0000000000..98e186cbf0
--- /dev/null
+++ b/meta-oe/recipes-extended/p7zip/files/CVE-2016-9296.patch
@@ -0,0 +1,27 @@
+p7zip: Update CVE-2016-9296 patch URL.
+From: Robert Luberda <robert@debian.org>
+Date: Sat, 19 Nov 2016 08:48:08 +0100
+Subject: Fix nullptr dereference (CVE-2016-9296)
+
+Patch taken from https://sourceforge.net/p/p7zip/bugs/185/
+This patch file taken from Debian's patch set for p7zip
+
+Upstream-Status: Backport [https://sourceforge.net/p/p7zip/bugs/185/]
+CVE: CVE-2016-9296
+
+Signed-off-by: Virendra Thakur <virendra.thakur@kpit.com>
+
+Index: p7zip_16.02/CPP/7zip/Archive/7z/7zIn.cpp
+===================================================================
+--- p7zip_16.02.orig/CPP/7zip/Archive/7z/7zIn.cpp
++++ p7zip_16.02/CPP/7zip/Archive/7z/7zIn.cpp
+@@ -1097,7 +1097,8 @@ HRESULT CInArchive::ReadAndDecodePackedS
+ if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i])
+ ThrowIncorrect();
+ }
+- HeadersSize += folders.PackPositions[folders.NumPackStreams];
++ if (folders.PackPositions)
++ HeadersSize += folders.PackPositions[folders.NumPackStreams];
+ return S_OK;
+ }
+
diff --git a/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch b/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch
index 177d1455f8..9ba1078071 100644
--- a/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch
+++ b/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch
@@ -1,4 +1,7 @@
-p7zip: Fix CVE-2017-17969
+From 7f2da4f810b429ddb7afa0e252e3d02ced0eba87 Mon Sep 17 00:00:00 2001
+From: Radovan Scasny <radovan.scasny@siemens.com>
+Date: Tue, 20 Feb 2018 12:08:13 +0100
+Subject: [PATCH] p7zip: Fix CVE-2017-17969
[No upstream tracking] -- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888297
@@ -8,12 +11,18 @@ Compress/ShrinkDecoder.cpp: Heap-based buffer overflow
in the NCompress::NShrink::CDecoder::CodeReal method
in 7-Zip before 18.00 and p7zip allows remote attackers
to cause a denial of service (out-of-bounds write)
-or potentially execute arbitrary code via a crafted ZIP archive.
+or potentially execute arbitrary code via a crafted ZIP archive.
Upstream-Status: Backport [https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/8316/attachment/CVE-2017-17969.patch]
CVE: CVE-2017-17969
Signed-off-by: Radovan Scasny <radovan.scasny@siemens.com>
+---
+ CPP/7zip/Compress/ShrinkDecoder.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CPP/7zip/Compress/ShrinkDecoder.cpp b/CPP/7zip/Compress/ShrinkDecoder.cpp
+index 80b7e67..5bb0559 100644
--- a/CPP/7zip/Compress/ShrinkDecoder.cpp
+++ b/CPP/7zip/Compress/ShrinkDecoder.cpp
@@ -121,7 +121,12 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *
diff --git a/meta-oe/recipes-extended/p7zip/files/CVE-2018-5996.patch b/meta-oe/recipes-extended/p7zip/files/CVE-2018-5996.patch
new file mode 100644
index 0000000000..47868c982e
--- /dev/null
+++ b/meta-oe/recipes-extended/p7zip/files/CVE-2018-5996.patch
@@ -0,0 +1,227 @@
+From: Robert Luberda <robert@debian.org>
+Date: Sun, 28 Jan 2018 23:47:40 +0100
+Subject: CVE-2018-5996
+
+Hopefully fix Memory Corruptions via RAR PPMd (CVE-2018-5996) by
+applying a few changes from 7Zip 18.00-beta.
+
+Bug-Debian: https://bugs.debian.org/#888314
+
+Upstream-Status: Backport [https://sources.debian.org/data/non-free/p/p7zip-rar/16.02-3/debian/patches/06-CVE-2018-5996.patch]
+CVE: CVE-2018-5996
+
+Signed-off-by: Virendra Thakur <virendra.thakur@kpit.com>
+---
+ CPP/7zip/Compress/Rar1Decoder.cpp | 13 +++++++++----
+ CPP/7zip/Compress/Rar1Decoder.h | 1 +
+ CPP/7zip/Compress/Rar2Decoder.cpp | 10 +++++++++-
+ CPP/7zip/Compress/Rar2Decoder.h | 1 +
+ CPP/7zip/Compress/Rar3Decoder.cpp | 23 ++++++++++++++++++++---
+ CPP/7zip/Compress/Rar3Decoder.h | 2 ++
+ 6 files changed, 42 insertions(+), 8 deletions(-)
+
+diff --git a/CPP/7zip/Compress/Rar1Decoder.cpp b/CPP/7zip/Compress/Rar1Decoder.cpp
+index 1aaedcc..68030c7 100644
+--- a/CPP/7zip/Compress/Rar1Decoder.cpp
++++ b/CPP/7zip/Compress/Rar1Decoder.cpp
+@@ -29,7 +29,7 @@ public:
+ };
+ */
+
+-CDecoder::CDecoder(): m_IsSolid(false) { }
++CDecoder::CDecoder(): m_IsSolid(false), _errorMode(false) { }
+
+ void CDecoder::InitStructures()
+ {
+@@ -406,9 +406,14 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *
+ InitData();
+ if (!m_IsSolid)
+ {
++ _errorMode = false;
+ InitStructures();
+ InitHuff();
+ }
++
++ if (_errorMode)
++ return S_FALSE;
++
+ if (m_UnpackSize > 0)
+ {
+ GetFlagsBuf();
+@@ -477,9 +482,9 @@ STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream
+ const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress)
+ {
+ try { return CodeReal(inStream, outStream, inSize, outSize, progress); }
+- catch(const CInBufferException &e) { return e.ErrorCode; }
+- catch(const CLzOutWindowException &e) { return e.ErrorCode; }
+- catch(...) { return S_FALSE; }
++ catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; }
++ catch(const CLzOutWindowException &e) { _errorMode = true; return e.ErrorCode; }
++ catch(...) { _errorMode = true; return S_FALSE; }
+ }
+
+ STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size)
+diff --git a/CPP/7zip/Compress/Rar1Decoder.h b/CPP/7zip/Compress/Rar1Decoder.h
+index 630f089..01b606b 100644
+--- a/CPP/7zip/Compress/Rar1Decoder.h
++++ b/CPP/7zip/Compress/Rar1Decoder.h
+@@ -39,6 +39,7 @@ public:
+
+ Int64 m_UnpackSize;
+ bool m_IsSolid;
++ bool _errorMode;
+
+ UInt32 ReadBits(int numBits);
+ HRESULT CopyBlock(UInt32 distance, UInt32 len);
+diff --git a/CPP/7zip/Compress/Rar2Decoder.cpp b/CPP/7zip/Compress/Rar2Decoder.cpp
+index b3f2b4b..0580c8d 100644
+--- a/CPP/7zip/Compress/Rar2Decoder.cpp
++++ b/CPP/7zip/Compress/Rar2Decoder.cpp
+@@ -80,7 +80,8 @@ static const UInt32 kHistorySize = 1 << 20;
+ static const UInt32 kWindowReservSize = (1 << 22) + 256;
+
+ CDecoder::CDecoder():
+- m_IsSolid(false)
++ m_IsSolid(false),
++ m_TablesOK(false)
+ {
+ }
+
+@@ -100,6 +101,8 @@ UInt32 CDecoder::ReadBits(unsigned numBits) { return m_InBitStream.ReadBits(numB
+
+ bool CDecoder::ReadTables(void)
+ {
++ m_TablesOK = false;
++
+ Byte levelLevels[kLevelTableSize];
+ Byte newLevels[kMaxTableSize];
+ m_AudioMode = (ReadBits(1) == 1);
+@@ -170,6 +173,8 @@ bool CDecoder::ReadTables(void)
+ }
+
+ memcpy(m_LastLevels, newLevels, kMaxTableSize);
++ m_TablesOK = true;
++
+ return true;
+ }
+
+@@ -344,6 +349,9 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream *
+ return S_FALSE;
+ }
+
++ if (!m_TablesOK)
++ return S_FALSE;
++
+ UInt64 startPos = m_OutWindowStream.GetProcessedSize();
+ while (pos < unPackSize)
+ {
+diff --git a/CPP/7zip/Compress/Rar2Decoder.h b/CPP/7zip/Compress/Rar2Decoder.h
+index 3a0535c..0e9005f 100644
+--- a/CPP/7zip/Compress/Rar2Decoder.h
++++ b/CPP/7zip/Compress/Rar2Decoder.h
+@@ -139,6 +139,7 @@ class CDecoder :
+
+ UInt64 m_PackSize;
+ bool m_IsSolid;
++ bool m_TablesOK;
+
+ void InitStructures();
+ UInt32 ReadBits(unsigned numBits);
+diff --git a/CPP/7zip/Compress/Rar3Decoder.cpp b/CPP/7zip/Compress/Rar3Decoder.cpp
+index 3bf2513..6cb8a6a 100644
+--- a/CPP/7zip/Compress/Rar3Decoder.cpp
++++ b/CPP/7zip/Compress/Rar3Decoder.cpp
+@@ -92,7 +92,8 @@ CDecoder::CDecoder():
+ _writtenFileSize(0),
+ _vmData(0),
+ _vmCode(0),
+- m_IsSolid(false)
++ m_IsSolid(false),
++ _errorMode(false)
+ {
+ Ppmd7_Construct(&_ppmd);
+ }
+@@ -545,6 +546,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing)
+ return InitPPM();
+ }
+
++ TablesRead = false;
++ TablesOK = false;
++
+ _lzMode = true;
+ PrevAlignBits = 0;
+ PrevAlignCount = 0;
+@@ -606,6 +610,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing)
+ }
+ }
+ }
++ if (InputEofError())
++ return S_FALSE;
++
+ TablesRead = true;
+
+ // original code has check here:
+@@ -623,6 +630,9 @@ HRESULT CDecoder::ReadTables(bool &keepDecompressing)
+ RIF(m_LenDecoder.Build(&newLevels[kMainTableSize + kDistTableSize + kAlignTableSize]));
+
+ memcpy(m_LastLevels, newLevels, kTablesSizesSum);
++
++ TablesOK = true;
++
+ return S_OK;
+ }
+
+@@ -824,7 +834,12 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress)
+ PpmEscChar = 2;
+ PpmError = true;
+ InitFilters();
++ _errorMode = false;
+ }
++
++ if (_errorMode)
++ return S_FALSE;
++
+ if (!m_IsSolid || !TablesRead)
+ {
+ bool keepDecompressing;
+@@ -838,6 +853,8 @@ HRESULT CDecoder::CodeReal(ICompressProgressInfo *progress)
+ bool keepDecompressing;
+ if (_lzMode)
+ {
++ if (!TablesOK)
++ return S_FALSE;
+ RINOK(DecodeLZ(keepDecompressing))
+ }
+ else
+@@ -901,8 +918,8 @@ STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream, ISequentialOutStream
+ _unpackSize = outSize ? *outSize : (UInt64)(Int64)-1;
+ return CodeReal(progress);
+ }
+- catch(const CInBufferException &e) { return e.ErrorCode; }
+- catch(...) { return S_FALSE; }
++ catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; }
++ catch(...) { _errorMode = true; return S_FALSE; }
+ // CNewException is possible here. But probably CNewException is caused
+ // by error in data stream.
+ }
+diff --git a/CPP/7zip/Compress/Rar3Decoder.h b/CPP/7zip/Compress/Rar3Decoder.h
+index c130cec..2f72d7d 100644
+--- a/CPP/7zip/Compress/Rar3Decoder.h
++++ b/CPP/7zip/Compress/Rar3Decoder.h
+@@ -192,6 +192,7 @@ class CDecoder:
+ UInt32 _lastFilter;
+
+ bool m_IsSolid;
++ bool _errorMode;
+
+ bool _lzMode;
+ bool _unsupportedFilter;
+@@ -200,6 +201,7 @@ class CDecoder:
+ UInt32 PrevAlignCount;
+
+ bool TablesRead;
++ bool TablesOK;
+
+ CPpmd7 _ppmd;
+ int PpmEscChar;
+
diff --git a/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch b/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch
new file mode 100644
index 0000000000..93eb0588c0
--- /dev/null
+++ b/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch
@@ -0,0 +1,34 @@
+From 0820ef4b9238c1e39ae5bda32cc08cce3fd3ce89 Mon Sep 17 00:00:00 2001
+From: Nisha Parrakat <Nisha.Parrakat@kpit.com>
+Date: Wed, 26 May 2021 19:59:28 +0000
+Subject: [PATCH] fixes the below error
+
+| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp: In member function 'virtual LONG NArchive::NWim::CHandler::GetArchiveProperty(PROPID, PROPVARIANT*)':
+| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:308:11: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
+| 308 | numMethods++;
+| | ^~~~~~~~~~
+| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:318:9: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
+| 318 | numMethods++;
+
+use unsigned instead of bool
+Signed-off-by: Nisha Parrakat <Nisha.Parrakat@kpit.com>
+
+Upstream-Status: Pending
+
+---
+ CPP/7zip/Archive/Wim/WimHandler.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CPP/7zip/Archive/Wim/WimHandler.cpp b/CPP/7zip/Archive/Wim/WimHandler.cpp
+index 27d3298..4ff5cfe 100644
+--- a/CPP/7zip/Archive/Wim/WimHandler.cpp
++++ b/CPP/7zip/Archive/Wim/WimHandler.cpp
+@@ -298,7 +298,7 @@ STDMETHODIMP CHandler::GetArchiveProperty(PROPID propID, PROPVARIANT *value)
+
+ AString res;
+
+- bool numMethods = 0;
++ unsigned numMethods = 0;
+ for (unsigned i = 0; i < ARRAY_SIZE(k_Methods); i++)
+ {
+ if (methodMask & ((UInt32)1 << i))
diff --git a/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch b/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch
index b0a560fe98..2636e7f6f4 100644
--- a/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch
+++ b/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch
@@ -1,4 +1,7 @@
-do not override compiler and do not strip
+From b2aa209dfc5e59d6329b55b9764782334b63dbe8 Mon Sep 17 00:00:00 2001
+From: Raphael Freudiger <raphael.freudiger@siemens.com>
+Date: Wed, 11 Feb 2015 09:11:47 +0100
+Subject: [PATCH] do not override compiler and do not strip
The default makefile sets the compiler to g++ or gcc. This leads to a wrong architecture when cross-compiling.
Remove the hardcoded compiler and just append the flags to CXX and CC.
@@ -7,9 +10,14 @@ Upstream-Status: Pending
Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com>
Reviewed-By: Pascal Bach <pascal.bach@siemens.com>
-diff -Nurp p7zip_15.14.1_orig/makefile.machine p7zip_15.14.1/makefile.machine
---- p7zip_15.14.1_orig/makefile.machine 2016-03-23 20:37:47.000000000 +0100
-+++ p7zip_15.14.1/makefile.machine 2016-06-17 15:33:39.720454477 +0200
+---
+ makefile.machine | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/makefile.machine b/makefile.machine
+index 9e34c34..e9244d9 100644
+--- a/makefile.machine
++++ b/makefile.machine
@@ -2,7 +2,7 @@
# makefile for Linux (x86, PPC, alpha ...)
#
diff --git a/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb b/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
index 13479a90fe..e795482eb6 100644
--- a/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
+++ b/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb
@@ -1,6 +1,6 @@
SUMMARY = "7-zip is a commandline utility handling 7z archives."
HOMEPAGE = "http://www.7-zip.org/"
-LICENSE = "LGPL-2.1+ & unRAR"
+LICENSE = "LGPL-2.1-or-later & unRAR"
LIC_FILES_CHKSUM = "file://DOC/copying.txt;md5=4fbd65380cdd255951079008b364516c \
file://DOC/unRarLicense.txt;md5=9c87ddde469ef94aed153b0951d088de \
file://DOC/License.txt;md5=879598edf1f54dddb6930d7581357f8b"
@@ -9,6 +9,9 @@ SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_al
file://do_not_override_compiler_and_do_not_strip.patch \
file://CVE-2017-17969.patch \
file://0001-Fix-narrowing-errors-Wc-11-narrowing.patch \
+ file://change_numMethods_from_bool_to_unsigned.patch \
+ file://CVE-2018-5996.patch \
+ file://CVE-2016-9296.patch \
"
SRC_URI[md5sum] = "a0128d661cfe7cc8c121e73519c54fbf"
@@ -16,10 +19,26 @@ SRC_URI[sha256sum] = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6
S = "${WORKDIR}/${BPN}_${PV}"
+do_compile:append() {
+ oe_runmake 7z
+}
+FILES:${PN} += "${libdir}/* ${bindir}/7z"
+
+FILES_SOLIBSDEV = ""
+INSANE_SKIP:${PN} += "dev-so"
+
do_install() {
install -d ${D}${bindir}
- install -m 0755 ${S}/bin/* ${D}${bindir}
+ install -d ${D}${bindir}/Codecs
+ install -d ${D}${libdir}
+ install -d ${D}${libdir}/Codecs
+ install -m 0755 ${S}/bin/7za ${D}${bindir}
ln -s 7za ${D}${bindir}/7z
+ install -m 0755 ${S}/bin/Codecs/* ${D}${libdir}/Codecs/
+ install -m 0755 ${S}/bin/7z.so ${D}${libdir}/lib7z.so
}
-BBCLASSEXTEND = "native"
+RPROVIDES:${PN} += "lib7z.so()(64bit) 7z lib7z.so"
+RPROVIDES:${PN}-dev += "lib7z.so()(64bit) 7z lib7z.so"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-extended/p8platform/files/0001-Make-resulting-cmake-config-relocatable.patch b/meta-oe/recipes-extended/p8platform/files/0001-Make-resulting-cmake-config-relocatable.patch
deleted file mode 100644
index 9ff85b12a3..0000000000
--- a/meta-oe/recipes-extended/p8platform/files/0001-Make-resulting-cmake-config-relocatable.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 2650bb3bd3644784359be373252b0436873ca8cb Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@siemens.com>
-Date: Fri, 28 Sep 2018 16:44:37 +0200
-Subject: [PATCH] Make resulting cmake config relocatable
-
-This change avoids hardcoded install prefix in the p8-platform-config.cmake.
-Especially important when doing cross compilation with Yocto for example.
-
-Upstream-Status: Submitted [https://github.com/Pulse-Eight/platform/pull/38]
-
----
- CMakeLists.txt | 4 ----
- p8-platform-config.cmake.in | 13 +++++++++----
- 2 files changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7144b0b..f2db66e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -22,10 +22,6 @@ if(WIN32)
- src/windows/os-threads.cpp)
- endif()
-
--set(p8-platform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/p8-platform")
--IF(WIN32)
-- LIST(APPEND p8-platform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/p8-platform/windows")
--ENDIF(WIN32)
- set(p8-platform_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
-
- if(NOT ${CORE_SYSTEM_NAME} STREQUAL "")
-diff --git a/p8-platform-config.cmake.in b/p8-platform-config.cmake.in
-index 47f30f1..b08e96c 100644
---- a/p8-platform-config.cmake.in
-+++ b/p8-platform-config.cmake.in
-@@ -9,17 +9,22 @@
- # p8-platform_LIBRARY_DIRS - directories in which the libraries are situated
- #
- # propagate these properties from one build system to the other
-+get_filename_component(_p8-platform_rootdir ${CMAKE_CURRENT_LIST_DIR}/../ ABSOLUTE)
-+
- set (p8-platform_VERSION "@p8-platform_VERSION_MAJOR@.@p8-platform_VERSION_MINOR@")
--set (p8-platform_INCLUDE_DIRS @p8-platform_INCLUDE_DIRS@ @CMAKE_INSTALL_PREFIX@/include)
--set (p8-platform_LIBRARY_DIRS "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@")
-+set (p8-platform_INCLUDE_DIRS "${_p8-platform_rootdir}/include" "${_p8-platform_rootdir}/include/p8-platform")
-+if(WIN32)
-+ list(APPEND p8-platform_INCLUDE_DIRS "${_p8-platform_rootdir}/include/p8-platform/windows")
-+endif(WIN32)
-+set (p8-platform_LIBRARY_DIRS "${_p8-platform_rootdir}")
- set (p8-platform_LINKER_FLAGS "@p8-platform_LINKER_FLAGS@")
- set (p8-platform_CONFIG_VARS "@p8-platform_CONFIG_VARS@")
-
- # libraries come from the build tree where this file was generated
- if(WIN32)
-- set (p8-platform_LIBRARY "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/p8-platform.lib")
-+ set (p8-platform_LIBRARY "${_p8-platform_rootdir}/p8-platform.lib")
- else(WIN32)
-- set (p8-platform_LIBRARY "-L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -lp8-platform")
-+ set (p8-platform_LIBRARY "-L${_p8-platform_rootdir} -lp8-platform")
- endif(WIN32)
- set (p8-platform_LIBRARIES ${p8-platform_LIBRARY} "@p8-platform_LIBRARIES@")
- mark_as_advanced (p8-platform_LIBRARY)
---
-2.11.0
-
diff --git a/meta-oe/recipes-extended/p8platform/p8platform_git.bb b/meta-oe/recipes-extended/p8platform/p8platform_git.bb
index 0690d4ba3c..dc7280f099 100644
--- a/meta-oe/recipes-extended/p8platform/p8platform_git.bb
+++ b/meta-oe/recipes-extended/p8platform/p8platform_git.bb
@@ -1,14 +1,13 @@
SUMMARY = "Platform support library used by libCEC and binary add-ons for Kodi"
HOMEPAGE = "http://libcec.pulse-eight.com/"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://src/os.h;md5=752555fa94e82005d45fd201fee5bd33"
-PV = "2.1.0.1"
+PV = "2.1.0.1+git"
-SRC_URI = "git://github.com/Pulse-Eight/platform.git \
- file://0001-Make-resulting-cmake-config-relocatable.patch"
-SRCREV = "2d90f98620e25f47702c9e848380c0d93f29462b"
+SRC_URI = "git://github.com/Pulse-Eight/platform.git;branch=master;protocol=https"
+SRCREV = "a7cd0d5780ed80a4e70480d1650749f29e8a1fb2"
S = "${WORKDIR}/git"
@@ -16,4 +15,6 @@ inherit cmake pkgconfig
EXTRA_OECMAKE += "-DCMAKE_INSTALL_LIBDIR=${libdir} -DCMAKE_INSTALL_LIBDIR_NOARCH=${libdir}"
-FILES_${PN}-dev += "${libdir}/p8-platform"
+FILES:${PN}-dev += "${libdir}/p8-platform"
+
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-oe/recipes-extended/pam/pam-plugin-ccreds/0001-configure-Check-for-function-from-libdb-during-confi.patch b/meta-oe/recipes-extended/pam/pam-plugin-ccreds/0001-configure-Check-for-function-from-libdb-during-confi.patch
new file mode 100644
index 0000000000..c5a42359b9
--- /dev/null
+++ b/meta-oe/recipes-extended/pam/pam-plugin-ccreds/0001-configure-Check-for-function-from-libdb-during-confi.patch
@@ -0,0 +1,34 @@
+From 1915754179401b6ee00f0e2ffd844596778e43a2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Sep 2022 12:05:02 -0700
+Subject: [PATCH] configure: Check for function from libdb during configure
+
+checking for main in AC_CHECK_LIB is not the right check to find out if
+a library exists or not, using a function provided by library is more
+appropriate and will help using newer compilers and autoconf in future
+
+Upstream-Status: Submitted [https://github.com/PADL/pam_ccreds/pull/2]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 3829d9f..3d52933 100644
+--- a/configure.in
++++ b/configure.in
+@@ -72,9 +72,9 @@ AC_CHECK_HEADERS(pam/pam_appl.h pam/pam_misc.h pam/pam_modules.h)
+
+ AC_CHECK_HEADERS(db.h)
+
+-AC_CHECK_LIB(db, main,[LIBS="-ldb $LIBS" found_db_lib=yes],,$LIBS)
++AC_CHECK_LIB(db, db_create,[LIBS="-ldb $LIBS" found_db_lib=yes],,$LIBS)
+ if test -z "$found_db_lib"; then
+- AC_CHECK_LIB(db1, main,[LIBS="-ldb1 $LIBS" found_db_lib=yes],,$LIBS)
++ AC_CHECK_LIB(db1, db_create,[LIBS="-ldb1 $LIBS" found_db_lib=yes],,$LIBS)
+ fi
+
+ AC_CHECK_LIB(pam, pam_start)
+--
+2.37.3
+
diff --git a/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb b/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb
index 9838e75ef5..81d0746f89 100644
--- a/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb
+++ b/meta-oe/recipes-extended/pam/pam-plugin-ccreds_11.bb
@@ -1,7 +1,7 @@
SUMMARY = "PAM cached credentials module"
HOMEPAGE = "https://www.padl.com/OSS/pam_ccreds.html"
SECTION = "libs"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libpam openssl db"
@@ -11,7 +11,9 @@ REQUIRED_DISTRO_FEATURES = "pam"
SRCREV = "e2145df09469bf84878e4729b4ecd814efb797d1"
-SRC_URI = "git://github.com/PADL/pam_ccreds"
+SRC_URI = "git://github.com/PADL/pam_ccreds;branch=master;protocol=https \
+ file://0001-configure-Check-for-function-from-libdb-during-confi.patch \
+ "
S = "${WORKDIR}/git"
@@ -19,4 +21,4 @@ inherit autotools
EXTRA_OECONF += "--libdir=${base_libdir} "
-FILES_${PN} += "${base_libdir}/security/pam*"
+FILES:${PN} += "${base_libdir}/security/pam*"
diff --git a/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch b/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch
deleted file mode 100644
index 0a93411533..0000000000
--- a/meta-oe/recipes-extended/pam/pam-plugin-ldapdb/0001-include-stdexcept-for-std-invalid_argument.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 3e97c9004f4ec58ca3696ee6298f91e6eeb76e04 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 23 Dec 2019 14:46:25 -0800
-Subject: [PATCH] include <stdexcept> for std::invalid_argument
-
-Upstream-Status: Submitted [https://github.com/rmbreak/pam_ldapdb/pull/11]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- pam_ldapdb.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/pam_ldapdb.cpp b/pam_ldapdb.cpp
-index 9baf1e6..be5d85c 100644
---- a/pam_ldapdb.cpp
-+++ b/pam_ldapdb.cpp
-@@ -1,5 +1,6 @@
- #include <map>
- #include <string>
-+#include <stdexcept>
- #include <utility>
- #include <syslog.h>
- #include <pwd.h>
---
-2.24.1
-
diff --git a/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.1.bb b/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.1.bb
new file mode 100644
index 0000000000..d5137f80af
--- /dev/null
+++ b/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "PAM searchless LDAP authentication module"
+HOMEPAGE = "https://github.com/rmbreak/pam_ldapdb"
+BUGTRACKER = "https://github.com/rmbreak/pam_ldapdb/issues"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=41ab94182d94be9bb35e2a8b933f1e7d"
+
+DEPENDS = "libpam openldap"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SRCREV = "3e026863cad1fd45c760ee1bc93ef4f0606cc852"
+SRC_URI = "git://github.com/rmbreak/pam_ldapdb;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ oe_runmake install DESTDIR=${D} PAMDIR=${base_libdir}/security
+}
+
+FILES:${PN} += "${base_libdir}/security/pam_ldapdb.so"
diff --git a/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb b/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
deleted file mode 100644
index 626b22fe48..0000000000
--- a/meta-oe/recipes-extended/pam/pam-plugin-ldapdb_1.3.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "PAM searchless LDAP authentication module"
-HOMEPAGE = "https://github.com/rmbreak/pam_ldapdb"
-BUGTRACKER = "https://github.com/rmbreak/pam_ldapdb/issues"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=41ab94182d94be9bb35e2a8b933f1e7d"
-
-DEPENDS = "libpam openldap"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-SRCREV = "84d7b260f1ae6857ae36e014c9a5968e8aa1cbe8"
-SRC_URI = "git://github.com/rmbreak/pam_ldapdb \
- file://0001-include-stdexcept-for-std-invalid_argument.patch \
-"
-
-S = "${WORKDIR}/git"
-
-do_install () {
- oe_runmake install DESTDIR=${D} PAMDIR=${base_libdir}/security
-}
-
-FILES_${PN} += "${base_libdir}/security/pam_ldapdb.so"
diff --git a/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-configure-Include-stdio.h-for-printf.patch b/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-configure-Include-stdio.h-for-printf.patch
new file mode 100644
index 0000000000..c9e2760a27
--- /dev/null
+++ b/meta-oe/recipes-extended/pam/pam-ssh-agent-auth/0001-configure-Include-stdio.h-for-printf.patch
@@ -0,0 +1,37 @@
+From a0ae303fe0bcd81dfb1a649cc5e7a372d3bd878d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Sep 2022 20:44:42 -0700
+Subject: [PATCH] configure: Include stdio.h for printf
+
+Fixes test for __progname
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -2791,7 +2791,9 @@ if test "x$ac_cv_have_control_in_msghdr"
+ fi
+
+ AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [
+- AC_TRY_LINK([],
++ AC_TRY_LINK([
++#include <stdio.h>
++],
+ [ extern char *__progname; printf("%s", __progname); ],
+ [ ac_cv_libc_defines___progname="yes" ],
+ [ ac_cv_libc_defines___progname="no" ]
+--- a/configure
++++ b/configure
+@@ -14838,7 +14838,7 @@ else
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+-
++#include <stdio.h>
+ int
+ main ()
+ {
diff --git a/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb b/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
index 7871801b6b..b5bcc63339 100644
--- a/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
+++ b/meta-oe/recipes-extended/pam/pam-ssh-agent-auth_0.10.3.bb
@@ -2,7 +2,7 @@ SUMMARY = "pam-ssh-agent-auth"
DESCRIPTION = "A PAM module which permits authentication via ssh-agent."
HOMEPAGE = "http://sourceforge.net/projects/pamsshagentauth/"
SECTION = "libs"
-LICENSE = "openssl & BSD"
+LICENSE = "OpenSSL & BSD-2-Clause & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.OpenSSL;md5=8ab01146141ded59b75f8ba7811ed05a \
file://OPENSSH_LICENSE;md5=7ae09218173be1643c998a4b71027f9b \
"
@@ -10,6 +10,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.OpenSSL;md5=8ab01146141ded59b75f8ba7811ed05a
SRC_URI = "http://sourceforge.net/projects/pamsshagentauth/files/pam_ssh_agent_auth/v${PV}/pam_ssh_agent_auth-${PV}.tar.bz2 \
file://0001-Adapt-to-OpenSSL-1.1.1.patch \
file://0002-Check-against-the-correct-OPENSSL_VERSION_NUMBER.patch \
+ file://0001-configure-Include-stdio.h-for-printf.patch \
"
SRC_URI[md5sum] = "8dbe90ab3625e545036333e6f51ccf1d"
SRC_URI[sha256sum] = "3c53d358d6eaed1b211239df017c27c6f9970995d14102ae67bae16d4f47a763"
@@ -21,7 +22,7 @@ REQUIRED_DISTRO_FEATURES = "pam"
# This gets us ssh-agent, which we are almost certain to want.
#
-RDEPENDS_${PN} += "openssh-misc"
+RDEPENDS:${PN} += "openssh-misc"
# Kind of unfortunate to have underscores in the name.
#
@@ -50,5 +51,5 @@ do_compile () {
# This stuff is not any place looked at by default.
#
-FILES_${PN} += "${base_libdir}/security/pam*"
-FILES_${PN}-dbg += "${base_libdir}/security/.debug"
+FILES:${PN} += "${base_libdir}/security/pam*"
+FILES:${PN}-dbg += "${base_libdir}/security/.debug"
diff --git a/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb b/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb
deleted file mode 100644
index 01233699a5..0000000000
--- a/meta-oe/recipes-extended/pegtl/pegtl_2.8.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
-HOMEPAGE="https://github.com/taocpp/PEGTL"
-LICENSE="MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6a5195f720a8d436a4148e0cb8660400"
-
-SRCREV = "47e878ad4fd72c91253c9d47b6f17e001ca2dfcf"
-SRC_URI = "git://github.com/taocpp/PEGTL.git;protocol=https;branch=2.x \
- "
-
-inherit cmake
-
-S = "${WORKDIR}/git"
-
-CXXFLAGS += " -Wno-error=type-limits"
diff --git a/meta-oe/recipes-extended/pegtl/pegtl_3.2.7.bb b/meta-oe/recipes-extended/pegtl/pegtl_3.2.7.bb
new file mode 100644
index 0000000000..237828dbfc
--- /dev/null
+++ b/meta-oe/recipes-extended/pegtl/pegtl_3.2.7.bb
@@ -0,0 +1,13 @@
+DESCRIPTION="header-only library for creating parsers according to Parsing Expression Grammar"
+HOMEPAGE="https://github.com/taocpp/PEGTL"
+LICENSE="MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dccf35ef30bf912bb07b01d469965293"
+
+SRC_URI = "git://github.com/taocpp/PEGTL.git;protocol=https;branch=3.x"
+SRCREV = "cf639f7f4ee125f68e1ccfba8d99ebc0de57b9fe"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+CXXFLAGS += " -Wno-error=type-limits"
diff --git a/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb b/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb
index 035fe9f654..7768d17418 100644
--- a/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb
+++ b/meta-oe/recipes-extended/perl/libfile-fnmatch-perl_0.02.bb
@@ -6,7 +6,7 @@ are nonetheless useful and familiar to a large audience of end-users."
HOMEPAGE = "http://search.cpan.org/dist/File-FnMatch/"
SECTION = "libs"
-LICENSE = "Artistic-1.0 | GPL-1.0+"
+LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
LIC_FILES_CHKSUM = "file://README;beginline=34;endline=37;md5=54fdfac62963b7cece5583ab38f2cf0d"
diff --git a/meta-oe/recipes-extended/plocate/plocate/0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch b/meta-oe/recipes-extended/plocate/plocate/0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch
new file mode 100644
index 0000000000..7ba266f44a
--- /dev/null
+++ b/meta-oe/recipes-extended/plocate/plocate/0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch
@@ -0,0 +1,39 @@
+From 1d2197c195e19f1414afef75186bdd4c27b3ee5a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 23 Mar 2024 18:16:19 -0700
+Subject: [PATCH] Include linux/stat.h only when sys/stat.h is not included
+
+This ends up providing certain functions from both headers e.g.
+statx and statx_timestamp since liburing.h forcefully defines _GNU_SOURCE
+to help musl compile liburing, however, this define then causes these
+two files to conflict in plocate, it seems this file is redundant here
+when sys/stat.h is included anyway, mark it for conditional include
+
+Fixes
+| In file included from ../plocate-1.1.22/plocate.cpp:5:
+| In file included from ../plocate-1.1.22/io_uring_engine.h:14:
+| In file included from /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/liburing.h:14:
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/sys/stat.h:124:8: error: redefinition of 'statx_timestamp'
+| 124 | struct statx_timestamp {
+| | ^
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/linux/stat.h:56:8: note: previous definition is here | 56 | struct statx_timestamp { | | ^ | In file included from ../plocate-1.1.22/plocate.cpp:5: | In file included from ../plocate-1.1.22/io_uring_engine.h:14: | In file included from /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/liburing.h:14: | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/sys/stat.h:129:8: error: redefinition of 'statx' | 129 | struct statx { | | ^ | /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/plocate/1.1.22/recipe-sysroot/usr/include/linux/stat.h:99:8: note: previous definition is here
+| 99 | struct statx {
+| | ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ io_uring_engine.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/io_uring_engine.h
++++ b/io_uring_engine.h
+@@ -7,7 +7,6 @@
+ #include <string_view>
+ #include <sys/socket.h>
+ #include <sys/types.h>
+-#include <linux/stat.h>
+
+ struct io_uring_sqe;
+ #ifndef WITHOUT_URING
diff --git a/meta-oe/recipes-extended/plocate/plocate_1.1.22.bb b/meta-oe/recipes-extended/plocate/plocate_1.1.22.bb
new file mode 100644
index 0000000000..694c29776a
--- /dev/null
+++ b/meta-oe/recipes-extended/plocate/plocate_1.1.22.bb
@@ -0,0 +1,15 @@
+SUMMARY = "plocate, a much faster locate"
+HOMEPAGE = "https://plocate.sesse.net/"
+DESCRIPTION = "plocate is a locate(1) based on posting lists, completely replacing mlocate with a much faster (and smaller) index. It is suitable as a default locate on your system."
+SECTION = "base"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit meson pkgconfig
+
+DEPENDS = "zstd liburing"
+
+SRC_URI = "https://plocate.sesse.net/download/${BP}.tar.gz \
+ file://0001-Include-linux-stat.h-only-when-sys-stat.h-is-not-inc.patch"
+
+SRC_URI[sha256sum] = "3b7e4741b4aa2ec044e53eff06474a32a3fb1e928b9382351fe79d4c27fb0049"
diff --git a/meta-oe/recipes-extended/pmdk/pmdk_1.9.bb b/meta-oe/recipes-extended/pmdk/pmdk_1.9.bb
deleted file mode 100644
index 8bb89f418c..0000000000
--- a/meta-oe/recipes-extended/pmdk/pmdk_1.9.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Persistent Memory Development Kit"
-DESCRIPTION = "Persistent Memory Development Kit"
-HOMEPAGE = "http://pmem.io"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b44ee63f162f9cdb18fff1224877aafd"
-DEPENDS = "ndctl"
-
-# Required to have the fts.h header for musl
-DEPENDS_append_libc-musl = " fts"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/pmem/pmdk.git"
-
-SRCREV = "1926ffb8f3f5f0617b3b3ed32029d437c272f187"
-
-inherit autotools-brokensep pkgconfig
-
-# Fix jemalloc error:
-# | configure: error: cannot run C compiled programs.
-# | If you meant to cross compile, use `--host'.
-#
-# Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
-EXTRA_OEMAKE = "BUILD_EXAMPLES='n' DOC='n' HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=${baselib}"
-
-# Fix the missing fts libs when using musl
-EXTRA_OEMAKE_append_libc-musl = " EXTRA_LIBS='-lfts'"
-
-do_configure_prepend() {
- touch .skip-doc
-}
-
-do_install() {
- oe_runmake prefix=${prefix} DESTDIR=${D} install
-
- # Remove uneeded files
- rm -rf ${D}/usr/${baselib}/pmdk_debug
-}
-
-# Include these by default otherwise the SDK is not very useful
-FILES_${PN} += "${bindir}/pmempool ${bindir}/daxio"
-FILES_${PN} += "${libdir}/*so*"
-FILES_${PN} += "${libdir}/pkgconfig/*.pc"
-FILES_${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/* /usr/*/include/"
-FILES_${PN} += "/usr/etc"
-FILES_${PN} += "/usr/share"
-
-COMPATIBLE_HOST='(x86_64).*'
diff --git a/meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb b/meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb
new file mode 100644
index 0000000000..aeda236901
--- /dev/null
+++ b/meta-oe/recipes-extended/pmdk/pmdk_2.0.0.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Persistent Memory Development Kit"
+DESCRIPTION = "Persistent Memory Development Kit"
+HOMEPAGE = "http://pmem.io"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b44ee63f162f9cdb18fff1224877aafd"
+DEPENDS = "ndctl cmake-native"
+
+# Required to have the fts.h header for musl
+DEPENDS:append:libc-musl = " fts"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/pmem/pmdk.git;branch=master;protocol=https"
+SRCREV = "ba92d6b469d52d16f26279bebaf317bbdbb3822c"
+
+inherit autotools-brokensep pkgconfig
+
+# Fix jemalloc error:
+# | configure: error: cannot run C compiled programs.
+# | If you meant to cross compile, use `--host'.
+#
+# Also fix #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
+EXTRA_OEMAKE = "BUILD_EXAMPLES='n' DOC='n' HOST_SYS='${HOST_SYS}' EXTRA_CFLAGS='${SELECTED_OPTIMIZATION}' LIB_PREFIX=${baselib}"
+
+# Fix the missing fts libs when using musl
+EXTRA_OEMAKE:append:libc-musl = " EXTRA_LIBS='-lfts'"
+
+do_configure:prepend() {
+ touch .skip-doc
+}
+
+do_install() {
+ oe_runmake prefix=${prefix} DESTDIR=${D} install
+
+ # Remove uneeded files
+ rm -rf ${D}/usr/${baselib}/pmdk_debug
+}
+
+# Include these by default otherwise the SDK is not very useful
+FILES:${PN} += "${bindir}/pmempool ${bindir}/daxio"
+FILES:${PN} += "${libdir}/*so*"
+FILES:${PN} += "${libdir}/pkgconfig/*.pc"
+FILES:${PN} += "${includedir}/libpmemobj++/* ${includedir}/libpmemobj/* /usr/*/include/"
+FILES:${PN} += "/usr/etc"
+FILES:${PN} += "/usr/share"
+
+COMPATIBLE_HOST='(x86_64).*'
diff --git a/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules b/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules
new file mode 100644
index 0000000000..2ffa4087a8
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/files/50-org.freedesktop.udiskie.rules
@@ -0,0 +1,24 @@
+polkit.addRule(function(action, subject) {
+ var YES = polkit.Result.YES;
+ var permission = {
+ // required for udisks1:
+ "org.freedesktop.udisks.filesystem-mount": YES,
+ "org.freedesktop.udisks.luks-unlock": YES,
+ "org.freedesktop.udisks.drive-eject": YES,
+ "org.freedesktop.udisks.drive-detach": YES,
+ // required for udisks2:
+ "org.freedesktop.udisks2.filesystem-mount": YES,
+ "org.freedesktop.udisks2.encrypted-unlock": YES,
+ "org.freedesktop.udisks2.eject-media": YES,
+ "org.freedesktop.udisks2.power-off-drive": YES,
+ // required for udisks2 if using udiskie from another seat (e.g. systemd):
+ "org.freedesktop.udisks2.filesystem-mount-other-seat": YES,
+ "org.freedesktop.udisks2.filesystem-unmount-others": YES,
+ "org.freedesktop.udisks2.encrypted-unlock-other-seat": YES,
+ "org.freedesktop.udisks2.eject-media-other-seat": YES,
+ "org.freedesktop.udisks2.power-off-drive-other-seat": YES
+ };
+ if (subject.isInGroup("plugdev")) {
+ return permission[action.id];
+ }
+});
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb b/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb
index 934a53e5c3..8a14018a82 100644
--- a/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule-datetime.bb
@@ -11,4 +11,4 @@ do_install() {
}
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system datetime"
+GROUPADD_PARAM:${PN} = "--system datetime"
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb b/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb
index 66a73eaaf4..8266fa6396 100644
--- a/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule-network.bb
@@ -11,4 +11,4 @@ do_install() {
}
USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system network"
+GROUPADD_PARAM:${PN} = "--system network"
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb b/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb
new file mode 100644
index 0000000000..db2ed015b4
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule-udisks2.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Polkit rule to allow non-priviledged users mount/umount block devices via udisks2"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+require polkit-group-rule.inc
+
+# The file originates from https://github.com/coldfix/udiskie/wiki/Permissions
+SRC_URI = "file://50-org.freedesktop.udiskie.rules"
+
+RDEPENDS:${PN} += "udisks2"
+
+do_install() {
+ install -m 0755 ${WORKDIR}/50-org.freedesktop.udiskie.rules ${D}${sysconfdir}/polkit-1/rules.d
+}
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "--system plugdev"
diff --git a/meta-oe/recipes-extended/polkit/polkit-group-rule.inc b/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
index e38e344c14..4aeeb77d04 100644
--- a/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
+++ b/meta-oe/recipes-extended/polkit/polkit-group-rule.inc
@@ -6,8 +6,8 @@ REQUIRED_DISTRO_FEATURES = "polkit"
inherit useradd
-do_install_prepend() {
+do_install:prepend() {
install -m 700 -d ${D}${sysconfdir}/polkit-1/rules.d
chown polkitd:root ${D}/${sysconfdir}/polkit-1/rules.d
}
-USERADD_PARAM_${PN}_prepend = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;"
+USERADD_PARAM:${PN}:prepend = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;"
diff --git a/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch b/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch
deleted file mode 100644
index fd7251369e..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/0003-make-netgroup-support-optional.patch
+++ /dev/null
@@ -1,232 +0,0 @@
-From 21aa2747e8f0048759aab184b07dd6389666d5e6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 22 May 2019 13:18:55 -0700
-Subject: [PATCH] make netgroup support optional
-
-On at least Linux/musl and Linux/uclibc, netgroup
-support is not available. PolKit fails to compile on these systems
-for that reason.
-
-This change makes netgroup support conditional on the presence of the
-setnetgrent(3) function which is required for the support to work. If
-that function is not available on the system, an error will be returned
-to the administrator if unix-netgroup: is specified in configuration.
-
-Fixes bug 50145.
-
-Closes polkit/polkit#14.
-Signed-off-by: A. Wilcox <AWilcox@Wilcox-Tech.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 2 +-
- src/polkit/polkitidentity.c | 16 ++++++++++++++++
- src/polkit/polkitunixnetgroup.c | 3 +++
- .../polkitbackendinteractiveauthority.c | 14 ++++++++------
- src/polkitbackend/polkitbackendjsauthority.cpp | 2 ++
- test/polkit/polkitidentitytest.c | 9 ++++++++-
- test/polkit/polkitunixnetgrouptest.c | 3 +++
- .../test-polkitbackendjsauthority.c | 2 ++
- 8 files changed, 43 insertions(+), 8 deletions(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXP
- [AC_MSG_ERROR([Can't find expat library. Please install expat.])])
- AC_SUBST(EXPAT_LIBS)
-
--AC_CHECK_FUNCS(clearenv fdatasync)
-+AC_CHECK_FUNCS(clearenv fdatasync setnetgrent)
-
- if test "x$GCC" = "xyes"; then
- LDFLAGS="-Wl,--as-needed $LDFLAGS"
---- a/src/polkit/polkitidentity.c
-+++ b/src/polkit/polkitidentity.c
-@@ -182,7 +182,15 @@ polkit_identity_from_string (const gcha
- }
- else if (g_str_has_prefix (str, "unix-netgroup:"))
- {
-+#ifndef HAVE_SETNETGRENT
-+ g_set_error (error,
-+ POLKIT_ERROR,
-+ POLKIT_ERROR_FAILED,
-+ "Netgroups are not available on this machine ('%s')",
-+ str);
-+#else
- identity = polkit_unix_netgroup_new (str + sizeof "unix-netgroup:" - 1);
-+#endif
- }
-
- if (identity == NULL && (error != NULL && *error == NULL))
-@@ -344,6 +352,13 @@ polkit_identity_new_for_gvariant (GVaria
- GVariant *v;
- const char *name;
-
-+#ifndef HAVE_SETNETGRENT
-+ g_set_error (error,
-+ POLKIT_ERROR,
-+ POLKIT_ERROR_FAILED,
-+ "Netgroups are not available on this machine");
-+ goto out;
-+#else
- v = lookup_asv (details_gvariant, "name", G_VARIANT_TYPE_STRING, error);
- if (v == NULL)
- {
-@@ -353,6 +368,7 @@ polkit_identity_new_for_gvariant (GVaria
- name = g_variant_get_string (v, NULL);
- ret = polkit_unix_netgroup_new (name);
- g_variant_unref (v);
-+#endif
- }
- else
- {
---- a/src/polkit/polkitunixnetgroup.c
-+++ b/src/polkit/polkitunixnetgroup.c
-@@ -194,6 +194,9 @@ polkit_unix_netgroup_set_name (PolkitUni
- PolkitIdentity *
- polkit_unix_netgroup_new (const gchar *name)
- {
-+#ifndef HAVE_SETNETGRENT
-+ g_assert_not_reached();
-+#endif
- g_return_val_if_fail (name != NULL, NULL);
- return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_NETGROUP,
- "name", name,
---- a/src/polkitbackend/polkitbackendinteractiveauthority.c
-+++ b/src/polkitbackend/polkitbackendinteractiveauthority.c
-@@ -2233,25 +2233,26 @@ get_users_in_net_group (PolkitIdentity
- GList *ret;
-
- ret = NULL;
-+#ifdef HAVE_SETNETGRENT
- name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group));
-
--#ifdef HAVE_SETNETGRENT_RETURN
-+# ifdef HAVE_SETNETGRENT_RETURN
- if (setnetgrent (name) == 0)
- {
- g_warning ("Error looking up net group with name %s: %s", name, g_strerror (errno));
- goto out;
- }
--#else
-+# else
- setnetgrent (name);
--#endif
-+# endif /* HAVE_SETNETGRENT_RETURN */
-
- for (;;)
- {
--#if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
-+# if defined(HAVE_NETBSD) || defined(HAVE_OPENBSD)
- const char *hostname, *username, *domainname;
--#else
-+# else
- char *hostname, *username, *domainname;
--#endif
-+# endif /* defined(HAVE_NETBSD) || defined(HAVE_OPENBSD) */
- PolkitIdentity *user;
- GError *error = NULL;
-
-@@ -2282,6 +2283,7 @@ get_users_in_net_group (PolkitIdentity
-
- out:
- endnetgrent ();
-+#endif /* HAVE_SETNETGRENT */
- return ret;
- }
-
---- a/src/polkitbackend/polkitbackendjsauthority.cpp
-+++ b/src/polkitbackend/polkitbackendjsauthority.cpp
-@@ -1502,6 +1502,7 @@ js_polkit_user_is_in_netgroup (JSContext
-
- JS::CallArgs args = JS::CallArgsFromVp (argc, vp);
-
-+#ifdef HAVE_SETNETGRENT
- JS::RootedString usrstr (authority->priv->cx);
- usrstr = args[0].toString();
- user = JS_EncodeStringToUTF8 (cx, usrstr);
-@@ -1519,6 +1520,7 @@ js_polkit_user_is_in_netgroup (JSContext
-
- JS_free (cx, netgroup);
- JS_free (cx, user);
-+#endif
-
- ret = true;
-
---- a/test/polkit/polkitidentitytest.c
-+++ b/test/polkit/polkitidentitytest.c
-@@ -19,6 +19,7 @@
- * Author: Nikki VonHollen <vonhollen@google.com>
- */
-
-+#include "config.h"
- #include "glib.h"
- #include <polkit/polkit.h>
- #include <polkit/polkitprivate.h>
-@@ -145,11 +146,15 @@ struct ComparisonTestData comparison_tes
- {"unix-group:root", "unix-group:jane", FALSE},
- {"unix-group:jane", "unix-group:jane", TRUE},
-
-+#ifdef HAVE_SETNETGRENT
- {"unix-netgroup:foo", "unix-netgroup:foo", TRUE},
- {"unix-netgroup:foo", "unix-netgroup:bar", FALSE},
-+#endif
-
- {"unix-user:root", "unix-group:root", FALSE},
-+#ifdef HAVE_SETNETGRENT
- {"unix-user:jane", "unix-netgroup:foo", FALSE},
-+#endif
-
- {NULL},
- };
-@@ -181,11 +186,13 @@ main (int argc, char *argv[])
- g_test_add_data_func ("/PolkitIdentity/group_string_2", "unix-group:jane", test_string);
- g_test_add_data_func ("/PolkitIdentity/group_string_3", "unix-group:users", test_string);
-
-+#ifdef HAVE_SETNETGRENT
- g_test_add_data_func ("/PolkitIdentity/netgroup_string", "unix-netgroup:foo", test_string);
-+ g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
-+#endif
-
- g_test_add_data_func ("/PolkitIdentity/user_gvariant", "unix-user:root", test_gvariant);
- g_test_add_data_func ("/PolkitIdentity/group_gvariant", "unix-group:root", test_gvariant);
-- g_test_add_data_func ("/PolkitIdentity/netgroup_gvariant", "unix-netgroup:foo", test_gvariant);
-
- add_comparison_tests ();
-
---- a/test/polkit/polkitunixnetgrouptest.c
-+++ b/test/polkit/polkitunixnetgrouptest.c
-@@ -19,6 +19,7 @@
- * Author: Nikki VonHollen <vonhollen@google.com>
- */
-
-+#include "config.h"
- #include "glib.h"
- #include <polkit/polkit.h>
- #include <string.h>
-@@ -69,7 +70,9 @@ int
- main (int argc, char *argv[])
- {
- g_test_init (&argc, &argv, NULL);
-+#ifdef HAVE_SETNETGRENT
- g_test_add_func ("/PolkitUnixNetgroup/new", test_new);
- g_test_add_func ("/PolkitUnixNetgroup/set_name", test_set_name);
-+#endif
- return g_test_run ();
- }
---- a/test/polkitbackend/test-polkitbackendjsauthority.c
-+++ b/test/polkitbackend/test-polkitbackendjsauthority.c
-@@ -137,12 +137,14 @@ test_get_admin_identities (void)
- "unix-group:users"
- }
- },
-+#ifdef HAVE_SETNETGRENT
- {
- "net.company.action3",
- {
- "unix-netgroup:foo"
- }
- },
-+#endif
- };
- guint n;
-
diff --git a/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch b/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch
deleted file mode 100644
index c491abf4ac..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit/polkit-1_pam.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-polkit: No system-auth in OE-Core, we can use common-* in place of it.
-
-Upstream-Status:Inappropriate [configuration]
-
-Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
-
-Upstream-Status: Inappropriate [oe specific]
-Rebase to 0.115
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 36df239..8b3e1b1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -471,10 +471,10 @@ elif test x$with_os_type = xfreebsd -o x$with_os_type = xnetbsd; then
- PAM_FILE_INCLUDE_PASSWORD=system
- PAM_FILE_INCLUDE_SESSION=system
- else
-- PAM_FILE_INCLUDE_AUTH=system-auth
-- PAM_FILE_INCLUDE_ACCOUNT=system-auth
-- PAM_FILE_INCLUDE_PASSWORD=system-auth
-- PAM_FILE_INCLUDE_SESSION=system-auth
-+ PAM_FILE_INCLUDE_AUTH=common-auth
-+ PAM_FILE_INCLUDE_ACCOUNT=common-account
-+ PAM_FILE_INCLUDE_PASSWORD=common-password
-+ PAM_FILE_INCLUDE_SESSION=common-session
- fi
-
- AC_SUBST(PAM_FILE_INCLUDE_AUTH)
---
-2.7.4
-
diff --git a/meta-oe/recipes-extended/polkit/polkit_0.116.bb b/meta-oe/recipes-extended/polkit/polkit_0.116.bb
deleted file mode 100644
index ad1973b136..0000000000
--- a/meta-oe/recipes-extended/polkit/polkit_0.116.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "PolicyKit Authorization Framework"
-DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes."
-HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb \
- file://src/polkit/polkit.h;beginline=1;endline=20;md5=0a8630b0133176d0504c87a0ded39db4"
-
-DEPENDS = "expat glib-2.0 intltool-native mozjs"
-
-inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection features_check
-
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
- bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
- "
-
-PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
-PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd"
-# there is no --enable/--disable option for consolekit and it's not picked by shlibs, so add it to RDEPENDS
-PACKAGECONFIG[consolekit] = ",,,consolekit"
-
-PAM_SRC_URI = "file://polkit-1_pam.patch"
-SRC_URI = "http://www.freedesktop.org/software/polkit/releases/polkit-${PV}.tar.gz \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
- file://0003-make-netgroup-support-optional.patch \
- "
-SRC_URI[md5sum] = "4b37258583393e83069a0e2e89c0162a"
-SRC_URI[sha256sum] = "88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1"
-
-EXTRA_OECONF = "--with-os-type=moblin \
- --disable-man-pages \
- --disable-libelogind \
- "
-
-do_compile_prepend () {
- export GIR_EXTRA_LIBS_PATH="${B}/src/polkit/.libs"
-}
-
-PACKAGES =+ "${PN}-examples"
-
-FILES_${PN}_append = " \
- ${libdir}/${BPN}-1 \
- ${nonarch_libdir}/${BPN}-1 \
- ${datadir}/dbus-1 \
- ${datadir}/${BPN}-1 \
- ${datadir}/gettext \
-"
-
-FILES_${PN}-examples = "${bindir}/*example*"
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 polkitd"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-oe/recipes-extended/polkit/polkit_124.bb b/meta-oe/recipes-extended/polkit/polkit_124.bb
new file mode 100644
index 0000000000..9e2eb05c62
--- /dev/null
+++ b/meta-oe/recipes-extended/polkit/polkit_124.bb
@@ -0,0 +1,59 @@
+SUMMARY = "PolicyKit Authorization Framework"
+DESCRIPTION = "The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes."
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/polkit"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=155db86cdbafa7532b41f390409283eb"
+
+SRC_URI = "git://gitlab.freedesktop.org/polkit/polkit.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+SRCREV = "82f0924dc0eb23b9df68e88dbaf9e07c81940a5a"
+
+DEPENDS = "expat glib-2.0"
+
+inherit meson pkgconfig useradd systemd gettext gobject-introspection features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+PACKAGECONFIG = " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit', d)} \
+ dbus \
+ mozjs \
+"
+PACKAGECONFIG[dbus] = ",,dbus"
+PACKAGECONFIG[gtk-doc] = "-Dgtk_doc=true,-Dgtk_doc=false,gtk-doc-native"
+PACKAGECONFIG[pam] = "-Dauthfw=pam,-Dauthfw=shadow,libpam,libpam"
+PACKAGECONFIG[systemd] = "-Dsession_tracking=libsystemd-login,-Dsession_tracking=ConsoleKit,systemd"
+PACKAGECONFIG[consolekit] = ",,,consolekit"
+
+# Default to mozjs javascript library
+PACKAGECONFIG[mozjs] = "-Djs_engine=mozjs,,mozjs-115,,,duktape"
+# duktape javascript engine is much smaller and faster but is not compatible with
+# same javascript standards as mozjs. For example array.includes() function is not
+# supported. Test rule compatibility when switching to duktape.
+PACKAGECONFIG[duktape] = "-Djs_engine=duktape,,duktape,,,mozjs"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/${BPN}-1 --shell /bin/nologin polkitd"
+
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install:append() {
+ #Fix up permissions on polkit rules.d to work with rpm4 constraints
+ chmod 700 ${D}/${datadir}/polkit-1/rules.d
+ chmod 700 ${D}/${sysconfdir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${sysconfdir}/polkit-1/rules.d
+}
+
+FILES:${PN} += " \
+ ${libdir}/pam.d/polkit-1 \
+ ${libdir}/sysusers.d \
+ ${libdir}/polkit-1 \
+ ${nonarch_libdir}/pam.d/polkit-1 \
+ ${nonarch_libdir}/sysusers.d \
+ ${nonarch_libdir}/polkit-1 \
+ ${datadir} \
+"
diff --git a/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb b/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb
index 5db38ac987..25951c9de4 100644
--- a/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb
+++ b/meta-oe/recipes-extended/properties-cpp/properties-cpp_git.bb
@@ -3,20 +3,20 @@
SUMMARY = "A very simple convenience library for handling properties and signals in C++11."
SECTION = "libs"
-LICENSE = "LGPLv3"
+LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
-PV = "0.0.1+git${SRCPV}"
+PV = "0.0.1+git"
SRCREV = "45863e849b39c4921d6553e6d27e267a96ac7d77"
-SRC_URI = "git://github.com/lib-cpp/${BPN}.git"
+SRC_URI = "git://github.com/lib-cpp/${BPN}.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
-do_configure_prepend() {
+do_configure:prepend() {
echo " " > ${S}/tests/CMakeLists.txt
}
inherit cmake pkgconfig
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-oe/recipes-extended/qad/qad/0001-Fix-warnings-found-by-clang-compiler.patch b/meta-oe/recipes-extended/qad/qad/0001-Fix-warnings-found-by-clang-compiler.patch
new file mode 100644
index 0000000000..7a9937d685
--- /dev/null
+++ b/meta-oe/recipes-extended/qad/qad/0001-Fix-warnings-found-by-clang-compiler.patch
@@ -0,0 +1,53 @@
+From 2e871d6d6d13955ff363ff756adfdd257e72e9e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 10 Aug 2023 23:58:43 -0700
+Subject: [PATCH] Fix warnings found by clang compiler
+
+Fix diagnostics found with -Wdeprecated-non-prototype using clang
+compiler
+
+e.g.
+| ../git/src/server.c:108:35: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype] | 108 | if (backend->input_backend->move(x, y, event) < 0) { | | ^
+
+Upstream-Status: Submitted [https://gitlab.com/CodethinkLabs/qad/qad/-/merge_requests/33]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/backend.h | 8 ++++----
+ src/backends/input/input_common.h | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/include/backend.h b/include/backend.h
+index 8f4c7c1..4bfe510 100644
+--- a/include/backend.h
++++ b/include/backend.h
+@@ -41,10 +41,10 @@ typedef struct qad_screen_buffer_s {
+ } qad_screen_buffer_t;
+
+ typedef struct qad_backend_input_s {
+- int (*move)();
+- int (*button)();
+- int (*touch)();
+- int (*swipe)();
++ int (*move)(int, int, int);
++ int (*button)(int, int);
++ int (*touch)(int, int, int, int);
++ int (*swipe)(int, int, int, int, int, int);
+ void *data;
+ } qad_backend_input_t;
+
+diff --git a/src/backends/input/input_common.h b/src/backends/input/input_common.h
+index 8e099a5..f2ea73f 100644
+--- a/src/backends/input/input_common.h
++++ b/src/backends/input/input_common.h
+@@ -28,7 +28,7 @@
+ #define BTN_DOWN 1
+ #define BTN_UP 0
+
+-qad_backend_input_t *create_input_backend();
++qad_backend_input_t *create_input_backend(char input_type[]);
+
+ // int move(int x, int y, int event);
+
+--
+2.41.0
+
diff --git a/meta-oe/recipes-extended/qad/qad_git.bb b/meta-oe/recipes-extended/qad/qad_git.bb
new file mode 100644
index 0000000000..0bc94121a7
--- /dev/null
+++ b/meta-oe/recipes-extended/qad/qad_git.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Simple, REST-API compliant daemon for automated testing"
+DESCRIPTION = " This is a simple, REST-API compliant daemon which makes \
+automated testing on hardware possible by removing the need for physical \
+intervention as Q.A.D allows inputs to be injected via http/https requests. \
+This both eliminates the need to physically interact with the rig and allows \
+for tasks to be carried out entirely automatically."
+
+LICENSE = "MIT & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=402cce7fbcb6ea9ab5a0378dd7f40806 \
+ file://openqa/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ "
+SRC_URI = "git://gitlab.com/CodethinkLabs/qad/qad;branch=main;protocol=https \
+ file://0001-Fix-warnings-found-by-clang-compiler.patch"
+
+SRCREV = "ae0c099c1fdc0ca6f5d631cea6b302937122b362"
+
+S = "${WORKDIR}/git"
+PV = "0.0+git"
+
+DEPENDS = "cjson libmicrohttpd libdrm libpng"
+
+FILES:${PN} += "qad"
+inherit meson pkgconfig
+
+do_install () {
+ install -d ${D}${bindir}
+ install -p -m 755 qad ${D}${bindir}/
+}
diff --git a/meta-oe/recipes-extended/qcbor/qcbor_git.bb b/meta-oe/recipes-extended/qcbor/qcbor_git.bb
new file mode 100644
index 0000000000..a87454fa95
--- /dev/null
+++ b/meta-oe/recipes-extended/qcbor/qcbor_git.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = " \
+ QCBOR is a powerful, commercial-quality CBOR encoder/decoder that \
+ implements these RFCs: RFC8949, RFC7049, RFC8742, RFC8943 \
+"
+
+HOMEPAGE = "https://github.com/laurencelundblade/QCBOR"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://README.md;beginline=442;endline=463;md5=b55643261d6d221dac2b7a395105af62"
+
+SRC_URI = "git://github.com/laurencelundblade/QCBOR;protocol=https;branch=master"
+
+SRCREV = "44754f738c6534a4304a83d4c6e97b3d3193d887"
+
+PV = "1.2+git"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+CFLAGS += " \
+ -DUSEFULBUF_DISABLE_ALL_FLOAT \
+"
+
+do_install(){
+ install -d ${D}${libdir}
+ install -m 755 ${S}/libqcbor.a ${D}${libdir}/
+ install -d ${D}${includedir}/qcbor
+ install -m 644 ${S}/inc/*.h ${D}${includedir}
+ install -m 644 ${S}/inc/qcbor/*.h ${D}${includedir}/qcbor
+}
+
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch b/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch
index 77c75b4a27..05483aa3eb 100644
--- a/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0001-rarpd.8-add-man-file.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 1/5] rarpd.8 : add man file
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
rarpd.8 | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 rarpd.8
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch b/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch
index 0b3ebc468f..54b8e8181d 100644
--- a/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0002-Makefile-modify-compile-parameters.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 2/5] Makefile : modify compile parameters
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch b/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch
index 7ce1279090..82655644f0 100644
--- a/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0003-rarpd.c-bug-fix.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 3/5] rarpd.c : bug fix
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
rarpd.c | 98 +++++++++++++++++++++++++++++++++++++----------------------------
1 file changed, 56 insertions(+), 42 deletions(-)
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch b/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch
index 3ba11ffe55..7a50ca3ce9 100644
--- a/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0004-rarpd.init-add-new-init-file.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 4/5] rarpd.init : add new init file
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
rarpd.init | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 96 insertions(+)
create mode 100644 rarpd.init
diff --git a/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch b/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch
index c77c806127..c651d656af 100644
--- a/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch
+++ b/meta-oe/recipes-extended/rarpd/rarpd/0005-ethernet.c-remove-it.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 5/5] ethernet.c : remove it
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
ethernet.c | 224 -------------------------------------------------------------
1 file changed, 224 deletions(-)
delete mode 100644 ethernet.c
diff --git a/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
index 7c9f2df9db..7359c12544 100644
--- a/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
+++ b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
@@ -22,7 +22,7 @@ SRC_URI += "file://0001-rarpd.8-add-man-file.patch \
file://rarpd.service \
"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://rarpd.c;md5=199b20b172ea93121bc613a9c77b6931"
S = "${WORKDIR}/${BPN}"
@@ -45,7 +45,7 @@ do_install() {
inherit systemd
SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "rarpd.service"
+SYSTEMD_SERVICE:${PN} = "rarpd.service"
SYSTEMD_AUTO_ENABLE = "disable"
-RDEPENDS_${PN} += "bash"
+RDEPENDS:${PN} += "bash"
diff --git a/meta-oe/recipes-extended/redis-plus-plus/files/0001-CMakeLists.txt-fix-substitution-for-static-libs.patch b/meta-oe/recipes-extended/redis-plus-plus/files/0001-CMakeLists.txt-fix-substitution-for-static-libs.patch
new file mode 100644
index 0000000000..b652e6bb78
--- /dev/null
+++ b/meta-oe/recipes-extended/redis-plus-plus/files/0001-CMakeLists.txt-fix-substitution-for-static-libs.patch
@@ -0,0 +1,45 @@
+From 608d0f1caf43628c8260a994c277a040f1e616e0 Mon Sep 17 00:00:00 2001
+From: Peter Bergin <peter.bergin@windriver.com>
+Date: Tue, 23 May 2023 13:19:55 +0200
+Subject: [PATCH] CMakeLists.txt: fix substitution for static libs
+
+During configuration the liibrary names are substitued for
+the static build. When building with tls support the first
+substitution will match both cases and trash the name for hiredis_ssl.
+
+Input string: 'hiredis::hiredis;hiredis::hiredis_ssl;'
+Output string: 'hiredis::hiredis_static;hiredis::hiredis_static_ssl;'
+Wanted string: 'hiredis::hiredis_static;hiredis::hiredis_ssl_static;'
+
+Fix string replacement by also including the ';' token to better match.
+
+Upstream-Status: Submitted [https://github.com/sewenew/redis-plus-plus/issues/486]
+
+Signed-off-by: Peter Bergin <peter.bergin@windriver.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 23a1840..5478271 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -184,13 +184,13 @@ if(REDIS_PLUS_PLUS_BUILD_STATIC)
+ set(REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC ${REDIS_PLUS_PLUS_HIREDIS_LIBS})
+
+ if (TARGET hiredis::hiredis_static)
+- string(REPLACE "hiredis::hiredis" "hiredis::hiredis_static" REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC
++ string(REPLACE "hiredis::hiredis;" "hiredis::hiredis_static;" REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC
+ "${REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC}")
+ endif()
+
+ if (TARGET hiredis::hiredis_ssl_static)
+ # If SSL is not enabled, this line will have no effect
+- string(REPLACE "hiredis::hiredis_static_ssl" "hiredis::hiredis_ssl_static" REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC
++ string(REPLACE "hiredis::hiredis_static_ssl;" "hiredis::hiredis_ssl_static;" REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC
+ "${REDIS_PLUS_PLUS_HIREDIS_LIBS_STATIC}")
+ endif()
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.2.bb b/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.2.bb
deleted file mode 100644
index 8b7a8d06e3..0000000000
--- a/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.2.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "C++ client for Redis based on hiredis"
-HOMEPAGE = "https://github.com/sewenew/redis-plus-plus"
-SECTION = "libs"
-
-DEPENDS += "hiredis"
-RDEPENDS_${PN} += "hiredis"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-SRCREV = "8ac506e6eb0e5c5b2625785b67400bde705773a1"
-SRC_URI = "git://github.com/sewenew/redis-plus-plus"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-FILES_SOLIBSDEV = ""
-FILES_${PN} += " ${libdir}/libredis++.so"
diff --git a/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.11.bb b/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.11.bb
new file mode 100644
index 0000000000..3e757e6037
--- /dev/null
+++ b/meta-oe/recipes-extended/redis-plus-plus/redis-plus-plus_1.3.11.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "C++ client for Redis based on hiredis"
+HOMEPAGE = "https://github.com/sewenew/redis-plus-plus"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+DEPENDS += "hiredis"
+
+SRC_URI = "git://github.com/sewenew/redis-plus-plus;branch=master;protocol=https \
+ file://0001-CMakeLists.txt-fix-substitution-for-static-libs.patch"
+SRCREV = "ad6baa121f4c6fbc7622d83d606210ac22549c78"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# if ssl is enabled for redis-plus-plus it must also be enabled for hiredis
+PACKAGECONFIG ??= "ssl"
+PACKAGECONFIG[ssl] = "-DREDIS_PLUS_PLUS_USE_TLS=ON, -DREDIS_PLUS_PLUS_USE_TLS=OFF, openssl"
+PACKAGECONFIG[test] = "-DREDIS_PLUS_PLUS_BUILD_TEST=ON, -DREDIS_PLUS_PLUS_BUILD_TEST=OFF"
+
+do_install:append() {
+ # To remove absolute path in .cmake found by QA warning [buildpaths]
+ sed -i -e 's|${STAGING_LIBDIR}/libcrypto.so|crypto|g' ${D}${datadir}/cmake/redis++/redis++-targets.cmake
+ sed -i -e 's|${STAGING_LIBDIR}/libssl.so|ssl|g' ${D}${datadir}/cmake/redis++/redis++-targets.cmake
+}
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/0001-src-Do-not-reset-FINAL_LIBS.patch
new file mode 100644
index 0000000000..01e53e3f21
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/0001-src-Do-not-reset-FINAL_LIBS.patch
@@ -0,0 +1,30 @@
+From d9d1f9a501ef7caa80d1e6595218898e9989ec2b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 10 Sep 2019 20:04:26 -0700
+Subject: [PATCH] src: Do not reset FINAL_LIBS
+
+This helps case where additional libraries are needed to be passed from
+environment to get it going
+
+e.g. -latomic is needed on clang/x86 to provide for 64bit atomics
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 39decee..f5efe82 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -119,7 +119,7 @@ endif
+
+ FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
+ FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
+-FINAL_LIBS=-lm
++FINAL_LIBS+=-lm
+ DEBUG=-g -ggdb
+
+ # Linux ARM32 needs -latomic at linking time
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/0006-Define-correct-gregs-for-RISCV32.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/0006-Define-correct-gregs-for-RISCV32.patch
new file mode 100644
index 0000000000..93c3595261
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/0006-Define-correct-gregs-for-RISCV32.patch
@@ -0,0 +1,60 @@
+From 634f62be6c135ece93cb4e44a69ce3cb66f394ca Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 26 Oct 2020 21:32:22 -0700
+Subject: [PATCH] Define correct gregs for RISCV32
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Updated patch for 6.2.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+---
+ src/debug.c | 26 ++++++++++++++++++++++++--
+ 1 file changed, 24 insertions(+), 2 deletions(-)
+
+diff --git a/src/debug.c b/src/debug.c
+index 684f692..2ee151f 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -1215,7 +1215,9 @@ static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
+ #endif
+ #elif defined(__linux__)
+ /* Linux */
+- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
++ #if defined(__riscv) && __riscv_xlen == 32
++ return (void*) uc->uc_mcontext.__gregs[REG_PC];
++ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
+ GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
+ #elif defined(__X86_64__) || defined(__x86_64__)
+ GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
+@@ -1401,8 +1403,28 @@ void logRegisters(ucontext_t *uc) {
+ #endif
+ /* Linux */
+ #elif defined(__linux__)
++ /* Linux RISCV32 */
++ #if defined(__riscv) && __riscv_xlen == 32
++ serverLog(LL_WARNING,
++ "\n"
++ "RA:%08lx S0:%08lx S1:%08lx S2:%08lx\n"
++ "SP:%08lx PC:%08lx A0:%08lx A1:%08lx\n"
++ "A2 :%08lx A3:%08lx A4:%08lx",
++ (unsigned long) uc->uc_mcontext.__gregs[REG_RA],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_S0],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_S1],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_S2],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_SP],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_PC],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 0],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 1],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 2],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 3],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 4]
++ );
++ logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]);
+ /* Linux x86 */
+- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
++ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
+ serverLog(LL_WARNING,
+ "\n"
+ "EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n"
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/GNU_SOURCE-7.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/GNU_SOURCE-7.patch
new file mode 100644
index 0000000000..6e07c25c6a
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/GNU_SOURCE-7.patch
@@ -0,0 +1,29 @@
+From a22512ac1cbd6de1f5646219722e49752d1f60ac Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 21 Dec 2019 12:09:51 -0800
+Subject: [PATCH] Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER
+
+Fixes
+| zmalloc.c:87:37: error: 'PTHREAD_MUTEX_DEFAULT' undeclared here (not in a function)
+| 87 | pthread_mutex_t used_memory_mutex = PTHREAD_MUTEX_INITIALIZER;
+| | ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/zmalloc.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/zmalloc.c b/src/zmalloc.c
+index ba03685..322304f 100644
+--- a/src/zmalloc.c
++++ b/src/zmalloc.c
+@@ -32,6 +32,7 @@
+ #include "config.h"
+ #include "solarisfixes.h"
+
++#define _GNU_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <stdint.h>
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/hiredis-use-default-CC-if-it-is-set.patch
new file mode 100644
index 0000000000..7785acca5c
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/hiredis-use-default-CC-if-it-is-set.patch
@@ -0,0 +1,38 @@
+From 41efa2f0cf08c91ff935bbb2d16ab233df7f5811 Mon Sep 17 00:00:00 2001
+From: Venture Research <tech@ventureresearch.com>
+Date: Fri, 8 Feb 2013 17:39:52 -0600
+Subject: [PATCH] hiredis: use default CC if it is set
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Instead of trying to automagically figure out CC, which breaks with OE
+as CC has spaces in it, just skip it if one was already passed in.
+
+Signed-off-by: Venture Research <tech@ventureresearch.com>
+
+Update to work with 4.0.8
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+
+Reworked for 6.0.4
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+---
+Upstream-Status: Pending
+
+ deps/hiredis/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile
+index bd2106b..9ce768d 100644
+--- a/deps/hiredis/Makefile
++++ b/deps/hiredis/Makefile
+@@ -36,8 +36,6 @@ endef
+ export REDIS_TEST_CONFIG
+
+ # Fallback to gcc when $CC is not in $PATH.
+-CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
+-CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++')
+ OPTIMIZATION?=-O3
+ WARNINGS=-Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers
+ DEBUG_FLAGS?= -g -ggdb
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/init-redis-server b/meta-oe/recipes-extended/redis/redis-7.2.4/init-redis-server
new file mode 100755
index 0000000000..c5f335f57d
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/init-redis-server
@@ -0,0 +1,71 @@
+#!/bin/sh
+#
+### BEGIN INIT INFO
+# Provides: redis-server
+# Required-Start: $network
+# Required-Stop: $network
+# Default-Start: S 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Redis, a key-value store
+# Description: Redis is an open source, advanced key-value store.
+# http://redis.io
+### END INIT INFO
+
+test -f /usr/bin/redis-server || exit 0
+
+ARGS="/etc/redis/redis.conf"
+
+case "$1" in
+ start)
+ echo "Starting redis-server..."
+ start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS
+ ;;
+ stop)
+ echo "Stopping redis-server..."
+ start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
+ ;;
+ restart)
+ echo "Stopping redis-server..."
+ start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
+
+ # Since busybox implementation ignores --retry arguments repeatedly check
+ # if the process is still running and try another signal after a timeout,
+ # efectively simulating a stop with --retry=TERM/5/KILL/5 schedule.
+ waitAfterTerm=5000000 # us / 5000 ms / 5 s
+ waitAfterKill=5000000 # us / 5000 ms / 5 s
+ waitStep=100000 # us / 100 ms / 0.1 s
+ waited=0
+ start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server
+ processOff=$?
+ while [ $processOff -eq 0 ] && [ $waited -le $waitAfterTerm ] ; do
+ usleep ${waitStep}
+ ((waited+=${waitStep}))
+ start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server
+ processOff=$?
+ done
+ if [ $processOff -eq 0 ] ; then
+ start-stop-daemon --stop --signal KILL --exec /usr/bin/redis-server
+ start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server
+ processOff=$?
+ fi
+ waited=0
+ while [ $processOff -eq 0 ] && [ $waited -le $waitAfterKill ] ; do
+ usleep ${waitStep}
+ ((waited+=${waitStep}))
+ start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server
+ processOff=$?
+ done
+ # Here $processOff will indicate if waiting and retrying according to
+ # the schedule ended in a successfull stop or not.
+
+ echo "Starting redis-server..."
+ start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS
+ ;;
+ *)
+ echo "Usage: /etc/init.d/redis-server {start|stop|restart}"
+ exit 1
+ ;;
+esac
+
+exit 0
+
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/lua-update-Makefile-to-use-environment-build-setting.patch
new file mode 100644
index 0000000000..20708eda1e
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/lua-update-Makefile-to-use-environment-build-setting.patch
@@ -0,0 +1,77 @@
+From aa3d31355f3cc140b1dc2f4fcff8e3c0aa261549 Mon Sep 17 00:00:00 2001
+From: Venture Research <tech@ventureresearch.com>
+Date: Fri, 8 Feb 2013 20:22:19 -0600
+Subject: [PATCH] lua: update Makefile to use environment build settings
+
+OE-specific parameters, instead of overriding all of these simply use
+the ones that are already passed in. Also configure for only Linux...
+
+Signed-off-by: Venture Research <tech@ventureresearch.com>
+
+Updated to work with 3.0.x
+
+Signed-off-by: Armin Kuster <akust808@gmail.com>
+
+updated to work wtih 6.2.1
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+
+Upstream-Status: Pending
+---
+ deps/Makefile | 1 -
+ deps/lua/Makefile | 1 -
+ deps/lua/src/Makefile | 16 ++++++----------
+ 3 files changed, 6 insertions(+), 12 deletions(-)
+
+diff --git a/deps/Makefile b/deps/Makefile
+index 3bf0363..fd8765a 100644
+--- a/deps/Makefile
++++ b/deps/Makefile
+@@ -94,7 +94,6 @@ endif
+ # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more
+ # challenging to cross-compile lua (and redis). These defines make it easier
+ # to fit redis into cross-compilation environments, which typically set AR.
+-AR=ar
+ ARFLAGS=rc
+
+ lua: .make-prerequisites
+diff --git a/deps/lua/Makefile b/deps/lua/Makefile
+index 209a132..72f4b2b 100644
+--- a/deps/lua/Makefile
++++ b/deps/lua/Makefile
+@@ -33,7 +33,6 @@ INSTALL_DATA= $(INSTALL) -m 0644
+
+ # Utilities.
+ MKDIR= mkdir -p
+-RANLIB= ranlib
+
+ # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
+
+diff --git a/deps/lua/src/Makefile b/deps/lua/src/Makefile
+index f3bba2f..1555ec0 100644
+--- a/deps/lua/src/Makefile
++++ b/deps/lua/src/Makefile
+@@ -5,18 +5,14 @@
+ # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
+
+ # Your platform. See PLATS for possible values.
+-PLAT= none
++PLAT= linux
+
+-CC?= gcc
+-CFLAGS= -O2 -Wall $(MYCFLAGS)
+-AR= ar rcu
+-RANLIB= ranlib
+-RM= rm -f
+-LIBS= -lm $(MYLIBS)
+-
+-MYCFLAGS=
++MYCFLAGS=-DLUA_USE_LINUX
+ MYLDFLAGS=
+-MYLIBS=
++MYLIBS=-Wl,-E -ldl -lreadline -lhistory -lncurses
++
++CFLAGS += $(MYCFLAGS)
++LIBS += -lm $(MYLIBS)
+
+ # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
+
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/oe-use-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis-7.2.4/oe-use-libc-malloc.patch
new file mode 100644
index 0000000000..7b601e02a9
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/oe-use-libc-malloc.patch
@@ -0,0 +1,36 @@
+From 38a5f403b033d03cdac3ff814687d83f61527d8e Mon Sep 17 00:00:00 2001
+From: Venture Research <tech@ventureresearch.com>
+Date: Wed, 6 Feb 2013 20:51:02 -0600
+Subject: [PATCH] hack to force use of libc malloc
+
+Hack to force libc usage as it seems the option to pass it in has been
+removed in favor of magic.
+
+Note that this of course doesn't allow tcmalloc and jemalloc, however
+jemalloc wasn't building correctly.
+
+Signed-off-by: Venture Research <tech@ventureresearch.com>
+
+Update to work with 4.0.8
+Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
+
+---
+Upstream-Status: Pending
+
+ src/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index ecbd275..39decee 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -13,7 +13,8 @@
+ # Just use 'make dep', but this is only needed by developers.
+
+ release_hdr := $(shell sh -c './mkreleasehdr.sh')
+-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
++# use fake uname option to force use of generic libc
++uname_S := "USE_LIBC_MALLOC"
+ uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
+ CLANG := $(findstring clang,$(shell sh -c '$(CC) --version | head -1'))
+ OPTIMIZATION?=-O3
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/redis.conf b/meta-oe/recipes-extended/redis/redis-7.2.4/redis.conf
new file mode 100644
index 0000000000..75037d6dc8
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/redis.conf
@@ -0,0 +1,1314 @@
+# Redis configuration file example.
+#
+# Note that in order to read the configuration file, Redis must be
+# started with the file path as first argument:
+#
+# ./redis-server /path/to/redis.conf
+
+# Note on units: when memory size is needed, it is possible to specify
+# it in the usual form of 1k 5GB 4M and so forth:
+#
+# 1k => 1000 bytes
+# 1kb => 1024 bytes
+# 1m => 1000000 bytes
+# 1mb => 1024*1024 bytes
+# 1g => 1000000000 bytes
+# 1gb => 1024*1024*1024 bytes
+#
+# units are case insensitive so 1GB 1Gb 1gB are all the same.
+
+################################## INCLUDES ###################################
+
+# Include one or more other config files here. This is useful if you
+# have a standard template that goes to all Redis servers but also need
+# to customize a few per-server settings. Include files can include
+# other files, so use this wisely.
+#
+# Notice option "include" won't be rewritten by command "CONFIG REWRITE"
+# from admin or Redis Sentinel. Since Redis always uses the last processed
+# line as value of a configuration directive, you'd better put includes
+# at the beginning of this file to avoid overwriting config change at runtime.
+#
+# If instead you are interested in using includes to override configuration
+# options, it is better to use include as the last line.
+#
+# include /path/to/local.conf
+# include /path/to/other.conf
+
+################################## MODULES #####################################
+
+# Load modules at startup. If the server is not able to load modules
+# it will abort. It is possible to use multiple loadmodule directives.
+#
+# loadmodule /path/to/my_module.so
+# loadmodule /path/to/other_module.so
+
+################################## NETWORK #####################################
+
+# By default, if no "bind" configuration directive is specified, Redis listens
+# for connections from all the network interfaces available on the server.
+# It is possible to listen to just one or multiple selected interfaces using
+# the "bind" configuration directive, followed by one or more IP addresses.
+#
+# Examples:
+#
+# bind 192.168.1.100 10.0.0.1
+# bind 127.0.0.1 ::1
+#
+# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
+# internet, binding to all the interfaces is dangerous and will expose the
+# instance to everybody on the internet. So by default we uncomment the
+# following bind directive, that will force Redis to listen only into
+# the IPv4 lookback interface address (this means Redis will be able to
+# accept connections only from clients running into the same computer it
+# is running).
+#
+# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
+# JUST COMMENT THE FOLLOWING LINE.
+# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+bind 127.0.0.1
+
+# Protected mode is a layer of security protection, in order to avoid that
+# Redis instances left open on the internet are accessed and exploited.
+#
+# When protected mode is on and if:
+#
+# 1) The server is not binding explicitly to a set of addresses using the
+# "bind" directive.
+# 2) No password is configured.
+#
+# The server only accepts connections from clients connecting from the
+# IPv4 and IPv6 loopback addresses 127.0.0.1 and ::1, and from Unix domain
+# sockets.
+#
+# By default protected mode is enabled. You should disable it only if
+# you are sure you want clients from other hosts to connect to Redis
+# even if no authentication is configured, nor a specific set of interfaces
+# are explicitly listed using the "bind" directive.
+protected-mode yes
+
+# Accept connections on the specified port, default is 6379 (IANA #815344).
+# If port 0 is specified Redis will not listen on a TCP socket.
+port 6379
+
+# TCP listen() backlog.
+#
+# In high requests-per-second environments you need an high backlog in order
+# to avoid slow clients connections issues. Note that the Linux kernel
+# will silently truncate it to the value of /proc/sys/net/core/somaxconn so
+# make sure to raise both the value of somaxconn and tcp_max_syn_backlog
+# in order to get the desired effect.
+tcp-backlog 511
+
+# Unix socket.
+#
+# Specify the path for the Unix socket that will be used to listen for
+# incoming connections. There is no default, so Redis will not listen
+# on a unix socket when not specified.
+#
+# unixsocket /tmp/redis.sock
+# unixsocketperm 700
+
+# Close the connection after a client is idle for N seconds (0 to disable)
+timeout 0
+
+# TCP keepalive.
+#
+# If non-zero, use SO_KEEPALIVE to send TCP ACKs to clients in absence
+# of communication. This is useful for two reasons:
+#
+# 1) Detect dead peers.
+# 2) Take the connection alive from the point of view of network
+# equipment in the middle.
+#
+# On Linux, the specified value (in seconds) is the period used to send ACKs.
+# Note that to close the connection the double of the time is needed.
+# On other kernels the period depends on the kernel configuration.
+#
+# A reasonable value for this option is 300 seconds, which is the new
+# Redis default starting with Redis 3.2.1.
+tcp-keepalive 300
+
+################################# GENERAL #####################################
+
+# OE: run as a daemon.
+daemonize yes
+
+# If you run Redis from upstart or systemd, Redis can interact with your
+# supervision tree. Options:
+# supervised no - no supervision interaction
+# supervised upstart - signal upstart by putting Redis into SIGSTOP mode
+# supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
+# supervised auto - detect upstart or systemd method based on
+# UPSTART_JOB or NOTIFY_SOCKET environment variables
+# Note: these supervision methods only signal "process is ready."
+# They do not enable continuous liveness pings back to your supervisor.
+supervised no
+
+# If a pid file is specified, Redis writes it where specified at startup
+# and removes it at exit.
+#
+# When the server runs non daemonized, no pid file is created if none is
+# specified in the configuration. When the server is daemonized, the pid file
+# is used even if not specified, defaulting to "/var/run/redis.pid".
+#
+# Creating a pid file is best effort: if Redis is not able to create it
+# nothing bad happens, the server will start and run normally.
+
+# When running daemonized, Redis writes a pid file in /var/run/redis.pid by
+# default. You can specify a custom pid file location here.
+pidfile /var/run/redis.pid
+
+# Specify the server verbosity level.
+# This can be one of:
+# debug (a lot of information, useful for development/testing)
+# verbose (many rarely useful info, but not a mess like the debug level)
+# notice (moderately verbose, what you want in production probably)
+# warning (only very important / critical messages are logged)
+loglevel notice
+
+# Specify the log file name. Also the empty string can be used to force
+# Redis to log on the standard output. Note that if you use standard
+# output for logging but daemonize, logs will be sent to /dev/null
+logfile ""
+
+# To enable logging to the system logger, just set 'syslog-enabled' to yes,
+# and optionally update the other syslog parameters to suit your needs.
+syslog-enabled yes
+
+# Specify the syslog identity.
+syslog-ident redis
+
+# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
+# syslog-facility local0
+
+# Set the number of databases. The default database is DB 0, you can select
+# a different one on a per-connection basis using SELECT <dbid> where
+# dbid is a number between 0 and 'databases'-1
+databases 16
+
+# By default Redis shows an ASCII art logo only when started to log to the
+# standard output and if the standard output is a TTY. Basically this means
+# that normally a logo is displayed only in interactive sessions.
+#
+# However it is possible to force the pre-4.0 behavior and always show a
+# ASCII art logo in startup logs by setting the following option to yes.
+always-show-logo yes
+
+################################ SNAPSHOTTING ################################
+#
+# Save the DB on disk:
+#
+# save <seconds> <changes>
+#
+# Will save the DB if both the given number of seconds and the given
+# number of write operations against the DB occurred.
+#
+# In the example below the behaviour will be to save:
+# after 900 sec (15 min) if at least 1 key changed
+# after 300 sec (5 min) if at least 10 keys changed
+# after 60 sec if at least 10000 keys changed
+#
+# Note: you can disable saving completely by commenting out all "save" lines.
+#
+# It is also possible to remove all the previously configured save
+# points by adding a save directive with a single empty string argument
+# like in the following example:
+#
+# save ""
+
+#save 900 1
+#save 300 10
+#save 60 10000
+
+# OE: tune for a small embedded system with a limited # of keys.
+save 120 1
+save 60 100
+save 30 1000
+
+# By default Redis will stop accepting writes if RDB snapshots are enabled
+# (at least one save point) and the latest background save failed.
+# This will make the user aware (in a hard way) that data is not persisting
+# on disk properly, otherwise chances are that no one will notice and some
+# disaster will happen.
+#
+# If the background saving process will start working again Redis will
+# automatically allow writes again.
+#
+# However if you have setup your proper monitoring of the Redis server
+# and persistence, you may want to disable this feature so that Redis will
+# continue to work as usual even if there are problems with disk,
+# permissions, and so forth.
+stop-writes-on-bgsave-error yes
+
+# Compress string objects using LZF when dump .rdb databases?
+# For default that's set to 'yes' as it's almost always a win.
+# If you want to save some CPU in the saving child set it to 'no' but
+# the dataset will likely be bigger if you have compressible values or keys.
+rdbcompression yes
+
+# Since version 5 of RDB a CRC64 checksum is placed at the end of the file.
+# This makes the format more resistant to corruption but there is a performance
+# hit to pay (around 10%) when saving and loading RDB files, so you can disable it
+# for maximum performances.
+#
+# RDB files created with checksum disabled have a checksum of zero that will
+# tell the loading code to skip the check.
+rdbchecksum yes
+
+# The filename where to dump the DB
+dbfilename dump.rdb
+
+# The working directory.
+#
+# The DB will be written inside this directory, with the filename specified
+# above using the 'dbfilename' configuration directive.
+#
+# The Append Only File will also be created inside this directory.
+#
+# Note that you must specify a directory here, not a file name.
+dir /var/lib/redis/
+
+################################# REPLICATION #################################
+
+# Master-Slave replication. Use slaveof to make a Redis instance a copy of
+# another Redis server. A few things to understand ASAP about Redis replication.
+#
+# 1) Redis replication is asynchronous, but you can configure a master to
+# stop accepting writes if it appears to be not connected with at least
+# a given number of slaves.
+# 2) Redis slaves are able to perform a partial resynchronization with the
+# master if the replication link is lost for a relatively small amount of
+# time. You may want to configure the replication backlog size (see the next
+# sections of this file) with a sensible value depending on your needs.
+# 3) Replication is automatic and does not need user intervention. After a
+# network partition slaves automatically try to reconnect to masters
+# and resynchronize with them.
+#
+# slaveof <masterip> <masterport>
+
+# If the master is password protected (using the "requirepass" configuration
+# directive below) it is possible to tell the slave to authenticate before
+# starting the replication synchronization process, otherwise the master will
+# refuse the slave request.
+#
+# masterauth <master-password>
+
+# When a slave loses its connection with the master, or when the replication
+# is still in progress, the slave can act in two different ways:
+#
+# 1) if slave-serve-stale-data is set to 'yes' (the default) the slave will
+# still reply to client requests, possibly with out of date data, or the
+# data set may just be empty if this is the first synchronization.
+#
+# 2) if slave-serve-stale-data is set to 'no' the slave will reply with
+# an error "SYNC with master in progress" to all the kind of commands
+# but to INFO and SLAVEOF.
+#
+slave-serve-stale-data yes
+
+# You can configure a slave instance to accept writes or not. Writing against
+# a slave instance may be useful to store some ephemeral data (because data
+# written on a slave will be easily deleted after resync with the master) but
+# may also cause problems if clients are writing to it because of a
+# misconfiguration.
+#
+# Since Redis 2.6 by default slaves are read-only.
+#
+# Note: read only slaves are not designed to be exposed to untrusted clients
+# on the internet. It's just a protection layer against misuse of the instance.
+# Still a read only slave exports by default all the administrative commands
+# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
+# security of read only slaves using 'rename-command' to shadow all the
+# administrative / dangerous commands.
+slave-read-only yes
+
+# Replication SYNC strategy: disk or socket.
+#
+# -------------------------------------------------------
+# WARNING: DISKLESS REPLICATION IS EXPERIMENTAL CURRENTLY
+# -------------------------------------------------------
+#
+# New slaves and reconnecting slaves that are not able to continue the replication
+# process just receiving differences, need to do what is called a "full
+# synchronization". An RDB file is transmitted from the master to the slaves.
+# The transmission can happen in two different ways:
+#
+# 1) Disk-backed: The Redis master creates a new process that writes the RDB
+# file on disk. Later the file is transferred by the parent
+# process to the slaves incrementally.
+# 2) Diskless: The Redis master creates a new process that directly writes the
+# RDB file to slave sockets, without touching the disk at all.
+#
+# With disk-backed replication, while the RDB file is generated, more slaves
+# can be queued and served with the RDB file as soon as the current child producing
+# the RDB file finishes its work. With diskless replication instead once
+# the transfer starts, new slaves arriving will be queued and a new transfer
+# will start when the current one terminates.
+#
+# When diskless replication is used, the master waits a configurable amount of
+# time (in seconds) before starting the transfer in the hope that multiple slaves
+# will arrive and the transfer can be parallelized.
+#
+# With slow disks and fast (large bandwidth) networks, diskless replication
+# works better.
+repl-diskless-sync no
+
+# When diskless replication is enabled, it is possible to configure the delay
+# the server waits in order to spawn the child that transfers the RDB via socket
+# to the slaves.
+#
+# This is important since once the transfer starts, it is not possible to serve
+# new slaves arriving, that will be queued for the next RDB transfer, so the server
+# waits a delay in order to let more slaves arrive.
+#
+# The delay is specified in seconds, and by default is 5 seconds. To disable
+# it entirely just set it to 0 seconds and the transfer will start ASAP.
+repl-diskless-sync-delay 5
+
+# Slaves send PINGs to server in a predefined interval. It's possible to change
+# this interval with the repl_ping_slave_period option. The default value is 10
+# seconds.
+#
+# repl-ping-slave-period 10
+
+# The following option sets the replication timeout for:
+#
+# 1) Bulk transfer I/O during SYNC, from the point of view of slave.
+# 2) Master timeout from the point of view of slaves (data, pings).
+# 3) Slave timeout from the point of view of masters (REPLCONF ACK pings).
+#
+# It is important to make sure that this value is greater than the value
+# specified for repl-ping-slave-period otherwise a timeout will be detected
+# every time there is low traffic between the master and the slave.
+#
+# repl-timeout 60
+
+# Disable TCP_NODELAY on the slave socket after SYNC?
+#
+# If you select "yes" Redis will use a smaller number of TCP packets and
+# less bandwidth to send data to slaves. But this can add a delay for
+# the data to appear on the slave side, up to 40 milliseconds with
+# Linux kernels using a default configuration.
+#
+# If you select "no" the delay for data to appear on the slave side will
+# be reduced but more bandwidth will be used for replication.
+#
+# By default we optimize for low latency, but in very high traffic conditions
+# or when the master and slaves are many hops away, turning this to "yes" may
+# be a good idea.
+repl-disable-tcp-nodelay no
+
+# Set the replication backlog size. The backlog is a buffer that accumulates
+# slave data when slaves are disconnected for some time, so that when a slave
+# wants to reconnect again, often a full resync is not needed, but a partial
+# resync is enough, just passing the portion of data the slave missed while
+# disconnected.
+#
+# The bigger the replication backlog, the longer the time the slave can be
+# disconnected and later be able to perform a partial resynchronization.
+#
+# The backlog is only allocated once there is at least a slave connected.
+#
+# repl-backlog-size 1mb
+
+# After a master has no longer connected slaves for some time, the backlog
+# will be freed. The following option configures the amount of seconds that
+# need to elapse, starting from the time the last slave disconnected, for
+# the backlog buffer to be freed.
+#
+# Note that slaves never free the backlog for timeout, since they may be
+# promoted to masters later, and should be able to correctly "partially
+# resynchronize" with the slaves: hence they should always accumulate backlog.
+#
+# A value of 0 means to never release the backlog.
+#
+# repl-backlog-ttl 3600
+
+# The slave priority is an integer number published by Redis in the INFO output.
+# It is used by Redis Sentinel in order to select a slave to promote into a
+# master if the master is no longer working correctly.
+#
+# A slave with a low priority number is considered better for promotion, so
+# for instance if there are three slaves with priority 10, 100, 25 Sentinel will
+# pick the one with priority 10, that is the lowest.
+#
+# However a special priority of 0 marks the slave as not able to perform the
+# role of master, so a slave with priority of 0 will never be selected by
+# Redis Sentinel for promotion.
+#
+# By default the priority is 100.
+slave-priority 100
+
+# It is possible for a master to stop accepting writes if there are less than
+# N slaves connected, having a lag less or equal than M seconds.
+#
+# The N slaves need to be in "online" state.
+#
+# The lag in seconds, that must be <= the specified value, is calculated from
+# the last ping received from the slave, that is usually sent every second.
+#
+# This option does not GUARANTEE that N replicas will accept the write, but
+# will limit the window of exposure for lost writes in case not enough slaves
+# are available, to the specified number of seconds.
+#
+# For example to require at least 3 slaves with a lag <= 10 seconds use:
+#
+# min-slaves-to-write 3
+# min-slaves-max-lag 10
+#
+# Setting one or the other to 0 disables the feature.
+#
+# By default min-slaves-to-write is set to 0 (feature disabled) and
+# min-slaves-max-lag is set to 10.
+
+# A Redis master is able to list the address and port of the attached
+# slaves in different ways. For example the "INFO replication" section
+# offers this information, which is used, among other tools, by
+# Redis Sentinel in order to discover slave instances.
+# Another place where this info is available is in the output of the
+# "ROLE" command of a master.
+#
+# The listed IP and address normally reported by a slave is obtained
+# in the following way:
+#
+# IP: The address is auto detected by checking the peer address
+# of the socket used by the slave to connect with the master.
+#
+# Port: The port is communicated by the slave during the replication
+# handshake, and is normally the port that the slave is using to
+# list for connections.
+#
+# However when port forwarding or Network Address Translation (NAT) is
+# used, the slave may be actually reachable via different IP and port
+# pairs. The following two options can be used by a slave in order to
+# report to its master a specific set of IP and port, so that both INFO
+# and ROLE will report those values.
+#
+# There is no need to use both the options if you need to override just
+# the port or the IP address.
+#
+# slave-announce-ip 5.5.5.5
+# slave-announce-port 1234
+
+################################## SECURITY ###################################
+
+# Require clients to issue AUTH <PASSWORD> before processing any other
+# commands. This might be useful in environments in which you do not trust
+# others with access to the host running redis-server.
+#
+# This should stay commented out for backward compatibility and because most
+# people do not need auth (e.g. they run their own servers).
+#
+# Warning: since Redis is pretty fast an outside user can try up to
+# 150k passwords per second against a good box. This means that you should
+# use a very strong password otherwise it will be very easy to break.
+#
+# requirepass foobared
+
+# Command renaming.
+#
+# It is possible to change the name of dangerous commands in a shared
+# environment. For instance the CONFIG command may be renamed into something
+# hard to guess so that it will still be available for internal-use tools
+# but not available for general clients.
+#
+# Example:
+#
+# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
+#
+# It is also possible to completely kill a command by renaming it into
+# an empty string:
+#
+# rename-command CONFIG ""
+#
+# Please note that changing the name of commands that are logged into the
+# AOF file or transmitted to slaves may cause problems.
+
+################################### CLIENTS ####################################
+
+# Set the max number of connected clients at the same time. By default
+# this limit is set to 10000 clients, however if the Redis server is not
+# able to configure the process file limit to allow for the specified limit
+# the max number of allowed clients is set to the current file limit
+# minus 32 (as Redis reserves a few file descriptors for internal uses).
+#
+# Once the limit is reached Redis will close all the new connections sending
+# an error 'max number of clients reached'.
+#
+# maxclients 10000
+
+############################## MEMORY MANAGEMENT ################################
+
+# Set a memory usage limit to the specified amount of bytes.
+# When the memory limit is reached Redis will try to remove keys
+# according to the eviction policy selected (see maxmemory-policy).
+#
+# If Redis can't remove keys according to the policy, or if the policy is
+# set to 'noeviction', Redis will start to reply with errors to commands
+# that would use more memory, like SET, LPUSH, and so on, and will continue
+# to reply to read-only commands like GET.
+#
+# This option is usually useful when using Redis as an LRU or LFU cache, or to
+# set a hard memory limit for an instance (using the 'noeviction' policy).
+#
+# WARNING: If you have slaves attached to an instance with maxmemory on,
+# the size of the output buffers needed to feed the slaves are subtracted
+# from the used memory count, so that network problems / resyncs will
+# not trigger a loop where keys are evicted, and in turn the output
+# buffer of slaves is full with DELs of keys evicted triggering the deletion
+# of more keys, and so forth until the database is completely emptied.
+#
+# In short... if you have slaves attached it is suggested that you set a lower
+# limit for maxmemory so that there is some free RAM on the system for slave
+# output buffers (but this is not needed if the policy is 'noeviction').
+#
+# maxmemory <bytes>
+
+# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
+# is reached. You can select among five behaviors:
+#
+# volatile-lru -> Evict using approximated LRU among the keys with an expire set.
+# allkeys-lru -> Evict any key using approximated LRU.
+# volatile-lfu -> Evict using approximated LFU among the keys with an expire set.
+# allkeys-lfu -> Evict any key using approximated LFU.
+# volatile-random -> Remove a random key among the ones with an expire set.
+# allkeys-random -> Remove a random key, any key.
+# volatile-ttl -> Remove the key with the nearest expire time (minor TTL)
+# noeviction -> Don't evict anything, just return an error on write operations.
+#
+# LRU means Least Recently Used
+# LFU means Least Frequently Used
+#
+# Both LRU, LFU and volatile-ttl are implemented using approximated
+# randomized algorithms.
+#
+# Note: with any of the above policies, Redis will return an error on write
+# operations, when there are no suitable keys for eviction.
+#
+# At the date of writing these commands are: set setnx setex append
+# incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
+# sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
+# zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
+# getset mset msetnx exec sort
+#
+# The default is:
+#
+# maxmemory-policy noeviction
+
+# LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated
+# algorithms (in order to save memory), so you can tune it for speed or
+# accuracy. For default Redis will check five keys and pick the one that was
+# used less recently, you can change the sample size using the following
+# configuration directive.
+#
+# The default of 5 produces good enough results. 10 Approximates very closely
+# true LRU but costs more CPU. 3 is faster but not very accurate.
+#
+# maxmemory-samples 5
+
+############################# LAZY FREEING ####################################
+
+# Redis has two primitives to delete keys. One is called DEL and is a blocking
+# deletion of the object. It means that the server stops processing new commands
+# in order to reclaim all the memory associated with an object in a synchronous
+# way. If the key deleted is associated with a small object, the time needed
+# in order to execute the DEL command is very small and comparable to most other
+# O(1) or O(log_N) commands in Redis. However if the key is associated with an
+# aggregated value containing millions of elements, the server can block for
+# a long time (even seconds) in order to complete the operation.
+#
+# For the above reasons Redis also offers non blocking deletion primitives
+# such as UNLINK (non blocking DEL) and the ASYNC option of FLUSHALL and
+# FLUSHDB commands, in order to reclaim memory in background. Those commands
+# are executed in constant time. Another thread will incrementally free the
+# object in the background as fast as possible.
+#
+# DEL, UNLINK and ASYNC option of FLUSHALL and FLUSHDB are user-controlled.
+# It's up to the design of the application to understand when it is a good
+# idea to use one or the other. However the Redis server sometimes has to
+# delete keys or flush the whole database as a side effect of other operations.
+# Specifically Redis deletes objects independently of a user call in the
+# following scenarios:
+#
+# 1) On eviction, because of the maxmemory and maxmemory policy configurations,
+# in order to make room for new data, without going over the specified
+# memory limit.
+# 2) Because of expire: when a key with an associated time to live (see the
+# EXPIRE command) must be deleted from memory.
+# 3) Because of a side effect of a command that stores data on a key that may
+# already exist. For example the RENAME command may delete the old key
+# content when it is replaced with another one. Similarly SUNIONSTORE
+# or SORT with STORE option may delete existing keys. The SET command
+# itself removes any old content of the specified key in order to replace
+# it with the specified string.
+# 4) During replication, when a slave performs a full resynchronization with
+# its master, the content of the whole database is removed in order to
+# load the RDB file just transfered.
+#
+# In all the above cases the default is to delete objects in a blocking way,
+# like if DEL was called. However you can configure each case specifically
+# in order to instead release memory in a non-blocking way like if UNLINK
+# was called, using the following configuration directives:
+
+lazyfree-lazy-eviction no
+lazyfree-lazy-expire no
+lazyfree-lazy-server-del no
+slave-lazy-flush no
+
+############################## APPEND ONLY MODE ###############################
+
+# By default Redis asynchronously dumps the dataset on disk. This mode is
+# good enough in many applications, but an issue with the Redis process or
+# a power outage may result into a few minutes of writes lost (depending on
+# the configured save points).
+#
+# The Append Only File is an alternative persistence mode that provides
+# much better durability. For instance using the default data fsync policy
+# (see later in the config file) Redis can lose just one second of writes in a
+# dramatic event like a server power outage, or a single write if something
+# wrong with the Redis process itself happens, but the operating system is
+# still running correctly.
+#
+# AOF and RDB persistence can be enabled at the same time without problems.
+# If the AOF is enabled on startup Redis will load the AOF, that is the file
+# with the better durability guarantees.
+#
+# Please check http://redis.io/topics/persistence for more information.
+
+# OE: changed default to enable this
+appendonly yes
+
+# The name of the append only file (default: "appendonly.aof")
+
+appendfilename "appendonly.aof"
+
+# The fsync() call tells the Operating System to actually write data on disk
+# instead of waiting for more data in the output buffer. Some OS will really flush
+# data on disk, some other OS will just try to do it ASAP.
+#
+# Redis supports three different modes:
+#
+# no: don't fsync, just let the OS flush the data when it wants. Faster.
+# always: fsync after every write to the append only log. Slow, Safest.
+# everysec: fsync only one time every second. Compromise.
+#
+# The default is "everysec", as that's usually the right compromise between
+# speed and data safety. It's up to you to understand if you can relax this to
+# "no" that will let the operating system flush the output buffer when
+# it wants, for better performances (but if you can live with the idea of
+# some data loss consider the default persistence mode that's snapshotting),
+# or on the contrary, use "always" that's very slow but a bit safer than
+# everysec.
+#
+# More details please check the following article:
+# http://antirez.com/post/redis-persistence-demystified.html
+#
+# If unsure, use "everysec".
+
+# appendfsync always
+appendfsync everysec
+# appendfsync no
+
+# When the AOF fsync policy is set to always or everysec, and a background
+# saving process (a background save or AOF log background rewriting) is
+# performing a lot of I/O against the disk, in some Linux configurations
+# Redis may block too long on the fsync() call. Note that there is no fix for
+# this currently, as even performing fsync in a different thread will block
+# our synchronous write(2) call.
+#
+# In order to mitigate this problem it's possible to use the following option
+# that will prevent fsync() from being called in the main process while a
+# BGSAVE or BGREWRITEAOF is in progress.
+#
+# This means that while another child is saving, the durability of Redis is
+# the same as "appendfsync none". In practical terms, this means that it is
+# possible to lose up to 30 seconds of log in the worst scenario (with the
+# default Linux settings).
+#
+# If you have latency problems turn this to "yes". Otherwise leave it as
+# "no" that is the safest pick from the point of view of durability.
+
+no-appendfsync-on-rewrite no
+
+# Automatic rewrite of the append only file.
+# Redis is able to automatically rewrite the log file implicitly calling
+# BGREWRITEAOF when the AOF log size grows by the specified percentage.
+#
+# This is how it works: Redis remembers the size of the AOF file after the
+# latest rewrite (if no rewrite has happened since the restart, the size of
+# the AOF at startup is used).
+#
+# This base size is compared to the current size. If the current size is
+# bigger than the specified percentage, the rewrite is triggered. Also
+# you need to specify a minimal size for the AOF file to be rewritten, this
+# is useful to avoid rewriting the AOF file even if the percentage increase
+# is reached but it is still pretty small.
+#
+# Specify a percentage of zero in order to disable the automatic AOF
+# rewrite feature.
+
+auto-aof-rewrite-percentage 100
+auto-aof-rewrite-min-size 64mb
+
+# An AOF file may be found to be truncated at the end during the Redis
+# startup process, when the AOF data gets loaded back into memory.
+# This may happen when the system where Redis is running
+# crashes, especially when an ext4 filesystem is mounted without the
+# data=ordered option (however this can't happen when Redis itself
+# crashes or aborts but the operating system still works correctly).
+#
+# Redis can either exit with an error when this happens, or load as much
+# data as possible (the default now) and start if the AOF file is found
+# to be truncated at the end. The following option controls this behavior.
+#
+# If aof-load-truncated is set to yes, a truncated AOF file is loaded and
+# the Redis server starts emitting a log to inform the user of the event.
+# Otherwise if the option is set to no, the server aborts with an error
+# and refuses to start. When the option is set to no, the user requires
+# to fix the AOF file using the "redis-check-aof" utility before to restart
+# the server.
+#
+# Note that if the AOF file will be found to be corrupted in the middle
+# the server will still exit with an error. This option only applies when
+# Redis will try to read more data from the AOF file but not enough bytes
+# will be found.
+aof-load-truncated yes
+
+# When rewriting the AOF file, Redis is able to use an RDB preamble in the
+# AOF file for faster rewrites and recoveries. When this option is turned
+# on the rewritten AOF file is composed of two different stanzas:
+#
+# [RDB file][AOF tail]
+#
+# When loading Redis recognizes that the AOF file starts with the "REDIS"
+# string and loads the prefixed RDB file, and continues loading the AOF
+# tail.
+#
+# This is currently turned off by default in order to avoid the surprise
+# of a format change, but will at some point be used as the default.
+aof-use-rdb-preamble no
+
+################################ LUA SCRIPTING ###############################
+
+# Max execution time of a Lua script in milliseconds.
+#
+# If the maximum execution time is reached Redis will log that a script is
+# still in execution after the maximum allowed time and will start to
+# reply to queries with an error.
+#
+# When a long running script exceeds the maximum execution time only the
+# SCRIPT KILL and SHUTDOWN NOSAVE commands are available. The first can be
+# used to stop a script that did not yet called write commands. The second
+# is the only way to shut down the server in the case a write command was
+# already issued by the script but the user doesn't want to wait for the natural
+# termination of the script.
+#
+# Set it to 0 or a negative value for unlimited execution without warnings.
+lua-time-limit 5000
+
+################################ REDIS CLUSTER ###############################
+#
+# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# WARNING EXPERIMENTAL: Redis Cluster is considered to be stable code, however
+# in order to mark it as "mature" we need to wait for a non trivial percentage
+# of users to deploy it in production.
+# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+#
+# Normal Redis instances can't be part of a Redis Cluster; only nodes that are
+# started as cluster nodes can. In order to start a Redis instance as a
+# cluster node enable the cluster support uncommenting the following:
+#
+# cluster-enabled yes
+
+# Every cluster node has a cluster configuration file. This file is not
+# intended to be edited by hand. It is created and updated by Redis nodes.
+# Every Redis Cluster node requires a different cluster configuration file.
+# Make sure that instances running in the same system do not have
+# overlapping cluster configuration file names.
+#
+# cluster-config-file nodes-6379.conf
+
+# Cluster node timeout is the amount of milliseconds a node must be unreachable
+# for it to be considered in failure state.
+# Most other internal time limits are multiple of the node timeout.
+#
+# cluster-node-timeout 15000
+
+# A slave of a failing master will avoid to start a failover if its data
+# looks too old.
+#
+# There is no simple way for a slave to actually have an exact measure of
+# its "data age", so the following two checks are performed:
+#
+# 1) If there are multiple slaves able to failover, they exchange messages
+# in order to try to give an advantage to the slave with the best
+# replication offset (more data from the master processed).
+# Slaves will try to get their rank by offset, and apply to the start
+# of the failover a delay proportional to their rank.
+#
+# 2) Every single slave computes the time of the last interaction with
+# its master. This can be the last ping or command received (if the master
+# is still in the "connected" state), or the time that elapsed since the
+# disconnection with the master (if the replication link is currently down).
+# If the last interaction is too old, the slave will not try to failover
+# at all.
+#
+# The point "2" can be tuned by user. Specifically a slave will not perform
+# the failover if, since the last interaction with the master, the time
+# elapsed is greater than:
+#
+# (node-timeout * slave-validity-factor) + repl-ping-slave-period
+#
+# So for example if node-timeout is 30 seconds, and the slave-validity-factor
+# is 10, and assuming a default repl-ping-slave-period of 10 seconds, the
+# slave will not try to failover if it was not able to talk with the master
+# for longer than 310 seconds.
+#
+# A large slave-validity-factor may allow slaves with too old data to failover
+# a master, while a too small value may prevent the cluster from being able to
+# elect a slave at all.
+#
+# For maximum availability, it is possible to set the slave-validity-factor
+# to a value of 0, which means, that slaves will always try to failover the
+# master regardless of the last time they interacted with the master.
+# (However they'll always try to apply a delay proportional to their
+# offset rank).
+#
+# Zero is the only value able to guarantee that when all the partitions heal
+# the cluster will always be able to continue.
+#
+# cluster-slave-validity-factor 10
+
+# Cluster slaves are able to migrate to orphaned masters, that are masters
+# that are left without working slaves. This improves the cluster ability
+# to resist to failures as otherwise an orphaned master can't be failed over
+# in case of failure if it has no working slaves.
+#
+# Slaves migrate to orphaned masters only if there are still at least a
+# given number of other working slaves for their old master. This number
+# is the "migration barrier". A migration barrier of 1 means that a slave
+# will migrate only if there is at least 1 other working slave for its master
+# and so forth. It usually reflects the number of slaves you want for every
+# master in your cluster.
+#
+# Default is 1 (slaves migrate only if their masters remain with at least
+# one slave). To disable migration just set it to a very large value.
+# A value of 0 can be set but is useful only for debugging and dangerous
+# in production.
+#
+# cluster-migration-barrier 1
+
+# By default Redis Cluster nodes stop accepting queries if they detect there
+# is at least an hash slot uncovered (no available node is serving it).
+# This way if the cluster is partially down (for example a range of hash slots
+# are no longer covered) all the cluster becomes, eventually, unavailable.
+# It automatically returns available as soon as all the slots are covered again.
+#
+# However sometimes you want the subset of the cluster which is working,
+# to continue to accept queries for the part of the key space that is still
+# covered. In order to do so, just set the cluster-require-full-coverage
+# option to no.
+#
+# cluster-require-full-coverage yes
+
+# In order to setup your cluster make sure to read the documentation
+# available at http://redis.io web site.
+
+########################## CLUSTER DOCKER/NAT support ########################
+
+# In certain deployments, Redis Cluster nodes address discovery fails, because
+# addresses are NAT-ted or because ports are forwarded (the typical case is
+# Docker and other containers).
+#
+# In order to make Redis Cluster working in such environments, a static
+# configuration where each node knows its public address is needed. The
+# following two options are used for this scope, and are:
+#
+# * cluster-announce-ip
+# * cluster-announce-port
+# * cluster-announce-bus-port
+#
+# Each instruct the node about its address, client port, and cluster message
+# bus port. The information is then published in the header of the bus packets
+# so that other nodes will be able to correctly map the address of the node
+# publishing the information.
+#
+# If the above options are not used, the normal Redis Cluster auto-detection
+# will be used instead.
+#
+# Note that when remapped, the bus port may not be at the fixed offset of
+# clients port + 10000, so you can specify any port and bus-port depending
+# on how they get remapped. If the bus-port is not set, a fixed offset of
+# 10000 will be used as usually.
+#
+# Example:
+#
+# cluster-announce-ip 10.1.1.5
+# cluster-announce-port 6379
+# cluster-announce-bus-port 6380
+
+################################## SLOW LOG ###################################
+
+# The Redis Slow Log is a system to log queries that exceeded a specified
+# execution time. The execution time does not include the I/O operations
+# like talking with the client, sending the reply and so forth,
+# but just the time needed to actually execute the command (this is the only
+# stage of command execution where the thread is blocked and can not serve
+# other requests in the meantime).
+#
+# You can configure the slow log with two parameters: one tells Redis
+# what is the execution time, in microseconds, to exceed in order for the
+# command to get logged, and the other parameter is the length of the
+# slow log. When a new command is logged the oldest one is removed from the
+# queue of logged commands.
+
+# The following time is expressed in microseconds, so 1000000 is equivalent
+# to one second. Note that a negative number disables the slow log, while
+# a value of zero forces the logging of every command.
+slowlog-log-slower-than 10000
+
+# There is no limit to this length. Just be aware that it will consume memory.
+# You can reclaim memory used by the slow log with SLOWLOG RESET.
+slowlog-max-len 128
+
+################################ LATENCY MONITOR ##############################
+
+# The Redis latency monitoring subsystem samples different operations
+# at runtime in order to collect data related to possible sources of
+# latency of a Redis instance.
+#
+# Via the LATENCY command this information is available to the user that can
+# print graphs and obtain reports.
+#
+# The system only logs operations that were performed in a time equal or
+# greater than the amount of milliseconds specified via the
+# latency-monitor-threshold configuration directive. When its value is set
+# to zero, the latency monitor is turned off.
+#
+# By default latency monitoring is disabled since it is mostly not needed
+# if you don't have latency issues, and collecting data has a performance
+# impact, that while very small, can be measured under big load. Latency
+# monitoring can easily be enabled at runtime using the command
+# "CONFIG SET latency-monitor-threshold <milliseconds>" if needed.
+latency-monitor-threshold 0
+
+############################# EVENT NOTIFICATION ##############################
+
+# Redis can notify Pub/Sub clients about events happening in the key space.
+# This feature is documented at http://redis.io/topics/notifications
+#
+# For instance if keyspace events notification is enabled, and a client
+# performs a DEL operation on key "foo" stored in the Database 0, two
+# messages will be published via Pub/Sub:
+#
+# PUBLISH __keyspace@0__:foo del
+# PUBLISH __keyevent@0__:del foo
+#
+# It is possible to select the events that Redis will notify among a set
+# of classes. Every class is identified by a single character:
+#
+# K Keyspace events, published with __keyspace@<db>__ prefix.
+# E Keyevent events, published with __keyevent@<db>__ prefix.
+# g Generic commands (non-type specific) like DEL, EXPIRE, RENAME, ...
+# $ String commands
+# l List commands
+# s Set commands
+# h Hash commands
+# z Sorted set commands
+# x Expired events (events generated every time a key expires)
+# e Evicted events (events generated when a key is evicted for maxmemory)
+# A Alias for g$lshzxe, so that the "AKE" string means all the events.
+#
+# The "notify-keyspace-events" takes as argument a string that is composed
+# of zero or multiple characters. The empty string means that notifications
+# are disabled.
+#
+# Example: to enable list and generic events, from the point of view of the
+# event name, use:
+#
+# notify-keyspace-events Elg
+#
+# Example 2: to get the stream of the expired keys subscribing to channel
+# name __keyevent@0__:expired use:
+#
+# notify-keyspace-events Ex
+#
+# By default all notifications are disabled because most users don't need
+# this feature and the feature has some overhead. Note that if you don't
+# specify at least one of K or E, no events will be delivered.
+notify-keyspace-events ""
+
+############################### ADVANCED CONFIG ###############################
+
+# Hashes are encoded using a memory efficient data structure when they have a
+# small number of entries, and the biggest entry does not exceed a given
+# threshold. These thresholds can be configured using the following directives.
+hash-max-ziplist-entries 512
+hash-max-ziplist-value 64
+
+# Lists are also encoded in a special way to save a lot of space.
+# The number of entries allowed per internal list node can be specified
+# as a fixed maximum size or a maximum number of elements.
+# For a fixed maximum size, use -5 through -1, meaning:
+# -5: max size: 64 Kb <-- not recommended for normal workloads
+# -4: max size: 32 Kb <-- not recommended
+# -3: max size: 16 Kb <-- probably not recommended
+# -2: max size: 8 Kb <-- good
+# -1: max size: 4 Kb <-- good
+# Positive numbers mean store up to _exactly_ that number of elements
+# per list node.
+# The highest performing option is usually -2 (8 Kb size) or -1 (4 Kb size),
+# but if your use case is unique, adjust the settings as necessary.
+list-max-ziplist-size -2
+
+# Lists may also be compressed.
+# Compress depth is the number of quicklist ziplist nodes from *each* side of
+# the list to *exclude* from compression. The head and tail of the list
+# are always uncompressed for fast push/pop operations. Settings are:
+# 0: disable all list compression
+# 1: depth 1 means "don't start compressing until after 1 node into the list,
+# going from either the head or tail"
+# So: [head]->node->node->...->node->[tail]
+# [head], [tail] will always be uncompressed; inner nodes will compress.
+# 2: [head]->[next]->node->node->...->node->[prev]->[tail]
+# 2 here means: don't compress head or head->next or tail->prev or tail,
+# but compress all nodes between them.
+# 3: [head]->[next]->[next]->node->node->...->node->[prev]->[prev]->[tail]
+# etc.
+list-compress-depth 0
+
+# Sets have a special encoding in just one case: when a set is composed
+# of just strings that happen to be integers in radix 10 in the range
+# of 64 bit signed integers.
+# The following configuration setting sets the limit in the size of the
+# set in order to use this special memory saving encoding.
+set-max-intset-entries 512
+
+# Similarly to hashes and lists, sorted sets are also specially encoded in
+# order to save a lot of space. This encoding is only used when the length and
+# elements of a sorted set are below the following limits:
+zset-max-ziplist-entries 128
+zset-max-ziplist-value 64
+
+# HyperLogLog sparse representation bytes limit. The limit includes the
+# 16 bytes header. When an HyperLogLog using the sparse representation crosses
+# this limit, it is converted into the dense representation.
+#
+# A value greater than 16000 is totally useless, since at that point the
+# dense representation is more memory efficient.
+#
+# The suggested value is ~ 3000 in order to have the benefits of
+# the space efficient encoding without slowing down too much PFADD,
+# which is O(N) with the sparse encoding. The value can be raised to
+# ~ 10000 when CPU is not a concern, but space is, and the data set is
+# composed of many HyperLogLogs with cardinality in the 0 - 15000 range.
+hll-sparse-max-bytes 3000
+
+# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
+# order to help rehashing the main Redis hash table (the one mapping top-level
+# keys to values). The hash table implementation Redis uses (see dict.c)
+# performs a lazy rehashing: the more operation you run into a hash table
+# that is rehashing, the more rehashing "steps" are performed, so if the
+# server is idle the rehashing is never complete and some more memory is used
+# by the hash table.
+#
+# The default is to use this millisecond 10 times every second in order to
+# actively rehash the main dictionaries, freeing memory when possible.
+#
+# If unsure:
+# use "activerehashing no" if you have hard latency requirements and it is
+# not a good thing in your environment that Redis can reply from time to time
+# to queries with 2 milliseconds delay.
+#
+# use "activerehashing yes" if you don't have such hard requirements but
+# want to free memory asap when possible.
+activerehashing yes
+
+# The client output buffer limits can be used to force disconnection of clients
+# that are not reading data from the server fast enough for some reason (a
+# common reason is that a Pub/Sub client can't consume messages as fast as the
+# publisher can produce them).
+#
+# The limit can be set differently for the three different classes of clients:
+#
+# normal -> normal clients including MONITOR clients
+# slave -> slave clients
+# pubsub -> clients subscribed to at least one pubsub channel or pattern
+#
+# The syntax of every client-output-buffer-limit directive is the following:
+#
+# client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds>
+#
+# A client is immediately disconnected once the hard limit is reached, or if
+# the soft limit is reached and remains reached for the specified number of
+# seconds (continuously).
+# So for instance if the hard limit is 32 megabytes and the soft limit is
+# 16 megabytes / 10 seconds, the client will get disconnected immediately
+# if the size of the output buffers reach 32 megabytes, but will also get
+# disconnected if the client reaches 16 megabytes and continuously overcomes
+# the limit for 10 seconds.
+#
+# By default normal clients are not limited because they don't receive data
+# without asking (in a push way), but just after a request, so only
+# asynchronous clients may create a scenario where data is requested faster
+# than it can read.
+#
+# Instead there is a default limit for pubsub and slave clients, since
+# subscribers and slaves receive data in a push fashion.
+#
+# Both the hard or the soft limit can be disabled by setting them to zero.
+client-output-buffer-limit normal 0 0 0
+client-output-buffer-limit slave 256mb 64mb 60
+client-output-buffer-limit pubsub 32mb 8mb 60
+
+# Client query buffers accumulate new commands. They are limited to a fixed
+# amount by default in order to avoid that a protocol desynchronization (for
+# instance due to a bug in the client) will lead to unbound memory usage in
+# the query buffer. However you can configure it here if you have very special
+# needs, such us huge multi/exec requests or alike.
+#
+# client-query-buffer-limit 1gb
+
+# In the Redis protocol, bulk requests, that are, elements representing single
+# strings, are normally limited ot 512 mb. However you can change this limit
+# here.
+#
+# proto-max-bulk-len 512mb
+
+# Redis calls an internal function to perform many background tasks, like
+# closing connections of clients in timeout, purging expired keys that are
+# never requested, and so forth.
+#
+# Not all tasks are performed with the same frequency, but Redis checks for
+# tasks to perform according to the specified "hz" value.
+#
+# By default "hz" is set to 10. Raising the value will use more CPU when
+# Redis is idle, but at the same time will make Redis more responsive when
+# there are many keys expiring at the same time, and timeouts may be
+# handled with more precision.
+#
+# The range is between 1 and 500, however a value over 100 is usually not
+# a good idea. Most users should use the default of 10 and raise this up to
+# 100 only in environments where very low latency is required.
+hz 10
+
+# When a child rewrites the AOF file, if the following option is enabled
+# the file will be fsync-ed every 32 MB of data generated. This is useful
+# in order to commit the file to the disk more incrementally and avoid
+# big latency spikes.
+aof-rewrite-incremental-fsync yes
+
+# Redis LFU eviction (see maxmemory setting) can be tuned. However it is a good
+# idea to start with the default settings and only change them after investigating
+# how to improve the performances and how the keys LFU change over time, which
+# is possible to inspect via the OBJECT FREQ command.
+#
+# There are two tunable parameters in the Redis LFU implementation: the
+# counter logarithm factor and the counter decay time. It is important to
+# understand what the two parameters mean before changing them.
+#
+# The LFU counter is just 8 bits per key, it's maximum value is 255, so Redis
+# uses a probabilistic increment with logarithmic behavior. Given the value
+# of the old counter, when a key is accessed, the counter is incremented in
+# this way:
+#
+# 1. A random number R between 0 and 1 is extracted.
+# 2. A probability P is calculated as 1/(old_value*lfu_log_factor+1).
+# 3. The counter is incremented only if R < P.
+#
+# The default lfu-log-factor is 10. This is a table of how the frequency
+# counter changes with a different number of accesses with different
+# logarithmic factors:
+#
+# +--------+------------+------------+------------+------------+------------+
+# | factor | 100 hits | 1000 hits | 100K hits | 1M hits | 10M hits |
+# +--------+------------+------------+------------+------------+------------+
+# | 0 | 104 | 255 | 255 | 255 | 255 |
+# +--------+------------+------------+------------+------------+------------+
+# | 1 | 18 | 49 | 255 | 255 | 255 |
+# +--------+------------+------------+------------+------------+------------+
+# | 10 | 10 | 18 | 142 | 255 | 255 |
+# +--------+------------+------------+------------+------------+------------+
+# | 100 | 8 | 11 | 49 | 143 | 255 |
+# +--------+------------+------------+------------+------------+------------+
+#
+# NOTE: The above table was obtained by running the following commands:
+#
+# redis-benchmark -n 1000000 incr foo
+# redis-cli object freq foo
+#
+# NOTE 2: The counter initial value is 5 in order to give new objects a chance
+# to accumulate hits.
+#
+# The counter decay time is the time, in minutes, that must elapse in order
+# for the key counter to be divided by two (or decremented if it has a value
+# less <= 10).
+#
+# The default value for the lfu-decay-time is 1. A Special value of 0 means to
+# decay the counter every time it happens to be scanned.
+#
+# lfu-log-factor 10
+# lfu-decay-time 1
+
+########################### ACTIVE DEFRAGMENTATION #######################
+#
+# WARNING THIS FEATURE IS EXPERIMENTAL. However it was stress tested
+# even in production and manually tested by multiple engineers for some
+# time.
+#
+# What is active defragmentation?
+# -------------------------------
+#
+# Active (online) defragmentation allows a Redis server to compact the
+# spaces left between small allocations and deallocations of data in memory,
+# thus allowing to reclaim back memory.
+#
+# Fragmentation is a natural process that happens with every allocator (but
+# less so with Jemalloc, fortunately) and certain workloads. Normally a server
+# restart is needed in order to lower the fragmentation, or at least to flush
+# away all the data and create it again. However thanks to this feature
+# implemented by Oran Agra for Redis 4.0 this process can happen at runtime
+# in an "hot" way, while the server is running.
+#
+# Basically when the fragmentation is over a certain level (see the
+# configuration options below) Redis will start to create new copies of the
+# values in contiguous memory regions by exploiting certain specific Jemalloc
+# features (in order to understand if an allocation is causing fragmentation
+# and to allocate it in a better place), and at the same time, will release the
+# old copies of the data. This process, repeated incrementally for all the keys
+# will cause the fragmentation to drop back to normal values.
+#
+# Important things to understand:
+#
+# 1. This feature is disabled by default, and only works if you compiled Redis
+# to use the copy of Jemalloc we ship with the source code of Redis.
+# This is the default with Linux builds.
+#
+# 2. You never need to enable this feature if you don't have fragmentation
+# issues.
+#
+# 3. Once you experience fragmentation, you can enable this feature when
+# needed with the command "CONFIG SET activedefrag yes".
+#
+# The configuration parameters are able to fine tune the behavior of the
+# defragmentation process. If you are not sure about what they mean it is
+# a good idea to leave the defaults untouched.
+
+# Enabled active defragmentation
+# activedefrag yes
+
+# Minimum amount of fragmentation waste to start active defrag
+# active-defrag-ignore-bytes 100mb
+
+# Minimum percentage of fragmentation to start active defrag
+# active-defrag-threshold-lower 10
+
+# Maximum percentage of fragmentation at which we use maximum effort
+# active-defrag-threshold-upper 100
+
+# Minimal effort for defrag in CPU percentage
+# active-defrag-cycle-min 25
+
+# Maximal effort for defrag in CPU percentage
+# active-defrag-cycle-max 75
diff --git a/meta-oe/recipes-extended/redis/redis-7.2.4/redis.service b/meta-oe/recipes-extended/redis/redis-7.2.4/redis.service
new file mode 100644
index 0000000000..b7791d0df4
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis-7.2.4/redis.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Redis In-Memory Data Store
+After=network.target
+
+[Service]
+User=redis
+Group=redis
+ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
+ExecStop=/usr/bin/redis-cli shutdown
+Restart=always
+LimitNOFILE=10032
+Type=notify
+StateDirectory=redis
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch
index b5c4133e31..66ab0ee33c 100644
--- a/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch
+++ b/meta-oe/recipes-extended/redis/redis/0001-src-Do-not-reset-FINAL_LIBS.patch
@@ -10,15 +10,16 @@ e.g. -latomic is needed on clang/x86 to provide for 64bit atomics
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
src/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile b/src/Makefile
-index 7f7c625..c71dd3b 100644
+index 5564351..83ccd76 100644
--- a/src/Makefile
+++ b/src/Makefile
-@@ -75,7 +75,7 @@ endif
+@@ -91,7 +91,7 @@ endif
FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS)
FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG)
@@ -26,7 +27,4 @@ index 7f7c625..c71dd3b 100644
+FINAL_LIBS+=-lm
DEBUG=-g -ggdb
- # Linux ARM needs -latomic at linking time
---
-2.23.0
-
+ # Linux ARM32 needs -latomic at linking time
diff --git a/meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch b/meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch
new file mode 100644
index 0000000000..9d7e502717
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis/0006-Define-correct-gregs-for-RISCV32.patch
@@ -0,0 +1,62 @@
+From 26bd72f3b8de22e5036d86e6c79f815853b83473 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 26 Oct 2020 21:32:22 -0700
+Subject: [PATCH] Define correct gregs for RISCV32
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Updated patch for 6.2.1
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+---
+ src/debug.c | 26 ++++++++++++++++++++++++--
+ 1 file changed, 24 insertions(+), 2 deletions(-)
+
+diff --git a/src/debug.c b/src/debug.c
+index 5318c14..8c21b47 100644
+--- a/src/debug.c
++++ b/src/debug.c
+@@ -1055,7 +1055,9 @@ static void* getAndSetMcontextEip(ucontext_t *uc, void *eip) {
+ #endif
+ #elif defined(__linux__)
+ /* Linux */
+- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
++ #if defined(__riscv) && __riscv_xlen == 32
++ return (void*) uc->uc_mcontext.__gregs[REG_PC];
++ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
+ GET_SET_RETURN(uc->uc_mcontext.gregs[14], eip);
+ #elif defined(__X86_64__) || defined(__x86_64__)
+ GET_SET_RETURN(uc->uc_mcontext.gregs[16], eip);
+@@ -1222,8 +1224,28 @@ void logRegisters(ucontext_t *uc) {
+ #endif
+ /* Linux */
+ #elif defined(__linux__)
++ /* Linux RISCV32 */
++ #if defined(__riscv) && __riscv_xlen == 32
++ serverLog(LL_WARNING,
++ "\n"
++ "RA:%08lx S0:%08lx S1:%08lx S2:%08lx\n"
++ "SP:%08lx PC:%08lx A0:%08lx A1:%08lx\n"
++ "A2 :%08lx A3:%08lx A4:%08lx",
++ (unsigned long) uc->uc_mcontext.__gregs[REG_RA],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_S0],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_S1],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_S2],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_SP],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_PC],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 0],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 1],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 2],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 3],
++ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 4]
++ );
++ logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]);
+ /* Linux x86 */
+- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
++ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
+ serverLog(LL_WARNING,
+ "\n"
+ "EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n"
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch b/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch
index 9a40d832f1..20f689bd0b 100644
--- a/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch
+++ b/meta-oe/recipes-extended/redis/redis/GNU_SOURCE.patch
@@ -1,4 +1,7 @@
-Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER
+From 98d526f76049be21bf3d77158236b2189419a78e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 21 Dec 2019 12:09:51 -0800
+Subject: [PATCH] Define _GNU_SOURCE to get PTHREAD_MUTEX_INITIALIZER
Fixes
| zmalloc.c:87:37: error: 'PTHREAD_MUTEX_DEFAULT' undeclared here (not in a function)
@@ -7,6 +10,12 @@ Fixes
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/zmalloc.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/zmalloc.c b/src/zmalloc.c
+index 1f33d09..5e182d1 100644
--- a/src/zmalloc.c
+++ b/src/zmalloc.c
@@ -28,6 +28,7 @@
@@ -17,3 +26,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch b/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch
index 878cd36973..d2a1b45e66 100644
--- a/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch
+++ b/meta-oe/recipes-extended/redis/redis/hiredis-use-default-CC-if-it-is-set.patch
@@ -14,6 +14,8 @@ Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reworked for 6.0.4
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
+Upstream-Status: Pending
+
deps/hiredis/Makefile | 2 --
1 file changed, 2 deletions(-)
diff --git a/meta-oe/recipes-extended/redis/redis/ilp32.patch b/meta-oe/recipes-extended/redis/redis/ilp32.patch
deleted file mode 100644
index 48d01a1d62..0000000000
--- a/meta-oe/recipes-extended/redis/redis/ilp32.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-__ILP32__ is defined for all 32bit architectures with clang e.g.
-which is right but it is causing issues on non-x86 architectures
-where this condition becomes true and wrongly starts using this
-code, this issue is hidden with gcc becuase gcc does not define
-__ILP32__ for all 32bit architectures but for selected 64bit arches
-who choose to use 32bit ABI e.g. x32
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/debug.c
-+++ b/src/debug.c
-@@ -944,7 +944,7 @@ static void *getMcontextEip(ucontext_t *
- /* Linux */
- #if defined(__riscv) && __riscv_xlen == 32
- return (void*) uc->uc_mcontext.__gregs[REG_PC];
-- #elif defined(__i386__) || defined(__ILP32__)
-+ #elif defined(__i386__) || (defined(__X86_64__) && defined(__ILP32__))
- return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
- #elif defined(__X86_64__) || defined(__x86_64__)
- return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
-@@ -1125,7 +1125,7 @@ void logRegisters(ucontext_t *uc) {
- );
- logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]);
- /* Linux x86 */
-- #elif defined(__i386__) || defined(__ILP32__)
-+ #elif defined(__i386__) || ( defined(__X86_64__) && defined(__ILP32__))
- serverLog(LL_WARNING,
- "\n"
- "EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n"
diff --git a/meta-oe/recipes-extended/redis/redis/init-redis-server b/meta-oe/recipes-extended/redis/redis/init-redis-server
index 6014d70c0e..c5f335f57d 100755
--- a/meta-oe/recipes-extended/redis/redis/init-redis-server
+++ b/meta-oe/recipes-extended/redis/redis/init-redis-server
@@ -27,6 +27,37 @@ case "$1" in
restart)
echo "Stopping redis-server..."
start-stop-daemon --stop --quiet --exec /usr/bin/redis-server
+
+ # Since busybox implementation ignores --retry arguments repeatedly check
+ # if the process is still running and try another signal after a timeout,
+ # efectively simulating a stop with --retry=TERM/5/KILL/5 schedule.
+ waitAfterTerm=5000000 # us / 5000 ms / 5 s
+ waitAfterKill=5000000 # us / 5000 ms / 5 s
+ waitStep=100000 # us / 100 ms / 0.1 s
+ waited=0
+ start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server
+ processOff=$?
+ while [ $processOff -eq 0 ] && [ $waited -le $waitAfterTerm ] ; do
+ usleep ${waitStep}
+ ((waited+=${waitStep}))
+ start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server
+ processOff=$?
+ done
+ if [ $processOff -eq 0 ] ; then
+ start-stop-daemon --stop --signal KILL --exec /usr/bin/redis-server
+ start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server
+ processOff=$?
+ fi
+ waited=0
+ while [ $processOff -eq 0 ] && [ $waited -le $waitAfterKill ] ; do
+ usleep ${waitStep}
+ ((waited+=${waitStep}))
+ start-stop-daemon --stop --test --quiet --exec /usr/bin/redis-server
+ processOff=$?
+ done
+ # Here $processOff will indicate if waiting and retrying according to
+ # the schedule ended in a successfull stop or not.
+
echo "Starting redis-server..."
start-stop-daemon --start --quiet --exec /usr/bin/redis-server -- $ARGS
;;
diff --git a/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch
index 7e62ae1316..aade7afd06 100644
--- a/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch
+++ b/meta-oe/recipes-extended/redis/redis/lua-update-Makefile-to-use-environment-build-setting.patch
@@ -1,4 +1,4 @@
-From 394108035d350ae662a431c80131f812b5f72dff Mon Sep 17 00:00:00 2001
+From 097a2b259cb266c2c861dc74fa6f80712d6138c5 Mon Sep 17 00:00:00 2001
From: Venture Research <tech@ventureresearch.com>
Date: Fri, 8 Feb 2013 20:22:19 -0600
Subject: [PATCH] lua: update Makefile to use environment build settings
@@ -12,14 +12,44 @@ Updated to work with 3.0.x
Signed-off-by: Armin Kuster <akust808@gmail.com>
+updated to work wtih 6.2.1
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
---
- deps/lua/src/Makefile | 18 +++++++-----------
- 1 file changed, 7 insertions(+), 11 deletions(-)
+Upstream-Status: Pending
-Index: redis-3.0.2/deps/lua/src/Makefile
-===================================================================
---- redis-3.0.2.orig/deps/lua/src/Makefile
-+++ redis-3.0.2/deps/lua/src/Makefile
+ deps/Makefile | 1 -
+ deps/lua/Makefile | 1 -
+ deps/lua/src/Makefile | 16 ++++++----------
+ 3 files changed, 6 insertions(+), 12 deletions(-)
+
+diff --git a/deps/Makefile b/deps/Makefile
+index ff16ee9..d8d64aa 100644
+--- a/deps/Makefile
++++ b/deps/Makefile
+@@ -74,7 +74,6 @@ LUA_LDFLAGS+= $(LDFLAGS)
+ # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more
+ # challenging to cross-compile lua (and redis). These defines make it easier
+ # to fit redis into cross-compilation environments, which typically set AR.
+-AR=ar
+ ARFLAGS=rc
+
+ lua: .make-prerequisites
+diff --git a/deps/lua/Makefile b/deps/lua/Makefile
+index 209a132..72f4b2b 100644
+--- a/deps/lua/Makefile
++++ b/deps/lua/Makefile
+@@ -33,7 +33,6 @@ INSTALL_DATA= $(INSTALL) -m 0644
+
+ # Utilities.
+ MKDIR= mkdir -p
+-RANLIB= ranlib
+
+ # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
+
+diff --git a/deps/lua/src/Makefile b/deps/lua/src/Makefile
+index f3bba2f..1555ec0 100644
+--- a/deps/lua/src/Makefile
++++ b/deps/lua/src/Makefile
@@ -5,18 +5,14 @@
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
@@ -45,27 +75,3 @@ Index: redis-3.0.2/deps/lua/src/Makefile
# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
-Index: redis-3.0.2/deps/Makefile
-===================================================================
---- redis-3.0.2.orig/deps/Makefile
-+++ redis-3.0.2/deps/Makefile
-@@ -63,7 +63,6 @@ LUA_LDFLAGS+= $(LDFLAGS)
- # lua's Makefile defines AR="ar rcu", which is unusual, and makes it more
- # challenging to cross-compile lua (and redis). These defines make it easier
- # to fit redis into cross-compilation environments, which typically set AR.
--AR=ar
- ARFLAGS=rcu
-
- lua: .make-prerequisites
-Index: redis-3.0.2/deps/lua/Makefile
-===================================================================
---- redis-3.0.2.orig/deps/lua/Makefile
-+++ redis-3.0.2/deps/lua/Makefile
-@@ -33,7 +33,6 @@ INSTALL_DATA= $(INSTALL) -m 0644
-
- # Utilities.
- MKDIR= mkdir -p
--RANLIB= ranlib
-
- # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
-
diff --git a/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch b/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch
index 6745f3d0e0..e76bdbc263 100644
--- a/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch
+++ b/meta-oe/recipes-extended/redis/redis/oe-use-libc-malloc.patch
@@ -1,4 +1,4 @@
-From f8861d2129b9e18bba137705bfa38c6bd9be1790 Mon Sep 17 00:00:00 2001
+From 1fa047162983d4a7e0576f0837a73a6027a783bd Mon Sep 17 00:00:00 2001
From: Venture Research <tech@ventureresearch.com>
Date: Wed, 6 Feb 2013 20:51:02 -0600
Subject: [PATCH] hack to force use of libc malloc
@@ -6,7 +6,7 @@ Subject: [PATCH] hack to force use of libc malloc
Hack to force libc usage as it seems the option to pass it in has been
removed in favor of magic.
-Note that this of course doesn't allow tcmalloc and jemalloc, however
+Note that this of course doesn't allow tcmalloc and jemalloc, however
jemalloc wasn't building correctly.
Signed-off-by: Venture Research <tech@ventureresearch.com>
@@ -15,11 +15,13 @@ Update to work with 4.0.8
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
- src/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+Upstream-Status: Pending
+
+ src/Makefile | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/Makefile b/src/Makefile
-index 86e0b3fe..a810180b 100644
+index ecd6929..c7f43c5 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -13,7 +13,8 @@
@@ -31,4 +33,4 @@ index 86e0b3fe..a810180b 100644
+uname_S := "USE_LIBC_MALLOC"
uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
OPTIMIZATION?=-O2
- DEPENDENCY_TARGETS=hiredis linenoise lua
+ DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram
diff --git a/meta-oe/recipes-extended/redis/redis/redis.service b/meta-oe/recipes-extended/redis/redis/redis.service
index 36d29852da..f98f2d19e8 100644
--- a/meta-oe/recipes-extended/redis/redis/redis.service
+++ b/meta-oe/recipes-extended/redis/redis/redis.service
@@ -9,6 +9,7 @@ ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/bin/redis-cli shutdown
Restart=always
LimitNOFILE=10032
+StateDirectory=redis
[Install]
WantedBy=multi-user.target
diff --git a/meta-oe/recipes-extended/redis/redis/riscv32.patch b/meta-oe/recipes-extended/redis/redis/riscv32.patch
deleted file mode 100644
index 79ec7423da..0000000000
--- a/meta-oe/recipes-extended/redis/redis/riscv32.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Define correct gregs for RISCV32
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/src/debug.c
-+++ b/src/debug.c
-@@ -942,7 +942,9 @@ static void *getMcontextEip(ucontext_t *
- #endif
- #elif defined(__linux__)
- /* Linux */
-- #if defined(__i386__) || defined(__ILP32__)
-+ #if defined(__riscv) && __riscv_xlen == 32
-+ return (void*) uc->uc_mcontext.__gregs[REG_PC];
-+ #elif defined(__i386__) || defined(__ILP32__)
- return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
- #elif defined(__X86_64__) || defined(__x86_64__)
- return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
-@@ -1102,8 +1104,28 @@ void logRegisters(ucontext_t *uc) {
- #endif
- /* Linux */
- #elif defined(__linux__)
-+ /* Linux RISCV32 */
-+ #if defined(__riscv) && __riscv_xlen == 32
-+ serverLog(LL_WARNING,
-+ "\n"
-+ "RA:%08lx S0:%08lx S1:%08lx S2:%08lx\n"
-+ "SP:%08lx PC:%08lx A0:%08lx A1:%08lx\n"
-+ "A2 :%08lx A3:%08lx A4:%08lx",
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_RA],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_S0],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_S1],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_S2],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_SP],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_PC],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 0],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 1],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 2],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 3],
-+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 4]
-+ );
-+ logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]);
- /* Linux x86 */
-- #if defined(__i386__) || defined(__ILP32__)
-+ #elif defined(__i386__) || defined(__ILP32__)
- serverLog(LL_WARNING,
- "\n"
- "EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n"
diff --git a/meta-oe/recipes-extended/redis/redis_6.0.9.bb b/meta-oe/recipes-extended/redis/redis_6.0.9.bb
deleted file mode 100644
index 50571ed550..0000000000
--- a/meta-oe/recipes-extended/redis/redis_6.0.9.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-SUMMARY = "Redis key-value store"
-DESCRIPTION = "Redis is an open source, advanced key-value store."
-HOMEPAGE = "http://redis.io"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
-DEPENDS = "readline lua ncurses"
-
-SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
- file://redis.conf \
- file://init-redis-server \
- file://redis.service \
- file://hiredis-use-default-CC-if-it-is-set.patch \
- file://lua-update-Makefile-to-use-environment-build-setting.patch \
- file://oe-use-libc-malloc.patch \
- file://0001-src-Do-not-reset-FINAL_LIBS.patch \
- file://GNU_SOURCE.patch \
- file://riscv32.patch \
- file://ilp32.patch \
- "
-SRC_URI[sha256sum] = "dc2bdcf81c620e9f09cfd12e85d3bc631c897b2db7a55218fd8a65eaa37f86dd"
-
-inherit autotools-brokensep update-rc.d systemd useradd
-
-FINAL_LIBS_x86_toolchain-clang = "-latomic"
-FINAL_LIBS_riscv32_toolchain-clang = "-latomic"
-FINAL_LIBS_mips = "-latomic"
-FINAL_LIBS_arm = "-latomic"
-FINAL_LIBS_powerpc = "-latomic"
-
-export FINAL_LIBS
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
-GROUPADD_PARAM_${PN} = "--system redis"
-
-REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
-
-do_compile_prepend() {
- (cd deps && oe_runmake hiredis lua linenoise)
-}
-
-do_install() {
- export PREFIX=${D}/${prefix}
- oe_runmake install
- install -d ${D}/${sysconfdir}/redis
- install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
- install -d ${D}/var/lib/redis/
- chown redis.redis ${D}/var/lib/redis/
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir}
- sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service
-
- if [ "${REDIS_ON_SYSTEMD}" = true ]; then
- sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf
- fi
-}
-
-CONFFILES_${PN} = "${sysconfdir}/redis/redis.conf"
-
-INITSCRIPT_NAME = "redis-server"
-INITSCRIPT_PARAMS = "defaults 87"
-
-SYSTEMD_SERVICE_${PN} = "redis.service"
diff --git a/meta-oe/recipes-extended/redis/redis_6.2.14.bb b/meta-oe/recipes-extended/redis/redis_6.2.14.bb
new file mode 100644
index 0000000000..fa430ce402
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis_6.2.14.bb
@@ -0,0 +1,66 @@
+SUMMARY = "Redis key-value store"
+DESCRIPTION = "Redis is an open source, advanced key-value store."
+HOMEPAGE = "http://redis.io"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
+DEPENDS = "readline lua ncurses"
+
+SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
+ file://redis.conf \
+ file://init-redis-server \
+ file://redis.service \
+ file://hiredis-use-default-CC-if-it-is-set.patch \
+ file://lua-update-Makefile-to-use-environment-build-setting.patch \
+ file://oe-use-libc-malloc.patch \
+ file://0001-src-Do-not-reset-FINAL_LIBS.patch \
+ file://GNU_SOURCE.patch \
+ file://0006-Define-correct-gregs-for-RISCV32.patch \
+ "
+SRC_URI[sha256sum] = "34e74856cbd66fdb3a684fb349d93961d8c7aa668b06f81fd93ff267d09bc277"
+
+inherit autotools-brokensep update-rc.d systemd useradd
+
+FINAL_LIBS:x86:toolchain-clang = "-latomic"
+FINAL_LIBS:riscv32:toolchain-clang = "-latomic"
+FINAL_LIBS:mips = "-latomic"
+FINAL_LIBS:arm = "-latomic"
+FINAL_LIBS:powerpc = "-latomic"
+
+export FINAL_LIBS
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
+GROUPADD_PARAM:${PN} = "--system redis"
+
+REDIS_ON_SYSTEMD = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}"
+
+do_compile:prepend() {
+ (cd deps && oe_runmake hiredis lua linenoise)
+}
+
+do_install() {
+ export PREFIX=${D}/${prefix}
+ oe_runmake install
+ install -d ${D}/${sysconfdir}/redis
+ install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
+ install -d ${D}/var/lib/redis/
+ chown redis.redis ${D}/var/lib/redis/
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir}
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service
+
+ if [ "${REDIS_ON_SYSTEMD}" = true ]; then
+ sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf
+ fi
+}
+
+CONFFILES:${PN} = "${sysconfdir}/redis/redis.conf"
+
+INITSCRIPT_NAME = "redis-server"
+INITSCRIPT_PARAMS = "defaults 87"
+
+SYSTEMD_SERVICE:${PN} = "redis.service"
diff --git a/meta-oe/recipes-extended/redis/redis_7.2.4.bb b/meta-oe/recipes-extended/redis/redis_7.2.4.bb
new file mode 100644
index 0000000000..5d64e9ba78
--- /dev/null
+++ b/meta-oe/recipes-extended/redis/redis_7.2.4.bb
@@ -0,0 +1,70 @@
+SUMMARY = "Redis key-value store"
+DESCRIPTION = "Redis is an open source, advanced key-value store."
+HOMEPAGE = "http://redis.io"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ffdd6c926faaece928cf9d9640132d2"
+DEPENDS = "readline lua ncurses"
+
+SRC_URI = "http://download.redis.io/releases/${BP}.tar.gz \
+ file://redis.conf \
+ file://init-redis-server \
+ file://redis.service \
+ file://hiredis-use-default-CC-if-it-is-set.patch \
+ file://lua-update-Makefile-to-use-environment-build-setting.patch \
+ file://oe-use-libc-malloc.patch \
+ file://0001-src-Do-not-reset-FINAL_LIBS.patch \
+ file://GNU_SOURCE-7.patch \
+ file://0006-Define-correct-gregs-for-RISCV32.patch \
+ "
+SRC_URI[sha256sum] = "8d104c26a154b29fd67d6568b4f375212212ad41e0c2caa3d66480e78dbd3b59"
+
+inherit autotools-brokensep pkgconfig update-rc.d systemd useradd
+
+FINAL_LIBS:x86:toolchain-clang = "-latomic"
+FINAL_LIBS:riscv32:toolchain-clang = "-latomic"
+FINAL_LIBS:mips = "-latomic"
+FINAL_LIBS:arm = "-latomic"
+FINAL_LIBS:powerpc = "-latomic"
+
+export FINAL_LIBS
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --home-dir /var/lib/redis -g redis --shell /bin/false redis"
+GROUPADD_PARAM:${PN} = "--system redis"
+
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "USE_SYSTEMD=yes,USE_SYSTEMD=no,systemd"
+
+EXTRA_OEMAKE += "${PACKAGECONFIG_CONFARGS}"
+
+do_compile:prepend() {
+ (cd deps && oe_runmake hiredis lua linenoise)
+}
+
+do_install() {
+ export PREFIX=${D}/${prefix}
+ oe_runmake install
+ install -d ${D}/${sysconfdir}/redis
+ install -m 0644 ${WORKDIR}/redis.conf ${D}/${sysconfdir}/redis/redis.conf
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/init-redis-server ${D}/${sysconfdir}/init.d/redis-server
+ install -d ${D}/var/lib/redis/
+ chown redis.redis ${D}/var/lib/redis/
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/redis.service ${D}${systemd_system_unitdir}
+ sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${systemd_system_unitdir}/redis.service
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ sed -i 's!daemonize yes!# daemonize yes!' ${D}/${sysconfdir}/redis/redis.conf
+ sed -i 's!supervised no!supervised systemd!' ${D}/${sysconfdir}/redis/redis.conf
+ fi
+}
+
+CONFFILES:${PN} = "${sysconfdir}/redis/redis.conf"
+
+INITSCRIPT_NAME = "redis-server"
+INITSCRIPT_PARAMS = "defaults 87"
+
+SYSTEMD_SERVICE:${PN} = "redis.service"
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
deleted file mode 100644
index 5662e63474..0000000000
--- a/meta-oe/recipes-extended/rrdtool/rrdtool_1.7.2.bb
+++ /dev/null
@@ -1,129 +0,0 @@
-SUMMARY = "High performance data logging and graphing system for time series data"
-HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676"
-
-DEPENDS = "libpng zlib cairo pango glib-2.0 libxml2 groff-native python3-setuptools-native"
-
-SRCREV = "56a83f4f52e6745cd4352f9ee008be3183a6dedf"
-PV = "1.7.2"
-
-SRC_URI = "\
- git://github.com/oetiker/rrdtool-1.x.git;branch=master;protocol=http; \
-"
-
-S = "${WORKDIR}/git"
-
-inherit cpan autotools-brokensep gettext python3native python3-dir systemd
-
-BBCLASSEXTEND = "native"
-
-SYSTEMD_PACKAGES = "rrdcached"
-SYSTEMD_SERVICE_rrdcached = "rrdcached.socket rrdcached.service"
-
-EXTRA_AUTORECONF = "-I m4 --exclude=autopoint"
-
-PACKAGECONFIG ??= "perl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-PACKAGECONFIG[python] = "--enable-python=yes \
-am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
-am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
---disable-python,python,"
-
-PACKAGECONFIG[perl] = \
-"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \
-ac_cv_path_PERL_CC='${CC}', \
---disable-perl,perl,"
-
-PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
-
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-
-EXTRA_OECONF = " \
- --enable-shared \
- --disable-libwrap \
- --program-prefix='' \
- rd_cv_ieee_works=yes \
- --disable-ruby \
- --disable-lua \
- --disable-tcl \
- --disable-rpath \
- --enable-nls=${USE_NLS} \
- --disable-docs \
-"
-
-export STAGING_LIBDIR
-export STAGING_INCDIR
-
-# emulate cpan_do_configure
-EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" '
-# Avoid do_configure error on some hosts
-
-do_configure() {
- unset PERLHOSTLIB
- #fix the pkglib problem with newer automake
- #perl
- sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
- ${S}/bindings/perl-shared/Makefile.PL
-
- #python
- sed -i -e '/PYTHON_INCLUDES="-I${/c \
- PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
- ${S}/m4/acinclude.m4
- #remove the useless RPATH from the rrdtool.so
- sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am
-
- autotools_do_configure
-
- #modify python sitepkg
- #remove the dependency of perl-shared:Makefile
- #or perl-shared/Makefile will be regenerated
- #if any code touch bindings/Makefile after below perl bindings code
- sed -i -e "s:python/setup.py install:python/setup.py install \
- --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \
- -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
- ${B}/bindings/Makefile
-
- #redo the perl bindings
- (
- cd ${S}/bindings/perl-shared;
- perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
-
- cd ../../bindings/perl-piped;
- perl Makefile.PL INSTALLDIRS="vendor";
- )
-
- #change the interpreter in file
- sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
- ${B}/examples/Makefile
- sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
- ${B}/examples/*.pl
-}
-
-PACKAGES =+ "${PN}-perl ${PN}-python"
-PACKAGES =+ "rrdcached"
-
-DESCRIPTION_rrdcached = \
-"The rrdcached package contains the data caching daemon for RRDtool."
-
-FILES_rrdcached = "${bindir}/rrdcached \
- ${systemd_unitdir}/system/rrdcached.service \
- ${systemd_unitdir}/system/rrdcached.socket"
-
-FILES_${PN}-doc += "${datadir}/rrdtool/examples"
-
-DESCRIPTION_${PN}-perl = \
-"The ${PN}-perl package includes RRDtool bindings for perl."
-FILES_${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \
- ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
-RDEPENDS_${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
- perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
-
-DESCRIPTION_${PN}-python = \
-"The ${PN}-python package includes RRDtool bindings for python."
-FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}/site-packages/*"
-RDEPENDS_${PN}-python = "python3"
-
-FILES_${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
- ${libdir}/python${PYTHON_BASEVERSION}/site-packages/.debug"
diff --git a/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb b/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb
new file mode 100644
index 0000000000..cbe1af2854
--- /dev/null
+++ b/meta-oe/recipes-extended/rrdtool/rrdtool_1.8.0.bb
@@ -0,0 +1,131 @@
+SUMMARY = "High performance data logging and graphing system for time series data"
+HOMEPAGE = "http://oss.oetiker.ch/rrdtool/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=39df84cfd8a5e18bf988f277f7946676"
+
+DEPENDS = "libpng zlib glib-2.0 libxml2 groff-native python3-setuptools-native"
+
+SRCREV = "3af04acd38bbc61bbdcdd931dcf234c971aa5336"
+PV = "1.8.0"
+
+SRC_URI = "\
+ git://github.com/oetiker/rrdtool-1.x.git;protocol=https;branch=master \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cpan autotools-brokensep gettext pkgconfig python3native python3-dir systemd
+
+BBCLASSEXTEND = "native"
+
+SYSTEMD_PACKAGES = "rrdcached"
+SYSTEMD_SERVICE:rrdcached = "rrdcached.socket rrdcached.service"
+
+EXTRA_AUTORECONF = "-I m4 --exclude=autopoint"
+
+PACKAGECONFIG ??= "perl graph ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+PACKAGECONFIG[python] = "--enable-python=yes \
+am_cv_python_pythondir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages \
+am_cv_python_pyexecdir=${STAGING_LIBDIR}/python${PYTHON_BASEVERSION}/site-packages,\
+--disable-python,python,"
+
+PACKAGECONFIG[perl] = \
+"--enable-perl=yes --with-perl-options='INSTALLDIRS="vendor" CCFLAGS="${CFLAGS}" NO_PACKLIST=1 NO_PERLLOCAL=1' \
+ac_cv_path_PERL_CC='${CC}', \
+--disable-perl,perl,"
+
+PACKAGECONFIG[dbi] = "--enable-libdbi,--disable-libdbi,libdbi"
+
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
+
+PACKAGECONFIG[graph] = "--enable-rrd_graph,--disable-rrd_graph,pango cairo"
+
+EXTRA_OECONF = " \
+ --enable-shared \
+ --disable-libwrap \
+ --program-prefix='' \
+ rd_cv_ieee_works=yes \
+ --disable-ruby \
+ --disable-lua \
+ --disable-tcl \
+ --disable-rpath \
+ --enable-nls=${USE_NLS} \
+ --disable-docs \
+"
+
+export STAGING_LIBDIR
+export STAGING_INCDIR
+
+# emulate cpan_do_configure
+EXTRA_OEMAKE = ' PERL5LIB="${PERL_ARCHLIB}" '
+# Avoid do_configure error on some hosts
+
+do_configure() {
+ unset PERLHOSTLIB
+ #fix the pkglib problem with newer automake
+ #perl
+ sed -i -e "s|-Wl,--rpath -Wl,\$rp||g" \
+ ${S}/bindings/perl-shared/Makefile.PL
+
+ #python
+ sed -i -e '/PYTHON_INCLUDES="-I${/c \
+ PYTHON_INCLUDES="-I=/usr/include/python${PYTHON_BASEVERSION}"' \
+ ${S}/m4/acinclude.m4
+ #remove the useless RPATH from the rrdtool.so
+ sed -i -e 's|LD_RUN_PATH=$(libdir)||g' ${S}/bindings/Makefile.am
+
+ autotools_do_configure
+
+ #modify python sitepkg
+ #remove the dependency of perl-shared:Makefile
+ #or perl-shared/Makefile will be regenerated
+ #if any code touch bindings/Makefile after below perl bindings code
+ sed -i -e "s:python/setup.py install:python/setup.py install \
+ --install-lib=${PYTHON_SITEPACKAGES_DIR}:" \
+ -e "s:perl-shared/Makefile.PL Makefile:perl-shared/Makefile.PL:" \
+ ${B}/bindings/Makefile
+
+ #redo the perl bindings
+ (
+ cd ${S}/bindings/perl-shared;
+ perl Makefile.PL INSTALLDIRS="vendor" INSTALLPRIVLIB="abc";
+
+ cd ../../bindings/perl-piped;
+ perl Makefile.PL INSTALLDIRS="vendor";
+ )
+
+ #change the interpreter in file
+ sed -i -e "s|^PERL = ${STAGING_BINDIR_NATIVE}/.*|PERL = /usr/bin/perl|g" \
+ ${B}/examples/Makefile
+ sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" \
+ ${B}/examples/*.pl
+}
+
+PACKAGES =+ "${PN}-perl ${PN}-python"
+PACKAGES =+ "rrdcached"
+
+DESCRIPTION:rrdcached = \
+"The rrdcached package contains the data caching daemon for RRDtool."
+
+FILES:rrdcached = "${bindir}/rrdcached \
+ ${systemd_unitdir}/system/rrdcached.service \
+ ${systemd_unitdir}/system/rrdcached.socket"
+
+FILES:${PN}-doc += "${datadir}/rrdtool/examples"
+
+DESCRIPTION:${PN}-perl = \
+"The ${PN}-perl package includes RRDtool bindings for perl."
+FILES:${PN}-perl = "${libdir}/perl/vendor_perl/*/*.pm \
+ ${libdir}/perl/vendor_perl/*/auto/RRDs/RRDs.*"
+RDEPENDS:${PN}-perl = "perl perl-module-lib perl-module-getopt-long perl-module-time-hires \
+ perl-module-io-file perl-module-ipc-open2 perl-module-io-socket"
+
+DESCRIPTION:${PN}-python = \
+"The ${PN}-python package includes RRDtool bindings for python."
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:${PN}-python = "python3"
+
+FILES:${PN}-dbg += "${libdir}/perl/vendor_perl/*/auto/RRDs/.debug \
+ ${PYTHON_SITEPACKAGES_DIR}/.debug"
diff --git a/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb b/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb
deleted file mode 100644
index 88ba9edaa1..0000000000
--- a/meta-oe/recipes-extended/rsyslog/libfastjson_0.99.9.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "A fork of json-c library"
-HOMEPAGE = "https://github.com/rsyslog/libfastjson"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a958bb07122368f3e1d9b2efe07d231f"
-
-DEPENDS = ""
-
-SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https"
-
-SRCREV = "0293afb3913f760c449348551cca4d2df59c1a00"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
diff --git a/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb b/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb
new file mode 100644
index 0000000000..f16126d936
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/libfastjson_1.2304.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A fork of json-c library"
+HOMEPAGE = "https://github.com/rsyslog/libfastjson"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a958bb07122368f3e1d9b2efe07d231f"
+
+DEPENDS = ""
+
+SRC_URI = "git://github.com/rsyslog/libfastjson.git;protocol=https;branch=master"
+
+SRCREV = "3a8402c1de7c7747c95229db26d8d32fb85a7a52"
+
+S = "${WORKDIR}/git"
+
+inherit autotools
diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch
new file mode 100644
index 0000000000..10e2b564cc
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch
@@ -0,0 +1,34 @@
+From 6d575d98565ce3119a14359eecb11ccdff92a303 Mon Sep 17 00:00:00 2001
+From: Yash Shinde <53660251+Yashinde145@users.noreply.github.com>
+Date: Thu, 29 Jun 2023 18:10:15 +0530
+Subject: [PATCH] Fix function inline errors in debug optimization (-Og)
+
+Compiler does not inline any functions when using debug optimization (-Og).
+Hence, remove -Winline flag when compiling with debug optimization.
+
+Signed-off-by: Nicolas Marguet <nicolas.marguet@windriver.com>
+---
+Upstream-Status: Backport [https://github.com/rsyslog/librelp/commit/6d575d9]
+
+ configure.ac | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 21c1fde..1204c4e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -230,6 +230,12 @@ if test "$enable_debug" = "no"; then
+ AC_DEFINE(NDEBUG, 1, [Defined if debug mode is disabled.])
+ fi
+
++#Compiler does not inline any functions when not optimizing(-Og).
++#Hence, remove -Winline flag when DEBUG is enabled.
++#ifdef DEBUG
++WARN_CFLAGS="$(echo "$WARN_CFLAGS" | sed s/-Winline//g)"
++#endif
++
+ # valgrind
+ AC_ARG_ENABLE(valgrind,
+ [AS_HELP_STRING([--enable-valgrind],[Enable valgrind tests@<:@default=yes@:>@])],
+--
+2.39.0
diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch
new file mode 100644
index 0000000000..3ce5926333
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch
@@ -0,0 +1,88 @@
+From 6e9b27f04132287463c89d3be0ce4f506944920d Mon Sep 17 00:00:00 2001
+From: Patrick Williams <patrick@stwcx.xyz>
+Date: Fri, 3 Feb 2023 16:11:29 -0600
+Subject: [PATCH] tcp: fix some compiler warnings with enable-tls-openssl
+
+When --enable-tls=no and --enable-tls-openssl=yes, the following
+compiler errors are reported:
+
+```
+| ../../git/src/tcp.c:3765:1: error: no previous declaration for 'relpTcpGetRtryDirection_gtls' [-Werror=missing-declarations]
+| 3765 | relpTcpGetRtryDirection_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis)
+| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+| ../../git/src/tcp.c:3583:1: error: 'relpTcpChkPeerName' defined but not used [-Werror=unused-function]
+| 3583 | relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert)
+| | ^~~~~~~~~~~~~~~~~~
+```
+
+Fix these by:
+ 1. Add static on the openssl path for relpTcpGetRtryDirection_gtls.
+ 2. Move the relpTcpChkPeerName forward declaration to another ifdef
+ leg.
+ 3. Wrap relpTcpChkPeerName in gnutls-based ifdef.
+ 4. Remove relpTcpChkPeerName_gtls from openssl path.
+
+Upstream-Status: Backport [https://github.com/rsyslog/librelp/pull/255]
+Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
+---
+ src/tcp.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/tcp.c b/src/tcp.c
+index 7a75cc4..18cffda 100644
+--- a/src/tcp.c
++++ b/src/tcp.c
+@@ -132,12 +132,12 @@ callOnErr(const relpTcp_t *__restrict__ const pThis,
+ static int LIBRELP_ATTR_NONNULL() relpTcpGetCN(char *const namebuf, const size_t lenNamebuf, const char *const szDN);
+ #ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
+ static int relpTcpVerifyCertificateCallback(gnutls_session_t session);
++static int relpTcpChkPeerName(relpTcp_t *const pThis, void* cert);
+ #endif /* #ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION */
+ #if defined(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION) || defined(ENABLE_TLS_OPENSSL)
+ static void relpTcpChkOnePeerName(relpTcp_t *const pThis, char *peername, int *pbFoundPositiveMatch);
+ static int relpTcpAddToCertNamesBuffer(relpTcp_t *const pThis, char *const buf,
+ const size_t buflen, int *p_currIdx, const char *const certName);
+-static int relpTcpChkPeerName(relpTcp_t *const pThis, void* cert);
+ #endif /* defined(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION) || defined(ENABLE_TLS_OPENSSL) */
+
+
+@@ -2820,11 +2820,6 @@ relpTcpLstnInitTLS_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis)
+ {
+ return RELP_RET_ERR_INTERNAL;
+ }
+-static int
+-relpTcpChkPeerName_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis, LIBRELP_ATTR_UNUSED void *vcert)
+-{
+- return RELP_RET_ERR_INTERNAL;
+-}
+ #endif /* defined(ENABLE_TLS)*/
+
+
+@@ -3579,6 +3574,7 @@ finalize_it:
+
+ }
+
++#ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
+ static int
+ relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert)
+ {
+@@ -3592,6 +3588,7 @@ relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert)
+ #endif /* #ifdef WITH_TLS*/
+ LEAVE_RELPFUNC;
+ }
++#endif
+
+ static relpRetVal LIBRELP_ATTR_NONNULL()
+ relpTcpAcceptConnReqInitTLS(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED relpSrv_t *const pSrv)
+@@ -3761,7 +3758,7 @@ relpTcpGetRtryDirection_gtls(relpTcp_t *const pThis)
+ return gnutls_record_get_direction(pThis->session);
+ }
+ #else /* #ifdef ENABLE_TLS */
+-relpRetVal LIBRELP_ATTR_NONNULL()
++static relpRetVal LIBRELP_ATTR_NONNULL()
+ relpTcpGetRtryDirection_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis)
+ {
+ return RELP_RET_ERR_INTERNAL;
+--
+2.41.0
+
diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch
new file mode 100644
index 0000000000..ba081926e1
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch
@@ -0,0 +1,49 @@
+From 2a7e26510cf9276b7e640ca8282cc1c5e46075d0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Aug 2023 11:59:40 -0700
+Subject: [PATCH] tests: Fix callback prototype
+
+clang errors about it
+
+| ../../git/tests/receive.c:71:34: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
+| 71 | hdlr_enable(int sig, void (*hdlr)())
+| | ^
+| | void
+| 1 error generated.
+
+Upstream-Status: Submitted [https://github.com/rsyslog/librelp/pull/260]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/receive.c | 2 +-
+ tests/send.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/receive.c b/tests/receive.c
+index f376cb4..c12e911 100644
+--- a/tests/receive.c
++++ b/tests/receive.c
+@@ -68,7 +68,7 @@ doSleep(int iSeconds, const int iuSeconds)
+ }
+
+ static void
+-hdlr_enable(int sig, void (*hdlr)())
++hdlr_enable(int sig, void (*hdlr)(const int))
+ {
+ struct sigaction sigAct;
+ memset(&sigAct, 0, sizeof (sigAct));
+diff --git a/tests/send.c b/tests/send.c
+index d7e90f0..1b1df4f 100644
+--- a/tests/send.c
++++ b/tests/send.c
+@@ -57,7 +57,7 @@ struct usrdata { /* used for testing user pointer pass-back */
+ struct usrdata *userdata = NULL;
+
+ static void
+-hdlr_enable(int sig, void (*hdlr)())
++hdlr_enable(int sig, void (*hdlr)(const int))
+ {
+ struct sigaction sigAct;
+ memset(&sigAct, 0, sizeof (sigAct));
+--
+2.41.0
+
diff --git a/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch b/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch
new file mode 100644
index 0000000000..6fed23c1d1
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch
@@ -0,0 +1,41 @@
+From 5c32487a9c127f37141488d416cdb5d5bec6aca1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 19 Aug 2023 10:24:40 -0700
+Subject: [PATCH] tests: Include missing sys/time.h
+
+This is found when building for musl C library systems where sys/time.h
+is not included indirectly and select() and timeval structs are used
+
+Fixes
+
+../../git/tests/receive.c:64:17: error: variable has incomplete type 'struct timeval'
+ 64 | struct timeval tvSelectTimeout;
+ | ^
+../../git/tests/receive.c:64:9: note: forward declaration of 'struct timeval'
+ 64 | struct timeval tvSelectTimeout;
+ | ^
+../../git/tests/receive.c:67:2: error: call to undeclared function 'select'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ 67 | select(0, NULL, NULL, NULL, &tvSelectTimeout);
+ | ^
+
+Upstream-Status: Submitted [https://github.com/rsyslog/librelp/pull/261]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/receive.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/receive.c b/tests/receive.c
+index f376cb4..e20861e 100644
+--- a/tests/receive.c
++++ b/tests/receive.c
+@@ -33,6 +33,7 @@
+ #include <limits.h>
+ #include <errno.h>
+ #include <signal.h>
++#include <sys/time.h>
+ #include "librelp.h"
+
+ #define TRY(f) { const int TRY_r = f; if(TRY_r != RELP_RET_OK) { \
+--
+2.41.0
+
diff --git a/meta-oe/recipes-extended/rsyslog/librelp/run-ptest b/meta-oe/recipes-extended/rsyslog/librelp/run-ptest
new file mode 100644
index 0000000000..a649a5716f
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/librelp/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+set -e
+set -o pipefail
+
+SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
+cd ${SCRIPTPATH}
+useradd tester || echo "user already exists"
+su tester -c "make -C tests -k check-TESTS"
+userdel tester
diff --git a/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb b/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb
new file mode 100644
index 0000000000..9d949c6303
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb
@@ -0,0 +1,86 @@
+SUMMARY = "A reliable logging library"
+HOMEPAGE = "https://github.com/rsyslog/librelp"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9"
+
+DEPENDS = "gmp libidn zlib"
+
+SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https;branch=stable \
+ file://0001-Fix-function-inline-errors-in-debug-optimization-Og.patch \
+ file://0001-tests-Fix-callback-prototype.patch \
+ file://0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch \
+ file://0001-tests-Include-missing-sys-time.h.patch \
+ file://run-ptest \
+"
+
+SRCREV = "b421f56d9ee31a966058d23bd23c966221c91396"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig ptest
+
+PACKAGECONFIG ?= "tls-openssl valgrind"
+# Valgrind is not available for RISCV yet
+PACKAGECONFIG:remove:riscv64 = "valgrind"
+PACKAGECONFIG:remove:riscv32 = "valgrind"
+
+PACKAGECONFIG[tls] = "--enable-tls,--disable-tls,gnutls nettle"
+PACKAGECONFIG[tls-openssl] = "--enable-tls-openssl,--disable-tls-openssl,openssl"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,"
+
+# For ptests, copy source tests/*.sh scripts, Makefile and
+# executables and run them with make on target.
+TESTDIR = "tests"
+do_compile_ptest() {
+ echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/${TESTDIR}
+
+ # copy source tests/*.sh and python scripts
+ cp -f ${S}/${TESTDIR}/*.sh ${S}/${TESTDIR}/*.py ${D}${PTEST_PATH}/${TESTDIR}
+ # install data files needed by the test scripts on the target
+ cp -f ${S}/${TESTDIR}/*.supp ${D}${PTEST_PATH}/${TESTDIR}
+ cp -rf ${S}/${TESTDIR}/tls-certs ${D}${PTEST_PATH}/${TESTDIR}
+
+ # copy executables
+ find ${B}/${TESTDIR} -type f -executable -exec cp {} ${D}${PTEST_PATH}/${TESTDIR} \;
+ cp -rf ${B}/${TESTDIR}/.libs ${D}${PTEST_PATH}/${TESTDIR}
+ # copy Makefile
+ # run-ptest will run make which runs the executables
+ cp -f ${B}/${TESTDIR}/Makefile ${D}${PTEST_PATH}/${TESTDIR}
+ cp -f ${B}/${TESTDIR}/set-envvars ${D}${PTEST_PATH}/${TESTDIR}
+
+ # give permissions to all users
+ # some tests need to write to this directory
+ chmod 777 -R ${D}${PTEST_PATH}/${TESTDIR}
+
+ # do NOT need to rebuild Makefile or $(check_PROGRAMS)
+ sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # fix the srcdir, top_srcdir, abs_top_builddir
+ sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/${TESTDIR},' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/${TESTDIR},' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # install test-driver
+ install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
+
+ # fix the python3 path for tests/set-envar
+ sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/${TESTDIR}/set-envvars
+
+ # these 2 scripts need help finding their /usr/lib/librelp/ptest/tests/.libs libraries
+ sed -i 's:${B}/src:${PTEST_PATH}/${TESTDIR}:' ${D}${PTEST_PATH}/${TESTDIR}/send
+ sed -i 's:${B}/src:${PTEST_PATH}/${TESTDIR}:' ${D}${PTEST_PATH}/${TESTDIR}/receive
+}
+
+RDEPENDS:${PN}-ptest += "\
+ make bash coreutils libgcc util-linux gawk grep \
+ python3-core python3-io \
+"
+RRECOMMENDS:${PN}-ptest += "${@bb.utils.filter('PACKAGECONFIG', 'valgrind', d)}"
+
diff --git a/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb b/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb
deleted file mode 100644
index f3933f930c..0000000000
--- a/meta-oe/recipes-extended/rsyslog/librelp_1.6.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A reliable logging library"
-HOMEPAGE = "https://github.com/rsyslog/librelp"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9"
-
-DEPENDS = "gmp nettle libidn zlib gnutls openssl"
-
-SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https \
-"
-
-SRCREV = "fe366f3770320cbe76bac7e84b26a48491d14531"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-CPPFLAGS += "-Wno-error"
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
new file mode 100644
index 0000000000..c1480406fe
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
@@ -0,0 +1,46 @@
+From 194e199ce08acc2192f6a63420ff24d9064666e5 Mon Sep 17 00:00:00 2001
+From: Yi Fan Yu <yifan.yu@windriver.com>
+Date: Sat, 27 Mar 2021 19:18:25 -0400
+Subject: [PATCH] tests: disable the check for inotify
+
+We don't need to check inotify.h.
+Assume it is present since it is part of the linux kernel
+since 2.6.13 [1].
+
+[1](https://kernelnewbies.org/Linux_2_6_13)
+
+(it would require installing the libc headers otherwise,
+ for the test to detect /usr/include/sys/inotify.h.)
+
+Upstream-Status: Inappropriate [OE-specific]
+
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+---
+ tests/diag.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/diag.sh b/tests/diag.sh
+index 6cd60ea88..7424f48c5 100755
+--- a/tests/diag.sh
++++ b/tests/diag.sh
+@@ -2672,7 +2672,7 @@ case $1 in
+ fi
+ ;;
+ 'check-inotify') # Check for inotify/fen support
+- if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then
++ if true; then
+ echo [inotify mode]
+ elif [ -n "$(find /usr/include/sys/ -name 'port.h' -print -quit)" ]; then
+ grep -qF "PORT_SOURCE_FILE" < /usr/include/sys/port.h
+@@ -2687,7 +2687,7 @@ case $1 in
+ fi
+ ;;
+ 'check-inotify-only') # Check for ONLY inotify support
+- if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then
++ if true; then
+ echo [inotify mode]
+ else
+ echo [inotify not supported, skipping...]
+--
+2.29.2
+
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch
new file mode 100644
index 0000000000..a8bbe2b51e
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch
@@ -0,0 +1,23 @@
+tests: Skip omfile-outchannel test as it fails on musl
+
+scanf error in index i=5559
+sequence error detected in rstb_168227_f19f3b245QVE.out.log
+number of lines in file: 5559 rstb_168227_f19f3b245QVE.out.log
+
+Patch is also applied in void linux
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/tests/omfile-outchannel.sh 2021-03-09 05:51:07.000000000 -0600
++++ b/tests/omfile-outchannel.sh 2022-05-26 15:55:23.358520256 -0500
+@@ -1,5 +1,9 @@
+ #!/bin/bash
+ # addd 2018-08-02 by RGerhards, released under ASL 2.0
++
++# This test fails for x86_64-musl, under GitHub's CI/CD. Disable for now.
++exit 77
++
+ . ${srcdir:=.}/diag.sh init
+ export NUMMESSAGES=10000
+ echo "ls -l $RSYSLOG_DYNNAME*
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
index aa698d85ce..efa9ba3ed0 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
@@ -5,4 +5,8 @@ set -o pipefail
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
cd ${SCRIPTPATH}
-make -C tests -k check-TESTS
+useradd tester || echo "user already exists"
+ln -sf /usr/sbin/logrotate /usr/bin/logrotate
+su tester -c "make -C tests -k check-TESTS"
+userdel tester
+rm -f /usr/bin/logrotate
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
deleted file mode 100644
index 15e31cec82..0000000000
--- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
+++ /dev/null
@@ -1,202 +0,0 @@
-SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
-DESCRIPTION = "\
-Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
- PostgreSQL, failover log destinations, syslog/tcp, fine grain\
- output format control, high precision timestamps, queued operations\
- and the ability to filter on any message part. It is quite\
- compatible to stock sysklogd and can be used as a drop-in replacement.\
- Its advanced features make it suitable for enterprise-class,\
- encryption protected syslog relay chains while at the same time being\
- very easy to setup for the novice user."
-
-DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging"
-HOMEPAGE = "http://www.rsyslog.com/"
-LICENSE = "GPLv3 & LGPLv3 & Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
- file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
- file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
-"
-
-SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.tar.gz \
- file://initscript \
- file://rsyslog.conf \
- file://rsyslog.logrotate \
- file://rsyslog.service \
- file://use-pkgconfig-to-check-libgcrypt.patch \
- file://run-ptest \
-"
-
-SRC_URI_append_libc-musl = " \
- file://0001-Include-sys-time-h.patch \
-"
-
-SRC_URI[md5sum] = "1f6150dfd2ef38db37c2165e98d2f2b1"
-SRC_URI[sha256sum] = "94ee0d0312c2edea737665594cbe4a9475e4e3b593e12b5b8ae3a743ac9c72a7"
-
-UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
-UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
-
-inherit autotools pkgconfig systemd update-rc.d ptest
-
-EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
-EXTRA_OECONF += "--enable-imfile-tests"
-EXTRA_OECONF_remove_mipsarch = "ap_cv_atomic_builtins=yes"
-EXTRA_OECONF_remove_powerpc = "ap_cv_atomic_builtins=yes"
-EXTRA_OECONF_remove_riscv32 = "ap_cv_atomic_builtins=yes"
-
-# first line is default yes in configure
-PACKAGECONFIG ??= " \
- rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
- fmhttp imdiag gnutls imfile \
- ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
-"
-
-# default yes in configure
-PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp,"
-PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
-PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
-PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl,"
-PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
-PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
-PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
-PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
-PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
-PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,,"
-
-# default no in configure
-PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
-PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
-PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
-PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal,"
-PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse,"
-PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
-PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
-PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
-PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
-PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind,"
-PACKAGECONFIG[imhttp] = "--enable-imhttp,--disable-imhttp,civetweb,"
-
-do_configure_prepend() {
- sed -i -e 's|python |python3 |g' ${S}/tests/*.sh
- sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/tests/*.py
- sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/tests/testsuites/*.py
-}
-
-TESTDIR = "tests"
-do_compile_ptest() {
- echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
- oe_runmake -C ${TESTDIR} buildtest-TESTS
-}
-
-do_install_ptest() {
- # install the tests
- cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
- cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
-
- # do NOT need to rebuild Makefile itself
- sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- # do NOT need to rebuild $(check_PROGRAMS)
- sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # fix the srcdir, top_srcdir
- sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
- # fix the abs_top_builddir
- sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
-
- # install test-driver
- install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
-
- # install necessary links
- install -d ${D}${PTEST_PATH}/tools
- ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
-
- install -d ${D}${PTEST_PATH}/runtime
- install -d ${D}${PTEST_PATH}/runtime/.libs
- (
- cd ${D}/${libdir}/rsyslog
- allso="*.so"
- for i in $allso; do
- ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
- done
- )
-
- # fix the module load path with runtime/.libs
- find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \
- sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g'
- # fix the python3 path for tests/set-envar
- sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/tests/set-envvars
-}
-
-do_install_append() {
- install -d "${D}${sysconfdir}/init.d"
- install -d "${D}${sysconfdir}/logrotate.d"
- install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
- install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
- install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
- sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
-
- if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then
- install -d 0755 ${D}${sysconfdir}/rsyslog.d
- echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf
- fi
- if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then
- install -d 0755 ${D}${sysconfdir}/rsyslog.d
- echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf
- fi
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_system_unitdir}
- install -m 644 ${WORKDIR}/rsyslog.service ${D}${systemd_system_unitdir}
- sed -i -e "s,@sbindir\@,$(sbindir),g" ${D}${systemd_system_unitdir}/rsyslog.service
- fi
-}
-
-FILES_${PN} += "${bindir}"
-
-INITSCRIPT_NAME = "syslog"
-INITSCRIPT_PARAMS = "defaults"
-
-CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
-
-RCONFLICTS_${PN} = "busybox-syslog sysklogd syslog-ng"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-
-RDEPENDS_${PN} += "logrotate"
-
-# for rsyslog-ptest
-VALGRIND = "valgrind"
-
-# valgrind supports armv7 and above
-VALGRIND_armv4 = ''
-VALGRIND_armv5 = ''
-VALGRIND_armv6 = ''
-
-# X32 isn't supported by valgrind at this time
-VALGRIND_linux-gnux32 = ''
-VALGRIND_linux-muslx32 = ''
-
-# Disable for some MIPS variants
-VALGRIND_mipsarchr6 = ''
-VALGRIND_linux-gnun32 = ''
-
-# Disable for powerpc64 with musl
-VALGRIND_libc-musl_powerpc64 = ''
-VALGRIND_libc-musl_powerpc64le = ''
-
-# RISC-V support for valgrind is not there yet
-VALGRIND_riscv64 = ""
-VALGRIND_riscv32 = ""
-
-RDEPENDS_${PN}-ptest += "\
- make diffutils gzip bash gawk coreutils procps \
- libgcc python3-core python3-io \
- "
-RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2402.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2402.0.bb
new file mode 100644
index 0000000000..af46cc14d7
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2402.0.bb
@@ -0,0 +1,207 @@
+SUMMARY = "Rsyslog is an enhanced multi-threaded syslogd"
+DESCRIPTION = "\
+Rsyslog is an enhanced syslogd supporting, among others, MySQL,\
+ PostgreSQL, failover log destinations, syslog/tcp, fine grain\
+ output format control, high precision timestamps, queued operations\
+ and the ability to filter on any message part. It is quite\
+ compatible to stock sysklogd and can be used as a drop-in replacement.\
+ Its advanced features make it suitable for enterprise-class,\
+ encryption protected syslog relay chains while at the same time being\
+ very easy to setup for the novice user."
+
+DEPENDS = "zlib libestr libfastjson bison-native flex-native liblogging"
+HOMEPAGE = "http://www.rsyslog.com/"
+LICENSE = "GPL-3.0-only & LGPL-3.0-only & Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=51d9635e646fb75e1b74c074f788e973 \
+ file://COPYING.LESSER;md5=cb7903f1e5c39ae838209e130dca270a \
+ file://COPYING.ASL20;md5=052f8a09206615ab07326ff8ce2d9d32\
+"
+
+SRC_URI = "https://www.rsyslog.com/files/download/rsyslog/${BPN}-${PV}.tar.gz \
+ file://initscript \
+ file://rsyslog.conf \
+ file://rsyslog.logrotate \
+ file://rsyslog.service \
+ file://use-pkgconfig-to-check-libgcrypt.patch \
+ file://run-ptest \
+ file://0001-tests-disable-the-check-for-inotify.patch \
+"
+
+SRC_URI:append:libc-musl = " \
+ file://0001-Include-sys-time-h.patch \
+ file://disable-omfile-outchannel.patch \
+"
+
+SRC_URI[sha256sum] = "acbdd8579489df36b4a383dc6909a61b7623807f0aff54c062115f2de7ea85ba"
+
+UPSTREAM_CHECK_URI = "https://github.com/rsyslog/rsyslog/releases"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
+
+inherit autotools pkgconfig systemd update-rc.d ptest
+
+EXTRA_OECONF += "--disable-generate-man-pages ap_cv_atomic_builtins=yes"
+EXTRA_OECONF += "--enable-imfile-tests"
+EXTRA_OECONF:remove:mipsarch = "ap_cv_atomic_builtins=yes"
+EXTRA_OECONF:remove:powerpc = "ap_cv_atomic_builtins=yes"
+EXTRA_OECONF:remove:riscv32 = "ap_cv_atomic_builtins=yes"
+
+# first line is default yes in configure
+PACKAGECONFIG ??= " \
+ rsyslogd rsyslogrt klog inet regexp uuid libcap-ng libgcrypt \
+ fmhttp imdiag openssl imfile \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
+"
+
+# default yes in configure
+PACKAGECONFIG[relp] = "--enable-relp,--disable-relp,librelp,"
+PACKAGECONFIG[rsyslogd] = "--enable-rsyslogd,--disable-rsyslogd,,"
+PACKAGECONFIG[rsyslogrt] = "--enable-rsyslogrt,--disable-rsyslogrt,,"
+PACKAGECONFIG[fmhttp] = "--enable-fmhttp,--disable-fmhttp,curl,"
+PACKAGECONFIG[inet] = "--enable-inet,--disable-inet,,"
+PACKAGECONFIG[klog] = "--enable-klog,--disable-klog,,"
+PACKAGECONFIG[libcap-ng] = "--enable-libcap-ng,--disable-libcap-ng,libcap-ng,"
+PACKAGECONFIG[regexp] = "--enable-regexp,--disable-regexp,,"
+PACKAGECONFIG[uuid] = "--enable-uuid,--disable-uuid,util-linux,"
+PACKAGECONFIG[libgcrypt] = "--enable-libgcrypt,--disable-libgcrypt,libgcrypt,"
+PACKAGECONFIG[testbench] = "--enable-testbench --enable-omstdout,--disable-testbench --disable-omstdout,,"
+
+# default no in configure
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
+PACKAGECONFIG[imdiag] = "--enable-imdiag,--disable-imdiag,,"
+PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
+PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
+PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,"
+PACKAGECONFIG[systemd] = "--enable-libsystemd,--disable-libsystemd,systemd,"
+PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal,"
+PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse,"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5,"
+PACKAGECONFIG[postgresql] = "--enable-pgsql,--disable-pgsql,postgresql,"
+PACKAGECONFIG[libdbi] = "--enable-libdbi,--disable-libdbi,libdbi,"
+PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
+PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind,"
+PACKAGECONFIG[imhttp] = "--enable-imhttp,--disable-imhttp,civetweb,"
+
+
+TESTDIR = "tests"
+do_compile_ptest() {
+ echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
+ oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+ # install the tests
+ cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
+ cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+
+ # give permissions to all users
+ # some tests need to write to this directory as user 'daemon'
+ chmod 777 -R ${D}${PTEST_PATH}/tests
+
+ # do NOT need to rebuild Makefile itself
+ sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ # do NOT need to rebuild $(check_PROGRAMS)
+ sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # fix the srcdir, top_srcdir
+ sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/tests,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+ # fix the abs_top_builddir
+ sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+ # install test-driver
+ install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
+
+ # install necessary links
+ install -d ${D}${PTEST_PATH}/tools
+ ln -sf ${sbindir}/rsyslogd ${D}${PTEST_PATH}/tools/rsyslogd
+
+ install -d ${D}${PTEST_PATH}/runtime
+ install -d ${D}${PTEST_PATH}/runtime/.libs
+ (
+ cd ${D}/${libdir}/rsyslog
+ allso="*.so"
+ for i in $allso; do
+ ln -sf ${libdir}/rsyslog/$i ${D}${PTEST_PATH}/runtime/.libs/$i
+ done
+ )
+
+ # fix the module load path with runtime/.libs
+ find ${D}${PTEST_PATH}/${TESTDIR} -name "*.conf" -o -name "*.sh" -o -name "*.c" | xargs \
+ sed -i -e 's:../plugins/.*/.libs/:../runtime/.libs/:g'
+ # fix the python3 path for tests/set-envar
+ sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/tests/set-envvars
+}
+
+do_install:append() {
+ install -d "${D}${sysconfdir}/init.d"
+ install -d "${D}${sysconfdir}/logrotate.d"
+ install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
+ install -m 644 ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
+ install -m 644 ${WORKDIR}/rsyslog.logrotate ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
+ sed -i -e "s#@BINDIR@#${bindir}#g" ${D}${sysconfdir}/logrotate.d/logrotate.rsyslog
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'imjournal', 'true', 'false', d)}; then
+ install -d 0755 ${D}${sysconfdir}/rsyslog.d
+ echo '$ModLoad imjournal' >> ${D}${sysconfdir}/rsyslog.d/imjournal.conf
+ fi
+ if ${@bb.utils.contains('PACKAGECONFIG', 'mmjsonparse', 'true', 'false', d)}; then
+ install -d 0755 ${D}${sysconfdir}/rsyslog.d
+ echo '$ModLoad mmjsonparse' >> ${D}${sysconfdir}/rsyslog.d/mmjsonparse.conf
+ fi
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/rsyslog.service ${D}${systemd_system_unitdir}
+ sed -i -e "s,@sbindir@,${sbindir},g" ${D}${systemd_system_unitdir}/rsyslog.service
+ fi
+}
+
+FILES:${PN} += "${bindir}"
+
+INITSCRIPT_NAME = "syslog"
+INITSCRIPT_PARAMS = "defaults"
+
+CONFFILES:${PN} = "${sysconfdir}/rsyslog.conf"
+
+RCONFLICTS:${PN} = "busybox-syslog sysklogd syslog-ng"
+
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+
+RDEPENDS:${PN} += "logrotate"
+
+# for rsyslog-ptest
+VALGRIND = "valgrind"
+
+# valgrind supports armv7 and above
+VALGRIND:armv4 = ''
+VALGRIND:armv5 = ''
+VALGRIND:armv6 = ''
+
+# X32 isn't supported by valgrind at this time
+VALGRIND:linux-gnux32 = ''
+VALGRIND:linux-muslx32 = ''
+
+# Disable for some MIPS variants
+VALGRIND:mipsarchr6 = ''
+VALGRIND:linux-gnun32 = ''
+
+# Disable for powerpc64 with musl
+VALGRIND:libc-musl:powerpc64 = ''
+VALGRIND:libc-musl:powerpc64le = ''
+
+# RISC-V support for valgrind is not there yet
+VALGRIND:riscv64 = ""
+VALGRIND:riscv32 = ""
+
+# util-linux: logger needs the -d option
+RDEPENDS:${PN}-ptest += "\
+ make diffutils gzip bash gawk coreutils procps \
+ libgcc python3-core python3-io python3-json \
+ curl util-linux shadow \
+ "
+
+RRECOMMENDS:${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
diff --git a/meta-oe/recipes-extended/s-nail/files/0001-make.rc-set-VAL_MTA.patch b/meta-oe/recipes-extended/s-nail/files/0001-make.rc-set-VAL_MTA.patch
new file mode 100644
index 0000000000..9007bdbd41
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/files/0001-make.rc-set-VAL_MTA.patch
@@ -0,0 +1,48 @@
+From da8c7a027390de7828d4272a3c8bcdbffbac25ad Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 5 May 2022 16:57:48 +0800
+Subject: [PATCH] make.rc: set VAL_MTA
+
+Some build server may provide sendmail like /usr/lib/sendmail which
+may result the VAL_MTA to be /usr/lib/sendmail, but the sendmail
+is actually /usr/sbin/sendmail on the target.
+
+Fixes:
+ # echo "invalide address email" | s-nail -s "test mail" -r test@test.com tester@test.com
+ s-nail: Cannot start /usr/lib/sendmail: executable not found (adjust *mta* variable)
+ /home/root/dead.letter 10/234
+ s-nail: ... message not sent
+
+ # which sendmail
+ /usr/sbin/sendmail
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ make.rc | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/make.rc b/make.rc
+index 98bd968..45ac0d4 100644
+--- a/make.rc
++++ b/make.rc
+@@ -96,14 +96,7 @@ VAL_MAIL=`\
+
+ # Path to the local MTA (Mail-Transfer-Agent).
+ # MTA aliases (aliases(5)) are optionally supported via OPT_MTA_ALIASES.
+-VAL_MTA=`\
+- if [ -x /usr/bin/sendmail ]; then \
+- echo /usr/bin/sendmail;\
+- elif [ -x /usr/lib/sendmail ]; then \
+- echo /usr/lib/sendmail;\
+- else \
+- echo /usr/sbin/sendmail;\
+- fi`
++VAL_MTA=/usr/sbin/sendmail
+
+ # Today a lot of systems no longer use sendmail(1), but a different MTA.
+ # To ensure compatibility with sendmail(1), a system called
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/s-nail/files/0001-mk-make-config.sh-not-reveal-the-build-env.patch b/meta-oe/recipes-extended/s-nail/files/0001-mk-make-config.sh-not-reveal-the-build-env.patch
new file mode 100644
index 0000000000..18ef6cae22
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/files/0001-mk-make-config.sh-not-reveal-the-build-env.patch
@@ -0,0 +1,43 @@
+From fa93dab6393527673e642f26b6ea2c4413dd3cfe Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 27 Jul 2022 13:40:12 +0800
+Subject: [PATCH] make-config.sh: hidden the build info
+
+Use the CC as placeholder to replace the real build information which
+will be collected via src/mx/accmacvar.c and then added in the final
+binary s-nail, so hidden the build info to avoid revealing the detailed
+build info.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ mk/make-config.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mk/make-config.sh b/mk/make-config.sh
+index 2d7c619..9146004 100644
+--- a/mk/make-config.sh
++++ b/mk/make-config.sh
+@@ -3637,15 +3637,15 @@ LIBS=`squeeze_ws "${LIBS}"`
+ COMMLINE=`printf '%s\n' "${COMMLINE}" | ${sed} -e 's/.*--\(.*\)/\1/'`
+ COMMLINE=`squeeze_ws "${COMMLINE}"`
+
+-i=`printf '%s %s %s\n' "${CC}" "${CFLAGS}" "${i}"`
++i="CC"
+ printf '#define VAL_BUILD_CC "%s"\n' "$i" >> ${h}
+ i=`string_to_char_array "${i}"`
+ printf '#define VAL_BUILD_CC_ARRAY %s\n' "$i" >> ${h}
+-i=`printf '%s %s %s\n' "${CC}" "${LDFLAGS}" "${LIBS}"`
++i="CC"
+ printf '#define VAL_BUILD_LD "%s"\n' "$i" >> ${h}
+ i=`string_to_char_array "${i}"`
+ printf '#define VAL_BUILD_LD_ARRAY %s\n' "$i" >> ${h}
+-i=${COMMLINE}
++i="CC"
+ printf '#define VAL_BUILD_REST "%s"\n' "$i" >> ${h}
+ i=`string_to_char_array "${i}"`
+ printf '#define VAL_BUILD_REST_ARRAY %s\n' "$i" >> ${h}
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-eh-no-give-up-share-detection.patch b/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-eh-no-give-up-share-detection.patch
new file mode 100644
index 0000000000..41f98281f8
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-eh-no-give-up-share-detection.patch
@@ -0,0 +1,68 @@
+From 9db4c0f6bc0dd11c77b54296fce6b8afe18f4325 Mon Sep 17 00:00:00 2001
+From: Steffen Nurpmeso <steffen@sdaoden.eu>
+Date: Thu, 9 Jun 2022 18:26:38 +0800
+Subject: [PATCH] su_INLINE: eh no; give up, share detection with clang but for
+ a thing
+
+Upstream-Status: Backport [https://git.sdaoden.eu/browse/s-nail.git/commit/?id=de2a44c393a39d80ddf12154aec94cace84b19c1]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ include/su/code.h | 34 +++++++++-------------------------
+ 1 file changed, 9 insertions(+), 25 deletions(-)
+
+diff --git a/include/su/code.h b/include/su/code.h
+index 9683f4a..c7a2af3 100644
+--- a/include/su/code.h
++++ b/include/su/code.h
+@@ -308,29 +308,8 @@ do{\
+ # ifdef DOXYGEN
+ # define su_INLINE inline
+ # define su_SINLINE inline
+-# elif su_CC_GCC
+-# if !su_CC_VCHECK_GCC(3, 1)
+-# define su_INLINE extern __inline__
+-# define su_SINLINE static __inline__
+-# elif !defined __GNUC_GNU_INLINE__ /*4.1.3; !su_CC_VCHECK_GCC(4, 2)*/
+-# define su_INLINE extern __inline __attribute__((always_inline))
+-# define su_SINLINE static __inline __attribute__((always_inline))
+- /* gcc 8.3.0 bug: does not gracefully inline with -Os
+- * gcc 12.1.0 bug: ditto, -Og
+- * Thus: always gcc-specific! */
+-# elif 1 /*!defined __OPTIMIZE__ || \
+- !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L*/
+-# define su_INLINE extern __inline __attribute__((gnu_inline))
+-# define su_SINLINE static __inline __attribute__((gnu_inline))
+-# elif !defined NDEBUG || !defined __OPTIMIZE__
+-# define su_INLINE static inline
+-# define su_SINLINE static inline
+-# else
+-# define su_INLINE inline
+-# define su_SINLINE static inline
+-# endif
+-# elif su_CC_CLANG || su_CC_PCC
+-# if defined __STDC_VERSION__ && __STDC_VERSION__ +0 >= 199901L
++# elif su_CC_CLANG || su_CC_GCC || su_CC_PCC
++# if defined __STDC_VERSION__ && __STDC_VERSION__ +0 >= 199901l
+ # if !defined NDEBUG || !defined __OPTIMIZE__
+ # define su_INLINE static inline
+ # define su_SINLINE static inline
+@@ -340,8 +319,13 @@ do{\
+ # define su_SINLINE static inline __attribute__((always_inline))
+ # endif
+ # else
+-# define su_INLINE static __inline
+-# define su_SINLINE static __inline
++# if su_CC_VCHECK_GCC(3, 1)
++# define su_INLINE static __inline __attribute__((always_inline))
++# define su_SINLINE static __inline __attribute__((always_inline))
++# else
++# define su_INLINE static __inline
++# define su_SINLINE static __inline
++# endif
+ # endif
+ # else
+ # define su_INLINE static /* TODO __attribute__((unused)) alike? */
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch b/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch
new file mode 100644
index 0000000000..37ecb0c1ff
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/files/0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch
@@ -0,0 +1,45 @@
+From 5429b9e343c808951b1418d8626e544c9dcb28de Mon Sep 17 00:00:00 2001
+From: Steffen Nurpmeso <steffen@sdaoden.eu>
+Date: Thu, 9 Jun 2022 18:06:04 +0800
+Subject: [PATCH] su_INLINE: gcc: only GNU specifics after -Og
+
+Upstream-Status: Backport [https://git.sdaoden.eu/browse/s-nail.git/commit/?id=c5544b66c3b4b2e161166562349908a07e324b38]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ include/su/code.h | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/include/su/code.h b/include/su/code.h
+index 4d552c1..9683f4a 100644
+--- a/include/su/code.h
++++ b/include/su/code.h
+@@ -309,16 +309,17 @@ do{\
+ # define su_INLINE inline
+ # define su_SINLINE inline
+ # elif su_CC_GCC
+- /* After lots of trouble with OpenBSD/gcc 4.2.1 and SunOS/gcc 3.4.3 */
+-# if !su_CC_VCHECK_GCC(3, 2) /* Unsure: only used C++ at that time */
+-# define su_INLINE extern __inline
+-# define su_SINLINE static __inline
+-# elif !su_CC_VCHECK_GCC(4, 3)
++# if !su_CC_VCHECK_GCC(3, 1)
++# define su_INLINE extern __inline__
++# define su_SINLINE static __inline__
++# elif !defined __GNUC_GNU_INLINE__ /*4.1.3; !su_CC_VCHECK_GCC(4, 2)*/
+ # define su_INLINE extern __inline __attribute__((always_inline))
+ # define su_SINLINE static __inline __attribute__((always_inline))
+- /* xxx gcc 8.3.0 bug: does not truly inline with -Os */
+-# elif !su_CC_VCHECK_GCC(8, 3) || !defined __OPTIMIZE__ ||\
+- !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L
++ /* gcc 8.3.0 bug: does not gracefully inline with -Os
++ * gcc 12.1.0 bug: ditto, -Og
++ * Thus: always gcc-specific! */
++# elif 1 /*!defined __OPTIMIZE__ || \
++ !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L*/
+ # define su_INLINE extern __inline __attribute__((gnu_inline))
+ # define su_SINLINE static __inline __attribute__((gnu_inline))
+ # elif !defined NDEBUG || !defined __OPTIMIZE__
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/s-nail/files/make-errors.patch b/meta-oe/recipes-extended/s-nail/files/make-errors.patch
new file mode 100644
index 0000000000..68de68cdb8
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/files/make-errors.patch
@@ -0,0 +1,45 @@
+Don't wrap CC in quotes as our CC has options and this breaks command lookup.
+
+Upstream-Status: Backport [https://git.sdaoden.eu/browse/s-nail.git/commit/?h=next&id=c08f3c898def715edf9164e169c3b3522f4c7a1f]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From c08f3c898def715edf9164e169c3b3522f4c7a1f Mon Sep 17 00:00:00 2001
+From: Steffen Nurpmeso <steffen@sdaoden.eu>
+Date: Tue, 1 Feb 2022 18:54:16 +0100
+Subject: [-] Remove even more bogus quotation marks (Ross Burton)..
+
+On top of (mk/su-find-command.sh: clearly define space behaviour)
+and (mx-test.sh: remove bogus quotation marks) Ross Burton
+reported some more on the ML. I looked around and hope this was it.
+---
+ mk/pcb-cc.sh | 2 +-
+ mk/su-make-errors.sh | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/mk/pcb-cc.sh b/mk/pcb-cc.sh
+index 2697c5cf..075f8988 100755
+--- a/mk/pcb-cc.sh
++++ b/mk/pcb-cc.sh
+@@ -18,7 +18,7 @@ if dowemayhave "$@"; then
+ if acmd_set CC clang || acmd_set CC gcc ||
+ acmd_set CC tcc || acmd_set CC pcc ||
+ acmd_set CC c89 || acmd_set CC c99; then
+- exec "$CC" "$@"
++ exec $CC "$@"
+ else
+ echo >&2 'boing booom tschak'
+ echo >&2 'ERROR: I cannot find a compiler!'
+diff --git a/mk/su-make-errors.sh b/mk/su-make-errors.sh
+index f5c5144e..7fede15e 100644
+--- a/mk/su-make-errors.sh
++++ b/mk/su-make-errors.sh
+@@ -157,7 +157,7 @@ compile_time() { # {{{
+ # The problem is that at least (some versions of) gcc mangle output.
+ # Ensure we get both arguments on one line.
+ # While here sort numerically.
+- "${CC}" -E "${TARGET}".c |
++ ${CC} -E "${TARGET}".c |
+ ${awk} '
+ function stripsym(sym){
+ sym = substr(sym, 2)
+--
diff --git a/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb b/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb
new file mode 100644
index 0000000000..bcdb1e4788
--- /dev/null
+++ b/meta-oe/recipes-extended/s-nail/s-nail_14.9.24.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Feature-rich BSD mail(1)"
+HOMEPAGE = "https://www.sdaoden.eu/code.html#s-mailx"
+SECTION = "console/network"
+
+LICENSE = "ISC & BSD-3-Clause & BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=87266591c81260f10221f1f38872d023"
+
+SRC_URI = "https://ftp.sdaoden.eu/${BP}.tar.xz \
+ file://make-errors.patch \
+ file://0001-make.rc-set-VAL_MTA.patch \
+ file://0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch \
+ file://0001-su_INLINE-eh-no-give-up-share-detection.patch \
+ file://0001-mk-make-config.sh-not-reveal-the-build-env.patch \
+"
+SRC_URI[sha256sum] = "2714d6b8fb2af3b363fc7c79b76d058753716345d1b6ebcd8870ecd0e4f7ef8c"
+
+DEPENDS = "coreutils-native"
+
+B = "${WORKDIR}/build"
+
+inherit update-alternatives
+
+EXTRA_OEMAKE = "VERBOSE=yes \
+ CONFIG=minimal \
+ OPT_AUTOCC=no \
+ OPT_CROSS_BUILD=yes \
+ OBJDIR=${B} \
+ strip=true \
+ VAL_PREFIX=${prefix} \
+ VAL_BINDIR=${bindir} \
+ VAL_LIBEXECDIR=${libexecdir} \
+ VAL_MANDIR=${mandir} \
+ VAL_SYSCONFDIR=${sysconfdir}"
+
+do_configure[cleandirs] += "${B}"
+do_configure() {
+ oe_runmake -C ${S} config
+}
+
+do_compile() {
+ oe_runmake -C ${S} build
+}
+
+do_install() {
+ oe_runmake -C ${S} install DESTDIR=${D}
+}
+
+ALTERNATIVE:${PN} = "mailx"
+ALTERNATIVE_TARGET[mailx] = "${bindir}/s-nail"
diff --git a/meta-oe/recipes-extended/sanlock/sanlock/0001-add-missing-system-header-string.h.patch b/meta-oe/recipes-extended/sanlock/sanlock/0001-add-missing-system-header-string.h.patch
new file mode 100644
index 0000000000..5878847113
--- /dev/null
+++ b/meta-oe/recipes-extended/sanlock/sanlock/0001-add-missing-system-header-string.h.patch
@@ -0,0 +1,41 @@
+From 272f9838f3495f5e419f77e000762c420754c96d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 15:57:32 -0700
+Subject: [PATCH] add missing system header string.h
+
+This is needed for mem* function prototypes used in these sources
+
+Upstream-Status: Submitted [https://pagure.io/sanlock/issue/8]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/sanlock_sock.c | 1 +
+ wdmd/wdmd_sock.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/sanlock_sock.c b/src/sanlock_sock.c
+index b83f9ae..e206f88 100644
+--- a/src/sanlock_sock.c
++++ b/src/sanlock_sock.c
+@@ -12,6 +12,7 @@
+ #include <stdio.h>
+ #include <stdint.h>
+ #include <stddef.h>
++#include <string.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+
+diff --git a/wdmd/wdmd_sock.c b/wdmd/wdmd_sock.c
+index 45d9d9b..110ce9f 100644
+--- a/wdmd/wdmd_sock.c
++++ b/wdmd/wdmd_sock.c
+@@ -12,6 +12,7 @@
+ #include <stdio.h>
+ #include <stdint.h>
+ #include <stddef.h>
++#include <string.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-extended/sanlock/sanlock/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-extended/sanlock/sanlock/0001-include-libgen.h-for-basename.patch
new file mode 100644
index 0000000000..439ffc6473
--- /dev/null
+++ b/meta-oe/recipes-extended/sanlock/sanlock/0001-include-libgen.h-for-basename.patch
@@ -0,0 +1,32 @@
+From c955ac2a4d57f21351e53a5209346fdc2325a747 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 15:12:02 -0700
+Subject: [PATCH] include libgen.h for basename
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ wdmd/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/wdmd/main.c b/wdmd/main.c
+index 38a99f3..7014462 100644
+--- a/wdmd/main.c
++++ b/wdmd/main.c
+@@ -15,6 +15,7 @@
+ #include <stddef.h>
+ #include <grp.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <string.h>
+ #include <errno.h>
+ #include <limits.h>
+--
+2.44.0
+
diff --git a/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb b/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb
deleted file mode 100644
index e8b2e37212..0000000000
--- a/meta-oe/recipes-extended/sanlock/sanlock_3.8.3.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "A shared storage lock manager"
-DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \
-to the storage can perform locking. An application running on the \
-hosts is given a small amount of space on the shared block device or \
-file, and uses sanlock for its own application-specific synchronization. \
-Internally, the sanlock daemon manages locks using two disk-based \
-lease algorithms: delta leases and paxos leases."
-HOMEPAGE = "https://pagure.io/sanlock"
-SECTION = "utils"
-
-LICENSE = "LGPLv2+ & GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://../README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22"
-
-PV .= "+git${SRCPV}"
-
-SRC_URI = "git://pagure.io/sanlock.git;protocol=http \
- file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch;patchdir=../ \
- "
-SRCREV = "3a750fed849405c745dcb7b4ceb85f662c53d8d0"
-
-S = "${WORKDIR}/git/python"
-
-DEPENDS = "libaio util-linux"
-
-inherit distutils3 useradd
-
-do_configure[noexec] = "1"
-
-do_compile_prepend () {
- oe_runmake -C ${S}/../wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}"
- oe_runmake -C ${S}/../src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}"
-}
-
-do_install_prepend () {
- oe_runmake -C ${S}/../wdmd DESTDIR=${D} LIBDIR=${libdir} install
- oe_runmake -C ${S}/../src DESTDIR=${D} LIBDIR=${libdir} install
-}
-
-SANLOCKGROUP ?= "sanlock"
-SANLOCKUSER ?= "sanlock"
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system ${SANLOCKGROUP}"
-USERADD_PARAM_${PN} = "--system -g ${SANLOCKGROUP} -G disk \
- --home-dir /run/${SANLOCKUSER} --no-create-home \
- --shell /sbin/nologin ${SANLOCKUSER}"
diff --git a/meta-oe/recipes-extended/sanlock/sanlock_3.9.1.bb b/meta-oe/recipes-extended/sanlock/sanlock_3.9.1.bb
new file mode 100644
index 0000000000..1d0f8b0103
--- /dev/null
+++ b/meta-oe/recipes-extended/sanlock/sanlock_3.9.1.bb
@@ -0,0 +1,49 @@
+SUMMARY = "A shared storage lock manager"
+DESCRIPTION = "sanlock is a lock manager built on shared storage. Hosts with access \
+to the storage can perform locking. An application running on the \
+hosts is given a small amount of space on the shared block device or \
+file, and uses sanlock for its own application-specific synchronization. \
+Internally, the sanlock daemon manages locks using two disk-based \
+lease algorithms: delta leases and paxos leases."
+HOMEPAGE = "https://pagure.io/sanlock"
+SECTION = "utils"
+
+LICENSE = "LGPL-2.0-or-later & GPL-2.0-only & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://README.license;md5=60487bf0bf429d6b5aa72b6d37a0eb22"
+
+PV .= "+git"
+
+SRC_URI = "git://pagure.io/sanlock.git;protocol=http;branch=master \
+ file://0001-sanlock-Replace-cp-a-with-cp-R-no-dereference-preser.patch \
+ file://0001-add-missing-system-header-string.h.patch \
+ file://0001-include-libgen.h-for-basename.patch \
+ "
+SRCREV = "ecf30a1ccf756776dfea440e4cf9b0b54581075f"
+
+S = "${WORKDIR}/git"
+
+CVE_STATUS[CVE-2012-5638] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
+DEPENDS = "libaio util-linux"
+
+inherit setuptools3 useradd
+
+SETUPTOOLS_SETUP_PATH = "${S}/python"
+
+do_compile:prepend () {
+ oe_runmake -C ${S}/wdmd CMD_LDFLAGS="${LDFLAGS}" LIB_LDFLAGS="${LDFLAGS}"
+ oe_runmake -C ${S}/src CMD_LDFLAGS="${LDFLAGS}" LIB_ENTIRE_LDFLAGS="${LDFLAGS}" LIB_CLIENT_LDFLAGS="${LDFLAGS}"
+}
+
+do_install:prepend () {
+ oe_runmake -C ${S}/wdmd DESTDIR=${D} LIBDIR=${libdir} install
+ oe_runmake -C ${S}/src DESTDIR=${D} LIBDIR=${libdir} install
+}
+
+SANLOCKGROUP ?= "sanlock"
+SANLOCKUSER ?= "sanlock"
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "--system ${SANLOCKGROUP}"
+USERADD_PARAM:${PN} = "--system -g ${SANLOCKGROUP} -G disk \
+ --home-dir /run/${SANLOCKUSER} --no-create-home \
+ --shell /sbin/nologin ${SANLOCKUSER}"
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Replace-need-for-error.h-when-it-does-not-exist.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Replace-need-for-error.h-when-it-does-not-exist.patch
index e723050237..9bb9f44344 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Replace-need-for-error.h-when-it-does-not-exist.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-Replace-need-for-error.h-when-it-does-not-exist.patch
@@ -16,8 +16,6 @@ Upstream-Status: Pending
trace.c | 4 +++-
5 files changed, 24 insertions(+), 5 deletions(-)
-diff --git a/brokerUpc.c b/brokerUpc.c
-index 17cbd9b..fe2b347 100644
--- a/brokerUpc.c
+++ b/brokerUpc.c
@@ -20,8 +20,11 @@
@@ -33,8 +31,6 @@ index 17cbd9b..fe2b347 100644
#include "support.h"
#include "native.h"
#include <sfcCommon/utilft.h>
-diff --git a/configure.ac b/configure.ac
-index ab2964e..d4915a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -517,7 +517,7 @@ fi
@@ -46,8 +42,6 @@ index ab2964e..d4915a1 100644
AC_CHECK_HEADERS([cmpi/cmpimacs.h cmpi/cmpift.h cmpi/cmpidt.h],[],[AC_MSG_ERROR([Could not find required CPMI header.])])
# Checks for typedefs, structures, and compiler characteristics.
-diff --git a/httpAdapter.c b/httpAdapter.c
-index 2719e6c..e768972 100644
--- a/httpAdapter.c
+++ b/httpAdapter.c
@@ -71,7 +71,9 @@
@@ -61,11 +55,15 @@ index 2719e6c..e768972 100644
/* should probably go into cimRequest.h */
#define CIM_PROTOCOL_ANY 0
#define CIM_PROTOCOL_CIM_XML 1
-diff --git a/support.c b/support.c
-index c7bba8b..5b3eef1 100644
--- a/support.c
+++ b/support.c
-@@ -32,7 +32,11 @@
+@@ -27,16 +27,20 @@
+ * @sa native.h
+ */
+
++#include "config.h"
+ #include <stdio.h>
+ #include <dlfcn.h>
#include "support.h"
#include <stdio.h>
#include <stdlib.h>
@@ -77,7 +75,11 @@ index c7bba8b..5b3eef1 100644
#include <errno.h>
#include "native.h"
#include "trace.h"
-@@ -331,17 +335,25 @@ loadQualifierDeclMI(const char *provider,
+-#include "config.h"
+ #include "control.h"
+ #include <pthread.h>
+
+@@ -331,17 +335,25 @@ loadQualifierDeclMI(const char *provider
_SFCB_RETURN(NULL);
};
@@ -104,8 +106,6 @@ index c7bba8b..5b3eef1 100644
/**
* flag to ensure MM is initialized only once
*/
-diff --git a/trace.c b/trace.c
-index d7f30db..438af46 100644
--- a/trace.c
+++ b/trace.c
@@ -279,7 +279,9 @@ _sfcb_trap(int tn)
@@ -119,6 +119,3 @@ index d7f30db..438af46 100644
sigHandler *
setSignal(int sn, sigHandler * sh, int flags)
{
---
-2.14.1
-
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-configure-Check-for-function-from-respective-library.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-configure-Check-for-function-from-respective-library.patch
new file mode 100644
index 0000000000..5ee368f6ee
--- /dev/null
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-configure-Check-for-function-from-respective-library.patch
@@ -0,0 +1,72 @@
+From 366c4a1c8b7724241ad2b703e48615ca5affa32e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Sep 2022 12:46:07 -0700
+Subject: [PATCH] configure: Check for function from respective library in
+ AC_CHECK_LIB
+
+This helps in doing correct checks especially with newer autoconf and
+toolchain
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d4915a1..6154514 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -332,8 +332,8 @@ if [test "$enable_tests"]; then
+ fi
+
+ if [test "$test_gcov" == "yes"]; then
+- AC_CHECK_LIB(gcc,main)
+- AC_CHECK_LIB(gcov,main)
++ AC_CHECK_LIB(gcc,_Unwind_GetIP)
++ AC_CHECK_LIB(gcov,gcov_write_summary)
+ AC_PATH_PROG(LCOV,lcov,yes,no)
+ AC_PATH_PROG(GENHTML,genhtml,yes,no)
+ if test "$LCOV" == "no" -o "$GENHTML" == "no" ; then
+@@ -400,7 +400,7 @@ fi
+
+ if test "$enable_pam" == "yes"; then
+ AC_DEFINE(HAVE_PAM,,[PAM support enabled.])
+- AC_CHECK_LIB(pam,main,[SFCB_LIBPAM=-lpam],[AC_MSG_ERROR(Could not find required pam library.)])
++ AC_CHECK_LIB(pam,pam_start,[SFCB_LIBPAM=-lpam],[AC_MSG_ERROR(Could not find required pam library.)])
+ SFCB_CONF_BASICAUTHLIB=sfcBasicPAMAuthentication
+ SFCB_CONF_DOBASICAUTH=true
+ else
+@@ -470,16 +470,16 @@ if test "$HAVE_UNZIP" = "no" ; then
+ fi
+
+ # Checks for libraries.
+-AC_CHECK_LIB(pthread,main)
+-AC_CHECK_LIB(dl,main)
+-AC_CHECK_LIB(z,main,[SFCB_LIBZ=-lz],[AC_MSG_ERROR([Could not find required libz])])
++AC_CHECK_LIB(pthread,pthread_create)
++AC_CHECK_LIB(dl,dlopen)
++AC_CHECK_LIB(z,inflate,[SFCB_LIBZ=-lz],[AC_MSG_ERROR([Could not find required libz])])
+ # Test for the newest function here to make sure it's up to date.
+ AC_CHECK_LIB(sfcUtil,invalid_uint,, \
+ [AC_MSG_ERROR([Function invalid_uint not found. Is the required version of sfcCommon installed?])])
+ if test "$enable_indications" = "yes" ; then
+ LOAD_INDICATION_PROVIDER=
+ AC_DEFINE(HAVE_INDICATIONS,1,[Indication support enabled.])
+- AC_CHECK_LIB(curl,main)
++ AC_CHECK_LIB(curl,curl_easy_init)
+ else
+ LOAD_INDICATION_PROVIDER='#'
+ fi
+@@ -487,7 +487,7 @@ fi
+ AC_SUBST(LOAD_INDICATION_PROVIDER)
+
+ if test "$enable_ssl" = "yes"; then
+- AC_CHECK_LIB(ssl,main)
++ AC_CHECK_LIB(ssl,SSL_CTX_new)
+ SFCB_CONF_HTTPS=true
+ SFCB_CONF_HTTP=false
+ else
+--
+2.37.3
+
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-missing-system-headers.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-missing-system-headers.patch
new file mode 100644
index 0000000000..c16e393f49
--- /dev/null
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-missing-system-headers.patch
@@ -0,0 +1,151 @@
+From c5b15ae9636a3b73407372cce87eb40ea78a68ea Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 15:51:31 -0700
+Subject: [PATCH] include missing system headers
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ brokerEnc.c | 2 ++
+ brokerOs.c | 1 +
+ mlog.c | 1 +
+ mofc/backend_sfcb.c | 2 +-
+ sfcbdump.c | 1 +
+ sfcbdumpP32onI32.c | 1 +
+ sfcbsem.c | 1 +
+ trace.c | 3 ++-
+ trace.h | 3 ++-
+ 9 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/brokerEnc.c b/brokerEnc.c
+index 9115e71..889afcd 100644
+--- a/brokerEnc.c
++++ b/brokerEnc.c
+@@ -25,6 +25,8 @@
+ #include "constClass.h"
+ #include <sfcCommon/utilft.h>
+
++#include <string.h> /* strcasecmp */
++
+ extern const char *opGetClassNameChars(const CMPIObjectPath * cop);
+ extern const char *opGetNameSpaceChars(const CMPIObjectPath * cop);
+ extern CMPIConstClass *getConstClass(const char *ns, const char *cn);
+diff --git a/brokerOs.c b/brokerOs.c
+index 8d73a0b..b1427fd 100644
+--- a/brokerOs.c
++++ b/brokerOs.c
+@@ -22,6 +22,7 @@
+ #include <pthread.h>
+ #include "native.h"
+ #include <stdlib.h>
++#include <string.h> /* strcmp */
+
+ static char *
+ resolveFileName(const char *filename)
+diff --git a/mlog.c b/mlog.c
+index a2d9eb7..6d9cd29 100644
+--- a/mlog.c
++++ b/mlog.c
+@@ -26,6 +26,7 @@ const char *_mlog_id =
+ #include <syslog.h>
+ #include <stdarg.h>
+ #include <stdio.h>
++#include <string.h> /* strcat */
+ #include <errno.h>
+ #include <signal.h>
+ #include "trace.h" /* for setSignal() */
+diff --git a/mofc/backend_sfcb.c b/mofc/backend_sfcb.c
+index 614abcd..99d4061 100644
+--- a/mofc/backend_sfcb.c
++++ b/mofc/backend_sfcb.c
+@@ -29,7 +29,7 @@
+ #include "backend.h"
+ #include "objectpath.h"
+ #include <sys/utsname.h>
+-
++#include <string.h>
+
+ extern CMPIStatus sfcb_simpleArrayAdd(CMPIArray * array, CMPIValue * val, CMPIType type);
+ extern CMPIObjectPath *getObjectPath(char *path, char **msg);
+diff --git a/sfcbdump.c b/sfcbdump.c
+index 8a9c335..aa8559c 100644
+--- a/sfcbdump.c
++++ b/sfcbdump.c
+@@ -23,6 +23,7 @@
+ #include <errno.h>
+ #include <stddef.h>
+ #include <getopt.h>
++#include <string.h> /* strerror */
+ #include "objectImpl.h"
+
+ #define BINARY_NAME argv[0]
+diff --git a/sfcbdumpP32onI32.c b/sfcbdumpP32onI32.c
+index ccf87dc..3540751 100644
+--- a/sfcbdumpP32onI32.c
++++ b/sfcbdumpP32onI32.c
+@@ -22,6 +22,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <stddef.h>
++#include <string.h>
+ #include <getopt.h>
+ #include "objectImpl.h"
+ #include <byteswap.h>
+diff --git a/sfcbsem.c b/sfcbsem.c
+index 3f8de7f..1e6358b 100644
+--- a/sfcbsem.c
++++ b/sfcbsem.c
+@@ -21,6 +21,7 @@
+
+ /* includes */
+ #include <stdio.h>
++#include <string.h>
+ #include <getopt.h>
+ #include <errno.h>
+
+diff --git a/trace.c b/trace.c
+index 23597e1..c4f8011 100644
+--- a/trace.c
++++ b/trace.c
+@@ -25,6 +25,7 @@
+ #include "native.h"
+ #include <string.h>
+ #include <time.h>
++#include <pthread.h>
+
+ #include <sys/stat.h>
+ #include <sys/wait.h>
+@@ -50,7 +51,7 @@
+
+ char *processName = NULL;
+ int providerProcess = 0;
+-int idleThreadId = 0;
++pthread_t idleThreadId = 0;
+ int terminating = 0;
+ int colorTrace;
+
+diff --git a/trace.h b/trace.h
+index ea39850..52d408d 100644
+--- a/trace.h
++++ b/trace.h
+@@ -25,6 +25,7 @@
+
+ #include "mlog.h"
+
++#include <pthread.h>
+ extern unsigned long _sfcb_trace_mask;
+ /* use pointer indirect _sfcb_trace_mask to allow shared memory flag */
+ extern unsigned long *_ptr_sfcb_trace_mask;
+@@ -162,7 +163,7 @@ extern sigHandler *setSignal(int sn, sigHandler * sh, int flags);
+
+ extern char *processName;
+ extern int providerProcess;
+-extern int idleThreadId;
++extern pthread_t idleThreadId;
+ extern int terminating;
+
+ #endif
+--
+2.37.3
+
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-stdint.h-system-header-for-UINT16_MAX.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-stdint.h-system-header-for-UINT16_MAX.patch
index c2111a2c10..1c93d42f3c 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-stdint.h-system-header-for-UINT16_MAX.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/0001-include-stdint.h-system-header-for-UINT16_MAX.patch
@@ -9,6 +9,8 @@ error: 'UINT16_MAX' undeclared (first use in this function)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
interopServerProvider.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.15-fix-provider-debugging.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.15-fix-provider-debugging.patch
index 4fbecaa63f..f21b3b9a5b 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.15-fix-provider-debugging.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.15-fix-provider-debugging.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -up sblim-sfcb-1.4.5/providerDrv.c.orig sblim-sfcb-1.4.5/providerDrv.c
--- sblim-sfcb-1.4.5/providerDrv.c.orig 2013-09-04 12:59:22.140813239 +0200
+++ sblim-sfcb-1.4.5/providerDrv.c 2013-09-04 12:59:40.511870274 +0200
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-maxMsgLen.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-maxMsgLen.patch
index a0dd81653d..941b522b17 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-maxMsgLen.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-maxMsgLen.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -up sblim-sfcb-1.3.16/sfcb.cfg.pre.in.old sblim-sfcb-1.3.16/sfcb.cfg.pre.in
--- sblim-sfcb-1.3.16/sfcb.cfg.pre.in.old 2012-06-13 23:21:09.000000000 +0200
+++ sblim-sfcb-1.3.16/sfcb.cfg.pre.in 2013-06-24 15:34:38.881992781 +0200
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-multilib-man-cfg.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-multilib-man-cfg.patch
index c8cece2c20..a175d1b063 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-multilib-man-cfg.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.16-multilib-man-cfg.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -up sblim-sfcb-1.3.16/man/sfcbd.1.pre.in.orig sblim-sfcb-1.3.16/man/sfcbd.1.pre.in
--- sblim-sfcb-1.3.16/man/sfcbd.1.pre.in.orig 2014-02-26 14:05:32.213091734 +0100
+++ sblim-sfcb-1.3.16/man/sfcbd.1.pre.in 2014-02-26 15:10:54.476196379 +0100
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch
index 7f95a9da3f..83d4bbcd1e 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.3.9-sfcbrepos-schema-location.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -up sblim-sfcb-1.3.9/man/sfcbrepos.1.pre.in.orig sblim-sfcb-1.3.9/man/sfcbrepos.1.pre.in
--- sblim-sfcb-1.3.9/man/sfcbrepos.1.pre.in.orig 2009-10-13 21:54:13.000000000 +0200
+++ sblim-sfcb-1.3.9/man/sfcbrepos.1.pre.in 2010-09-06 14:01:57.294564062 +0200
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.5-service.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.5-service.patch
index eaccfa594c..08b9a1403b 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.5-service.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.5-service.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -up sblim-sfcb-1.4.6/Makefile.in.orig sblim-sfcb-1.4.6/Makefile.in
--- sblim-sfcb-1.4.6/Makefile.in.orig 2013-10-07 10:43:34.783228137 +0200
+++ sblim-sfcb-1.4.6/Makefile.in 2013-10-07 10:44:30.178533289 +0200
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch
index 3268d49f43..f11cf925f5 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.8-default-ecdh-curve-name.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -up sblim-sfcb-1.4.8/control.c.orig sblim-sfcb-1.4.8/control.c
--- sblim-sfcb-1.4.8/control.c.orig 2014-03-27 00:46:28.000000000 +0100
+++ sblim-sfcb-1.4.8/control.c 2014-05-15 12:31:38.304169409 +0200
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-ftbfs.patch b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-ftbfs.patch
index 9548b3c063..fd2d076b85 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-ftbfs.patch
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb/sblim-sfcb-1.4.9-fix-ftbfs.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -up sblim-sfcb-1.4.9/control.c.orig sblim-sfcb-1.4.9/control.c
--- sblim-sfcb-1.4.9/control.c.orig 2015-07-13 15:06:21.331660336 +0200
+++ sblim-sfcb-1.4.9/control.c 2015-07-13 15:08:38.031308917 +0200
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
index 9a3a66c2a8..2a7cf2285e 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
@@ -27,19 +27,24 @@ SRC_URI = "http://downloads.sourceforge.net/sblim/${BP}.tar.bz2 \
file://0001-Replace-need-for-error.h-when-it-does-not-exist.patch \
file://sblim-sfcb-1.4.9-fix-sfcbinst2mof.patch \
file://0001-Avoid-variable-definition-in-header-files.patch \
+ file://0001-configure-Check-for-function-from-respective-library.patch \
+ file://0001-include-missing-system-headers.patch \
"
SRC_URI[md5sum] = "28021cdabc73690a94f4f9d57254ce30"
SRC_URI[sha256sum] = "634a67b2f7ac3b386a79160eb44413d618e33e4e7fc74ae68b0240484af149dd"
+CVE_STATUS[CVE-2012-3381] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
inherit autotools
inherit systemd
SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "sblim-sfcb.service"
+SYSTEMD_SERVICE:${PN} = "sblim-sfcb.service"
SYSTEMD_AUTO_ENABLE = "enable"
-LDFLAGS_append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--allow-shlib-undefined ', '', d)}"
EXTRA_OECONF = '--enable-debug \
--enable-ssl \
@@ -50,7 +55,7 @@ EXTRA_OECONF = '--enable-debug \
# make all with -j option is unsafe.
PARALLEL_MAKE = ""
-INSANE_SKIP_${PN} = "dev-so"
+INSANE_SKIP:${PN} = "dev-so"
CONFIG_SITE = "${WORKDIR}/config-site.${P}"
do_install() {
@@ -68,16 +73,16 @@ do_install() {
rm -rf ${D}${libdir}/sfcb/*.la
}
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
$INTERCEPT_DIR/postinst_intercept delay_to_first_boot ${PKG} mlprefix=${MLPREFIX}
}
-pkg_postinst_ontarget_${PN} () {
+pkg_postinst_ontarget:${PN} () {
${datadir}/sfcb/genSslCert.sh ${sysconfdir}/sfcb
${bindir}/sfcbrepos -f
}
-FILES_${PN} += "${libdir}/sfcb ${datadir}/sfcb"
-FILES_${PN}-dbg += "${libdir}/sfcb/.debug"
+FILES:${PN} += "${libdir}/sfcb ${datadir}/sfcb"
+FILES:${PN}-dbg += "${libdir}/sfcb/.debug"
-RDEPENDS_${PN} = "perl bash"
+RDEPENDS:${PN} = "perl bash"
diff --git a/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-Fix-implicit-function-declarations.patch b/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-Fix-implicit-function-declarations.patch
new file mode 100644
index 0000000000..08cd15ab0c
--- /dev/null
+++ b/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc/0001-Fix-implicit-function-declarations.patch
@@ -0,0 +1,80 @@
+From 1e1ed4d58909360997648ca9524ab16441f5474b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 6 Jul 2023 10:15:41 -0700
+Subject: [PATCH] Fix implicit function declarations
+
+Clang 17+ has been finding these errors since its enforcing C99
+more than other compilers
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ TEST/v2test_ec.c | 1 +
+ TEST/v2test_ein.c | 1 +
+ backend/cimxml/cimXmlParser.c | 2 +-
+ backend/cimxml/grammar.c | 2 ++
+ backend/cimxml/grammar.h | 1 +
+ 5 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/TEST/v2test_ec.c b/TEST/v2test_ec.c
+index ad34dcc..940ca57 100644
+--- a/TEST/v2test_ec.c
++++ b/TEST/v2test_ec.c
+@@ -4,6 +4,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include "cmcimacs.h"
++#include "show.h"
+
+ extern char *value2Chars(CMPIType type, CMPIValue * value);
+ /*
+diff --git a/TEST/v2test_ein.c b/TEST/v2test_ein.c
+index c1b4692..ede95c1 100644
+--- a/TEST/v2test_ein.c
++++ b/TEST/v2test_ein.c
+@@ -4,6 +4,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include "cmcimacs.h"
++#include "show.h"
+
+ extern char *value2Chars(CMPIType type, CMPIValue * value);
+ void showProperty( CMPIData , char * );
+diff --git a/backend/cimxml/cimXmlParser.c b/backend/cimxml/cimXmlParser.c
+index d1ab86e..14f5f5c 100644
+--- a/backend/cimxml/cimXmlParser.c
++++ b/backend/cimxml/cimXmlParser.c
+@@ -1350,7 +1350,7 @@ ResponseHdr scanCimXmlResponse(const char *xmlData, CMPIObjectPath *cop)
+
+ control.heap = parser_heap_init();
+
+- control.respHdr.rc = startParsing(&control);
++ startParsing(&control);
+
+ parser_heap_term(control.heap);
+
+diff --git a/backend/cimxml/grammar.c b/backend/cimxml/grammar.c
+index 6a0a969..522ca9e 100644
+--- a/backend/cimxml/grammar.c
++++ b/backend/cimxml/grammar.c
+@@ -23,6 +23,8 @@
+ #include "sfcUtil/utilft.h"
+ #include "parserUtil.h"
+
++extern CMPIType guessType(char *val);
++extern void setClassMethods(CMPIConstClass *cls, XtokMethods *ms);
+
+ static int ct = 0;
+ static int dontLex = 0;
+diff --git a/backend/cimxml/grammar.h b/backend/cimxml/grammar.h
+index 00d364f..bafdd42 100644
+--- a/backend/cimxml/grammar.h
++++ b/backend/cimxml/grammar.h
+@@ -79,3 +79,4 @@ static void valueRefArray(ParserControl *parm, parseUnion *stateUnion);
+ static void valueReference(ParserControl *parm, parseUnion *stateUnion);
+ static void valueReferenceData(ParserControl *parm, parseUnion *stateUnion);
+
++void startParsing(ParserControl *parm);
+--
+2.41.0
+
diff --git a/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb b/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb
index df55a67996..c9d3ddd6b2 100644
--- a/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb
+++ b/meta-oe/recipes-extended/sblim-sfcc/sblim-sfcc_2.2.8.bb
@@ -4,6 +4,7 @@ HOMEPAGE = "http://www.sblim.org"
SRC_URI = "http://netcologne.dl.sourceforge.net/project/sblim/${BPN}/${BPN}-${PV}.tar.bz2 \
file://0001-cimxml-Include-sys-select.h-for-fd_set.patch \
+ file://0001-Fix-implicit-function-declarations.patch \
"
SRC_URI[md5sum] = "0bac0dec19f17ec065b6c332a56d7bae"
diff --git a/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch b/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch
index 6edda08cdf..3dc9d4766c 100644
--- a/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch
+++ b/meta-oe/recipes-extended/scsirastools/scsirastools/mdadm.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- mdadm.d/mdadm-1.3.0/mdadm.h.org 2017-06-20 00:35:55.366978372 -0700
+++ mdadm.d/mdadm-1.3.0/mdadm.h 2017-06-20 00:36:41.244363348 -0700
@@ -29,8 +29,9 @@
diff --git a/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch b/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch
index ac81780582..4494ae1eef 100644
--- a/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch
+++ b/meta-oe/recipes-extended/scsirastools/scsirastools/print-format.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: scsirastools-1.6.6/src/sgcommon.c
===================================================================
--- scsirastools-1.6.6.orig/src/sgcommon.c
diff --git a/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb b/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
index 2b7571e232..4fefd5169b 100644
--- a/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
+++ b/meta-oe/recipes-extended/scsirastools/scsirastools_1.6.6.bb
@@ -20,28 +20,27 @@ SRC_URI[sha256sum] = "e7b997e75decb06a650c42c35cd63d0c94c34e39cf133c723337b0eeab
inherit autotools update-rc.d
# mdadm Makefile has CC set to gcc, hence override CC to ${CC}
-EXTRA_OEMAKE += "CC='${CC}'"
+EXTRA_OEMAKE += "CC='${CC}' CFLAGS='${CFLAGS} -D_LARGEFILE64_SOURCE=1' sbindir=${base_sbindir}"
-
-do_configure_append() {
+do_configure:append() {
oe_runmake -C mdadm.d mdadm-1.3.0
patch -p0 < ${WORKDIR}/mdadm.patch
}
INITSCRIPT_PACKAGES = "${PN}-diskmon ${PN}-raidmon"
-INITSCRIPT_NAME_${PN}-diskmon = "sgdisk"
-INITSCRIPT_PARAMS_${PN}-diskmon = "defaults 80 20"
-INITSCRIPT_NAME_${PN}-raidmon = "sgraid"
-INITSCRIPT_PARAMS_${PN}-raidmon = "defaults 80 20"
+INITSCRIPT_NAME:${PN}-diskmon = "sgdisk"
+INITSCRIPT_PARAMS:${PN}-diskmon = "defaults 80 20"
+INITSCRIPT_NAME:${PN}-raidmon = "sgraid"
+INITSCRIPT_PARAMS:${PN}-raidmon = "defaults 80 20"
PACKAGES =+ "${PN}-diskmon"
PACKAGES =+ "${PN}-raidmon"
-RPROVIDES_${PN}-dbg += "${PN}-diskmon-dbg ${PN}-raidmon-dbg"
+RPROVIDES:${PN}-dbg += "${PN}-diskmon-dbg ${PN}-raidmon-dbg"
-FILES_${PN}-diskmon = "${sbindir}/sgdiskmon ${sysconfdir}/init.d/sgdisk"
+FILES:${PN}-diskmon = "${sbindir}/sgdiskmon ${sysconfdir}/init.d/sgdisk"
-FILES_${PN}-raidmon = "${sbindir}/sgraidmon ${sysconfdir}/init.d/sgraid"
+FILES:${PN}-raidmon = "${sbindir}/sgraidmon ${sysconfdir}/init.d/sgraid"
-RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-diskmon += "${PN} bash"
-RDEPENDS_${PN}-raidmon += "${PN} bash"
+RDEPENDS:${PN} += "bash"
+RDEPENDS:${PN}-diskmon += "${PN} bash"
+RDEPENDS:${PN}-raidmon += "${PN} bash"
diff --git a/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch b/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch
deleted file mode 100644
index 4be3353c66..0000000000
--- a/meta-oe/recipes-extended/sedutil/files/0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9db49b94336f65453e06fb6a6bc4e6edf9403fea Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 17 Aug 2020 17:22:09 -0700
-Subject: [PATCH] DtaAnnotatedDump: Add typedef name to the union
-
-This is found with clang
-error: anonymous non-C-compatible type given name for linkage purposes by
-typedef declaration; add a tag name here [-Werror,-Wnon-c-typedef-for-linkage]
-| typedef union
-| ^
-| CAtomHeader
-
-Upstream-Status: Submitted [https://github.com/Drive-Trust-Alliance/sedutil/pull/332]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Common/DtaAnnotatedDump.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Common/DtaAnnotatedDump.h b/Common/DtaAnnotatedDump.h
-index 2749365..734c8eb 100644
---- a/Common/DtaAnnotatedDump.h
-+++ b/Common/DtaAnnotatedDump.h
-@@ -20,7 +20,7 @@ along with sedutil. If not, see <http://www.gnu.org/licenses/>.
-
- #pragma pack(push,1)
-
--typedef union
-+typedef union CAtomHeader_t
- {
- // four bytes in big endian (network) byte order
- uint8_t all[4];
---
-2.28.0
-
diff --git a/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch b/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch
index 7351197e4f..0b78d238bb 100644
--- a/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch
+++ b/meta-oe/recipes-extended/sedutil/files/0001-Fix-build-on-big-endian-architectures.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Fix build on big endian architectures
Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
---
+Upstream-Status: Pending
+
Common/DtaEndianFixup.h | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/meta-oe/recipes-extended/sedutil/files/0001-include-missing-cstdint.patch b/meta-oe/recipes-extended/sedutil/files/0001-include-missing-cstdint.patch
new file mode 100644
index 0000000000..8afcb1fa48
--- /dev/null
+++ b/meta-oe/recipes-extended/sedutil/files/0001-include-missing-cstdint.patch
@@ -0,0 +1,32 @@
+From 927cd88cad7bea94c2eebecc18f7881f0defaccb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 26 Jan 2023 23:36:29 -0800
+Subject: [PATCH] include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint>
+is no longer transitively included [1]. Explicitly include
+it for uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://github.com/Drive-Trust-Alliance/sedutil/pull/425]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Common/DtaOptions.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Common/DtaOptions.h b/Common/DtaOptions.h
+index c012af1..7530a0b 100644
+--- a/Common/DtaOptions.h
++++ b/Common/DtaOptions.h
+@@ -21,6 +21,7 @@ along with sedutil. If not, see <http://www.gnu.org/licenses/>.
+ #ifndef _DTAOPTIONS_H
+ #define _DTAOPTIONS_H
+
++#include <cstdint>
+ /** Output modes */
+ typedef enum _sedutiloutput {
+ sedutilNormal,
+--
+2.39.1
+
diff --git a/meta-oe/recipes-extended/sedutil/sedutil_git.bb b/meta-oe/recipes-extended/sedutil/sedutil_git.bb
index 1e7a393193..972a33c742 100644
--- a/meta-oe/recipes-extended/sedutil/sedutil_git.bb
+++ b/meta-oe/recipes-extended/sedutil/sedutil_git.bb
@@ -3,17 +3,16 @@ to the Trusted Computing Group OPAL 2.0 SSC specification."
SUMMARY = "The Drive Trust Alliance Self Encrypting Drive Utility"
HOMEPAGE = "https://github.com/Drive-Trust-Alliance/sedutil"
SECTION = "console/utils"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://Common/LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
-BASEPV = "1.15.1"
-PV = "${BASEPV}+git${SRCPV}"
-SRCREV = "358cc758948be788284d5faba46ccf4cc1813796"
-SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git \
- file://0001-Fix-build-on-big-endian-architectures.patch \
- file://0001-DtaAnnotatedDump-Add-typedef-name-to-the-union.patch \
-"
+PV = "1.20.0"
+SRCREV = "d3de8e45e06a21d31cca0046ceb16ced1ef3563a"
+SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git;branch=master;protocol=https \
+ file://0001-Fix-build-on-big-endian-architectures.patch \
+ file://0001-include-missing-cstdint.patch \
+ "
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-extended/sgpio/sgpio/0001-makefile-Add-LDFLAGS-to-linking-rule.patch b/meta-oe/recipes-extended/sgpio/sgpio/0001-makefile-Add-LDFLAGS-to-linking-rule.patch
index 87fdd6058a..895916ceab 100644
--- a/meta-oe/recipes-extended/sgpio/sgpio/0001-makefile-Add-LDFLAGS-to-linking-rule.patch
+++ b/meta-oe/recipes-extended/sgpio/sgpio/0001-makefile-Add-LDFLAGS-to-linking-rule.patch
@@ -8,6 +8,8 @@ No GNU_HASH in the elf binary
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/sgpio/sgpio/Makefile-error-fix.patch b/meta-oe/recipes-extended/sgpio/sgpio/Makefile-error-fix.patch
index 709f8316f1..40c85e2ce8 100644
--- a/meta-oe/recipes-extended/sgpio/sgpio/Makefile-error-fix.patch
+++ b/meta-oe/recipes-extended/sgpio/sgpio/Makefile-error-fix.patch
@@ -3,7 +3,7 @@ Fix Makefile:
* change the file format from dos to unix to avoid do_patch failed.
* override gcc,SBIN_DIR and INSTALL for cross-compilation.
-Upstream-Status: pending
+Upstream-Status: Pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
diff --git a/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb b/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb
index 63e8d36d0a..9b25745ed6 100644
--- a/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb
+++ b/meta-oe/recipes-extended/sgpio/sgpio_1.2.0.10.bb
@@ -11,10 +11,11 @@ SRC_URI[sha256sum] = "9bf8c42acaa247efd9321bdb1fc2390022f0c554d77fbbd4a7363d990f
S = "${WORKDIR}/${BPN}"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE_GPL;md5=393a5ca445f6965873eca0259a17f833"
-do_compile_prepend() {
+EXTRA_OEMAKE = "CFLAGS='${CFLAGS}'"
+do_compile:prepend() {
oe_runmake clean
}
diff --git a/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb b/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb
index e8c36a81d7..1e5ffdd856 100644
--- a/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb
+++ b/meta-oe/recipes-extended/sigrok/libsigrok_0.5.2.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "libsigrok is a shared library written in C, which provides the basic hardware access drivers for logic analyzers and other supported devices, as well as input/output file format support."
HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "glib-2.0 libzip"
@@ -22,4 +22,4 @@ SRC_URI = "http://sigrok.org/download/source/libsigrok/libsigrok-${PV}.tar.gz"
SRC_URI[md5sum] = "e258d471b6d5eaa58daf927a0dc3ba67"
SRC_URI[sha256sum] = "4d341f90b6220d3e8cb251dacf726c41165285612248f2c52d15df4590a1ce3c"
-FILES_${PN} += "${datadir}/*"
+FILES:${PN} += "${datadir}/*"
diff --git a/meta-oe/recipes-extended/sigrok/libsigrokdecode/0001-configure.ac-add-py-3.10-support.patch b/meta-oe/recipes-extended/sigrok/libsigrokdecode/0001-configure.ac-add-py-3.10-support.patch
new file mode 100644
index 0000000000..45556afa8a
--- /dev/null
+++ b/meta-oe/recipes-extended/sigrok/libsigrokdecode/0001-configure.ac-add-py-3.10-support.patch
@@ -0,0 +1,24 @@
+From a5835dfe126bfe6ed0b8197c6578960835bf1fe8 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sun, 3 Oct 2021 22:08:50 +0200
+Subject: [PATCH] configure.ac: add py 3.10/11 support
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4802f35..e0e468f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -93,7 +93,7 @@ SR_PKG_CHECK_SUMMARY([srd_pkglibs_summary])
+ # first, since usually only that variant will add "-lpython3.8".
+ # https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
+ SR_PKG_CHECK([python3], [SRD_PKGLIBS],
+- [python-3.9-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
++ [python-3.12-embed], [python-3.11-embed], [python-3.10-embed], [python-3.9-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
+ AS_IF([test "x$sr_have_python3" = xno],
+ [AC_MSG_ERROR([Cannot find Python 3 development headers.])])
+
diff --git a/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb b/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb
index d78d2770c6..24091bcf90 100644
--- a/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb
+++ b/meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.3.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "libsigrokdecode is a shared library written in C, which provides (streaming) protocol decoding functionality."
HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "glib-2.0 python3"
@@ -9,7 +9,9 @@ DEPENDS = "glib-2.0 python3"
inherit autotools pkgconfig
SRC_URI = "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-${PV}.tar.gz \
- file://python39.patch"
+ file://python39.patch \
+ file://0001-configure.ac-add-py-3.10-support.patch \
+ "
SRC_URI[md5sum] = "7ba4ed4ef1f06ae96979751e096c2821"
SRC_URI[sha256sum] = "c50814aa6743cd8c4e88c84a0cdd8889d883c3be122289be90c63d7d67883fc0"
diff --git a/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.2.bb b/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.2.bb
index 4fd516bc2b..48f96cc435 100644
--- a/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.2.bb
+++ b/meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.2.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "sigrok-cli is a command-line frontend for sigrok."
HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
DEPENDS = "libsigrok"
@@ -16,4 +16,4 @@ SRC_URI = "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-${PV}.tar.gz"
SRC_URI[md5sum] = "856fd496cd99d1091aa128405c522a36"
SRC_URI[sha256sum] = "71d0443f36897bf565732dec206830dbea0f2789b6601cf10536b286d1140ab8"
-FILES_${PN} += "${datadir}/icons/hicolor"
+FILES:${PN} += "${datadir}/icons/hicolor"
diff --git a/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch b/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch
index 87c0e1458e..a6b03db72f 100644
--- a/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch
+++ b/meta-oe/recipes-extended/smartmontools/files/0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch
@@ -1,4 +1,4 @@
-From b621a313e0bc67803abfba18e1ae15e7a8b9b59f Mon Sep 17 00:00:00 2001
+From 898fd4115be5cdd848db99fe85e1d0d7f1b3fa02 Mon Sep 17 00:00:00 2001
From: Oleksiy Obitotskyy <oobitots@cisco.com>
Date: Mon, 22 Feb 2021 17:21:33 +0200
Subject: [PATCH] smartmontools: Improve reproducibility
@@ -6,20 +6,20 @@ Subject: [PATCH] smartmontools: Improve reproducibility
Backport changes added to master smartmontools.
https://github.com/smartmontools/smartmontools/commit/24838916b4c0e91f5c897d44fcdeedb22848f684
-Upstream-Status: Backported
+Upstream-Status: Backport
Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
+
---
- ChangeLog | 8 ++++++++
- configure.ac | 12 ++++++++++++
- utility.cpp | 10 ++++++++++
- 3 files changed, 30 insertions(+)
+ ChangeLog | 8 ++++++++
+ 1 file changed, 8 insertions(+)
diff --git a/ChangeLog b/ChangeLog
-index 39eac2d..6a3b4ee 100644
+index 5f0930a..4c5a91e 100644
--- a/ChangeLog
+++ b/ChangeLog
-@@ -1,5 +1,13 @@
- $Id: ChangeLog 5155 2020-12-30 16:49:18Z chrfranke $
+@@ -705,6 +705,14 @@ $Id: ChangeLog 5338 2022-02-28 16:34:26Z chrfranke $
+
+ Happy New Year! Update copyright year in version info.
+2021-02-07 Christian Franke <franke@computer.org>
+
@@ -32,53 +32,3 @@ index 39eac2d..6a3b4ee 100644
2020-12-30 Christian Franke <franke@computer.org>
smartmontools 7.2
-diff --git a/configure.ac b/configure.ac
-index ee6f0e5..c37c9bc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -61,6 +61,18 @@ case "${host}" in
- ;;
- esac
-
-+AC_MSG_CHECKING([whether reproducible build is selected (SOURCE_DATE_EPOCH)])
-+res=no
-+if test -n "$SOURCE_DATE_EPOCH"; then
-+ res=yes
-+ test -z "`echo "$SOURCE_DATE_EPOCH" | sed 's,[[0-9]]*,,'`" || res=error
-+fi
-+AC_MSG_RESULT([$res])
-+case $res in
-+ error) AC_MSG_ERROR([Malformed SOURCE_DATE_EPOCH]) ;;
-+ yes) CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-DSOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH" ;;
-+esac
-+
- # Check for SVN.
- AC_MSG_CHECKING([whether this is a build from SVN])
- is_svn_build=no
-diff --git a/utility.cpp b/utility.cpp
-index 0483c6f..8ab38c9 100644
---- a/utility.cpp
-+++ b/utility.cpp
-@@ -134,9 +134,19 @@ std::string format_version_info(const char * prog_name, bool full /*= false*/)
- #endif
- "\n"
- "smartmontools configure arguments:"
-+#ifdef SOURCE_DATE_EPOCH
-+ " [hidden in reproducible builds]\n"
-+ "reproducible build SOURCE_DATE_EPOCH: "
-+#endif
- ;
-+#ifdef SOURCE_DATE_EPOCH
-+ char ts[32]; struct tm tmbuf;
-+ strftime(ts, sizeof(ts), "%Y-%m-%d %H:%M:%S", time_to_tm_local(&tmbuf, SOURCE_DATE_EPOCH));
-+ info += strprintf("%u (%s)", (unsigned)SOURCE_DATE_EPOCH, ts);
-+#else
- info += (sizeof(SMARTMONTOOLS_CONFIGURE_ARGS) > 1 ?
- SMARTMONTOOLS_CONFIGURE_ARGS : " [no arguments given]");
-+#endif
- info += '\n';
-
- return info;
---
-2.25.1
-
diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
deleted file mode 100644
index cd97933592..0000000000
--- a/meta-oe/recipes-extended/smartmontools/smartmontools_7.2.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-SUMMARY = "Control and monitor storage systems using S.M.A.R.T"
-DESCRIPTION = "\
-The smartmontools package contains two utility programs (smartctl \
-and smartd) to control and monitor storage systems using the Self-\
-Monitoring, Analysis and Reporting Technology System (SMART) built \
-into most modern ATA and SCSI hard disks. In many cases, these \
-utilities will provide advanced warning of disk degradation and failure."
-
-HOMEPAGE = "http://smartmontools.sourceforge.net/"
-SECTION = "console/utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
- file://initd.smartd \
- file://smartmontools.default \
- file://smartd.service \
- file://0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch \
- "
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"
-PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
-PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
-
-SRC_URI[md5sum] = "e8d134c69ae4959a05cb56b31172ffb1"
-SRC_URI[sha256sum] = "5cd98a27e6393168bc6aaea070d9e1cd551b0f898c52f66b2ff2e5d274118cd6"
-
-inherit autotools update-rc.d systemd
-
-SYSTEMD_SERVICE_${PN} = "smartd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_install_append () {
- #install the init.d/smartd
- install -d ${D}${sysconfdir}/init.d
- install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
- install -d ${D}${sysconfdir}/default
- install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools
-
- #install systemd service file
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system
- sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
- -e 's,@SYSCONFDIR@,${sysconfdir},g' \
- -e 's,@SBINDIR@,${sbindir},g' \
- ${D}${systemd_unitdir}/system/smartd.service
-}
-
-INITSCRIPT_NAME = "smartd"
-INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ."
-
-RDEPENDS_${PN} += "mailx"
diff --git a/meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb b/meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb
new file mode 100644
index 0000000000..f387147412
--- /dev/null
+++ b/meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb
@@ -0,0 +1,52 @@
+SUMMARY = "Control and monitor storage systems using S.M.A.R.T"
+DESCRIPTION = "\
+The smartmontools package contains two utility programs (smartctl \
+and smartd) to control and monitor storage systems using the Self-\
+Monitoring, Analysis and Reporting Technology System (SMART) built \
+into most modern ATA and SCSI hard disks. In many cases, these \
+utilities will provide advanced warning of disk degradation and failure."
+
+HOMEPAGE = "http://smartmontools.sourceforge.net/"
+SECTION = "console/utils"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/smartmontools/smartmontools-${PV}.tar.gz \
+ file://initd.smartd \
+ file://smartmontools.default \
+ file://smartd.service \
+ file://0001-configure.ac-Define-SOURCE_DATE_EPOCH-in-CPPFLAGS.patch \
+ "
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'libcap-ng selinux', d)}"
+PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
+PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
+
+SRC_URI[sha256sum] = "e9a61f641ff96ca95319edfb17948cd297d0cd3342736b2c49c99d4716fb993d"
+
+inherit autotools update-rc.d systemd
+
+SYSTEMD_SERVICE:${PN} = "smartd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+do_install:append () {
+ #install the init.d/smartd
+ install -d ${D}${sysconfdir}/init.d
+ install -p -m 0755 ${WORKDIR}/initd.smartd ${D}${sysconfdir}/init.d/smartd
+ install -d ${D}${sysconfdir}/default
+ install -p -m 0644 ${WORKDIR}/smartmontools.default ${D}${sysconfdir}/default/smartmontools
+
+ #install systemd service file
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/smartd.service ${D}${systemd_unitdir}/system
+ sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
+ -e 's,@SYSCONFDIR@,${sysconfdir},g' \
+ -e 's,@SBINDIR@,${sbindir},g' \
+ ${D}${systemd_unitdir}/system/smartd.service
+}
+
+INITSCRIPT_NAME = "smartd"
+INITSCRIPT_PARAMS = "start 60 2 3 4 5 . stop 60 0 1 6 ."
+
+RRECOMMENDS:${PN} += "s-nail"
diff --git a/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch b/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch
new file mode 100644
index 0000000000..b6ab149e19
--- /dev/null
+++ b/meta-oe/recipes-extended/snappy/snappy/fix-build-on-32bit-arm.patch
@@ -0,0 +1,33 @@
+From ecb3bcc283ce740a34d6342cbcda569f3193ade9 Mon Sep 17 00:00:00 2001
+From: David Michael <fedora.dm0@gmail.com>
+Date: Mon, 1 May 2023 11:14:32 -0400
+Subject: [PATCH] Specifically check for NEON for ARMv8 CPUs.
+
+The actual NEON implementation uses instructions that are not
+supported on 32-bit CPUs. Make the CMake test reflect this so that
+ARMv7 builds succeed again.
+
+Upstream-Status: Submitted [https://github.com/google/snappy/pull/169]
+
+Signed-off-by: David Michael <fedora.dm0@gmail.com>
+Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 85afe58e..e8775859 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -207,9 +207,9 @@ int main() {
+ check_cxx_source_compiles("
+ #include <arm_neon.h>
+ int main() {
+- uint8_t val = 3, dup[8];
++ uint8_t val = 3;
+ uint8x16_t v = vld1q_dup_u8(&val);
+- vst1q_u8(dup, v);
++ val = vmaxvq_u8(v);
+ return 0;
+ }" SNAPPY_HAVE_NEON)
+
diff --git a/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb b/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb
new file mode 100644
index 0000000000..bc3bc3aa47
--- /dev/null
+++ b/meta-oe/recipes-extended/snappy/snappy_1.1.10.bb
@@ -0,0 +1,28 @@
+#
+# Copyright (C) 2014 Wind River Systems, Inc.
+# Released under the BSD-3-Clause license (see COPYING.BSD-3 for the terms)
+#
+SUMMARY = "A compression/decompression library"
+DESCRIPTION = "Snappy is a fast data compression and decompression library \
+It was designed to be very fast and stable, but not to achieve a high \
+compression ratio."
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
+
+SRC_URI = "gitsm://github.com/google/snappy.git;protocol=https;branch=main \
+ file://fix-build-on-32bit-arm.patch"
+
+SRCREV = "dc05e026488865bc69313a68bcc03ef2e4ea8e83"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lzo] = "-DHAVE_LIBLZO2=1,-DHAVE_LIBLZO2=0,lzo,"
+TARGET_CFLAGS += "-fPIC"
+
+EXTRA_OECMAKE += '-DBUILD_SHARED_LIBS="ON" -DSNAPPY_BUILD_TESTS="OFF" -DSNAPPY_BUILD_BENCHMARKS="OFF"'
+
+CVE_PRODUCT = "google:snappy"
diff --git a/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb b/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb
deleted file mode 100644
index d6d1e4110a..0000000000
--- a/meta-oe/recipes-extended/snappy/snappy_1.1.8.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (C) 2014 Wind River Systems, Inc.
-# Released under the BSD-3-Clause license (see COPYING.BSD-3 for the terms)
-#
-SUMMARY = "A compression/decompression library"
-DESCRIPTION = "Snappy is a fast data compression and decompression library \
-It was designed to be very fast and stable, but not to achieve a high \
-compression ratio."
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f62f3080324a97b3159a7a7e61812d0c"
-
-SRC_URI = "https://src.fedoraproject.org/repo/pkgs/snappy/snappy-1.1.8.tar.gz/sha512/efe18ff1b3edda1b4b6cefcbc6da8119c05d63afdbf7a784f3490353c74dced76baed7b5f1aa34b99899729192b9d657c33c76de4b507a51553fa8001ae75c1c/snappy-1.1.8.tar.gz"
-
-SRC_URI[md5sum] = "70e48cba7fecf289153d009791c9977f"
-SRC_URI[sha256sum] = "16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f"
-
-inherit cmake pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lzo] = "-DHAVE_LIBLZO2=1,-DHAVE_LIBLZO2=0,lzo,"
-TARGET_CFLAGS += "-fPIC"
-
-EXTRA_OECMAKE += '-DBUILD_SHARED_LIBS="ON" \
- '
diff --git a/meta-oe/recipes-extended/socketcan/can-isotp_git.bb b/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
index eca8dfc7b7..ab97356e9b 100644
--- a/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
+++ b/meta-oe/recipes-extended/socketcan/can-isotp_git.bb
@@ -1,9 +1,10 @@
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=72d977d697c3c05830fdff00a7448931"
-SRCREV = "b31bce98d65f894aad6427bcf6f3f7822e261a59"
-PV = "1.0+git${SRCPV}"
+SRCREV = "7626d0a0707391970080d493ce69638719938da7"
+PV = "1.0+git"
+
+SRC_URI = "git://github.com/hartkopp/can-isotp.git;protocol=https;branch=master"
-SRC_URI = "git://github.com/hartkopp/can-isotp.git;protocol=https"
S = "${WORKDIR}/git"
@@ -11,4 +12,8 @@ inherit module
EXTRA_OEMAKE += "KERNELDIR=${STAGING_KERNEL_DIR}"
-PNBLACKLIST[can-isotp] ?= "Kernel module Needs forward porting to kernel 5.2+"
+do_install:append() {
+ install -Dm 644 ${S}/include/uapi/linux/can/isotp.h ${D}${includedir}/linux/can/isotp.h
+}
+
+SKIP_RECIPE[can-isotp] ?= "Not needed with kernel 5.10+"
diff --git a/meta-oe/recipes-extended/socketcan/can-utils_2023.03.bb b/meta-oe/recipes-extended/socketcan/can-utils_2023.03.bb
new file mode 100644
index 0000000000..ca6cb7db58
--- /dev/null
+++ b/meta-oe/recipes-extended/socketcan/can-utils_2023.03.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Linux CAN network development utilities"
+LICENSE = "GPL-2.0-only & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=44;md5=a9e1169c6c9a114a61329e99f86fdd31"
+
+DEPENDS = "libsocketcan"
+
+SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=https;branch=master"
+
+SRCREV = "cfe41963f3425e9adb01a70cfaddedf5e5982720"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig update-alternatives
+
+PACKAGES =+ "${PN}-access ${PN}-isotp ${PN}-j1939 ${PN}-cantest ${PN}-slcan ${PN}-log"
+
+FILES:${PN}-access = " \
+ ${bindir}/cangw \
+ ${bindir}/canlogserver \
+ ${bindir}/bcmserver \
+ ${bindir}/socketcand \
+ ${bindir}/cannelloni \
+"
+
+FILES:${PN}-isotp = "${bindir}/isotp*"
+
+FILES:${PN}-j1939 = " \
+ ${bindir}/j* \
+ ${bindir}/testj1939 \
+"
+
+FILES:${PN}-cantest = " \
+ ${bindir}/canbusload \
+ ${bindir}/can-calc-bit-timing \
+ ${bindir}/canfdtest \
+"
+
+FILES:${PN}-slcan = "${bindir}/slcan*"
+
+FILES:${PN}-log = "${bindir}/*log*"
+
+ALTERNATIVE:${PN} = "candump cansend cansequence"
+ALTERNATIVE_LINK_NAME[candump] = "${bindir}/candump"
+ALTERNATIVE_LINK_NAME[cansend] = "${bindir}/cansend"
+ALTERNATIVE_LINK_NAME[cansequence] = "${bindir}/cansequence"
+
+# busybox ip fails to configure can interfaces, so we need iproute2 to do so.
+# See details in http://www.armadeus.com/wiki/index.php?title=CAN_bus_Linux_driver.
+RRECOMMENDS:${PN} += "iproute2"
+
diff --git a/meta-oe/recipes-extended/socketcan/can-utils_git.bb b/meta-oe/recipes-extended/socketcan/can-utils_git.bb
deleted file mode 100644
index 3b2b6a9da1..0000000000
--- a/meta-oe/recipes-extended/socketcan/can-utils_git.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "Linux CAN network development utilities"
-LICENSE = "GPLv2 & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://include/linux/can.h;endline=44;md5=a9e1169c6c9a114a61329e99f86fdd31"
-
-DEPENDS = "libsocketcan"
-
-SRC_URI = "git://github.com/linux-can/${BPN}.git;protocol=git"
-
-SRCREV = "eb66451df280f95a9a12e78b151b8d867e1b78ed"
-
-PV = "2020.12.0"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig update-alternatives
-
-PACKAGES =+ "${PN}-access ${PN}-isotp ${PN}-j1939 ${PN}-cantest ${PN}-slcan ${PN}-log"
-
-FILES_${PN}-access = " \
- ${bindir}/cangw \
- ${bindir}/canlogserver \
- ${bindir}/bcmserver \
- ${bindir}/socketcand \
- ${bindir}/cannelloni \
-"
-
-FILES_${PN}-isotp = "${bindir}/isotp*"
-
-FILES_${PN}-j1939 = " \
- ${bindir}/j* \
- ${bindir}/testj1939 \
-"
-
-FILES_${PN}-cantest = " \
- ${bindir}/canbusload \
- ${bindir}/can-calc-bit-timing \
- ${bindir}/canfdtest \
-"
-
-FILES_${PN}-slcan = "${bindir}/slcan*"
-
-FILES_${PN}-log = "${bindir}/*log*"
-
-ALTERNATIVE_${PN} = "candump cansend cansequence"
-ALTERNATIVE_LINK_NAME[candump] = "${bindir}/candump"
-ALTERNATIVE_LINK_NAME[cansend] = "${bindir}/cansend"
-ALTERNATIVE_LINK_NAME[cansequence] = "${bindir}/cansequence"
diff --git a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
index 8b13daea1c..ab4710e81f 100644
--- a/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
+++ b/meta-oe/recipes-extended/socketcan/canutils_4.0.6.bb
@@ -2,13 +2,13 @@ SUMMARY = "canutils (PTX flavour)"
HOMEPAGE = "http://www.pengutronix.de"
SECTION = "console/network"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libsocketcan"
SRCREV = "299dff7f5322bf0348dcdd60071958ebedf5f09d"
-SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git \
+SRC_URI = "git://git.pengutronix.de/git/tools/canutils.git;protocol=git;branch=master \
file://0001-canutils-candump-Add-error-frame-s-handling.patch \
"
@@ -19,10 +19,10 @@ S = "${WORKDIR}/git"
inherit autotools pkgconfig
# Busybox ip doesn't support can interface configuration, use the real thing
-RDEPENDS_${PN} += "iproute2"
+RDEPENDS:${PN} += "iproute2"
ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN} = "candump cansend cansequence"
+ALTERNATIVE:${PN} = "candump cansend cansequence"
ALTERNATIVE_LINK_NAME[candump] = "${bindir}/candump"
ALTERNATIVE_LINK_NAME[cansend] = "${bindir}/cansend"
ALTERNATIVE_LINK_NAME[cansequence] = "${bindir}/cansequence"
diff --git a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.12.bb b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.12.bb
index b7a7f6f471..9f6ef85c87 100644
--- a/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.12.bb
+++ b/meta-oe/recipes-extended/socketcan/libsocketcan_0.0.12.bb
@@ -2,12 +2,12 @@ SUMMARY = "Control basic functions in socketcan from userspace"
HOMEPAGE = "http://www.pengutronix.de"
SECTION = "libs/network"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://src/libsocketcan.c;beginline=3;endline=17;md5=97e38adced4385d8fba1ae2437cedee1"
SRCREV = "077def398ad303043d73339112968e5112d8d7c8"
-SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git"
+SRC_URI = "git://git.pengutronix.de/git/tools/libsocketcan.git;protocol=git;branch=master"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-extended/sysdig/sysdig/0001-Add-cstdint-for-uintXX_t-types.patch b/meta-oe/recipes-extended/sysdig/sysdig/0001-Add-cstdint-for-uintXX_t-types.patch
new file mode 100644
index 0000000000..e564958dad
--- /dev/null
+++ b/meta-oe/recipes-extended/sysdig/sysdig/0001-Add-cstdint-for-uintXX_t-types.patch
@@ -0,0 +1,38 @@
+From 3d076ea588eb3c7f334133b4c31172a14beadf5b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 2 Feb 2023 20:18:27 -0800
+Subject: [PATCH] Add <cstdint> for uintXX_t types
+
+gcc 13 moved some includes around and as a result <cstdint> is no
+longer transitively included [1]. Explicitly include it
+for uintXX_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://github.com/falcosecurity/libs/pull/862]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ userspace/libsinsp/filter/parser.h | 1 +
+ userspace/libsinsp/filter_value.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- a/userspace/libsinsp/filter/parser.h
++++ b/userspace/libsinsp/filter/parser.h
+@@ -18,6 +18,7 @@ limitations under the License.
+ #pragma once
+
+ #include "ast.h"
++#include <cstdint>
+
+ //
+ // Context-free Grammar for Sinsp Filters
+--- a/userspace/libsinsp/filter_value.h
++++ b/userspace/libsinsp/filter_value.h
+@@ -18,6 +18,7 @@ limitations under the License.
+ #pragma once
+
+ #include <string.h>
++#include <cstdint>
+ #include <utility>
+
+ // Used for CO_IN/CO_PMATCH filterchecks using PT_CHARBUFs to allow
diff --git a/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch b/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
deleted file mode 100644
index cb80611578..0000000000
--- a/meta-oe/recipes-extended/sysdig/sysdig/0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 290703a5d21f34ea5ec23efc815a9f4df241e7e8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 23 Oct 2015 00:33:32 -0700
-Subject: [PATCH] Fix build with musl, backtrace() APIs are glibc specific
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- userspace/libsinsp/utils.cpp | 4 +++-
- userspace/libsinsp/utils.h | 2 +-
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
---- a/userspace/libsinsp/utils.cpp
-+++ b/userspace/libsinsp/utils.cpp
-@@ -22,7 +22,7 @@ limitations under the License.
- #include <limits.h>
- #include <stdlib.h>
- #include <sys/time.h>
--#ifndef CYGWING_AGENT
-+#if !defined(CYGWING_AGENT) || defined(__GLIBC__)
- #include <execinfo.h>
- #endif
- #include <unistd.h>
-@@ -780,6 +780,7 @@ bool sinsp_utils::glob_match(const char
-
- #ifndef CYGWING_AGENT
- #ifndef _WIN32
-+#ifdef __GLIBC__
- void sinsp_utils::bt(void)
- {
- static const char start[] = "BACKTRACE ------------";
-@@ -801,6 +802,7 @@ void sinsp_utils::bt(void)
-
- free(bt_syms);
- }
-+#endif // Glibc
- #endif // _WIN32
- #endif // CYGWING_AGENT
-
---- a/userspace/libsinsp/utils.h
-+++ b/userspace/libsinsp/utils.h
-@@ -104,7 +104,7 @@ public:
-
- static bool glob_match(const char *pattern, const char *string);
-
--#ifndef _WIN32
-+#if not defined(_WIN32) && defined(__GLIBC__)
- //
- // Print the call stack
- //
diff --git a/meta-oe/recipes-extended/sysdig/sysdig/0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch b/meta-oe/recipes-extended/sysdig/sysdig/0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch
new file mode 100644
index 0000000000..903ccdf36a
--- /dev/null
+++ b/meta-oe/recipes-extended/sysdig/sysdig/0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch
@@ -0,0 +1,29 @@
+From ed8969a233adb6bf701de96d0fd0570e5ddcc787 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 21 Mar 2022 19:35:48 -0700
+Subject: [PATCH] cmake: Pass PROBE_NAME via CFLAGS
+
+This helps compliation of driver code where its calling modprobe on the
+given kernel module via system() API
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7dceb7ae..e156c36f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -149,6 +149,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ if(NOT DEFINED PROBE_NAME)
+ set(PROBE_NAME "scap")
+ endif()
++ add_definitions(-DPROBE_NAME="${PROBE_NAME}")
+
+ set(DRIVERS_REPO "https://download.sysdig.com/scap-drivers")
+
+--
+2.35.1
+
diff --git a/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch b/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch
deleted file mode 100644
index 71b0b8c8b9..0000000000
--- a/meta-oe/recipes-extended/sysdig/sysdig/0001-fix-build-with-LuaJIT-2.1-betas.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From ae82de664a6ba6ab2654adf9bed81f22b6fdc19d Mon Sep 17 00:00:00 2001
-From: Evgeni Golov <evgeni@golov.de>
-Date: Sun, 27 Aug 2017 13:51:19 +0200
-Subject: [PATCH] fix build with LuaJIT 2.1 betas
-
-LuaJIT 2.1 drops some compat symbols [1]. And while I think that this is
-wrong, as it breaks compatibility with Lua 5.1 [2], it is quite easy to
-adopt the code to work with both versions (2.0 and 2.1) of LuaJIT and
-remain Lua 5.1 compatible.
-
-[1] https://github.com/LuaJIT/LuaJIT/commit/dc320ca70f2c5bb3977b82853bcee6dad2523d01
-[2] https://github.com/LuaJIT/LuaJIT/issues/325
-
-Upstream-Status: Submitted [https://github.com/LuaJIT/LuaJIT/issues/325]
-Signed-off-by: Evgeni Golov <evgeni@golov.de>
-sysdig-CLA-1.0-signed-off-by: Evgeni Golov <evgeni@golov.de>
----
- CMakeLists.txt | 2 +-
- userspace/libsinsp/chisel.cpp | 6 +++---
- userspace/libsinsp/lua_parser.cpp | 2 +-
- userspace/libsinsp/lua_parser_api.cpp | 2 +-
- 4 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d7020493..33e524f5 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -140,7 +140,7 @@ option(USE_BUNDLED_DEPS "Enable bundled dependencies instead of using the system
- option(USE_BUNDLED_LUAJIT "Enable building of the bundled LuaJIT" ${USE_BUNDLED_DEPS})
-
- if(NOT USE_BUNDLED_LUAJIT)
-- find_path(LUAJIT_INCLUDE luajit.h PATH_SUFFIXES luajit-2.0 luajit)
-+ find_path(LUAJIT_INCLUDE luajit.h PATH_SUFFIXES luajit-2.1 luajit-2.0 luajit)
- find_library(LUAJIT_LIB NAMES luajit luajit-5.1)
- if(LUAJIT_INCLUDE AND LUAJIT_LIB)
- message(STATUS "Found LuaJIT: include: ${LUAJIT_INCLUDE}, lib: ${LUAJIT_LIB}")
-diff --git a/userspace/libsinsp/chisel.cpp b/userspace/libsinsp/chisel.cpp
-index 0a6e3cf8..0c2e255a 100644
---- a/userspace/libsinsp/chisel.cpp
-+++ b/userspace/libsinsp/chisel.cpp
-@@ -98,7 +98,7 @@ void lua_stackdump(lua_State *L)
- // Lua callbacks
- ///////////////////////////////////////////////////////////////////////////////
- #ifdef HAS_LUA_CHISELS
--const static struct luaL_reg ll_sysdig [] =
-+const static struct luaL_Reg ll_sysdig [] =
- {
- {"set_filter", &lua_cbacks::set_global_filter},
- {"set_snaplen", &lua_cbacks::set_snaplen},
-@@ -134,7 +134,7 @@ const static struct luaL_reg ll_sysdig [] =
- {NULL,NULL}
- };
-
--const static struct luaL_reg ll_chisel [] =
-+const static struct luaL_Reg ll_chisel [] =
- {
- {"request_field", &lua_cbacks::request_field},
- {"set_filter", &lua_cbacks::set_filter},
-@@ -146,7 +146,7 @@ const static struct luaL_reg ll_chisel [] =
- {NULL,NULL}
- };
-
--const static struct luaL_reg ll_evt [] =
-+const static struct luaL_Reg ll_evt [] =
- {
- {"field", &lua_cbacks::field},
- {"get_num", &lua_cbacks::get_num},
-diff --git a/userspace/libsinsp/lua_parser.cpp b/userspace/libsinsp/lua_parser.cpp
-index 0e26617d..78810d96 100644
---- a/userspace/libsinsp/lua_parser.cpp
-+++ b/userspace/libsinsp/lua_parser.cpp
-@@ -32,7 +32,7 @@ extern "C" {
- #include "lauxlib.h"
- }
-
--const static struct luaL_reg ll_filter [] =
-+const static struct luaL_Reg ll_filter [] =
- {
- {"rel_expr", &lua_parser_cbacks::rel_expr},
- {"bool_op", &lua_parser_cbacks::bool_op},
-diff --git a/userspace/libsinsp/lua_parser_api.cpp b/userspace/libsinsp/lua_parser_api.cpp
-index c89e9126..e0169fe1 100644
---- a/userspace/libsinsp/lua_parser_api.cpp
-+++ b/userspace/libsinsp/lua_parser_api.cpp
-@@ -266,7 +266,7 @@ int lua_parser_cbacks::rel_expr(lua_State *ls)
- string err = "Got non-table as in-expression operand\n";
- throw sinsp_exception("parser API error");
- }
-- int n = luaL_getn(ls, 4); /* get size of table */
-+ int n = (int)lua_objlen(ls, 4); /* get size of table */
- for (i=1; i<=n; i++)
- {
- lua_rawgeti(ls, 4, i);
---
-2.25.1
-
diff --git a/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch b/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch
deleted file mode 100644
index f16b0eca50..0000000000
--- a/meta-oe/recipes-extended/sysdig/sysdig/aarch64.patch
+++ /dev/null
@@ -1,359 +0,0 @@
-Check if legacy syscalls exist
-
-A lot of legacy syscalls are replaced with *at and are not implemented in newer
-architectures like aarch64
-
-Upstream-Status: Submitted [https://github.com/draios/sysdig/pull/1601]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
---- a/driver/syscall_table.c
-+++ b/driver/syscall_table.c
-@@ -42,26 +42,46 @@ or GPL2.txt for full copies of the licen
- * SYSCALL TABLE
- */
- const struct syscall_evt_pair g_syscall_table[SYSCALL_TABLE_SIZE] = {
-+#ifdef __NR_open
- [__NR_open - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_OPEN_E, PPME_SYSCALL_OPEN_X},
-+#endif
-+#ifdef __NR_creat
- [__NR_creat - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_CREAT_E, PPME_SYSCALL_CREAT_X},
-+#endif
- [__NR_close - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CLOSE_E, PPME_SYSCALL_CLOSE_X},
- [__NR_brk - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_BRK_4_E, PPME_SYSCALL_BRK_4_X},
- [__NR_read - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_READ_E, PPME_SYSCALL_READ_X},
- [__NR_write - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_WRITE_E, PPME_SYSCALL_WRITE_X},
- [__NR_execve - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_EXECVE_19_E, PPME_SYSCALL_EXECVE_19_X},
- [__NR_clone - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CLONE_20_E, PPME_SYSCALL_CLONE_20_X},
-+#ifdef __NR_fork
- [__NR_fork - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_FORK_20_E, PPME_SYSCALL_FORK_20_X},
-+#endif
-+#ifdef __NR_vfork
- [__NR_vfork - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_VFORK_20_E, PPME_SYSCALL_VFORK_20_X},
-+#endif
-+#ifdef __NR_pipe
- [__NR_pipe - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_PIPE_E, PPME_SYSCALL_PIPE_X},
-+#endif
- [__NR_pipe2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_PIPE_E, PPME_SYSCALL_PIPE_X},
-+#ifdef __NR_eventfd
- [__NR_eventfd - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_EVENTFD_E, PPME_SYSCALL_EVENTFD_X},
-+#endif
- [__NR_eventfd2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_EVENTFD_E, PPME_SYSCALL_EVENTFD_X},
- [__NR_futex - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_FUTEX_E, PPME_SYSCALL_FUTEX_X},
-+#ifdef __NR_stat
- [__NR_stat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_STAT_E, PPME_SYSCALL_STAT_X},
-+#endif
-+#ifdef __NR_lstat
- [__NR_lstat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_LSTAT_E, PPME_SYSCALL_LSTAT_X},
-+#endif
- [__NR_fstat - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_FSTAT_E, PPME_SYSCALL_FSTAT_X},
-+#ifdef __NR_epoll_wait
- [__NR_epoll_wait - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_EPOLLWAIT_E, PPME_SYSCALL_EPOLLWAIT_X},
-+#endif
-+#ifdef __NR_poll
- [__NR_poll - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_POLL_E, PPME_SYSCALL_POLL_X},
-+#endif
- #ifdef __NR_select
- [__NR_select - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_SELECT_E, PPME_SYSCALL_SELECT_X},
- #endif
-@@ -70,13 +90,21 @@ const struct syscall_evt_pair g_syscall_
- [__NR_getcwd - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETCWD_E, PPME_SYSCALL_GETCWD_X},
- [__NR_chdir - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_CHDIR_E, PPME_SYSCALL_CHDIR_X},
- [__NR_fchdir - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_FCHDIR_E, PPME_SYSCALL_FCHDIR_X},
-+#ifdef __NR_mkdir
- [__NR_mkdir - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_MKDIR_2_E, PPME_SYSCALL_MKDIR_2_X},
-+#endif
-+#ifdef __NR_rmdir
- [__NR_rmdir - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RMDIR_2_E, PPME_SYSCALL_RMDIR_2_X},
-+#endif
- [__NR_openat - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_OPENAT_2_E, PPME_SYSCALL_OPENAT_2_X},
- [__NR_mkdirat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_MKDIRAT_E, PPME_SYSCALL_MKDIRAT_X},
-+#ifdef __NR_link
- [__NR_link - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_LINK_2_E, PPME_SYSCALL_LINK_2_X},
-+#endif
- [__NR_linkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_LINKAT_2_E, PPME_SYSCALL_LINKAT_2_X},
-+#ifdef __NR_unlink
- [__NR_unlink - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_UNLINK_2_E, PPME_SYSCALL_UNLINK_2_X},
-+#endif
- [__NR_unlinkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_UNLINKAT_2_E, PPME_SYSCALL_UNLINKAT_2_X},
- [__NR_pread64 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PREAD_E, PPME_SYSCALL_PREAD_X},
- [__NR_pwrite64 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PWRITE_E, PPME_SYSCALL_PWRITE_X},
-@@ -85,16 +113,22 @@ const struct syscall_evt_pair g_syscall_
- [__NR_preadv - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PREADV_E, PPME_SYSCALL_PREADV_X},
- [__NR_pwritev - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_PWRITEV_E, PPME_SYSCALL_PWRITEV_X},
- [__NR_dup - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
-+#ifdef __NR_dup2
- [__NR_dup2 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
-+#endif
- [__NR_dup3 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SYSCALL_DUP_E, PPME_SYSCALL_DUP_X},
-+#ifdef __NR_signalfd
- [__NR_signalfd - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_SIGNALFD_E, PPME_SYSCALL_SIGNALFD_X},
-+#endif
- [__NR_signalfd4 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_SIGNALFD_E, PPME_SYSCALL_SIGNALFD_X},
- [__NR_kill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_KILL_E, PPME_SYSCALL_KILL_X},
- [__NR_tkill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_TKILL_E, PPME_SYSCALL_TKILL_X},
- [__NR_tgkill - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_TGKILL_E, PPME_SYSCALL_TGKILL_X},
- [__NR_nanosleep - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_NANOSLEEP_E, PPME_SYSCALL_NANOSLEEP_X},
- [__NR_timerfd_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_TIMERFD_CREATE_E, PPME_SYSCALL_TIMERFD_CREATE_X},
-+#ifdef __NR_inotify_init
- [__NR_inotify_init - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_INOTIFY_INIT_E, PPME_SYSCALL_INOTIFY_INIT_X},
-+#endif
- [__NR_inotify_init1 - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SYSCALL_INOTIFY_INIT_E, PPME_SYSCALL_INOTIFY_INIT_X},
- [__NR_fchmodat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_FCHMODAT_E, PPME_SYSCALL_FCHMODAT_X},
- [__NR_fchmod - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_FCHMOD_E, PPME_SYSCALL_FCHMOD_X},
-@@ -114,14 +148,22 @@ const struct syscall_evt_pair g_syscall_
- #endif
- /* [__NR_old_select - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X}, */
- [__NR_pselect6 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
-+#ifdef __NR_epoll_create
- [__NR_epoll_create - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
-+#endif
- [__NR_epoll_ctl - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
-+#ifdef __NR_uselib
- [__NR_uselib - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
-+#endif
- [__NR_sched_setparam - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
- [__NR_sched_getparam - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
- [__NR_syslog - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
-+#ifdef __NR_chmod
- [__NR_chmod - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_CHMOD_E, PPME_SYSCALL_CHMOD_X},
-+#endif
-+#ifdef __NR_lchown
- [__NR_lchown - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X},
-+#endif
- #ifdef __NR_utime
- [__NR_utime - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
- #endif
-@@ -131,8 +173,9 @@ const struct syscall_evt_pair g_syscall_
- #ifdef __NR_alarm
- [__NR_alarm - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
- #endif
-+#ifdef __NR_pause
- [__NR_pause - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_GENERIC_E, PPME_GENERIC_X},
--
-+#endif
- #ifndef __NR_socketcall
- [__NR_socket - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP | UF_SIMPLEDRIVER_KEEP, PPME_SOCKET_SOCKET_E, PPME_SOCKET_SOCKET_X},
- [__NR_bind - SYSCALL_TABLE_ID0] = {UF_USED | UF_NEVER_DROP, PPME_SOCKET_BIND_E, PPME_SOCKET_BIND_X},
-@@ -184,9 +227,13 @@ const struct syscall_evt_pair g_syscall_
- [__NR_process_vm_writev - SYSCALL_TABLE_ID0] = {UF_USED, PPME_GENERIC_E, PPME_GENERIC_X},
- #endif
-
-+#ifdef __NR_rename
- [__NR_rename - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RENAME_E, PPME_SYSCALL_RENAME_X},
-+#endif
- [__NR_renameat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_RENAMEAT_E, PPME_SYSCALL_RENAMEAT_X},
-+#ifdef __NR_symlink
- [__NR_symlink - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SYMLINK_E, PPME_SYSCALL_SYMLINK_X},
-+#endif
- [__NR_symlinkat - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SYMLINKAT_E, PPME_SYSCALL_SYMLINKAT_X},
- [__NR_sendfile - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SENDFILE_E, PPME_SYSCALL_SENDFILE_X},
- #ifdef __NR_sendfile64
-@@ -255,7 +302,9 @@ const struct syscall_evt_pair g_syscall_
- #ifdef __NR_getresgid32
- [__NR_getresgid32 - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_GETRESGID_E, PPME_SYSCALL_GETRESGID_X },
- #endif
-+#ifdef __NR_getdents
- [__NR_getdents - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETDENTS_E, PPME_SYSCALL_GETDENTS_X},
-+#endif
- [__NR_getdents64 - SYSCALL_TABLE_ID0] = {UF_USED | UF_ALWAYS_DROP, PPME_SYSCALL_GETDENTS64_E, PPME_SYSCALL_GETDENTS64_X},
- #ifdef __NR_setns
- [__NR_setns - SYSCALL_TABLE_ID0] = {UF_USED, PPME_SYSCALL_SETNS_E, PPME_SYSCALL_SETNS_X},
-@@ -298,19 +347,33 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_exit - SYSCALL_TABLE_ID0] = PPM_SC_EXIT,
- [__NR_read - SYSCALL_TABLE_ID0] = PPM_SC_READ,
- [__NR_write - SYSCALL_TABLE_ID0] = PPM_SC_WRITE,
-+#ifdef __NR_open
- [__NR_open - SYSCALL_TABLE_ID0] = PPM_SC_OPEN,
-+#endif
- [__NR_close - SYSCALL_TABLE_ID0] = PPM_SC_CLOSE,
-+#ifdef __NR_creat
- [__NR_creat - SYSCALL_TABLE_ID0] = PPM_SC_CREAT,
-+#endif
-+#ifdef __NR_link
- [__NR_link - SYSCALL_TABLE_ID0] = PPM_SC_LINK,
-+#endif
-+#ifdef __NR_unlink
- [__NR_unlink - SYSCALL_TABLE_ID0] = PPM_SC_UNLINK,
-+#endif
- [__NR_chdir - SYSCALL_TABLE_ID0] = PPM_SC_CHDIR,
- #ifdef __NR_time
- [__NR_time - SYSCALL_TABLE_ID0] = PPM_SC_TIME,
- #endif
-+#ifdef __NR_mknod
- [__NR_mknod - SYSCALL_TABLE_ID0] = PPM_SC_MKNOD,
-+#endif
-+#ifdef __NR_chmod
- [__NR_chmod - SYSCALL_TABLE_ID0] = PPM_SC_CHMOD,
-+#endif
- /* [__NR_lchown16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_LCHOWN16, */
-+#ifdef __NR_stat
- [__NR_stat - SYSCALL_TABLE_ID0] = PPM_SC_STAT,
-+#endif
- [__NR_lseek - SYSCALL_TABLE_ID0] = PPM_SC_LSEEK,
- [__NR_getpid - SYSCALL_TABLE_ID0] = PPM_SC_GETPID,
- [__NR_mount - SYSCALL_TABLE_ID0] = PPM_SC_MOUNT,
-@@ -322,17 +385,27 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_alarm - SYSCALL_TABLE_ID0] = PPM_SC_ALARM,
- #endif
- [__NR_fstat - SYSCALL_TABLE_ID0] = PPM_SC_FSTAT,
-+#ifdef __NR_pause
- [__NR_pause - SYSCALL_TABLE_ID0] = PPM_SC_PAUSE,
-+#endif
- #ifdef __NR_utime
- [__NR_utime - SYSCALL_TABLE_ID0] = PPM_SC_UTIME,
- #endif
- [__NR_sync - SYSCALL_TABLE_ID0] = PPM_SC_SYNC,
- [__NR_kill - SYSCALL_TABLE_ID0] = PPM_SC_KILL,
-+#ifdef __NR_rename
- [__NR_rename - SYSCALL_TABLE_ID0] = PPM_SC_RENAME,
-+#endif
-+#ifdef __NR_mkdir
- [__NR_mkdir - SYSCALL_TABLE_ID0] = PPM_SC_MKDIR,
-+#endif
-+#ifdef __NR_rmdir
- [__NR_rmdir - SYSCALL_TABLE_ID0] = PPM_SC_RMDIR,
-+#endif
- [__NR_dup - SYSCALL_TABLE_ID0] = PPM_SC_DUP,
-+#ifdef __NR_pipe
- [__NR_pipe - SYSCALL_TABLE_ID0] = PPM_SC_PIPE,
-+#endif
- [__NR_times - SYSCALL_TABLE_ID0] = PPM_SC_TIMES,
- [__NR_brk - SYSCALL_TABLE_ID0] = PPM_SC_BRK,
- /* [__NR_setgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETGID16, */
-@@ -345,10 +418,16 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_setpgid - SYSCALL_TABLE_ID0] = PPM_SC_SETPGID,
- [__NR_umask - SYSCALL_TABLE_ID0] = PPM_SC_UMASK,
- [__NR_chroot - SYSCALL_TABLE_ID0] = PPM_SC_CHROOT,
-+#ifdef __NR_ustat
- [__NR_ustat - SYSCALL_TABLE_ID0] = PPM_SC_USTAT,
-+#endif
-+#ifdef __NR_dup2
- [__NR_dup2 - SYSCALL_TABLE_ID0] = PPM_SC_DUP2,
-+#endif
- [__NR_getppid - SYSCALL_TABLE_ID0] = PPM_SC_GETPPID,
-+#ifdef __NR_getpgrp
- [__NR_getpgrp - SYSCALL_TABLE_ID0] = PPM_SC_GETPGRP,
-+#endif
- [__NR_setsid - SYSCALL_TABLE_ID0] = PPM_SC_SETSID,
- [__NR_sethostname - SYSCALL_TABLE_ID0] = PPM_SC_SETHOSTNAME,
- [__NR_setrlimit - SYSCALL_TABLE_ID0] = PPM_SC_SETRLIMIT,
-@@ -359,10 +438,18 @@ const enum ppm_syscall_code g_syscall_co
- /* [__NR_getgroups16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETGROUPS16, */
- /* [__NR_setgroups16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETGROUPS16, */
- /* [__NR_old_select - SYSCALL_TABLE_ID0] = PPM_SC_NR_OLD_SELECT, */
-+#ifdef __NR_symlink
- [__NR_symlink - SYSCALL_TABLE_ID0] = PPM_SC_SYMLINK,
-+#endif
-+#ifdef __NR_lstat
- [__NR_lstat - SYSCALL_TABLE_ID0] = PPM_SC_LSTAT,
-+#endif
-+#ifdef __NR_readlink
- [__NR_readlink - SYSCALL_TABLE_ID0] = PPM_SC_READLINK,
-+#endif
-+#ifdef __NR_uselib
- [__NR_uselib - SYSCALL_TABLE_ID0] = PPM_SC_USELIB,
-+#endif
- [__NR_swapon - SYSCALL_TABLE_ID0] = PPM_SC_SWAPON,
- [__NR_reboot - SYSCALL_TABLE_ID0] = PPM_SC_REBOOT,
- /* [__NR_old_readdir - SYSCALL_TABLE_ID0] = PPM_SC_NR_OLD_READDIR, */
-@@ -399,12 +486,16 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_delete_module - SYSCALL_TABLE_ID0] = PPM_SC_DELETE_MODULE,
- [__NR_getpgid - SYSCALL_TABLE_ID0] = PPM_SC_GETPGID,
- [__NR_fchdir - SYSCALL_TABLE_ID0] = PPM_SC_FCHDIR,
-+#ifdef __NR_sysfs
- [__NR_sysfs - SYSCALL_TABLE_ID0] = PPM_SC_SYSFS,
-+#endif
- [__NR_personality - SYSCALL_TABLE_ID0] = PPM_SC_PERSONALITY,
- /* [__NR_setfsuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETFSUID16, */
- /* [__NR_setfsgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETFSGID16, */
- /* [__NR_llseek - SYSCALL_TABLE_ID0] = PPM_SC_NR_LLSEEK, */
-+#ifdef __NR_getdents
- [__NR_getdents - SYSCALL_TABLE_ID0] = PPM_SC_GETDENTS,
-+#endif
- #ifdef __NR_select
- [__NR_select - SYSCALL_TABLE_ID0] = PPM_SC_SELECT,
- #endif
-@@ -431,7 +522,9 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_mremap - SYSCALL_TABLE_ID0] = PPM_SC_MREMAP,
- /* [__NR_setresuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETRESUID16, */
- /* [__NR_getresuid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETRESUID16, */
-+#ifdef __NR_poll
- [__NR_poll - SYSCALL_TABLE_ID0] = PPM_SC_POLL,
-+#endif
- /* [__NR_setresgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_SETRESGID16, */
- /* [__NR_getresgid16 - SYSCALL_TABLE_ID0] = PPM_SC_NR_GETRESGID16, */
- [__NR_prctl - SYSCALL_TABLE_ID0] = PPM_SC_PRCTL,
-@@ -453,13 +546,17 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_getrlimit - SYSCALL_TABLE_ID0] = PPM_SC_GETRLIMIT,
- #endif
- /* [__NR_mmap_pgoff - SYSCALL_TABLE_ID0] = PPM_SC_NR_MMAP_PGOFF, */
-+#ifdef __NR_lchown
- [__NR_lchown - SYSCALL_TABLE_ID0] = PPM_SC_LCHOWN,
-+#endif
- [__NR_setreuid - SYSCALL_TABLE_ID0] = PPM_SC_SETREUID,
- [__NR_setregid - SYSCALL_TABLE_ID0] = PPM_SC_SETREGID,
- [__NR_getgroups - SYSCALL_TABLE_ID0] = PPM_SC_GETGROUPS,
- [__NR_setgroups - SYSCALL_TABLE_ID0] = PPM_SC_SETGROUPS,
- [__NR_fchown - SYSCALL_TABLE_ID0] = PPM_SC_FCHOWN,
-+#ifdef __NR_chown
- [__NR_chown - SYSCALL_TABLE_ID0] = PPM_SC_CHOWN,
-+#endif
- [__NR_setfsuid - SYSCALL_TABLE_ID0] = PPM_SC_SETFSUID,
- [__NR_setfsgid - SYSCALL_TABLE_ID0] = PPM_SC_SETFSGID,
- [__NR_pivot_root - SYSCALL_TABLE_ID0] = PPM_SC_PIVOT_ROOT,
-@@ -494,9 +591,13 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_io_submit - SYSCALL_TABLE_ID0] = PPM_SC_IO_SUBMIT,
- [__NR_io_cancel - SYSCALL_TABLE_ID0] = PPM_SC_IO_CANCEL,
- [__NR_exit_group - SYSCALL_TABLE_ID0] = PPM_SC_EXIT_GROUP,
-+#ifdef __NR_epoll_create
- [__NR_epoll_create - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_CREATE,
-+#endif
- [__NR_epoll_ctl - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_CTL,
-+#ifdef __NR_epoll_wait
- [__NR_epoll_wait - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_WAIT,
-+#endif
- [__NR_remap_file_pages - SYSCALL_TABLE_ID0] = PPM_SC_REMAP_FILE_PAGES,
- [__NR_set_tid_address - SYSCALL_TABLE_ID0] = PPM_SC_SET_TID_ADDRESS,
- [__NR_timer_create - SYSCALL_TABLE_ID0] = PPM_SC_TIMER_CREATE,
-@@ -509,7 +610,9 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_clock_getres - SYSCALL_TABLE_ID0] = PPM_SC_CLOCK_GETRES,
- [__NR_clock_nanosleep - SYSCALL_TABLE_ID0] = PPM_SC_CLOCK_NANOSLEEP,
- [__NR_tgkill - SYSCALL_TABLE_ID0] = PPM_SC_TGKILL,
-+#ifdef __NR_utimes
- [__NR_utimes - SYSCALL_TABLE_ID0] = PPM_SC_UTIMES,
-+#endif
- [__NR_mq_open - SYSCALL_TABLE_ID0] = PPM_SC_MQ_OPEN,
- [__NR_mq_unlink - SYSCALL_TABLE_ID0] = PPM_SC_MQ_UNLINK,
- [__NR_mq_timedsend - SYSCALL_TABLE_ID0] = PPM_SC_MQ_TIMEDSEND,
-@@ -523,14 +626,18 @@ const enum ppm_syscall_code g_syscall_co
- [__NR_keyctl - SYSCALL_TABLE_ID0] = PPM_SC_KEYCTL,
- [__NR_ioprio_set - SYSCALL_TABLE_ID0] = PPM_SC_IOPRIO_SET,
- [__NR_ioprio_get - SYSCALL_TABLE_ID0] = PPM_SC_IOPRIO_GET,
-+#ifdef __NR_inotify_init
- [__NR_inotify_init - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_INIT,
-+#endif
- [__NR_inotify_add_watch - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_ADD_WATCH,
- [__NR_inotify_rm_watch - SYSCALL_TABLE_ID0] = PPM_SC_INOTIFY_RM_WATCH,
- [__NR_openat - SYSCALL_TABLE_ID0] = PPM_SC_OPENAT,
- [__NR_mkdirat - SYSCALL_TABLE_ID0] = PPM_SC_MKDIRAT,
- [__NR_mknodat - SYSCALL_TABLE_ID0] = PPM_SC_MKNODAT,
- [__NR_fchownat - SYSCALL_TABLE_ID0] = PPM_SC_FCHOWNAT,
-+#ifdef __NR_futimesat
- [__NR_futimesat - SYSCALL_TABLE_ID0] = PPM_SC_FUTIMESAT,
-+#endif
- [__NR_unlinkat - SYSCALL_TABLE_ID0] = PPM_SC_UNLINKAT,
- [__NR_renameat - SYSCALL_TABLE_ID0] = PPM_SC_RENAMEAT,
- [__NR_linkat - SYSCALL_TABLE_ID0] = PPM_SC_LINKAT,
-@@ -551,9 +658,13 @@ const enum ppm_syscall_code g_syscall_co
- #endif
- [__NR_epoll_pwait - SYSCALL_TABLE_ID0] = PPM_SC_EPOLL_PWAIT,
- [__NR_utimensat - SYSCALL_TABLE_ID0] = PPM_SC_UTIMENSAT,
-+#ifdef __NR_signalfd
- [__NR_signalfd - SYSCALL_TABLE_ID0] = PPM_SC_SIGNALFD,
-+#endif
- [__NR_timerfd_create - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_CREATE,
-+#ifdef __NR_eventfd
- [__NR_eventfd - SYSCALL_TABLE_ID0] = PPM_SC_EVENTFD,
-+#endif
- [__NR_timerfd_settime - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_SETTIME,
- [__NR_timerfd_gettime - SYSCALL_TABLE_ID0] = PPM_SC_TIMERFD_GETTIME,
- [__NR_signalfd4 - SYSCALL_TABLE_ID0] = PPM_SC_SIGNALFD4,
diff --git a/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch b/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch
deleted file mode 100644
index 5c756294b9..0000000000
--- a/meta-oe/recipes-extended/sysdig/sysdig/fix-uint64-const.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix x86 build
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/userspace/libsinsp/cgroup_limits.cpp
-+++ b/userspace/libsinsp/cgroup_limits.cpp
-@@ -9,7 +9,7 @@ namespace {
- // This reports extremely large values (e.g. almost-but-not-quite 9EiB as set by k8s) as unlimited.
- // Note: we use the same maximum value for cpu shares/quotas as well; the typical values are much lower
- // and so should never exceed CGROUP_VAL_MAX either
--constexpr const int64_t CGROUP_VAL_MAX = (1UL << 42u) - 1;
-+constexpr const int64_t CGROUP_VAL_MAX = (1ULL << 42u) - 1;
-
- /**
- * \brief Read a single int64_t value from cgroupfs
diff --git a/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb b/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb
new file mode 100644
index 0000000000..e814120ee6
--- /dev/null
+++ b/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb
@@ -0,0 +1,64 @@
+SUMMARY = "A New System Troubleshooting Tool Built for the Way You Work"
+DESCRIPTION = "Sysdig is open source, system-level exploration: capture \
+system state and activity from a running Linux instance, then save, \
+filter and analyze."
+HOMEPAGE = "http://www.sysdig.org/"
+LICENSE = "Apache-2.0 & (MIT | GPL-2.0-only)"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f8fee3d59797546cffab04f3b88b2d44"
+
+inherit cmake pkgconfig
+
+#OECMAKE_GENERATOR = "Unix Makefiles"
+JIT ?= "jit"
+JIT:mipsarchn32 = ""
+JIT:mipsarchn64 = ""
+JIT:riscv64 = ""
+JIT:riscv32 = ""
+JIT:powerpc = ""
+JIT:powerpc64le = ""
+JIT:powerpc64 = ""
+
+DEPENDS += "libb64 lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp \
+ tbb jq openssl elfutils protobuf protobuf-native jq-native valijson"
+RDEPENDS:${PN} = "bash"
+
+SRC_URI = "git://github.com/draios/sysdig.git;branch=dev;protocol=https;name=sysdig \
+ git://github.com/falcosecurity/libs;protocol=https;branch=master;name=falco;subdir=git/falcosecurity-libs \
+ file://0001-Add-cstdint-for-uintXX_t-types.patch;patchdir=./falcosecurity-libs \
+ file://0001-cmake-Pass-PROBE_NAME-via-CFLAGS.patch \
+ "
+SRCREV_sysdig = "4fb6288275f567f63515df0ff0a6518043ecfa9b"
+SRCREV_falco= "caa0e4d0044fdaaebab086592a97f0c7f32aeaa9"
+
+SRCREV_FORMAT = "sysdig_falco"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "\
+ -DBUILD_DRIVER=OFF \
+ -DMINIMAL_BUILD=ON \
+ -DUSE_BUNDLED_DEPS=OFF \
+ -DCREATE_TEST_TARGETS=OFF \
+ -DDIR_ETC=${sysconfdir} \
+ -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \
+ -DFALCOSECURITY_LIBS_SOURCE_DIR=${S}/falcosecurity-libs \
+ -DVALIJSON_INCLUDE=${STAGING_INCDIR}/valijson \
+"
+
+#CMAKE_VERBOSE = "VERBOSE=1"
+
+FILES:${PN} += " \
+ ${DIR_ETC}/* \
+ ${datadir}/zsh/* \
+ ${prefix}/src/* \
+"
+# Use getaddrinfo_a is a GNU extension in libsinsp
+# It should be fixed in sysdig, until then disable
+# on musl
+# Something like this https://code.videolan.org/ePirat/vlc/-/commit/01fd9fe4c7f6c5558f7345f38abf0152e17853ab is needed to fix it
+COMPATIBLE_HOST:libc-musl = "null"
+COMPATIBLE_HOST:mips = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:powerpc = "null"
+COMPATIBLE_HOST:powerpc64le = "null"
diff --git a/meta-oe/recipes-extended/sysdig/sysdig_git.bb b/meta-oe/recipes-extended/sysdig/sysdig_git.bb
deleted file mode 100644
index 04a022af4f..0000000000
--- a/meta-oe/recipes-extended/sysdig/sysdig_git.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "A New System Troubleshooting Tool Built for the Way You Work"
-DESCRIPTION = "Sysdig is open source, system-level exploration: capture \
-system state and activity from a running Linux instance, then save, \
-filter and analyze."
-HOMEPAGE = "http://www.sysdig.org/"
-LICENSE = "Apache-2.0 & (MIT | GPL-2.0)"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f8fee3d59797546cffab04f3b88b2d44"
-
-inherit cmake pkgconfig
-
-#OECMAKE_GENERATOR = "Unix Makefiles"
-JIT ?= "jit"
-JIT_mipsarchn32 = ""
-JIT_mipsarchn64 = ""
-JIT_riscv64 = ""
-JIT_riscv32 = ""
-
-DEPENDS += "lua${JIT} zlib c-ares grpc-native grpc curl ncurses jsoncpp tbb jq openssl elfutils protobuf protobuf-native jq-native"
-RDEPENDS_${PN} = "bash"
-
-SRC_URI = "git://github.com/draios/sysdig.git;branch=dev \
- file://0001-fix-build-with-LuaJIT-2.1-betas.patch \
- file://0001-Fix-build-with-musl-backtrace-APIs-are-glibc-specifi.patch \
- file://fix-uint64-const.patch \
- file://aarch64.patch \
- "
-SRCREV = "8daeef8da752c5f07f439391bc20c5948eb11470"
-PV = "0.26.6"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = "\
- -DBUILD_DRIVER=OFF \
- -DUSE_BUNDLED_DEPS=OFF \
- -DUSE_BUNDLED_B64=ON \
- -DCREATE_TEST_TARGETS=OFF \
- -DDIR_ETC=${sysconfdir} \
- -DLUA_INCLUDE_DIR=${STAGING_INCDIR}/luajit-2.1 \
- -DLUA_LIBRARY=libluajit-5.1.so \
-"
-
-FILES_${PN} += " \
- ${DIR_ETC}/* \
- ${datadir}/zsh/* \
- ${prefix}/src/* \
-"
-# Use getaddrinfo_a is a GNU extension in libsinsp
-# It should be fixed in sysdig, until then disable
-# on musl
-# Something like this https://code.videolan.org/ePirat/vlc/-/commit/01fd9fe4c7f6c5558f7345f38abf0152e17853ab is needed to fix it
-COMPATIBLE_HOST_libc-musl = "null"
-COMPATIBLE_HOST_mips = "null"
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
diff --git a/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch b/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch
index 6c8ba9074a..9f0604892d 100644
--- a/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch
+++ b/meta-oe/recipes-extended/tipcutils/tipcutils/0001-include-sys-select.h-for-FD_-definitions.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 1/2] include sys/select.h for FD_* definitions
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
demos/inventory_sim/inventory_sim.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch b/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch
index 03e711e9a4..89eae015c6 100644
--- a/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch
+++ b/meta-oe/recipes-extended/tipcutils/tipcutils/0002-replace-non-standard-uint-with-unsigned-int.patch
@@ -7,6 +7,8 @@ make it portable on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
demos/benchmark/client_tipc.c | 34 +++++++++++++++++-----------------
demos/benchmark/common_tipc.h | 2 +-
demos/benchmark/server_tipc.c | 10 +++++-----
diff --git a/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb b/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
index 637770af24..596aa260e7 100644
--- a/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
+++ b/meta-oe/recipes-extended/tipcutils/tipcutils_git.bb
@@ -1,29 +1,29 @@
SUMMARY = "Transparent Inter-Process Communication protocol"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://tipclog/tipc.h;endline=35;md5=985b6ea8735818511d276c1b466cce98"
-SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils \
+SRC_URI = "git://git.code.sf.net/p/tipc/tipcutils;branch=master \
file://0001-include-sys-select.h-for-FD_-definitions.patch \
file://0002-replace-non-standard-uint-with-unsigned-int.patch \
file://0001-multicast_blast-tipcc-Fix-struct-type-for-TIPC_GROUP.patch \
file://0001-test-ptts-Set-recv-buffer-size-too-max-to-receive-as.patch \
"
SRCREV = "7ab2211b87414ba240b0b2e4af219c1057c9cf9a"
-PV = "2.2.0+git${SRCPV}"
+PV = "2.2.0+git"
inherit autotools pkgconfig
DEPENDS += "libdaemon"
-RDEPENDS_${PN} = "iproute2-tipc"
+RDEPENDS:${PN} = "iproute2-tipc"
S = "${WORKDIR}/git"
-do_configure_prepend() {
+do_configure:prepend() {
( cd ${S}; ${S}/bootstrap )
}
-do_install_append() {
+do_install:append() {
demos="benchmark hello_world topology_subscr_demo connection_demo \
multicast_demo stream_demo"
for i in $demos;do
@@ -44,6 +44,6 @@ do_install_append() {
}
PACKAGES += "${PN}-demos"
-FILES_${PN}-dbg += "/opt/tipcutils/demos/*/.debug /opt/tipcutils/ptts/.debug"
-FILES_${PN}-demos = "/opt/tipcutils/*"
+FILES:${PN}-dbg += "/opt/tipcutils/demos/*/.debug /opt/tipcutils/ptts/.debug"
+FILES:${PN}-demos = "/opt/tipcutils/*"
diff --git a/meta-oe/recipes-extended/tiptop/tiptop/0001-Fix-a-lot-of-Werror-format-security-errors-with-mvwp.patch b/meta-oe/recipes-extended/tiptop/tiptop/0001-Fix-a-lot-of-Werror-format-security-errors-with-mvwp.patch
new file mode 100644
index 0000000000..6d5e293c7f
--- /dev/null
+++ b/meta-oe/recipes-extended/tiptop/tiptop/0001-Fix-a-lot-of-Werror-format-security-errors-with-mvwp.patch
@@ -0,0 +1,31 @@
+From 42e99eb6c727df7c9d49586803a4bf9933a9796b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Oct 2021 10:52:42 -0700
+Subject: [PATCH] Fix a lot of -Werror=format-security errors with mvwprintw
+
+In all these places a non-constant is used as a format string which
+compiler complains about. Fix by using "%s" as format.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/helpwin.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/helpwin.c b/src/helpwin.c
+index 0d660f9..1623d9c 100644
+--- a/src/helpwin.c
++++ b/src/helpwin.c
+@@ -61,7 +61,7 @@ void show_help_win(WINDOW* win, screen_t* screen)
+ wattroff(win, A_REVERSE);
+
+ /* screen description */
+- mvwprintw(win, 2, 1, screen->desc);
++ mvwprintw(win, 2, 1, "%s", screen->desc);
+
+ /* max size of column headers */
+ for(i = 0; i < n; i++) {
+--
+2.33.1
+
diff --git a/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb b/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb
index cf67a08b3e..8dca2940b5 100644
--- a/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb
+++ b/meta-oe/recipes-extended/tiptop/tiptop_2.3.1.bb
@@ -1,23 +1,25 @@
SUMMARY = "Hardware performance monitoring counters"
-HOMEPAGE = "http://tiptop.gforge.inria.fr/"
-LICENSE = "GPLv2"
+HOMEPAGE = "https://team.inria.fr/pacap/software/tiptop/"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "ncurses libxml2 bison-native flex-native"
-SRC_URI = "http://tiptop.gforge.inria.fr/releases/${BP}.tar.gz \
+SRC_URI = "http://files.inria.fr/pacap/${BPN}/${BP}.tar.gz \
file://0001-Fix-parallel-build-problems-by-Adrian-Bunk.patch \
file://0002-fix-reproducibility-of-build-process.patch \
file://0001-Fix-build-when-S-B.patch \
+ file://0001-Fix-a-lot-of-Werror-format-security-errors-with-mvwp.patch \
"
-SRC_URI[md5sum] = "46ca0fdf0236f02dd2b96d347626d2a2"
SRC_URI[sha256sum] = "51c4449c95bba34f16b429729c2f58431490665d8093efaa8643b2e1d1084182"
+UPSTREAM_CHECK_URI = "https://team.inria.fr/pacap/software/tiptop/"
+
inherit autotools
EXTRA_OECONF = "CFLAGS="$CFLAGS -I${STAGING_INCDIR}/libxml2""
COMPATIBLE_HOST = "(i.86|x86_64|arm|powerpc|aarch64).*-linux"
-do_configure_prepend () {
+do_configure:prepend () {
# Two bugs in configure.ac when cross-compiling.
# 1. The path of libxml2. Specify it in EXTRA_OECONF.
# 2. hw's value on other platforms. Replace it if the target is
diff --git a/meta-oe/recipes-extended/tmate/files/0001-fix-finding-msgpack.patch b/meta-oe/recipes-extended/tmate/files/0001-fix-finding-msgpack.patch
new file mode 100644
index 0000000000..46463abbc4
--- /dev/null
+++ b/meta-oe/recipes-extended/tmate/files/0001-fix-finding-msgpack.patch
@@ -0,0 +1,43 @@
+From 26a5aa6f70a0b98962884559668b3879dfe6fd02 Mon Sep 17 00:00:00 2001
+From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
+Date: Tue, 28 Nov 2023 12:32:51 +0300
+Subject: [PATCH] Fix finding msgpack 6+
+
+msgpack.pc was renamed to msgpack-c.pc upstream in msgpack/msgpack-c#1053.
+
+Upstream-Status: Submitted [https://github.com/tmate-io/tmate/pull/281]
+
+Co-authored-by: Sam James <sam@gentoo.org>
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ configure.ac | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 028d5559..3badf9e2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -207,7 +207,19 @@ PKG_CHECK_MODULES(
+ LIBS="$MSGPACK_LIBS $LIBS"
+ found_msgpack=yes
+ ],
+- found_msgpack=no
++ [
++ # msgpack.pc was renamed to msgpack-c.pc in 6.0.0.
++ PKG_CHECK_MODULES(
++ MSGPACKC,
++ msgpack-c >= 1.1.0,
++ [
++ CPPFLAGS="$MSGPACKC_CFLAGS $CPPFLAGS"
++ LIBS="$MSGPACKC_LIBS $LIBS"
++ found_msgpack=yes
++ ],
++ found_msgpack=no
++ )
++ ]
+ )
+ if test "x$found_msgpack" = xno; then
+ AC_MSG_ERROR("msgpack >= 1.1.0 not found")
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb b/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
new file mode 100644
index 0000000000..4e66d8d05a
--- /dev/null
+++ b/meta-oe/recipes-extended/tmate/tmate_2.4.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Instant terminal sharing"
+DESCRIPTION = "Tmate is a fork of tmux. It provides an instant pairing solution."
+HOMEPAGE = "https://tmate.io/"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f7d9aab84ec6567139a4755c48d147fb"
+
+DEPENDS:append = " libevent libssh msgpack-c ncurses"
+SRC_URI = "\
+ git://github.com/tmate-io/tmate.git;protocol=https;branch=master \
+ file://0001-fix-finding-msgpack.patch \
+"
+
+SRCREV = "5e00bfa5e137e76c81888727712ced2b3fd99f5b"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
diff --git a/meta-oe/recipes-extended/tmux/tmux_3.1c.bb b/meta-oe/recipes-extended/tmux/tmux_3.1c.bb
deleted file mode 100644
index 7cac48eb6c..0000000000
--- a/meta-oe/recipes-extended/tmux/tmux_3.1c.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Terminal multiplexer"
-HOMEPAGE = "http://tmux.sourceforge.net"
-SECTION = "console/utils"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=f256b76d52e7b4d02bf19144bdaca107"
-
-DEPENDS = "ncurses libevent"
-
-SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.gz"
-SRC_URI[md5sum] = "7301d3fa12f35051edb185496766c745"
-SRC_URI[sha256sum] = "918f7220447bef33a1902d4faff05317afd9db4ae1c9971bef5c787ac6c88386"
-
-UPSTREAM_CHECK_URI = "https://github.com/tmux/tmux/releases"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter,"
-
-do_configure_prepend() {
- # The 'compat' directory is needed for output during the build but it's
- # not automatically created when building outside the source directory.
- mkdir -p ${B}/compat
-}
diff --git a/meta-oe/recipes-extended/tmux/tmux_3.3a.bb b/meta-oe/recipes-extended/tmux/tmux_3.3a.bb
new file mode 100644
index 0000000000..5187222838
--- /dev/null
+++ b/meta-oe/recipes-extended/tmux/tmux_3.3a.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Terminal multiplexer"
+HOMEPAGE = "http://tmux.sourceforge.net"
+SECTION = "console/utils"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://tmux.c;beginline=3;endline=17;md5=f256b76d52e7b4d02bf19144bdaca107"
+
+DEPENDS = "ncurses libevent"
+
+SRC_URI = "https://github.com/tmux/tmux/releases/download/${PV}/tmux-${PV}.tar.gz"
+SRC_URI[md5sum] = "8eee5883b9f6550fa4efaad0c9ec38f3"
+SRC_URI[sha256sum] = "e4fd347843bd0772c4f48d6dde625b0b109b7a380ff15db21e97c11a4dcdf93f"
+
+UPSTREAM_CHECK_URI = "https://github.com/tmux/tmux/releases"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter,"
+
+do_configure:prepend() {
+ # The 'compat' directory is needed for output during the build but it's
+ # not automatically created when building outside the source directory.
+ mkdir -p ${B}/compat
+}
diff --git a/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb b/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb
index 38ce4f5571..0b14f9557a 100644
--- a/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb
+++ b/meta-oe/recipes-extended/triggerhappy/triggerhappy_git.bb
@@ -1,13 +1,13 @@
SUMMARY = "A lightweight hotkey daemon"
HOMEPAGE = "https://github.com/wertarbyte/triggerhappy"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
# matches debian/0.5.0-1 tag
SRCREV = "44a173195986d0d853316cb02a58785ded66c12b"
-PV = "0.5.0+git${SRCPV}"
-SRC_URI = "git://github.com/wertarbyte/${BPN}.git;branch=debian"
+PV = "0.5.0+git"
+SRC_URI = "git://github.com/wertarbyte/${BPN}.git;branch=debian;protocol=https"
S = "${WORKDIR}/git"
@@ -18,9 +18,9 @@ PACKAGECONFIG[systemd] = ",,systemd"
INITSCRIPT_NAME = "triggerhappy"
INITSCRIPT_PARAMS = "defaults"
-SYSTEMD_SERVICE_${PN} = "triggerhappy.service triggerhappy.socket"
+SYSTEMD_SERVICE:${PN} = "triggerhappy.service triggerhappy.socket"
-FILES_${PN} = "\
+FILES:${PN} = "\
${sbindir}/thd \
${sbindir}/th-cmd \
${sysconfdir}/triggerhappy/triggers.d \
@@ -28,9 +28,9 @@ FILES_${PN} = "\
${sysconfdir}/init.d/triggerhappy \
${systemd_unitdir}/system \
"
-CONFFILES_${PN} = "${sysconfdir}/udev/rules.d/80-triggerhappy.rules"
+CONFFILES:${PN} = "${sysconfdir}/udev/rules.d/80-triggerhappy.rules"
-do_install_append() {
+do_install:append() {
install -d ${D}${sysconfdir}/triggerhappy/triggers.d
install -d ${D}${nonarch_base_libdir}/udev/rules.d
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-Add-missing-standard-headers-for-str-and-exit-APIs.patch b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-Add-missing-standard-headers-for-str-and-exit-APIs.patch
new file mode 100644
index 0000000000..9fce51a593
--- /dev/null
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-Add-missing-standard-headers-for-str-and-exit-APIs.patch
@@ -0,0 +1,64 @@
+From a1c4716ceaed6333f8be01b5d4d971e64babcdd7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 18:57:42 -0700
+Subject: [PATCH] Add missing standard headers for str* and exit APIs
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ jail/jail_uml | Bin 19120 -> 19120 bytes
+ jail/jail_uml.c | 1 +
+ port-helper/port-helper.c | 1 +
+ uml_router/port.c | 1 +
+ uml_router/uml_switch.c | 1 +
+ watchdog/uml_watchdog.c | 1 +
+ 6 files changed, 5 insertions(+)
+
+--- a/jail/jail_uml.c
++++ b/jail/jail_uml.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <unistd.h>
++#include <stdlib.h> /* for exit */
+ #include <errno.h>
+
+ static void Usage(void)
+--- a/port-helper/port-helper.c
++++ b/port-helper/port-helper.c
+@@ -12,6 +12,7 @@ for read and write, and the console is f
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h> /* memset */
+ #include <signal.h>
+ #include <errno.h>
+ #include <unistd.h>
+--- a/uml_router/port.c
++++ b/uml_router/port.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h> /* memcmp */
+ #include <unistd.h>
+ #include <errno.h>
+ #include <sys/socket.h>
+--- a/uml_router/uml_switch.c
++++ b/uml_router/uml_switch.c
+@@ -5,6 +5,7 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <stdlib.h>
++#include <string.h> /* strcmp */
+ #include <signal.h>
+ #include <fcntl.h>
+ #include <stdint.h>
+--- a/watchdog/uml_watchdog.c
++++ b/watchdog/uml_watchdog.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h> /* strcmp */
+ #include <unistd.h>
+ #include <signal.h>
+ #include <errno.h>
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-cow.c-Replace-stat64-with-stat.patch b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-cow.c-Replace-stat64-with-stat.patch
new file mode 100644
index 0000000000..348d7ce104
--- /dev/null
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-cow.c-Replace-stat64-with-stat.patch
@@ -0,0 +1,34 @@
+From c4f85268da6c30b0aec3d9a0e951b2088887cff4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 22 May 2023 18:35:37 -0700
+Subject: [PATCH] cow.c: Replace stat64 with stat
+
+LFS64 is deprecated in latest musl and this fails to build
+therefore switch to using stat API which is same as stat64 these days
+
+Upstream-Status: Inappropriate [No upstream]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ moo/cow.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/moo/cow.c
++++ b/moo/cow.c
+@@ -161,7 +161,7 @@ int write_cow_header(char *cow_file, int
+ int sectorsize, int alignment, long long *size)
+ {
+ struct cow_header_v3 *header;
+- struct stat64 buf;
++ struct stat buf;
+ int err;
+
+ err = cow_seek_file(fd, 0);
+@@ -192,7 +192,7 @@ int write_cow_header(char *cow_file, int
+ backing_file))
+ goto out_free;
+
+- err = stat64(header->backing_file, &buf);
++ err = stat(header->backing_file, &buf);
+ if(err < 0){
+ cow_printf("Stat of backing file '%s' failed, errno = %d\n",
+ header->backing_file, errno);
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-include-required-system-header-files-for-fd_set-and-.patch b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-include-required-system-header-files-for-fd_set-and-.patch
index 38e945d64d..02aca7da45 100644
--- a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-include-required-system-header-files-for-fd_set-and-.patch
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-include-required-system-header-files-for-fd_set-and-.patch
@@ -8,6 +8,8 @@ makedev macro is defined in sys/sysmacros.h
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
uml_net/ethertap.c | 1 +
uml_net/host.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-makefiles-Append-to-CFLAGS-instead-of-re-assign.patch b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-makefiles-Append-to-CFLAGS-instead-of-re-assign.patch
new file mode 100644
index 0000000000..1962e84c7e
--- /dev/null
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/0001-makefiles-Append-to-CFLAGS-instead-of-re-assign.patch
@@ -0,0 +1,122 @@
+From ac72fffe639d564f59ec1e1eafde83980acef1b5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 May 2023 14:40:31 -0700
+Subject: [PATCH] makefiles: Append to CFLAGS instead of re-assign
+
+This helps in inserting yocto provided CFLAGS from build environment
+
+Upstream-Status: Inappropriate [No upstream]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ jailtest/Makefile | 2 +-
+ mconsole/Makefile | 2 +-
+ moo/Makefile | 2 +-
+ port-helper/Makefile | 2 +-
+ tunctl/Makefile | 2 +-
+ uml_net/Makefile | 2 +-
+ uml_router/Makefile | 2 +-
+ watchdog/Makefile | 2 +-
+ 8 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/jailtest/Makefile b/jailtest/Makefile
+index 610ca1a..025fca9 100644
+--- a/jailtest/Makefile
++++ b/jailtest/Makefile
+@@ -1,6 +1,6 @@
+ OBJS = jailtest.o
+ BIN = jailtest
+-CFLAGS = -g -Wall
++CFLAGS += -g -Wall
+
+ BIN_DIR ?= /usr/bin
+
+diff --git a/mconsole/Makefile b/mconsole/Makefile
+index 9818d8a..74a2560 100644
+--- a/mconsole/Makefile
++++ b/mconsole/Makefile
+@@ -1,6 +1,6 @@
+ BIN = uml_mconsole
+ OBJS = $(BIN).o
+-CFLAGS = -g -Wall
++CFLAGS += -g -Wall
+
+ BIN_DIR ?= /usr/bin
+
+diff --git a/moo/Makefile b/moo/Makefile
+index 6cdb591..60d300d 100644
+--- a/moo/Makefile
++++ b/moo/Makefile
+@@ -3,7 +3,7 @@ BIN = uml_moo uml_mkcow
+ uml_moo_OBJS = uml_moo.o cow.o
+ uml_mkcow_OBJS = uml_mkcow.o cow.o
+
+-CFLAGS = -g -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
++CFLAGS += -g -Wall -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE
+
+ BIN_DIR ?= /usr/bin
+
+diff --git a/port-helper/Makefile b/port-helper/Makefile
+index 8e33bdf..8b695f3 100644
+--- a/port-helper/Makefile
++++ b/port-helper/Makefile
+@@ -1,6 +1,6 @@
+ OBJS = port-helper.o
+ BIN = port-helper
+-CFLAGS = -g -Wall
++CFLAGS += -g -Wall
+
+ LIB_DIR ?= /usr/lib/uml
+
+diff --git a/tunctl/Makefile b/tunctl/Makefile
+index 743bfea..a39ad2b 100644
+--- a/tunctl/Makefile
++++ b/tunctl/Makefile
+@@ -1,6 +1,6 @@
+ OBJS = tunctl.o
+ BIN = tunctl
+-CFLAGS = -g -Wall
++CFLAGS += -g -Wall
+
+ BIN_DIR ?= /usr/bin
+
+diff --git a/uml_net/Makefile b/uml_net/Makefile
+index 36efec6..2e1ad0e 100644
+--- a/uml_net/Makefile
++++ b/uml_net/Makefile
+@@ -1,7 +1,7 @@
+ TUNTAP = $(shell [ -e /usr/include/linux/if_tun.h ] && echo -DTUNTAP)
+
+ BIN = uml_net
+-CFLAGS = -g -Wall $(TUNTAP)
++CFLAGS += -g -Wall $(TUNTAP)
+
+ BIN_DIR ?= /usr/bin
+
+diff --git a/uml_router/Makefile b/uml_router/Makefile
+index b7b5401..e399ea5 100644
+--- a/uml_router/Makefile
++++ b/uml_router/Makefile
+@@ -2,7 +2,7 @@ TUNTAP = $(shell [ -e /usr/include/linux/if_tun.h ] && echo -DTUNTAP)
+
+ OBJS = hash.o port.o uml_switch.o
+ BIN = uml_switch
+-CFLAGS = -g -Wall $(TUNTAP)
++CFLAGS += -g -Wall $(TUNTAP)
+
+ BIN_DIR ?= /usr/bin
+
+diff --git a/watchdog/Makefile b/watchdog/Makefile
+index c26fd9f..5178cc6 100644
+--- a/watchdog/Makefile
++++ b/watchdog/Makefile
+@@ -1,6 +1,6 @@
+ BIN = uml_watchdog
+ OBJS = $(BIN).o
+-CFLAGS = -g -Wall
++CFLAGS += -g -Wall
+
+ BIN_DIR ?= /usr/bin
+
+--
+2.40.1
+
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch
index f4a175cdfd..a66d7d5906 100644
--- a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/fix-ldflags.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
#
# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch
index 868001dbd5..b6fce00986 100644
--- a/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities-20040406/unstrip.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Dont strip during install let the packaging handle it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
diff --git a/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb b/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb
index 8e00cb3ea4..6a99e8d29b 100644
--- a/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb
+++ b/meta-oe/recipes-extended/uml-utilities/uml-utilities_20040406.bb
@@ -1,32 +1,33 @@
SECTION = "console/utils"
SUMMARY = "Utilities for User-Mode-Linux"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
DEPENDS = "zlib ncurses readline"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
SRC_URI = "http://downloads.sourceforge.net/project/user-mode-linux/tools/1/uml_utilities_${PV}.tar.bz2 \
file://fix-ldflags.patch \
file://unstrip.patch \
file://0001-include-required-system-header-files-for-fd_set-and-.patch \
+ file://0001-Add-missing-standard-headers-for-str-and-exit-APIs.patch \
+ file://0001-cow.c-Replace-stat64-with-stat.patch \
+ file://0001-makefiles-Append-to-CFLAGS-instead-of-re-assign.patch \
"
SRC_URI[md5sum] = "2c1ccd9efacbfb39e42d482b89b2550a"
SRC_URI[sha256sum] = "4f179b1db021ef15ac7e9b2eed57c525db127a754c574f591c367460cded9f41"
-PR = "r1"
S = "${WORKDIR}/tools"
inherit update-alternatives
do_compile() {
- oe_runmake
+ oe_runmake LIB_DIR=${libdir}/uml
}
do_install() {
- oe_runmake install DESTDIR=${D}
+ oe_runmake install DESTDIR=${D} LIB_DIR=${libdir}/uml
}
-FILES_${PN} += "${exec_prefix}${nonarch_base_libdir}"
-FILES_${PN}-dbg += "${exec_prefix}${nonarch_base_libdir}/uml/.debug"
+FILES:${PN} += "${libdir}/uml"
-ALTERNATIVE_${PN} = "tunctl"
+ALTERNATIVE:${PN} = "tunctl"
ALTERNATIVE_LINK_NAME[tunctl] = "${bindir}/tunctl"
diff --git a/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch b/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch
index 4b9a195e02..8c3b148369 100644
--- a/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch
+++ b/meta-oe/recipes-extended/upm/upm/0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch
@@ -10,6 +10,8 @@ cmake version 3.12 or higher
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
---
+Upstream-Status: Pending
+
src/CMakeLists.txt | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-extended/upm/upm/0001-include-missing-cstdint.patch b/meta-oe/recipes-extended/upm/upm/0001-include-missing-cstdint.patch
new file mode 100644
index 0000000000..59f81bf3a2
--- /dev/null
+++ b/meta-oe/recipes-extended/upm/upm/0001-include-missing-cstdint.patch
@@ -0,0 +1,43 @@
+From 64f75806c04c2ee819cf2f92cb564ad316354823 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 29 Jan 2023 00:27:47 -0800
+Subject: [PATCH] include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no longer transitively included [1]. Explicitly include it for uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://github.com/eclipse/upm/pull/704]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/mcp9808/mcp9808.hpp | 1 +
+ src/micsv89/micsv89.hpp | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/mcp9808/mcp9808.hpp b/src/mcp9808/mcp9808.hpp
+index b9e138d7..2509cd30 100644
+--- a/src/mcp9808/mcp9808.hpp
++++ b/src/mcp9808/mcp9808.hpp
+@@ -13,6 +13,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <iostream>
+ #include <string>
+ #include <interfaces/iTemperature.hpp>
+diff --git a/src/micsv89/micsv89.hpp b/src/micsv89/micsv89.hpp
+index 2f97dbce..c6e22ad8 100644
+--- a/src/micsv89/micsv89.hpp
++++ b/src/micsv89/micsv89.hpp
+@@ -11,6 +11,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <iostream>
+ #include <string>
+
+--
+2.39.1
+
diff --git a/meta-oe/recipes-extended/upm/upm_git.bb b/meta-oe/recipes-extended/upm/upm_git.bb
index 6a7611f382..3aa766d0bd 100644
--- a/meta-oe/recipes-extended/upm/upm_git.bb
+++ b/meta-oe/recipes-extended/upm/upm_git.bb
@@ -5,57 +5,58 @@ SECTION = "libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=66493d54e65bfc12c7983ff2e884f37f"
-DEPENDS = "libjpeg-turbo mraa"
+DEPENDS = "libjpeg-turbo mraa python3-setuptools-native"
SRCREV = "5cf20df96c6b35c19d5b871ba4e319e96b4df72d"
-PV = "2.0.0+git${SRCPV}"
+PV = "2.0.0+git"
-SRC_URI = "git://github.com/eclipse/${BPN}.git;protocol=http \
+SRC_URI = "git://github.com/eclipse/${BPN}.git;protocol=https;branch=master \
file://0001-CMakeLists.txt-Use-SWIG_SUPPORT_FILES-to-find-the-li.patch \
file://0001-Use-stdint-types.patch \
file://0001-initialize-local-variables-before-use.patch \
file://0001-cmake-Disable-Wno-misleading-indentation-with-clang-.patch \
file://0001-cmake-Disable-using-Wno-maybe-uninitialized.patch \
+ file://0001-include-missing-cstdint.patch \
"
-SRC_URI_append_toolchain-clang_x86 = " file://0001-nmea_gps-Link-with-latomic.patch "
+SRC_URI:append:toolchain-clang:x86 = " file://0001-nmea_gps-Link-with-latomic.patch "
S = "${WORKDIR}/git"
# Depends on mraa which only supports x86 and ARM for now
COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
-inherit distutils3-base cmake pkgconfig
+inherit setuptools3-base cmake pkgconfig
EXTRA_OECMAKE += "-UPYTHON_EXECUTABLE -DWERROR=off"
# override this in local.conf to get needed bindings.
-# BINDINGS_pn-upm="python"
+# BINDINGS:pn-upm="python"
# will result in only the python bindings being built/packaged.
# Note: 'nodejs' is disabled by default because the bindings
# generation currently fails with nodejs (>v7.x).
BINDINGS ??= "python"
# nodejs isn't available for armv4/armv5 architectures
-BINDINGS_armv4 ??= "python"
-BINDINGS_armv5 ??= "python"
+BINDINGS:armv4 ??= "python"
+BINDINGS:armv5 ??= "python"
PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
- ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
+ ${@bb.utils.contains('PACKAGES', 'python3-${PN}', 'python', '', d)}"
-PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}, -DBUILDSWIGPYTHON=OFF, swig-native python3,"
PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
-do_configure_prepend() {
+do_configure:prepend() {
sed -i s:\"lib/${_packages_path}:\"${baselib}/${_packages_path}:g ${S}/cmake/modules/OpenCVDetectPython.cmake
}
-FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}"
-RDEPENDS_${PYTHON_PN}-${PN} += "${PYTHON_PN}"
+FILES:python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}"
+RDEPENDS:python3-${PN} += "python3"
-FILES_node-${PN} = "${prefix}/lib/node_modules/"
-RDEPENDS_node-${PN} += "nodejs"
+FILES:node-${PN} = "${prefix}/lib/node_modules/"
+RDEPENDS:node-${PN} += "nodejs"
### Include desired language bindings ###
PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}"
-PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}"
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', 'python3-${PN}', '', d)}"
diff --git a/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb b/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb
index 259d3a5e16..455bda1d76 100644
--- a/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb
+++ b/meta-oe/recipes-extended/vlock/vlock_2.2.3.bb
@@ -6,7 +6,7 @@ DESCRIPTION = "Sometimes a malicious local user could cause more problems \
"
SECTION = "utils"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=a17cb0a873d252440acfdf9b3d0e7fbf"
SRC_URI = "${GENTOO_MIRROR}/${BP}.tar.gz \
@@ -37,23 +37,23 @@ do_configure () {
VLOCK_GROUP=root \
ROOT_GROUP=root \
CC="${CC}" \
- CFLAGS="${CFLAGS}" \
LDFLAGS="${LDFLAGS}" \
--prefix=${prefix} \
--libdir=${libdir} \
--mandir=${mandir} \
--with-modules="all.so new.so nosysrq.so ttyblank.so vesablank.so" \
--disable-root-password --enable-debug --disable-fail-count \
+ EXTRA_CFLAGS="${CFLAGS}" \
${PACKAGECONFIG_CONFARGS}
}
-do_install_append () {
+do_install:append () {
if [ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', '', d)} = yes ]; then
install -d -m 0755 ${D}/${sysconfdir}/pam.d
install -m 0644 ${WORKDIR}/vlock_pam ${D}${sysconfdir}/pam.d/vlock
fi
}
-ALTERNATIVE_${PN} = "vlock"
+ALTERNATIVE:${PN} = "vlock"
ALTERNATIVE_PRIORITY = "60"
ALTERNATIVE_LINK_NAME[vlock] = "${bindir}/vlock"
diff --git a/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb b/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
index e036f714ba..cc03ab4fea 100644
--- a/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
+++ b/meta-oe/recipes-extended/volume_key/volume-key_0.3.12.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "The volume_key project provides a libvolume_key, a library for manipulating \
storage volume encryption keys and storing them separately from volumes, and an \
associated command-line tool, named volume_key."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
SECTION = "devel/lib"
HOMEPAGE = "https://pagure.io/volume_key"
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "6ca3748fc1dad22c450bbf6601d4e706cb11c5e662d11bb4aeb473a9cd
SRCNAME = "volume_key"
S = "${WORKDIR}/${SRCNAME}-${PV}"
-inherit autotools python3native gettext
+inherit autotools python3native python3targetconfig gettext pkgconfig
DEPENDS += " \
util-linux \
@@ -27,12 +27,12 @@ DEPENDS += " \
swig-native \
"
-PACKAGECONFIG ??= "python3"
+PACKAGECONFIG ??= ""
PACKAGECONFIG[python3] = "--with-python3,--without-python3,python3,python3"
EXTRA_OECONF = "--without-python"
-RDEPENDS_python3-${BPN} += "${PN}"
+RDEPENDS:python3-${BPN} += "${PN}"
PACKAGES += "python3-${BPN}"
-FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-oe/recipes-extended/wipe/wipe_0.24.bb b/meta-oe/recipes-extended/wipe/wipe_0.24.bb
index 831d514a4e..ad32cb0e72 100644
--- a/meta-oe/recipes-extended/wipe/wipe_0.24.bb
+++ b/meta-oe/recipes-extended/wipe/wipe_0.24.bb
@@ -6,10 +6,10 @@ including Linux 2. * , (Open, Net, Free)BSD, aix 4.1, SunOS \
packages are available on most Linux distributions. \
Under Debian, the package name is wipe"
HOMEPAGE = "http://lambda-diode.com/software/wipe/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
-SRC_URI = "git://github.com/berke/wipe.git;branch=master \
+SRC_URI = "git://github.com/berke/wipe.git;branch=master;protocol=https \
file://support-cross-compile-for-linux.patch \
file://makefile-add-ldflags.patch \
"
diff --git a/meta-oe/recipes-extended/wtmpdb/wtmpdb/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-extended/wtmpdb/wtmpdb/0001-include-libgen.h-for-basename.patch
new file mode 100644
index 0000000000..766865e27b
--- /dev/null
+++ b/meta-oe/recipes-extended/wtmpdb/wtmpdb/0001-include-libgen.h-for-basename.patch
@@ -0,0 +1,32 @@
+From 32f99ce7e890a457af50606ea7b577659a2a790a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 17:35:07 -0700
+Subject: [PATCH] include libgen.h for basename
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [https://github.com/thkukuk/wtmpdb/pull/11]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/wtmpdb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/wtmpdb.c b/src/wtmpdb.c
+index aac7b5b..eaffae6 100644
+--- a/src/wtmpdb.c
++++ b/src/wtmpdb.c
+@@ -30,6 +30,7 @@
+ #include <time.h>
+ #include <ctype.h>
+ #include <errno.h>
++#include <libgen.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+--
+2.44.0
+
diff --git a/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.11.0.bb b/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.11.0.bb
new file mode 100644
index 0000000000..785ae50e9e
--- /dev/null
+++ b/meta-oe/recipes-extended/wtmpdb/wtmpdb_0.11.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Y2038 safe version of wtmp"
+HOMEPAGE = "https://github.com/thkukuk/wtmpdb"
+DESCRIPTION = "last reports the login and logout times of users and when the machine got rebooted."
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=020090a00b69dd2af9ab82eb0003ea2c"
+SECTION = "libs"
+
+SRCREV = "493e9704dbc50f141d5fbd41c823311e79d7e8d3"
+
+SRC_URI = "git://github.com/thkukuk/wtmpdb.git;branch=main;protocol=https \
+ file://0001-include-libgen.h-for-basename.patch"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd features_check
+
+DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)} sqlite3 "
+REQUIRED_DISTRO_FEATURES = "pam"
+
+SYSTEMD_SERVICE:${PN} = "wtmpdb-update-boot.service wtmpdb-rotate.service"
+
+EXTRA_OEMESON = " -Dpamlibdir=${libdir}"
+
+do_install:append () {
+ if [ -d ${D}${prefix}/lib/systemd -a ${D}${prefix}/lib != `dirname ${D}${systemd_unitdir}` ]; then
+ # Fix makefile hardcoded path assumptions for systemd (assumes $prefix)
+ # without usrmerge distro feature enabled
+ install -d `dirname ${D}${systemd_unitdir}`
+ mv ${D}${prefix}/lib/systemd `dirname ${D}${systemd_unitdir}`
+ fi
+}
+
+FILES:${PN} += " ${systemd_system_unitdir} "
+FILES:${PN} += " ${libdir} "
+FILES:${PN} += " ${nonarch_libdir}/tmpfiles.d/* "
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-Set-HAVE_LARGEFILE_SUPPORT-to-1-explicitly.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-Set-HAVE_LARGEFILE_SUPPORT-to-1-explicitly.patch
new file mode 100644
index 0000000000..5160f2e1fe
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-Set-HAVE_LARGEFILE_SUPPORT-to-1-explicitly.patch
@@ -0,0 +1,30 @@
+From e108aff9d6dae613f486c1b1681f4a3cdf17b845 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 19 Dec 2022 15:07:55 -0800
+Subject: [PATCH] Set HAVE_LARGEFILE_SUPPORT to 1 explicitly
+
+nothing sets this to 0, but for some reason it gets undef'd
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ build/cmake/setup.h.in | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/build/cmake/setup.h.in b/build/cmake/setup.h.in
+index bce33a73f3..22afb4cfa0 100644
+--- a/build/cmake/setup.h.in
++++ b/build/cmake/setup.h.in
+@@ -869,8 +869,7 @@
+ /*
+ * Define if large (64 bit file offsets) files are supported.
+ */
+-#cmakedefine HAVE_LARGEFILE_SUPPORT 1
+-
++#define HAVE_LARGEFILE_SUPPORT 1
+ /*
+ * Use OpenGL
+ */
+--
+2.39.0
+
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-locale-Avoid-using-glibc-specific-defines-on-musl.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-locale-Avoid-using-glibc-specific-defines-on-musl.patch
new file mode 100644
index 0000000000..52f4449339
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/0001-locale-Avoid-using-glibc-specific-defines-on-musl.patch
@@ -0,0 +1,26 @@
+From 72c3b7324f00047e6dc5d8380ed2f6ff2494a6f9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 18 Dec 2022 14:51:34 -0800
+Subject: [PATCH] locale: Avoid using glibc specific defines on musl
+
+musl does not provide some glibc-only enum members e.g. _NL_ADDRESS_LANG_NAME
+
+Upstream-Status: Submitted [https://github.com/wxWidgets/wxWidgets/pull/23050]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/unix/uilocale.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/unix/uilocale.cpp b/src/unix/uilocale.cpp
+index 57773e17f5..86816ba896 100644
+--- a/src/unix/uilocale.cpp
++++ b/src/unix/uilocale.cpp
+@@ -619,7 +619,7 @@ wxString
+ wxUILocaleImplUnix::GetLocalizedName(wxLocaleName name, wxLocaleForm form) const
+ {
+ wxString str;
+-#if defined(HAVE_LANGINFO_H) && defined(__LINUX__)
++#if defined(HAVE_LANGINFO_H) && defined(__LINUX__) && defined(__GLIBC__)
+ switch (name)
+ {
+ case wxLOCALE_NAME_LOCALE:
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/create-links-with-relative-path.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/create-links-with-relative-path.patch
new file mode 100644
index 0000000000..6eef0b6790
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/create-links-with-relative-path.patch
@@ -0,0 +1,52 @@
+It fails to build python3-wxgtk4 which depends on wxwidgets:
+
+| ERROR: wxwidgets-native-3.2.1-r0 do_populate_sysroot: sstate found an
+ absolute path symlink /path/to/build/tmp-glibc/work/x86_64-linux
+ /wxwidgets-native/3.2.1-r0/sysroot-destdir/path/to/build/tmp-glibc/work
+ /x86_64-linux/wxwidgets-native/3.2.1-r0/recipe-sysroot-native/usr/bin/wx-config
+ pointing at /path/to/build/tmp-glibc/work/x86_64-linux/wxwidgets-native/3.2.1-r0
+ /recipe-sysroot-native/usr/lib/wx/config/gtk3-unicode-3.2.
+ Please replace this with a relative link.
+| ERROR: wxwidgets-native-3.2.1-r0 do_populate_sysroot: sstate found an
+ absolute path symlink /path/to/build/tmp-glibc/work/x86_64-linux/wxwidgets-native
+ /3.2.1-r0/sysroot-destdir/path/to/build/tmp-glibc/work/x86_64-linux/wxwidgets-native
+ /3.2.1-r0/recipe-sysroot-native/usr/bin/wxrc pointing at /path/to/build/tmp-glibc
+ /work/x86_64-linux/wxwidgets-native/3.2.1-r0/recipe-sysroot-native/usr/bin/wxrc-3.2.
+ Please replace this with a relative link.
+
+Create symlink with relative path to fix the issues.
+
+Upstream-Status: Pending
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ build/cmake/install.cmake | 2 +-
+ build/cmake/utils/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake
+index d3303faabb..c79e187f37 100644
+--- a/build/cmake/install.cmake
++++ b/build/cmake/install.cmake
+@@ -42,7 +42,7 @@ else()
+ install(DIRECTORY DESTINATION "bin")
+ install(CODE "execute_process( \
+ COMMAND ${CMAKE_COMMAND} -E create_symlink \
+- \"${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/wx/config/${wxBUILD_FILE_ID}\" \
++ \"../lib${LIB_SUFFIX}/wx/config/${wxBUILD_FILE_ID}\" \
+ \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wx-config\" \
+ )"
+ )
+diff --git a/build/cmake/utils/CMakeLists.txt b/build/cmake/utils/CMakeLists.txt
+index dbed8cc9b3..1dbc3261d3 100644
+--- a/build/cmake/utils/CMakeLists.txt
++++ b/build/cmake/utils/CMakeLists.txt
+@@ -40,7 +40,7 @@ if(wxUSE_XRC)
+ # Don't use wx_install() here to preserve escaping.
+ install(CODE "execute_process( \
+ COMMAND ${CMAKE_COMMAND} -E create_symlink \
+- \"${CMAKE_INSTALL_PREFIX}/bin/${wxrc_output_name}${EXE_SUFFIX}\" \
++ \"./${wxrc_output_name}${EXE_SUFFIX}\" \
+ \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX}\" \
+ )"
+ )
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch
new file mode 100644
index 0000000000..ea204ed3b1
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/fix-libdir-for-multilib.patch
@@ -0,0 +1,107 @@
+wxWidgets hardcodes libdir with 'lib' and does not support multilib which will
+change it. Respect variable wxPLATFORM_LIB_DIR to support libdir be configurable.
+
+Upstream-Status: Pending
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Rebase for wxWidgets 3.2.1. Replace wxPLATFORM_LIB_DIR with LIB_SUFFIX in this
+patch that LIB_SUFFIX has been passed to cmake in cmake.bbclass.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ CMakeLists.txt | 2 +-
+ build/cmake/config.cmake | 2 +-
+ build/cmake/functions.cmake | 4 ++--
+ build/cmake/install.cmake | 12 ++++++------
+ 4 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a49ecd3883..d469471f38 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -45,7 +45,7 @@ include(build/cmake/policies.cmake NO_POLICY_SCOPE)
+ # Initialize variables for quick access to wx root dir in sub dirs
+ set(wxSOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+ set(wxBINARY_DIR ${CMAKE_BINARY_DIR})
+-set(wxOUTPUT_DIR ${wxBINARY_DIR}/lib)
++set(wxOUTPUT_DIR ${wxBINARY_DIR}/lib${LIB_SUFFIX})
+
+ # parse the version number from wx/version.h and include in wxMAJOR_VERSION and wxMINOR_VERSION
+ file(READ "${wxSOURCE_DIR}/include/wx/version.h" WX_VERSION_H_CONTENTS)
+diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake
+index b359560bc0..c59ea60923 100644
+--- a/build/cmake/config.cmake
++++ b/build/cmake/config.cmake
+@@ -76,7 +76,7 @@ function(wx_write_config_inplace)
+ execute_process(
+ COMMAND
+ "${CMAKE_COMMAND}" -E ${COPY_CMD}
+- "${CMAKE_CURRENT_BINARY_DIR}/lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}"
++ "${CMAKE_CURRENT_BINARY_DIR}/lib${LIB_SUFFIX}/wx/config/inplace-${TOOLCHAIN_FULLNAME}"
+ "${CMAKE_CURRENT_BINARY_DIR}/wx-config"
+ )
+ endfunction()
+diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake
+index 7182364e5e..55fbebc7ee 100644
+--- a/build/cmake/functions.cmake
++++ b/build/cmake/functions.cmake
+@@ -435,8 +435,8 @@ macro(wx_add_library name)
+ endif()
+ wx_install(TARGETS ${name}
+ EXPORT wxWidgetsTargets
+- LIBRARY DESTINATION "lib${GEN_EXPR_DIR}${wxPLATFORM_LIB_DIR}"
+- ARCHIVE DESTINATION "lib${GEN_EXPR_DIR}${wxPLATFORM_LIB_DIR}"
++ LIBRARY DESTINATION "lib${LIB_SUFFIX}${GEN_EXPR_DIR}${wxPLATFORM_LIB_DIR}"
++ ARCHIVE DESTINATION "lib${LIB_SUFFIX}${GEN_EXPR_DIR}${wxPLATFORM_LIB_DIR}"
+ RUNTIME DESTINATION "${runtime_dir}${GEN_EXPR_DIR}${wxPLATFORM_LIB_DIR}"
+ BUNDLE DESTINATION Applications/wxWidgets
+ )
+diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake
+index 384c6837b8..d3303faabb 100644
+--- a/build/cmake/install.cmake
++++ b/build/cmake/install.cmake
+@@ -29,11 +29,11 @@ if(WIN32_MSVC_NAMING)
+ else()
+ install(
+ DIRECTORY "${wxSETUP_HEADER_PATH}"
+- DESTINATION "lib/wx/include")
++ DESTINATION "lib${LIB_SUFFIX}/wx/include")
+
+ install(
+ FILES "${wxOUTPUT_DIR}/wx/config/${wxBUILD_FILE_ID}"
+- DESTINATION "lib/wx/config"
++ DESTINATION "lib${LIB_SUFFIX}/wx/config"
+ PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+ GROUP_EXECUTE GROUP_READ
+ WORLD_EXECUTE WORLD_READ
+@@ -42,13 +42,13 @@ else()
+ install(DIRECTORY DESTINATION "bin")
+ install(CODE "execute_process( \
+ COMMAND ${CMAKE_COMMAND} -E create_symlink \
+- \"${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID}\" \
++ \"${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/wx/config/${wxBUILD_FILE_ID}\" \
+ \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/wx-config\" \
+ )"
+ )
+ endif()
+
+-install(EXPORT wxWidgetsTargets NAMESPACE wx:: DESTINATION "lib/cmake/wxWidgets/${wxPLATFORM_LIB_DIR}")
++install(EXPORT wxWidgetsTargets NAMESPACE wx:: DESTINATION "lib${LIB_SUFFIX}/cmake/wxWidgets/${wxPLATFORM_LIB_DIR}")
+
+ # find_package config file
+ include(CMakePackageConfigHelpers)
+@@ -71,11 +71,11 @@ write_basic_package_version_file(
+ configure_package_config_file(
+ "${wxSOURCE_DIR}/build/cmake/wxWidgetsConfig.cmake.in"
+ "${projectConfig}"
+- INSTALL_DESTINATION "lib/cmake/wxWidgets"
++ INSTALL_DESTINATION "lib${LIB_SUFFIX}/cmake/wxWidgets"
+ )
+ install(
+ FILES "${projectConfig}" "${versionConfig}"
+- DESTINATION "lib/cmake/wxWidgets"
++ DESTINATION "lib${LIB_SUFFIX}/cmake/wxWidgets"
+ )
+
+ # uninstall target
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/musl-locale-l.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/musl-locale-l.patch
new file mode 100644
index 0000000000..e4ca6579f8
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/musl-locale-l.patch
@@ -0,0 +1,34 @@
+Upstream-Status: Pending
+
+these macro'd away functions don't exist in musl (yet)
+diff --git a/include/wx/xlocale.h b/include/wx/xlocale.h
+index c433d25..3ab9d84 100644
+--- a/include/wx/xlocale.h
++++ b/include/wx/xlocale.h
+@@ -33,6 +33,26 @@
+ #include "wx/crt.h" // Includes wx/chartype.h, wx/wxcrt.h(wx/string.h)
+ #include "wx/intl.h" // wxLanguage
+
++#ifndef strtol_l
++#define strtol_l(s, p, base, l) strtol(s, p, base)
++#endif
++
++#ifndef strtoul_l
++#define strtoul_l(s, p, base, l) strtoul(s, p, base)
++#endif
++
++#ifndef wcstod_l
++#define wcstod_l(s, p, l) wcstod(s, p)
++#endif
++
++#ifndef wcstol_l
++#define wcstol_l(s, p, base, l) wcstol(s, p, base)
++#endif
++
++#ifndef wcstoul_l
++#define wcstoul_l(s, p, base, l) wcstoul(s, p, base)
++#endif
++
+ // The platform-specific locale type
+ // If wxXLocale_t is not defined, then only "C" locale support is provided
+ #ifdef wxHAS_XLOCALE_SUPPORT
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/not-append-system-name-to-lib-name.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/not-append-system-name-to-lib-name.patch
new file mode 100644
index 0000000000..6329256b0c
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/not-append-system-name-to-lib-name.patch
@@ -0,0 +1,32 @@
+It appends system name to library names for cross compile. For example, the
+library name is libwx_baseu-3.1-Linux.so rather than libwx_baseu-3.1.so. It is
+not appropriate for oe.
+
+Upstream-Status: Pending [oe specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Rebase for wxWidgets 3.2.1.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ build/cmake/functions.cmake | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake
+index e374d9a273..c6b1908bd6 100644
+--- a/build/cmake/functions.cmake
++++ b/build/cmake/functions.cmake
+@@ -219,9 +219,9 @@ function(wx_set_target_properties target_name)
+ endif()
+
+ set(cross_target)
+- if (CMAKE_CROSSCOMPILING)
+- set(cross_target "-${CMAKE_SYSTEM_NAME}")
+- endif()
++ #if (CMAKE_CROSSCOMPILING)
++ # set(cross_target "-${CMAKE_SYSTEM_NAME}")
++ #endif()
+
+ set(lib_prefix "lib")
+ if(MSVC OR (WIN32 AND wxBUILD_SHARED))
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets/wx-config-fix-libdir-for-multilib.patch b/meta-oe/recipes-extended/wxwidgets/wxwidgets/wx-config-fix-libdir-for-multilib.patch
new file mode 100644
index 0000000000..628f8dee56
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets/wx-config-fix-libdir-for-multilib.patch
@@ -0,0 +1,60 @@
+It sets 'libdir' with path element 'lib' directly which is not suitable for
+multilib. Add an option '--baselib' for wx-config to support multilib when
+cross compile. And set default value of baselib with "lib${wxPLATFORM_LIB_DIR}".
+
+Upstream-Status: Pending [oe specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Rebase for wxWidgets 3.2.1. Replace wxPLATFORM_LIB_DIR with variable LIB_SUFFIX.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ build/cmake/config.cmake | 2 +-
+ wx-config.in | 6 ++++--
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake
+index 52ae69d3f6..28aa733eb0 100644
+--- a/build/cmake/config.cmake
++++ b/build/cmake/config.cmake
+@@ -86,7 +86,7 @@ function(wx_write_config)
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix "\${prefix}")
+ set(includedir "\${prefix}/include")
+- set(libdir "\${exec_prefix}/lib")
++ set(libdir "\${exec_prefix}/\${baselib}")
+ set(bindir "\${exec_prefix}/bin")
+
+ find_program(EGREP egrep)
+diff --git a/wx-config.in b/wx-config.in
+index e3f7d115bb..0e78af03c7 100755
+--- a/wx-config.in
++++ b/wx-config.in
+@@ -42,7 +42,8 @@ usage()
+ {
+ cat 1>&2 <<EOF
+
+- wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--release] [--version-full]
++ wx-config [--prefix[=DIR]] [--exec-prefix[=DIR]][--baselib=DIR]
++ [--release] [--version-full]
+ [--list] [--selected-config] [--host=HOST] [--toolkit=TOOLKIT]
+ [--universal[=yes|no]] [--unicode[=yes|no]] [--static[=yes|no]]
+ [--debug[=yes|no]] [--version[=VERSION]] [--flavour=FLAVOUR]
+@@ -137,7 +138,7 @@ wxconfig_output_options="prefix exec_prefix
+
+ # Options that permit the user to supply hints that may affect the output.
+ # These options all accept arbitrary values, to interpret as they please.
+-wxconfig_input_options="prefix exec_prefix utility $wxconfig_schema"
++wxconfig_input_options="prefix exec_prefix baselib utility $wxconfig_schema"
+
+ # Input options that accept only a yes or no argument.
+ #
+@@ -404,6 +405,7 @@ is_cross() { [ "x@cross_compiling@" = "xyes" ]; }
+ # Determine the base directories we require.
+ prefix=${input_option_prefix-${this_prefix:-@prefix@}}
+ exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}}
++baselib=${input_option_baselib:-lib${LIB_SUFFIX}}
+ wxconfdir="@libdir@/wx/config"
+
+ installed_configs=`cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-"`
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
new file mode 100644
index 0000000000..91653e2852
--- /dev/null
+++ b/meta-oe/recipes-extended/wxwidgets/wxwidgets_3.2.1.bb
@@ -0,0 +1,123 @@
+SUMMARY = "Cross-Plattform GUI Library"
+DESCRIPTION = "wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls."
+HOMEPAGE = "https://www.wxwidgets.org/"
+BUGTRACKER = "https://trac.wxwidgets.org/"
+
+# WXwindows licence is a modified version of LGPL explicitly allowing not
+# distributing the sources of an application using the library even in the
+# case of static linking.
+LICENSE = "WXwindows"
+LIC_FILES_CHKSUM = "file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"
+
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake', d)}
+inherit lib_package binconfig pkgconfig
+
+DEPENDS += " \
+ jpeg \
+ libpng \
+ tiff \
+"
+
+SRC_URI = "gitsm://github.com/wxWidgets/wxWidgets.git;branch=3.2;protocol=https \
+ file://0001-wx-config.in-Disable-cross-magic-it-does-not-work-fo.patch \
+ file://fix-libdir-for-multilib.patch \
+ file://create-links-with-relative-path.patch \
+ file://not-append-system-name-to-lib-name.patch \
+ file://wx-config-fix-libdir-for-multilib.patch \
+ file://0001-locale-Avoid-using-glibc-specific-defines-on-musl.patch \
+ file://musl-locale-l.patch \
+ file://0001-Set-HAVE_LARGEFILE_SUPPORT-to-1-explicitly.patch \
+ "
+SRCREV= "97e99707c5d2271a70cb686720b48dbf34ced496"
+S = "${WORKDIR}/git"
+
+# These can be either 'builtin' or 'sys' and builtin means cloned soures are
+# build. So these cannot be PACKAGECONFIGs and let's use libs where we can (see
+# DEPENDS)
+EXTRA_OECMAKE += " \
+ -DwxUSE_GLCANVAS_EGL=OFF \
+ -DwxUSE_LIBJPEG=sys \
+ -DwxUSE_LIBPNG=sys \
+ -DwxUSE_LIBTIFF=sys \
+ -DwxUSE_REGEX=builtin \
+"
+EXTRA_OECMAKE:append:class-target = ' -DEGREP="/bin/grep -E"'
+
+# OpenGL support currently seems tied to using libglu, which requires x11
+PACKAGECONFIG ?= "${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gtk', 'no_gui', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)} \
+"
+
+PACKAGECONFIG:remove:class-native = "opengl"
+
+# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk' / 'qt'
+PACKAGECONFIG[no_gui] = "-DwxUSE_GUI=OFF,,,,,qt gtk opengl"
+PACKAGECONFIG[gtk] = "-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_GUI=ON -DwxUSE_PRIVATE_FONTS=ON,,gtk+3,,,no_gui qt"
+PACKAGECONFIG[qt] = "-DwxBUILD_TOOLKIT=qt -DwxUSE_GUI=ON,,qtbase,,,no_gui gtk"
+python () {
+ pkgconfig = d.getVar('PACKAGECONFIG')
+ if (not 'no_gui' in pkgconfig) and (not 'gtk' in pkgconfig) and (not 'qt' in pkgconfig):
+ bb.error("PACKAGECONFIG must select a toolkit. Add one of no_gui / gtk / qt!")
+}
+
+# Notes on other PACKAGECONFIGs:
+# * 'no_gui' overrides some configs below so they are marked as conflicting
+# with 'no_gui' to avoid surprises
+# * qt+gstreamer is broken due to incorrect references on glib-2.0 -> mark
+# as conflicting
+# * wxUSE_LIBGNOMEVFS is for gtk2 (see init.cmake) which we don't support
+# -> no gvfs PACKAGECONFIG
+# * libmspack is in meta-security
+PACKAGECONFIG[gstreamer] = "-DwxUSE_MEDIACTRL=ON,-DwxUSE_MEDIACTRL=OFF,gstreamer1.0-plugins-base,,,no_gui qt"
+PACKAGECONFIG[libsecret] = "-DwxUSE_SECRETSTORE=ON,-DwxUSE_SECRETSTORE=OFF,libsecret,,,no_gui"
+PACKAGECONFIG[lzma] = "-DwxUSE_LIBLZMA=ON,-DwxUSE_LIBLZMA=OFF,xz"
+PACKAGECONFIG[mspack] = "-DwxUSE_LIBMSPACK=ON,-DwxUSE_LIBMSPACK=OFF,libmspack"
+PACKAGECONFIG[opengl] = "-DwxUSE_OPENGL=ON,-DwxUSE_OPENGL=OFF,libglu"
+PACKAGECONFIG[sdl_audio] = "-DwxUSE_LIBSDL=ON,-DwxUSE_LIBSDL=OFF,libsdl2"
+PACKAGECONFIG[webkit] = "-DwxUSE_WEBVIEW_WEBKIT=ON,-DwxUSE_WEBVIEW_WEBKIT=OFF,webkitgtk3,,,no_gui"
+PACKAGECONFIG[curl] = "-DwxUSE_WEBREQUEST_CURL=ON,-DwxUSE_WEBREQUEST_CURL=OFF,curl"
+
+# Support LFS unconditionally
+CXXFLAGS += "-D_FILE_OFFSET_BITS=64"
+
+do_compile:append() {
+ # if not at re-compile
+ if [ -L ${B}/wx-config ]; then
+ # ${B}/wx-config is a symlink for build and not needed after compile
+ # So for our purposes do:
+ # 1. make a file out of wx-config so that binconfig.bbclass detects it
+ # 2. make sure we do not move the file used for compiling into sysroot
+ cp --remove-destination `readlink ${B}/wx-config | sed 's:inplace-::'` ${B}/wx-config
+ fi
+ # 3. Set full sysroot paths so sstate can translate them when setting
+ # up wxwidgets's consumer sysroots
+ sed -i \
+ -e 's,^includedir=.*,includedir="${STAGING_INCDIR}",g' \
+ -e 's,^libdir=.*",libdir="${STAGING_LIBDIR}",g' \
+ -e 's,^bindir=.*",bindir="${STAGING_BINDIR}",g' \
+ ${B}/wx-config
+}
+
+do_install:append() {
+ # do not ship bindir if empty
+ rmdir --ignore-fail-on-non-empty ${D}${bindir}
+
+ # fix host contamination
+ sed -i -e "s#${STAGING_DIR_NATIVE}##g" \
+ -e "s#${STAGING_DIR_TARGET}##g" \
+ ${D}${libdir}/wx/config/*-unicode-3.2 \
+ ${D}${libdir}/cmake/wxWidgets/wxWidgetsTargets.cmake
+}
+
+FILES:${PN} += " \
+ ${libdir}/wx/ \
+"
+
+FILES:${PN}-dev += " \
+ ${libdir}/wx/include/ \
+ ${libdir}/wx/config/ \
+"
+
+RDEPENDS:${PN}-dev += "grep"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb b/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
deleted file mode 100644
index 26a9004fb7..0000000000
--- a/meta-oe/recipes-extended/wxwidgets/wxwidgets_git.bb
+++ /dev/null
@@ -1,104 +0,0 @@
-SUMMARY = "Cross-Plattform GUI Library"
-DESCRIPTION = "wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls."
-HOMEPAGE = "https://www.wxwidgets.org/"
-BUGTRACKER = "https://trac.wxwidgets.org/"
-
-# wxWidgets licence is a modified version of LGPL explicitly allowing not
-# distributing the sources of an application using the library even in the
-# case of static linking.
-LICENSE = "wxWidgets"
-LIC_FILES_CHKSUM = "file://docs/licence.txt;md5=981f50a934828620b08f44d75db557c6"
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt', 'cmake_qt5', 'cmake', d)}
-inherit features_check lib_package binconfig
-
-# All toolkit-configs except 'no_gui' require x11 explicitly (see toolkit.cmake)
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG', 'no_gui', '', 'x11', d)}"
-
-DEPENDS += " \
- jpeg \
- libpng \
- tiff \
-"
-
-SRC_URI = " \
- git://github.com/wxWidgets/wxWidgets.git \
- file://0001-wx-config.in-Disable-cross-magic-it-does-not-work-fo.patch \
-"
-PV = "3.1.4"
-SRCREV= "6cdaedd42ba59331b3dc4ead50e0bac76ae14c19"
-S = "${WORKDIR}/git"
-
-# These can be either 'builtin' or 'sys' and builtin means cloned soures are
-# build. So these cannot be PACKAGECONFIGs and let's use libs where we can (see
-# DEPENDS)
-EXTRA_OECMAKE += " \
- -DwxUSE_LIBJPEG=sys \
- -DwxUSE_LIBPNG=sys \
- -DwxUSE_LIBTIFF=sys \
- -DwxUSE_REGEX=builtin \
-"
-EXTRA_OECMAKE_append_libc-musl = " \
- -DHAVE_LOCALE_T=OFF \
-"
-
-PACKAGECONFIG ?= "gtk ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
-
-# Note on toolkit-PACKAGECONFIGs: select exactly one of 'no_gui' / 'gtk' / 'qt'
-PACKAGECONFIG[no_gui] = "-DwxUSE_GUI=OFF,,,,,qt gtk opengl"
-PACKAGECONFIG[gtk] = "-DwxBUILD_TOOLKIT=gtk3 -DwxUSE_GUI=ON,,gtk+3,,,no_gui qt"
-PACKAGECONFIG[qt] = "-DwxBUILD_TOOLKIT=qt -DwxUSE_GUI=ON,,qtbase,,,no_gui gtk"
-python () {
- pkgconfig = d.getVar('PACKAGECONFIG')
- if (not 'no_gui' in pkgconfig) and (not 'gtk' in pkgconfig) and (not 'qt' in pkgconfig):
- bb.error("PACKAGECONFIG must select a toolkit. Add one of no_gui / gtk / qt!")
-}
-
-# Notes on other PACKAGECONFIGs:
-# * 'no_gui' overrides some configs below so they are marked as conflicting
-# with 'no_gui' to avoid surprises
-# * qt+gstreamer is broken due to incorrect references on glib-2.0 -> mark
-# as conflicting
-# * wxUSE_LIBGNOMEVFS is for gtk2 (see init.cmake) which we don't support
-# -> no gvfs PACKAGECONFIG
-# * libmspack is in meta-security
-PACKAGECONFIG[gstreamer] = "-DwxUSE_MEDIACTRL=ON,-DwxUSE_MEDIACTRL=OFF,gstreamer1.0-plugins-base,,,no_gui qt"
-PACKAGECONFIG[libsecret] = "-DwxUSE_SECRETSTORE=ON,-DwxUSE_SECRETSTORE=OFF,libsecret,,,no_gui"
-PACKAGECONFIG[lzma] = "-DwxUSE_LIBLZMA=ON,-DwxUSE_LIBLZMA=OFF,xz"
-PACKAGECONFIG[mspack] = "-DwxUSE_LIBMSPACK=ON,-DwxUSE_LIBMSPACK=OFF,libmspack"
-PACKAGECONFIG[opengl] = ",,libglu"
-PACKAGECONFIG[sdl_audio] = "-DwxUSE_LIBSDL=ON,-DwxUSE_LIBSDL=OFF,libsdl2"
-PACKAGECONFIG[webkit] = "-DwxUSE_WEBVIEW_WEBKIT=ON,-DwxUSE_WEBVIEW_WEBKIT=OFF,webkitgtk,,,no_gui"
-
-do_compile_append() {
- # if not at re-compile
- if [ -L ${B}/wx-config ]; then
- # ${B}/wx-config is a symlink for build and not needed after compile
- # So for our purposes do:
- # 1. make a file out of wx-config so that binconfig.bbclass detects it
- # 2. make sure we do not move the file used for compiling into sysroot
- cp --remove-destination `readlink ${B}/wx-config | sed 's:inplace-::'` ${B}/wx-config
- fi
- # 3. Set full sysroot paths so sstate can translate them when setting
- # up wxwidgets's consumer sysroots
- sed -i \
- -e 's,^includedir=.*,includedir="${STAGING_INCDIR}",g' \
- -e 's,^libdir=.*",libdir="${STAGING_LIBDIR}",g' \
- -e 's,^bindir=.*",bindir="${STAGING_BINDIR}",g' \
- ${B}/wx-config
-}
-
-do_install_append() {
- # do not ship bindir if empty
- rmdir --ignore-fail-on-non-empty ${D}${bindir}
-}
-
-# lib names are not canonical
-FILES_SOLIBSDEV = ""
-
-FILES_${PN} += " \
- ${libdir}/libwx_*.so \
- ${libdir}/wx/ \
-"
-
-FILES_${PN}-dev += "${libdir}/wx/include/"
diff --git a/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb b/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb
deleted file mode 100644
index 7dde4182fb..0000000000
--- a/meta-oe/recipes-extended/zlog/zlog_1.2.15.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Zlog is a pure C logging library"
-HOMEPAGE = "https://github.com/HardySimpson/zlog"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRCREV = "876099f3c66033f3de11d79f63814766b1021dbe"
-SRC_URI = "git://github.com/HardySimpson/zlog"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig
-
-EXTRA_OEMAKE = "CC='${CC}' LD='${LD}' LIBRARY_PATH=${baselib}"
-
-do_install() {
- oe_runmake install PREFIX=${D}${exec_prefix} INSTALL=install
-}
diff --git a/meta-oe/recipes-extended/zlog/zlog_1.2.16.bb b/meta-oe/recipes-extended/zlog/zlog_1.2.16.bb
new file mode 100644
index 0000000000..b75802f09f
--- /dev/null
+++ b/meta-oe/recipes-extended/zlog/zlog_1.2.16.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Zlog is a pure C logging library"
+HOMEPAGE = "https://github.com/HardySimpson/zlog"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRCREV = "dc2c284664757fce6ef8f96f8b3ab667a53ef489"
+SRC_URI = "git://github.com/HardySimpson/zlog;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "CC='${CC}' LD='${LD}' LIBRARY_PATH=${baselib}"
+
+do_install() {
+ oe_runmake install PREFIX=${D}${exec_prefix} INSTALL=install
+}
diff --git a/meta-oe/recipes-extended/zram/zram/zram-swap-init b/meta-oe/recipes-extended/zram/zram/zram-swap-init
index ccc3aafe3a..28082f7ff0 100755
--- a/meta-oe/recipes-extended/zram/zram/zram-swap-init
+++ b/meta-oe/recipes-extended/zram/zram/zram-swap-init
@@ -24,3 +24,8 @@ modprobe -q zram || true
zramctl -a ${ZRAM_ALGORITHM} -s ${memzram}KB $device
mkswap -L "zram-swap" $device
+
+devname="${device##*/}"
+if [ ! -z ${ZRAM_SIZE_LIMIT+x} ]; then
+ echo ${ZRAM_SIZE_LIMIT} > /sys/block/$devname/mem_limit
+fi
diff --git a/meta-oe/recipes-extended/zram/zram_0.2.bb b/meta-oe/recipes-extended/zram/zram_0.2.bb
index 98c47af7ac..b4b3a27b2b 100644
--- a/meta-oe/recipes-extended/zram/zram_0.2.bb
+++ b/meta-oe/recipes-extended/zram/zram_0.2.bb
@@ -4,11 +4,10 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
inherit update-rc.d systemd
-RDEPENDS_${PN} = "kmod \
+RDEPENDS:${PN} = "kmod \
${@bb.utils.contains('DISTRO_FEATURES','systemd','util-linux','util-linux-swaponoff',d)}"
-RRECOMMENDS_${PN} = "kernel-module-zram"
+RRECOMMENDS:${PN} = "kernel-module-zram"
-PR = "r3"
SRC_URI = " \
file://init \
@@ -36,7 +35,7 @@ do_install () {
fi
}
-FILES_${PN} = " \
+FILES:${PN} = " \
${sysconfdir} \
${systemd_unitdir} \
${libexecdir} \
@@ -44,7 +43,7 @@ FILES_${PN} = " \
INITSCRIPT_NAME = "zram"
INITSCRIPT_PARAMS = "start 05 2 3 4 5 . stop 22 0 1 6 ."
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "dev-zram0.swap"
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "dev-zram0.swap"
diff --git a/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch b/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch
deleted file mode 100644
index c701554b8b..0000000000
--- a/meta-oe/recipes-extended/zstd/zstd/0001-Fix-legacy-build-after-2103.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 93cec0c1d6d0be8dd3a9d01d3e7f2099f1728df7 Mon Sep 17 00:00:00 2001
-From: Orivej Desh <orivej@gmx.fr>
-Date: Fri, 22 May 2020 12:48:02 +0000
-Subject: [PATCH] Fix legacy build after #2103
-
-Upstream-Status: Backport
-Signed-of-by: Alex Kiernan <alex.kiernan@gmail.com>
----
- lib/legacy/zstd_v04.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/legacy/zstd_v04.c b/lib/legacy/zstd_v04.c
-index 56bf45222498..19fda8980abf 100644
---- a/lib/legacy/zstd_v04.c
-+++ b/lib/legacy/zstd_v04.c
-@@ -74,7 +74,7 @@ extern "C" {
- /*-*************************************
- * Debug
- ***************************************/
--#include "debug.h"
-+#include "../common/debug.h"
- #ifndef assert
- # define assert(condition) ((void)0)
- #endif
---
-2.17.1
-
diff --git a/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb b/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
deleted file mode 100644
index d0cc625aad..0000000000
--- a/meta-oe/recipes-extended/zstd/zstd_1.4.5.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Zstandard - Fast real-time compression algorithm"
-DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
-real-time compression scenarios at zlib-level and better compression ratios. \
-It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
-HOMEPAGE = "http://www.zstd.net/"
-SECTION = "console/utils"
-
-LICENSE = "BSD-3-Clause & GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c7f0b161edbe52f5f345a3d1311d0b32 \
- file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0"
-
-inherit lib_package
-
-SRC_URI = "git://github.com/facebook/zstd.git;nobranch=1 \
- file://0001-Fix-legacy-build-after-2103.patch \
- "
-
-SRCREV = "b706286adbba780006a47ef92df0ad7a785666b6"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
-PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
-PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
-
-# See programs/README.md for how to use this
-ZSTD_LEGACY_SUPPORT ??= "4"
-
-do_compile () {
- oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
-}
-
-do_install () {
- oe_runmake install 'DESTDIR=${D}'
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-extended/zsync/zsync-curl/fixes.patch b/meta-oe/recipes-extended/zsync/zsync-curl/fixes.patch
new file mode 100644
index 0000000000..1ec4993a1c
--- /dev/null
+++ b/meta-oe/recipes-extended/zsync/zsync-curl/fixes.patch
@@ -0,0 +1,115 @@
+Upstream-Status: Submitted [https://github.com/probonopd/zsync-curl/pull/41]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/src/configure.ac b/src/configure.ac
+index 10de8c4..6488140 100644
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -9,7 +9,6 @@ AC_CONFIG_MACRO_DIR([autotools])
+ AC_CANONICAL_HOST
+
+ AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip foreign check-news -Woverride -Wobsolete -Wportability -Wsyntax -Wunsupported])
+-AM_MAINTAINER_MODE
+
+ dnl --- Check for programs
+ AC_PROG_CC
+@@ -23,6 +22,7 @@ AS_IF([test "x$enable_profile" = "xyes"], [
+ ZS_CFLAGS="${ZS_CFLAGS} -pg" ])
+
+ dnl --- Header files, typedefs, structures, libraries
++AC_USE_SYSTEM_EXTENSIONS
+ AC_C_CONST
+ AC_HEADER_STDC
+ # string.h, memory.h, stdlib.h both included in the default header checks
+@@ -55,10 +55,6 @@ case $host_os in
+ host_os_mingw32=yes
+ LIBS="${LIBS} -lwsock32"
+ ;;
+- *)
+- AC_DEFINE([_XOPEN_SOURCE], 600, [Enable POSIX extensions if present])
+- AC_DEFINE([_BSD_SOURCE],1, [Enable BSD extensions if present])
+- ;;
+ esac
+ AM_CONDITIONAL([MINGW32], test "x$host_os_mingw32" = "xyes")
+
+diff --git a/src/librcksum/Makefile.am b/src/librcksum/Makefile.am
+index f4fce72..47754eb 100644
+--- a/src/librcksum/Makefile.am
++++ b/src/librcksum/Makefile.am
+@@ -1,4 +1,4 @@
+-
++AM_CPPFLAGS = "-I$(top_srcdir)"
+
+ noinst_LIBRARIES = librcksum.a
+
+diff --git a/src/librcksum/md4.h b/src/librcksum/md4.h
+index e90603a..0ed7485 100644
+--- a/src/librcksum/md4.h
++++ b/src/librcksum/md4.h
+@@ -18,11 +18,8 @@
+
+ #include "zsglobal.h"
+
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
+-#else
++#include <stdint.h>
+ #include <sys/types.h>
+-#endif
+
+ #define MD4_BLOCK_LENGTH 64
+ #define MD4_DIGEST_LENGTH 16
+diff --git a/src/libzsync/Makefile.am b/src/libzsync/Makefile.am
+index 0a6ae85..33a5951 100644
+--- a/src/libzsync/Makefile.am
++++ b/src/libzsync/Makefile.am
+@@ -1,3 +1,4 @@
++AM_CPPFLAGS = "-I$(top_srcdir)"
+
+ noinst_LIBRARIES = libzsync.a
+
+diff --git a/src/libzsync/sha1.h b/src/libzsync/sha1.h
+index 3946505..87f3794 100644
+--- a/src/libzsync/sha1.h
++++ b/src/libzsync/sha1.h
+@@ -11,11 +11,8 @@
+
+ #include "config.h"
+
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
+-#else
++#include <stdint.h>
+ #include <sys/types.h>
+-#endif
+
+ #define SHA1_BLOCK_LENGTH 64
+ #define SHA1_DIGEST_LENGTH 20
+diff --git a/src/libzsync/zmap.c b/src/libzsync/zmap.c
+index f052dba..030b2a5 100644
+--- a/src/libzsync/zmap.c
++++ b/src/libzsync/zmap.c
+@@ -28,9 +28,6 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <arpa/inet.h>
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
+-#endif
+
+ #ifdef WITH_DMALLOC
+ # include <dmalloc.h>
+diff --git a/src/make.c b/src/make.c
+index 191b527..ba7f3a9 100644
+--- a/src/make.c
++++ b/src/make.c
+@@ -28,9 +28,6 @@
+ #include <time.h>
+
+ #include <arpa/inet.h>
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
+-#endif
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
diff --git a/meta-oe/recipes-extended/zsync/zsync-curl/make.patch b/meta-oe/recipes-extended/zsync/zsync-curl/make.patch
new file mode 100644
index 0000000000..ef19b5e85e
--- /dev/null
+++ b/meta-oe/recipes-extended/zsync/zsync-curl/make.patch
@@ -0,0 +1,50 @@
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+From 3b9d64cf3c33ad235ed444f8715732e509ab023f Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Wed, 9 Jun 2021 16:11:25 +0100
+Subject: [PATCH] Build zsyncmake
+
+No point having the zsync client without the server-side tool.
+
+Closes #42
+---
+ .gitignore | 1 +
+ src/Makefile.am | 5 ++++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/.gitignore b/.gitignore
+index 36f7bd8..728658e 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -22,3 +22,4 @@ src/librcksum/md4test
+ src/libzsync/sha1test
+ stamp-h1
+ zsync_curl
++zsyncmake_curl
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 5f8ff73..ffa2280 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -4,13 +4,16 @@ ACLOCAL_AMFLAGS = -I autotools
+
+ SUBDIRS = librcksum zlib libzsync doc
+
+-bin_PROGRAMS = zsync_curl
++bin_PROGRAMS = zsync_curl zsyncmake_curl
+
+ zsync_curl_SOURCES = client.c http.c http.h url.c url.h progress.c progress.h base64.c format_string.h zsglobal.h
+ zsync_curl_LDADD = libzsync/libzsync.a librcksum/librcksum.a zlib/libinflate.a $(LIBOBJS)
+
+ EXTRA_zsync_curl_SOURCES = getaddrinfo.h
+
++zsyncmake_curl_SOURCES = make.c makegz.c makegz.h format_string.h
++zsyncmake_curl_LDADD = libzsync/libzsync.a librcksum/librcksum.a zlib/libinflate.a zlib/libdeflate.a -lm
++
+ # From "GNU autoconf, automake and libtool" Vaughan, Elliston,
+ # # Tromey and Taylor, publisher New Riders, p.134
+ # # They made me do it! :-)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-extended/zsync/zsync-curl_git.bb b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb
new file mode 100644
index 0000000000..1bc4010f8a
--- /dev/null
+++ b/meta-oe/recipes-extended/zsync/zsync-curl_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "File transfer tool optimised for large files (curl port)"
+HOMEPAGE = "http://zsync.moria.org.uk/"
+DEPENDS = "curl"
+
+LICENSE = "Artistic-2.0"
+LIC_FILES_CHKSUM = "file://src/COPYING;md5=71c0ac4d86266533509aa0825b8d323c"
+
+SRC_URI = "git://github.com/probonopd/zsync-curl;protocol=https;branch=master \
+ file://fixes.patch \
+ file://make.patch"
+SRCREV = "00141c2806ccc4ddf2ff6263ee1612d19c0b713f"
+
+PV = "0.6.2+git"
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+AUTOTOOLS_SCRIPT_PATH = "${S}/src"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb b/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb
new file mode 100644
index 0000000000..fa47cbd48d
--- /dev/null
+++ b/meta-oe/recipes-gnome/atk/atkmm-2.36_2.36.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "C++ bindings for the atk"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "atk glibmm-2.68"
+
+GNOMEBN = "atkmm"
+
+inherit gnomebase features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI[archive.sha256sum] = "6f62dd99f746985e573605937577ccfc944368f606a71ca46342d70e1cdae079"
+
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
+EXTRA_OEMESON = "-Dbuild-documentation=false"
+
+FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb b/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb
deleted file mode 100644
index 0e09c3a64b..0000000000
--- a/meta-oe/recipes-gnome/atk/atkmm_2.28.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "C++ bindings for the atk"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "atk glibmm"
-
-inherit features_check gnomebase autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[archive.md5sum] = "6194ac577f15567adfa3c923944c6651"
-SRC_URI[archive.sha256sum] = "4c4cfc917fd42d3879ce997b463428d6982affa0fb660cafcc0bc2d9afcedd3a"
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb b/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb
new file mode 100644
index 0000000000..bc637470f9
--- /dev/null
+++ b/meta-oe/recipes-gnome/atk/atkmm_2.28.2.bb
@@ -0,0 +1,19 @@
+SUMMARY = "C++ bindings for the atk"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "atk glibmm"
+
+
+inherit gnomebase features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI[archive.sha256sum] = "a0bb49765ceccc293ab2c6735ba100431807d384ffa14c2ebd30e07993fd2fa4"
+
+EXTRA_OEMESON = "-Dbuild-documentation=false"
+
+FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-oe/recipes-gnome/gcab/gcab_1.4.bb b/meta-oe/recipes-gnome/gcab/gcab_1.4.bb
deleted file mode 100644
index 68f52bf92d..0000000000
--- a/meta-oe/recipes-gnome/gcab/gcab_1.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A GObject library to create cabinet files"
-HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcab"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-DEPENDS = "glib-2.0"
-
-SRC_URI = "\
- ${GNOME_MIRROR}/gcab/${PV}/gcab-${PV}.tar.xz \
- file://run-ptest \
-"
-SRC_URI[sha256sum] = "67a5fa9be6c923fbc9197de6332f36f69a33dadc9016a2b207859246711c048f"
-
-inherit gobject-introspection gtk-doc manpages meson ptest-gnome vala
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('USE_NLS', 'yes', 'nls', '', d)} \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
-"
-PACKAGECONFIG[manpages] = ""
-PACKAGECONFIG[nls] = "-Dnls=true,-Dnls=false"
-PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-gnome/gcab/gcab_1.6.bb b/meta-oe/recipes-gnome/gcab/gcab_1.6.bb
new file mode 100644
index 0000000000..4278fc9453
--- /dev/null
+++ b/meta-oe/recipes-gnome/gcab/gcab_1.6.bb
@@ -0,0 +1,24 @@
+SUMMARY = "A GObject library to create cabinet files"
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcab"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "glib-2.0"
+
+SRC_URI = "\
+ ${GNOME_MIRROR}/gcab/${PV}/gcab-${PV}.tar.xz \
+ file://run-ptest \
+"
+SRC_URI[sha256sum] = "2f0c9615577c4126909e251f9de0626c3ee7a152376c15b5544df10fc87e560b"
+
+inherit gobject-introspection gtk-doc manpages meson ptest-gnome vala
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.contains('USE_NLS', 'yes', 'nls', '', d)} \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+"
+PACKAGECONFIG[manpages] = ""
+PACKAGECONFIG[nls] = "-Dnls=true,-Dnls=false"
+PACKAGECONFIG[tests] = "-Dtests=true -Dinstalled_tests=true,-Dtests=false -Dinstalled_tests=false"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch b/meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
new file mode 100644
index 0000000000..2b2baf772e
--- /dev/null
+++ b/meta-oe/recipes-gnome/gcr/gcr3/0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch
@@ -0,0 +1,34 @@
+From 2618ab101f5faaa887c9feeeee84a7d8bc97cbda Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Wed, 16 Nov 2022 11:27:24 +0100
+Subject: [PATCH] meson.build: correctly handle disabled ssh_agent option
+
+Existing code produces these errors:
+| gcr/meson.build:61:0: ERROR: Unable to get the path of a not-found external program
+| gcr/meson.build:101:5: ERROR: Unknown variable "ssh_add_path".
+
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+
+Upstream-Status: Backport [ https://gitlab.gnome.org/GNOME/gcr/-/commit/9b67bb18d8409e0e693cc6000507acbd73a30eab ]
+
+---
+ meson.build | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index dd890a9..1b17b18 100644
+--- a/meson.build
++++ b/meson.build
+@@ -82,8 +82,10 @@ conf.set('HAVE_TIMEGM', cc.has_function('timegm'))
+ conf.set('HAVE_MLOCK', cc.has_function('mlock'))
+ conf.set_quoted('GPG_EXECUTABLE', gpg_path)
+ conf.set_quoted('LIBGCRYPT_VERSION', libgcrypt_dep.version())
+-conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path)
+-conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path)
++if get_option('ssh_agent')
++ conf.set_quoted('SSH_ADD_EXECUTABLE', ssh_add_path)
++ conf.set_quoted('SSH_AGENT_EXECUTABLE', ssh_agent_path)
++endif
+ conf.set10('WITH_SYSTEMD', with_systemd)
+ config_file = configure_file(
+ output: 'config.h',
diff --git a/meta-oe/recipes-gnome/gcr/gcr3_3.41.2.bb b/meta-oe/recipes-gnome/gcr/gcr3_3.41.2.bb
new file mode 100644
index 0000000000..0fd30f7424
--- /dev/null
+++ b/meta-oe/recipes-gnome/gcr/gcr3_3.41.2.bb
@@ -0,0 +1,61 @@
+SUMMARY = "A library for bits of crypto UI and parsing etc"
+DESCRIPTION = "GCR is a library for displaying certificates, and crypto UI, \
+accessing key stores. It also provides the viewer for crypto files on the \
+GNOME desktop."
+HOMEPAGE = "https://gitlab.gnome.org/GNOME/gcr"
+BUGTRACKER = "https://gitlab.gnome.org/GNOME/gcr/issues"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
+
+DEPENDS = "p11-kit glib-2.0 libgcrypt gnupg-native \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'libxslt-native', '', d)}"
+
+CACHED_CONFIGUREVARS += "ac_cv_path_GPG='gpg2'"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+VALA_MESON_OPTION ?= ''
+
+inherit gnomebase gtk-icon-cache gi-docgen features_check upstream-version-is-even vala gobject-introspection gettext mime mime-xdg
+UPSTREAM_CHECK_REGEX = "[^\d\.](?P<pver>3.(?!9\d+)\d+(\.\d+)+)\.tar"
+
+SRC_URI = "https://download.gnome.org/sources/gcr/3.41/gcr-${PV}.tar.xz;name=archive"
+SRC_URI += "file://0001-meson.build-correctly-handle-disabled-ssh_agent-opti.patch"
+SRC_URI[archive.sha256sum] = "bad10f3c553a0e1854649ab59c5b2434da22ca1a54ae6138f1f53961567e1ab7"
+
+S = "${WORKDIR}/gcr-${PV}"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gtk', '', d)} \
+"
+PACKAGECONFIG[gtk] = "-Dgtk=true,-Dgtk=false,gtk+3"
+PACKAGECONFIG[ssh_agent] = "-Dssh_agent=true,-Dssh_agent=false,libsecret,openssh"
+#'Use systemd socket activation for server programs'
+PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1 \
+ ${datadir}/gcr-3 \
+ ${datadir}/vala \
+ ${systemd_user_unitdir}/gcr-ssh-agent.socket \
+ ${systemd_user_unitdir}/gcr-ssh-agent.service \
+"
+
+# http://errors.yoctoproject.org/Errors/Details/20229/
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
+
+EXTRA_OEMESON += "--cross-file ${WORKDIR}/meson-${PN}.cross"
+do_write_config:append() {
+ cat >${WORKDIR}/meson-${PN}.cross <<EOF
+[binaries]
+gpg2 = '${bindir}/gpg2'
+ssh-add = '${bindir}/ssh-add'
+ssh-agent = '${bindir}/ssh-agent'
+EOF
+}
diff --git a/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h b/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h
index 714cb5aa9d..a899ce0ad4 100644
--- a/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h
+++ b/meta-oe/recipes-gnome/gmime/gmime/iconv-detect.h
@@ -3,3 +3,4 @@
#define ICONV_ISO_INT_FORMAT "iso-%u-%u"
#define ICONV_ISO_STR_FORMAT "iso-%u-%s"
#define ICONV_10646 "iso-10646"
+#define ICONV_SHIFT_JIS "shift-jis"
diff --git a/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch b/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch
deleted file mode 100644
index 1f9bdd3041..0000000000
--- a/meta-oe/recipes-gnome/gmime/gmime/nodolt.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -150,7 +150,6 @@ AC_EXEEXT
- AC_PROG_LIBTOOL
- dnl when using libtool 2.x create libtool early, because it's used in configure
- m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
--DOLT
-
- dnl Checks for header files.
- AC_CHECK_HEADERS(sys/mman.h)
diff --git a/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb b/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb
new file mode 100644
index 0000000000..f51451d971
--- /dev/null
+++ b/meta-oe/recipes-gnome/gmime/gmime_3.2.13.bb
@@ -0,0 +1,23 @@
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
+DESCRIPTION = "Runtime libraries for parsing and creating MIME mail"
+SECTION = "libs"
+
+DEPENDS = "glib-2.0 zlib"
+
+GNOMEBASEBUILDCLASS = "autotools"
+inherit gnomebase gobject-introspection vala gtk-doc
+
+SRC_URI = "https://github.com/jstedfast/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://iconv-detect.h \
+"
+SRC_URI[sha256sum] = "2e10a54d4821daf8b16c019ad5d567e0fb8e766f8ffe5fec3d4c6a37373d6406"
+
+EXTRA_OECONF += "--enable-largefile"
+
+export ac_cv_have_iconv_detect_h="yes"
+export ac_cv_sys_file_offset_bits="64"
+
+do_configure:append () {
+ cp ${WORKDIR}/iconv-detect.h ${S}
+}
diff --git a/meta-oe/recipes-gnome/gmime/gmime_3.2.6.bb b/meta-oe/recipes-gnome/gmime/gmime_3.2.6.bb
deleted file mode 100644
index 4ae13e7efe..0000000000
--- a/meta-oe/recipes-gnome/gmime/gmime_3.2.6.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-LICENSE = "LGPL-2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
-DESCRIPTION = "Runtime libraries for parsing and creating MIME mail"
-SECTION = "libs"
-DEPENDS = "glib-2.0 zlib"
-
-inherit gnomebase gobject-introspection
-
-SRC_URI += "file://iconv-detect.h \
- file://nodolt.patch"
-
-SRC_URI[archive.md5sum] = "656548dc431004d1ebf95e5d0bb4b9c8"
-SRC_URI[archive.sha256sum] = "abff194c7c4802fba2e233890d09dde8bf7170c3ad5e13000601c8d5b3c44717"
-
-export ac_cv_have_iconv_detect_h="yes"
-
-do_configure_append () {
- cp ${WORKDIR}/iconv-detect.h ${S}
-}
diff --git a/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
index d874164540..9447470213 100644
--- a/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
+++ b/meta-oe/recipes-gnome/gnome-common/gnome-common_3.18.0.bb
@@ -2,10 +2,11 @@ SUMMARY = "Common macros for building GNOME applications"
HOMEPAGE = "http://www.gnome.org/"
BUGTRACKER = "https://bugzilla.gnome.org/"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SECTION = "x11/gnome"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase allarch
SRC_URI[archive.md5sum] = "933258d9c23e218eb6eec9cc1951b053"
@@ -16,9 +17,9 @@ DEPENDS = ""
# Default to enable autoconf-archive to avoid conflicts
PACKAGECONFIG ??= "autoconf-archive"
-PACKAGECONFIG[autoconf-archive] = "--with-autoconf-archive, --without-autoconf-archive, autoconf-archive"
+PACKAGECONFIG[autoconf-archive] = "--with-autoconf-archive, --without-autoconf-archive, autoconf-archive,autoconf-archive"
-FILES_${PN} += "${datadir}/aclocal"
-FILES_${PN}-dev = ""
+FILES:${PN} += "${datadir}/aclocal"
+FILES:${PN}-dev = ""
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb b/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb
index f7fbedd6e0..db55f22398 100644
--- a/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb
+++ b/meta-oe/recipes-gnome/gnome-doc-utils-stub/gnome-doc-utils-stub_1.0.bb
@@ -2,17 +2,17 @@ SUMMARY = "Stub implementation of gnome-doc-utils"
DESCRIPTION = "This recipe provides m4 macros from gnome-doc-utils project, so \
that dependent recipes can build. Gnome-doc-utils itself is no longer packaged because \
it requires libxml2 and python 2 at the same time, which can no longer be satisfied. "
-LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6 \
file://${COREBASE}/meta/files/common-licenses/LGPL-2.1-only;md5=1a6d268fd218675ffea8be556788b780"
SRC_URI = "file://gnome-doc-utils.m4"
PROVIDES = "gnome-doc-utils"
-do_install_append() {
+do_install:append() {
install -d ${D}${datadir}/aclocal/
install ${WORKDIR}/gnome-doc-utils.m4 ${D}${datadir}/aclocal/
}
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
diff --git a/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.3.bb b/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.3.bb
new file mode 100644
index 0000000000..1ddc277651
--- /dev/null
+++ b/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_5.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "An unofficial GTK3 port of libadwaita."
+HOMEPAGE = "http://github.com/lassekongo83/adw-gtk3"
+SECTION = "graphics"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+DEPENDS = "sassc-native"
+
+inherit meson
+
+SRC_URI = "git://github.com/lassekongo83/adw-gtk3.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+SRCREV = "22a3b9374369640993e4a7ab84f8acc72318e501"
+
+FILES:${PN} = "${datadir}/themes"
diff --git a/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb b/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
index ac594711cd..3456383c3a 100644
--- a/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
+++ b/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
@@ -3,24 +3,28 @@ HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/sources/gnome-themes-standard/"
BUGTRACKER = "https://bugzilla.gnome.org/"
SECTION = "x11/gnome"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
+GNOMEBASEBUILDCLASS = "autotools"
+GTKIC_VERSION = '3'
inherit gnomebase gettext gtk-icon-cache upstream-version-is-even features_check
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-DEPENDS += "intltool-native gtk+"
+DEPENDS += "intltool-native gtk+3 librsvg"
+# PV is 3.28 not 3.28.0, so the gnomebase SRC_URI isn't right.
+SRC_URI = "${GNOME_MIRROR}/${BPN}/${PV}/${BPN}-${PV}.tar.xz;name=archive"
SRC_URI[archive.md5sum] = "f9f2c6c521948da427f702372e16f826"
SRC_URI[archive.sha256sum] = "7c4ba0bff001f06d8983cfc105adaac42df1d1267a2591798a780bac557a5819"
-EXTRA_OECONF = "--disable-gtk3-engine"
+EXTRA_OECONF = "--disable-gtk2-engine"
-do_install_append() {
+do_install:append() {
# Only building Adwaita, remove highcontrast files
- rm -rf ${D}${prefix}/share/themes/HighContrast \
- ${D}${prefix}/share/icons
+ rm -rf ${D}${datadir}/themes/HighContrast \
+ ${D}${datadir}/icons
# The libtool archive file is unneeded with shared libs on modern Linux
rm -rf ${D}${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la
@@ -32,11 +36,11 @@ PACKAGES += "gnome-theme-adwaita \
gnome-theme-adwaita-dark \
"
-FILES_gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \
+FILES:gnome-theme-adwaita = "${datadir}/themes/Adwaita \
${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so"
-FILES_gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark"
-RDEPENDS_gnome-theme-adwaita-dark = "gnome-theme-adwaita"
+FILES:gnome-theme-adwaita-dark = "${datadir}/themes/Adwaita-dark"
+RDEPENDS:gnome-theme-adwaita-dark = "gnome-theme-adwaita"
# gnome-themes-standard is empty and doesn't exist
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-oe/recipes-gnome/gtk+/gtk+.inc b/meta-oe/recipes-gnome/gtk+/gtk+.inc
index ccbcfc8da4..f2af7c920e 100644
--- a/meta-oe/recipes-gnome/gtk+/gtk+.inc
+++ b/meta-oe/recipes-gnome/gtk+/gtk+.inc
@@ -4,7 +4,7 @@ set of widgets, GTK+ is suitable for projects ranging from small one-off project
HOMEPAGE = "http://www.gtk.org"
BUGTRACKER = "https://bugzilla.gnome.org/"
-LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
+LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
@@ -32,12 +32,12 @@ inherit autotools gtk-doc pkgconfig update-alternatives gtk-immodules-cache gobj
PACKAGES += "libgail gtk-demo"
-FILES_${PN} += "${bindir}/gtk-update-icon-cache-2.0 \
+FILES:${PN} += "${bindir}/gtk-update-icon-cache-2.0 \
${bindir}/gtk-query-immodules-2.0 \
${datadir}/themes ${sysconfdir} \
${libdir}/gtk-2.0/${LIBV}/engines/libpixmap.so"
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
${datadir}/gtk-2.0/include \
${libdir}/gtk-2.0/include \
${libdir}/gtk-2.0/modules/*.la \
@@ -47,12 +47,12 @@ FILES_${PN}-dev += " \
${libdir}/gtk-2.0/${LIBV}/engines/*.la \
${bindir}/gtk-builder-convert"
-FILES_gtk-demo = " \
+FILES:gtk-demo = " \
${datadir}/gtk-2.0/demo/* \
${bindir}/gtk-demo \
"
-FILES_libgail = " \
+FILES:libgail = " \
${libdir}/gtk-2.0/modules/libgail.so \
${libdir}/gtk-2.0/modules/libferret.so \
"
@@ -67,13 +67,13 @@ GTKBASE_RRECOMMENDS ?= "liberation-fonts \
"
GTKGLIBC_RRECOMMENDS ?= "${GTKBASE_RRECOMMENDS} glibc-gconv-iso8859-1"
-RRECOMMENDS_${PN} = "${GTKBASE_RRECOMMENDS}"
-RRECOMMENDS_${PN}_libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
+RRECOMMENDS:${PN} = "${GTKBASE_RRECOMMENDS}"
+RRECOMMENDS:${PN}:libc-glibc = "${GTKGLIBC_RRECOMMENDS}"
-ALTERNATIVE_${PN} = "gtk-update-icon-cache"
+ALTERNATIVE:${PN} = "gtk-update-icon-cache"
ALTERNATIVE_TARGET[gtk-update-icon-cache] = "${bindir}/gtk-update-icon-cache-2.0"
-do_compile_prepend() {
+do_compile:prepend() {
export GIR_EXTRA_LIBS_PATH="${B}/gdk/.libs"
}
diff --git a/meta-oe/recipes-gnome/gtk+/gtk+/0001-Fix-signature-of-create_menu-function.patch b/meta-oe/recipes-gnome/gtk+/gtk+/0001-Fix-signature-of-create_menu-function.patch
new file mode 100644
index 0000000000..6b5f928391
--- /dev/null
+++ b/meta-oe/recipes-gnome/gtk+/gtk+/0001-Fix-signature-of-create_menu-function.patch
@@ -0,0 +1,50 @@
+From a703e2406fda3dc150574ae2f90cb5f4810d0601 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 29 Aug 2022 00:25:19 -0700
+Subject: [PATCH] Fix signature of create_menu() function
+
+Upstream-Status: Inappropriate [EOL]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/testmenubars.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/testmenubars.c b/tests/testmenubars.c
+index 416a939..7f247f8 100644
+--- a/tests/testmenubars.c
++++ b/tests/testmenubars.c
+@@ -21,7 +21,7 @@
+ #include <gtk/gtk.h>
+
+ static GtkWidget *
+-create_menu (depth)
++create_menu (int depth)
+ {
+ GtkWidget *menu;
+ GtkWidget *menuitem;
+@@ -70,19 +70,19 @@ create_menubar (GtkPackDirection pack_dir,
+ menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_HOME, NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
+ gtk_label_set_angle (GTK_LABEL (GTK_BIN (menuitem)->child), angle);
+- menu = create_menu (2, TRUE);
++ menu = create_menu (2);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
+
+ menuitem = gtk_menu_item_new_with_label ("foo");
+ gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
+ gtk_label_set_angle (GTK_LABEL (GTK_BIN (menuitem)->child), angle);
+- menu = create_menu (2, TRUE);
++ menu = create_menu (2);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
+
+ menuitem = gtk_menu_item_new_with_label ("bar");
+ gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
+ gtk_label_set_angle (GTK_LABEL (GTK_BIN (menuitem)->child), angle);
+- menu = create_menu (2, TRUE);
++ menu = create_menu (2);
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu);
+
+ return menubar;
+--
+2.37.2
+
diff --git a/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch b/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
deleted file mode 100644
index 9eb7f6bf5c..0000000000
--- a/meta-oe/recipes-gnome/gtk+/gtk+/hardcoded_libtool.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Updated to apply to gtk+-2.24.15
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-Index: gtk+-2.24.31/configure.ac
-===================================================================
---- gtk+-2.24.31.orig/configure.ac
-+++ gtk+-2.24.31/configure.ac
-@@ -415,7 +415,7 @@ AC_MSG_CHECKING([Whether to write depend
- case $enable_explicit_deps in
- auto)
- export SED
-- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
-+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
- if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
- enable_explicit_deps=yes
- else
-@@ -772,7 +772,7 @@ else
- dnl Now we check to see if our libtool supports shared lib deps
- dnl (in a rather ugly way even)
- if $dynworks; then
-- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
-+ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
- module_deplibs_check=`$module_libtool_config | \
- grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
- sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
-@@ -1579,7 +1579,7 @@ fi
- # We are using gmodule-no-export now, but I'm leaving the stripping
- # code in place for now, since pango and atk still require gmodule.
- export SED
--export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-+export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
- if test -n "$export_dynamic"; then
- GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
- GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb b/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb
index 0c2e353a9a..5eac641cf3 100644
--- a/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb
+++ b/meta-oe/recipes-gnome/gtk+/gtk+_2.24.33.bb
@@ -6,11 +6,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c"
SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/2.24/gtk+-${PV}.tar.xz \
file://xsettings.patch \
- file://hardcoded_libtool.patch \
file://toggle-font.diff;striplevel=0 \
file://doc-fixes.patch \
file://strict-prototypes.patch \
file://0001-Do-not-look-into-HOME-when-looking-for-gtk-modules.patch \
+ file://0001-Fix-signature-of-create_menu-function.patch \
"
SRC_URI[sha256sum] = "ac2ac757f5942d318a311a54b0c80b5ef295f299c2a73c632f6bfb1ff49cc6da"
@@ -21,7 +21,7 @@ LIBV = "2.10.0"
PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*"
-python populate_packages_prepend () {
+python populate_packages:prepend () {
gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}')
immodules_root = os.path.join(gtk_libdir, 'immodules')
printmodules_root = os.path.join(gtk_libdir, 'printbackends');
@@ -30,5 +30,5 @@ python populate_packages_prepend () {
do_split_packages(d, printmodules_root, r'^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
if (d.getVar('DEBIAN_NAMES')):
- d.setVar(d.expand('PKG_${PN}'), '${MLPREFIX}libgtk-2.0')
+ d.setVar(d.expand('PKG:${PN}'), '${MLPREFIX}libgtk-2.0')
}
diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm/0001-meson.build-use-relative-path.patch b/meta-oe/recipes-gnome/gtk+/gtkmm/0001-meson.build-use-relative-path.patch
deleted file mode 100644
index 46a6916434..0000000000
--- a/meta-oe/recipes-gnome/gtk+/gtkmm/0001-meson.build-use-relative-path.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 152d295a28567ac87b0e6db2e62c0d914b1d7ef9 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Tue, 23 Feb 2021 08:47:54 +0000
-Subject: [PATCH] meson.build: use relative path
-
-Fixes:
-Fatal error: can't create
-gdk/gdkmm/libgdkmm-3.0.so.1.1.0.p/_buildarea1_master-wr_build_Userspace_auto-usrmerge_standalone_usrmerge_next_210222_lxbuilds_Har12345_platform_up_intel-x86-64-standard-glibc-std_wrlinux_build_tmp-glibc_work_corei7-64-wrs-linux_gtkmm3_3.24.3-r0_gtkmm-3.24.3_untracked_gdk_gdkmm_timecoord.cc.o: File name too long
-
-Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gtkmm/-/merge_requests/61]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- gdk/gdkmm/meson.build | 4 ++--
- gtk/gtkmm/meson.build | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/gdk/gdkmm/meson.build b/gdk/gdkmm/meson.build
-index afccaea..240ce4d 100644
---- a/gdk/gdkmm/meson.build
-+++ b/gdk/gdkmm/meson.build
-@@ -200,9 +200,9 @@ else # not maintainer_mode
- gdkmm_hg_ccg_basenames,
- )
-
-- built_cc_files = [ src_untracked_gdkmm / 'wrap_init.cc' ]
-+ built_cc_files = [ '../..' / untracked_gdkmm / 'wrap_init.cc' ]
- foreach file : gdkmm_used_hg_ccg_basenames
-- built_cc_files += src_untracked_gdkmm / file + '.cc'
-+ built_cc_files += '../..' / untracked_gdkmm / file + '.cc'
- endforeach
-
- gdk_gen_sources = built_cc_files
-diff --git a/gtk/gtkmm/meson.build b/gtk/gtkmm/meson.build
-index ab96a22..cc0c050 100644
---- a/gtk/gtkmm/meson.build
-+++ b/gtk/gtkmm/meson.build
-@@ -464,9 +464,9 @@ else # not maintainer_mode
- gtkmm_hg_ccg_basenames,
- )
-
-- built_cc_files = [ src_untracked_gtkmm / 'wrap_init.cc' ]
-+ built_cc_files = [ '../..' / untracked_gtkmm / 'wrap_init.cc' ]
- foreach file : gtkmm_used_hg_ccg_basenames
-- built_cc_files += src_untracked_gtkmm / file + '.cc'
-+ built_cc_files += '../..' / untracked_gtkmm / file + '.cc'
- endforeach
-
- gtk_gen_sources = built_cc_files
---
-2.29.2
-
diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb b/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb
deleted file mode 100644
index 1648e37fa8..0000000000
--- a/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "C++ bindings for the GTK+ toolkit V3"
-HOMEPAGE = "http://www.gtkmm.org/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "glib-2.0-native atkmm pangomm glibmm gtk+3 cairomm"
-
-BPN = "gtkmm"
-
-GNOMEBASEBUILDCLASS = "meson"
-
-inherit gnomebase features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += "file://0001-meson.build-use-relative-path.patch \
-"
-
-SRC_URI[archive.sha256sum] = "60497c4f7f354c3bd2557485f0254f8b7b4cf4bebc9fee0be26a77744eacd435"
-
-EXTRA_OEMESON = "-Dbuild-demos=false"
-
-FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb b/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb
new file mode 100644
index 0000000000..cac6474e73
--- /dev/null
+++ b/meta-oe/recipes-gnome/gtk+/gtkmm3_3.24.7.bb
@@ -0,0 +1,22 @@
+SUMMARY = "C++ bindings for the GTK+ toolkit V3"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "glib-2.0-native atkmm pangomm glibmm gtk+3 cairomm gdk-pixbuf-native"
+
+BPN = "gtkmm"
+
+
+inherit gnomebase features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI[archive.sha256sum] = "1d7a35af9c5ceccacb244ee3c2deb9b245720d8510ac5c7e6f4b6f9947e6789c"
+
+EXTRA_OEMESON = "-Dbuild-demos=false"
+
+FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm4_4.14.0.bb b/meta-oe/recipes-gnome/gtk+/gtkmm4_4.14.0.bb
new file mode 100644
index 0000000000..d3a01e444c
--- /dev/null
+++ b/meta-oe/recipes-gnome/gtk+/gtkmm4_4.14.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "C++ bindings for the GTK+ toolkit V4"
+HOMEPAGE = "http://www.gtkmm.org/"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "glib-2.0-native atkmm pangomm-2.48 glibmm gtk4 cairomm-1.16 gdk-pixbuf-native"
+
+BPN = "gtkmm"
+
+inherit gnomebase features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+SRC_URI[archive.sha256sum] = "9350a0444b744ca3dc69586ebd1b6707520922b6d9f4f232103ce603a271ecda"
+
+EXTRA_OEMESON = "-Dbuild-demos=false"
+
+FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb b/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
index bb179447b8..87b0f5e65d 100644
--- a/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
+++ b/meta-oe/recipes-gnome/gtk+/gtkmm_2.24.5.bb
@@ -2,12 +2,13 @@ SUMMARY = "C++ bindings for the GTK+ toolkit"
HOMEPAGE = "http://www.gtkmm.org/"
SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "atkmm pangomm glibmm gtk+ cairomm"
+GNOMEBASEBUILDCLASS = "autotools"
inherit gnomebase features_check
REQUIRED_DISTRO_FEATURES = "x11"
@@ -17,4 +18,4 @@ SRC_URI[archive.sha256sum] = "0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09
EXTRA_OECONF = " --disable-documentation "
-FILES_${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
+FILES:${PN}-dev += "${libdir}/*/include ${libdir}/*/proc/m4"
diff --git a/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb b/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb
deleted file mode 100644
index bbfba55a3d..0000000000
--- a/meta-oe/recipes-gnome/libjcat/libjcat_0.1.6.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-SUMMARY = "Library for reading and writing Jcat files"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
-
-DEPENDS = "\
- glib-2.0 \
- json-glib \
-"
-
-SRC_URI = "\
- git://github.com/hughsie/libjcat.git \
- file://run-ptest \
-"
-SRCREV = "c4f032468c56a5750e1e15b01fa31539b5c7ae51"
-S = "${WORKDIR}/git"
-
-inherit gobject-introspection gtk-doc meson ptest-gnome vala
-
-PACKAGECONFIG ??= "\
- gpg \
- pkcs7 \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
-"
-PACKAGECONFIG[gpg] = "-Dgpg=true,-Dgpg=false,gpgme"
-PACKAGECONFIG[pkcs7] = "-Dpkcs7=true,-Dpkcs7=false,gnutls gnutls-native"
-PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
-
-# manpage generation is broken because help2man needs to run the target binary on the host...
-EXTRA_OEMESON = "-Dman=false"
-GTKDOC_MESON_OPTION = "gtkdoc"
-
-RDEPENDS_${PN}_class-target = "\
- ${@bb.utils.contains('PACKAGECONFIG', 'gpg', 'gnupg', '', d)} \
-"
diff --git a/meta-oe/recipes-gnome/libjcat/libjcat_0.2.1.bb b/meta-oe/recipes-gnome/libjcat/libjcat_0.2.1.bb
new file mode 100644
index 0000000000..2d95e14447
--- /dev/null
+++ b/meta-oe/recipes-gnome/libjcat/libjcat_0.2.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Library for reading and writing Jcat files"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
+
+DEPENDS = "\
+ glib-2.0 \
+ json-glib \
+"
+
+SRC_URI = "\
+ git://github.com/hughsie/libjcat.git;branch=main;protocol=https \
+ file://run-ptest \
+"
+SRCREV = "869e7cf4511b81897512a3f0adb627218e618112"
+S = "${WORKDIR}/git"
+
+inherit gobject-introspection gtk-doc meson ptest-gnome vala lib_package
+
+PACKAGECONFIG ??= "\
+ gpg \
+ pkcs7 \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+"
+PACKAGECONFIG[gpg] = "-Dgpg=true,-Dgpg=false,gpgme"
+PACKAGECONFIG[pkcs7] = "-Dpkcs7=true,-Dpkcs7=false,gnutls gnutls-native"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
+
+# manpage generation is broken because help2man needs to run the target binary on the host...
+EXTRA_OEMESON = "-Dman=false"
+GTKDOC_MESON_OPTION = "gtkdoc"
+
+RDEPENDS:${PN}:class-target = "\
+ ${@bb.utils.contains('PACKAGECONFIG', 'gpg', 'gnupg', '', d)} \
+"
diff --git a/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch b/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch
deleted file mode 100644
index 86586fe710..0000000000
--- a/meta-oe/recipes-gnome/libpeas/libpeas/0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 53a4f19887d9ae4e77f32dd6d71c8a7b516b4d5d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Mon, 10 Aug 2020 21:53:33 +0200
-Subject: [PATCH] Do not build tests when introspection is disabled/missing
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes:
-| ../libpeas-1.26.0/tests/libpeas/introspection/meson.build:47:0: ERROR: Unknown variable "libpeas_gir".
-
-Upstrem-Status: Submitted[https://gitlab.gnome.org/GNOME/libpeas/-/merge_requests/28]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- meson.build | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 8322fea..43fb062 100644
---- a/meson.build
-+++ b/meson.build
-@@ -254,7 +254,9 @@ subdir('loaders')
- if build_demos == true
- subdir('peas-demo')
- endif
--subdir('tests')
-+if generate_gir == true
-+ subdir('tests')
-+endif
-
- summary = [
- '',
---
-2.26.2
-
diff --git a/meta-oe/recipes-gnome/libpeas/libpeas/0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch b/meta-oe/recipes-gnome/libpeas/libpeas/0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch
new file mode 100644
index 0000000000..6bb48777ec
--- /dev/null
+++ b/meta-oe/recipes-gnome/libpeas/libpeas/0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch
@@ -0,0 +1,82 @@
+From d798af685e9e1166400acbdab082c17b02dad85b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 May 2023 23:28:10 -0700
+Subject: [PATCH] Remove builddir and srcdir paths from test binaries
+
+Encoding buildtime paths is not needed since if these tests are to be
+run they will be run on target where builddir structure most certainly
+wont be available.
+
+Fixes
+WARNING: libpeas-1.36.0-r0 do_package_qa: QA Issue: File /usr/bin/peas-demo in package libpeas-demo contains reference to TMPDIR [buildpaths]
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ peas-demo/meson.build | 2 +-
+ tests/libpeas-gtk/testing/meson.build | 4 ++--
+ tests/libpeas/testing/meson.build | 4 ++--
+ tests/testing-util/meson.build | 4 ++--
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/peas-demo/meson.build b/peas-demo/meson.build
+index a3ec53b..855ebf2 100644
+--- a/peas-demo/meson.build
++++ b/peas-demo/meson.build
+@@ -9,7 +9,7 @@ peas_demo_c = [
+
+ peas_demo_c_args = [
+ '-DHAVE_CONFIG_H',
+- '-DPEAS_BUILDDIR="@0@"'.format(builddir),
++ '-DPEAS_BUILDDIR="/usr/src/debug/libpeas"',
+ '-DPEAS_PREFIX="@0@"'.format(prefix),
+ '-DPEAS_LIBDIR="@0@"'.format(libdir),
+ ]
+diff --git a/tests/libpeas-gtk/testing/meson.build b/tests/libpeas-gtk/testing/meson.build
+index 646f42d..fd9a692 100644
+--- a/tests/libpeas-gtk/testing/meson.build
++++ b/tests/libpeas-gtk/testing/meson.build
+@@ -19,8 +19,8 @@ libpeas_gtk_testing_deps = [
+
+ libpeas_gtk_testing_c_args = [
+ '-DHAVE_CONFIG_H',
+- '-DBUILDDIR="@0@"'.format(builddir),
+- '-DSRCDIR="@0@"'.format(srcdir),
++ '-DBUILDDIR="/usr/src/debug/libpeas"',
++ '-DSRCDIR="/usr/src/debug/libpeas"',
+ ]
+
+ libpeas_gtk_testing_lib = library(
+diff --git a/tests/libpeas/testing/meson.build b/tests/libpeas/testing/meson.build
+index 74ba7b1..084daa9 100644
+--- a/tests/libpeas/testing/meson.build
++++ b/tests/libpeas/testing/meson.build
+@@ -21,8 +21,8 @@ libpeas_testing_deps = [
+
+ libpeas_testing_c_args = [
+ '-DHAVE_CONFIG_H',
+- '-DBUILDDIR="@0@"'.format(builddir),
+- '-DSRCDIR="@0@"'.format(srcdir),
++ '-DBUILDDIR="/usr/src/debug/libpeas"',
++ '-DSRCDIR="/usr/src/debug/libpeas"',
+ ]
+
+ libpeas_testing_lib = library(
+diff --git a/tests/testing-util/meson.build b/tests/testing-util/meson.build
+index 1c40740..83ad059 100644
+--- a/tests/testing-util/meson.build
++++ b/tests/testing-util/meson.build
+@@ -17,8 +17,8 @@ libtesting_util_deps = [
+
+ libtesting_util_c_args = [
+ '-DHAVE_CONFIG_H',
+- '-DBUILDDIR="@0@"'.format(builddir),
+- '-DSRCDIR="@0@"'.format(srcdir),
++ '-DBUILDDIR="/usr/src/debug/libpeas"',
++ '-DSRCDIR="/usr/src/debug/libpeas"',
+ '-UG_DISABLE_ASSERT',
+ '-UG_DISABLE_CAST_CHECKS',
+ ]
+--
+2.40.1
+
diff --git a/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch b/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch
deleted file mode 100644
index 6646931283..0000000000
--- a/meta-oe/recipes-gnome/libpeas/libpeas/add_missing_locale_include.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 3cc69f1eaa86163c3816265fa64cb660f4def364 Mon Sep 17 00:00:00 2001
-From: Christian Hergert <chergert@redhat.com>
-Date: Fri, 13 Mar 2020 10:32:21 -0700
-Subject: [PATCH] demo: add missing locale.h include
-
-Fixes #39
-
-Upstream-Status: backport
-
-diff --git a/peas-demo/peas-demo.c b/peas-demo/peas-demo.c
-index 47ac005..466a392 100644
---- a/peas-demo/peas-demo.c
-+++ b/peas-demo/peas-demo.c
-@@ -26,6 +26,7 @@
- #include <girepository.h>
- #include <glib/gi18n.h>
- #include <gtk/gtk.h>
-+#include <locale.h>
-
- #include <libpeas/peas.h>
- #include <libpeas-gtk/peas-gtk.h>
diff --git a/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb b/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb
deleted file mode 100644
index fd4ce7de5e..0000000000
--- a/meta-oe/recipes-gnome/libpeas/libpeas_1.26.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "libpeas is a gobject-based plugins engine"
-HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d"
-
-DEPENDS = "gtk+3"
-
-GNOMEBASEBUILDCLASS = "meson"
-GTKDOC_MESON_OPTION = "gtk_doc"
-
-inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache features_check
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-SRC_URI += " \
- file://add_missing_locale_include.patch \
- file://0001-Do-not-build-tests-when-introspection-is-disabled-mi.patch \
-"
-
-SRC_URI[archive.md5sum] = "f7723bf8433b7984121157e1e9a629b5"
-SRC_URI[archive.sha256sum] = "a976d77e20496479a8e955e6a38fb0e5c5de89cf64d9f44e75c2213ee14f7376"
-
-PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject"
-
-PACKAGES =+ "${PN}-demo ${PN}-python3"
-FILES_${PN}-demo = " \
- ${bindir}/peas-demo \
- ${libdir}/peas-demo \
-"
-
-RDEPENDS_${PN}-python3 = "python3-pygobject"
-FILES_${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so"
diff --git a/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb b/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb
new file mode 100644
index 0000000000..016981f04d
--- /dev/null
+++ b/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "libpeas is a gobject-based plugins engine"
+HOMEPAGE = "https://wiki.gnome.org/Projects/Libpeas"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4b54a1fd55a448865a0b32d41598759d"
+
+DEPENDS = "gtk+3"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+
+inherit gnomebase gobject-introspection gi-docgen gtk-icon-cache features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+# FIXME: When upgrading to libpeas 2, g-i is no longer needed.
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+
+SRC_URI += "file://0001-Remove-builddir-and-srcdir-paths-from-test-binaries.patch"
+SRC_URI[archive.sha256sum] = "297cb9c2cccd8e8617623d1a3e8415b4530b8e5a893e3527bbfd1edd13237b4c"
+
+PACKAGECONFIG[python3] = "-Dpython3=true,-Dpython3=false,python3-pygobject"
+
+PACKAGES =+ "${PN}-demo ${PN}-python3"
+FILES:${PN}-demo = " \
+ ${bindir}/peas-demo \
+ ${libdir}/peas-demo \
+"
+
+RDEPENDS:${PN}-python3 = "python3-pygobject"
+FILES:${PN}-python3 = "${libdir}/libpeas-1.0/loaders/libpython3loader.so"
diff --git a/meta-oe/recipes-gnome/libxmlb/libxmlb/run-ptest b/meta-oe/recipes-gnome/libxmlb/libxmlb/run-ptest
deleted file mode 100644
index 6d0bb95d3a..0000000000
--- a/meta-oe/recipes-gnome/libxmlb/libxmlb/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#! /bin/sh
-
-gnome-desktop-testing-runner libxmlb
diff --git a/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb b/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb
deleted file mode 100644
index c545993174..0000000000
--- a/meta-oe/recipes-gnome/libxmlb/libxmlb_0.1.15.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "A library to help create and query binary XML blobs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
-
-SRC_URI = "\
- git://github.com/hughsie/libxmlb.git \
- file://run-ptest \
-"
-SRCREV = "ee4aafdd97844f1c73021a4978a43460f0835d5c"
-S = "${WORKDIR}/git"
-
-inherit gobject-introspection gtk-doc meson ptest-gnome
-
-PACKAGECONFIG ??= "\
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
-"
-PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false"
-
-GTKDOC_MESON_OPTION = "gtkdoc"
diff --git a/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb b/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb
deleted file mode 100644
index a957c1d673..0000000000
--- a/meta-oe/recipes-gnome/pyxdg/pyxdg_0.26.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "A Python module to deal with freedesktop.org specifications"
-HOMEPAGE = "http://freedesktop.org/wiki/Software/pyxdg"
-SECTION = "devel/python"
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f30a9716ef3762e3467a2f62bf790f0a"
-
-SRCREV = "7db14dcf4c4305c3859a2d9fcf9f5da2db328330"
-SRC_URI = "git://anongit.freedesktop.org/xdg/pyxdg"
-
-inherit distutils3
-
-S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb b/meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb
new file mode 100644
index 0000000000..0c9599a49c
--- /dev/null
+++ b/meta-oe/recipes-gnome/pyxdg/pyxdg_0.28.bb
@@ -0,0 +1,12 @@
+DESCRIPTION = "A Python module to deal with freedesktop.org specifications"
+HOMEPAGE = "http://freedesktop.org/wiki/Software/pyxdg"
+SECTION = "devel/python"
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f30a9716ef3762e3467a2f62bf790f0a"
+
+SRCREV = "1d23e483ae869ee9532aca43b133cc43f63626a3"
+SRC_URI = "git://anongit.freedesktop.org/xdg/pyxdg;branch=master"
+
+inherit setuptools3
+
+S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-gnome/vte9/vte9.inc b/meta-oe/recipes-gnome/vte9/vte9.inc
deleted file mode 100644
index 14d194004e..0000000000
--- a/meta-oe/recipes-gnome/vte9/vte9.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Virtual terminal emulator GTK+ widget library"
-BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte"
-LICENSE = "LGPLv2.0"
-DEPENDS = " glib-2.0 gtk+ intltool-native gnome-common-native ncurses"
-RDEPENDS_libvte = "vte-termcap"
-
-# help gnomebase get the SRC_URI correct
-GNOMEBN = "vte"
-S = "${WORKDIR}/vte-${PV}"
-
-inherit gnomebase gtk-doc features_check upstream-version-is-even gobject-introspection
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-
-EXTRA_OECONF = "--disable-python"
-
-PACKAGES =+ "libvte9 vte9-termcap"
-FILES_libvte9 = "${libdir}/*.so.* ${libexecdir}/gnome-pty-helper"
-FILES_vte9-termcap = "${datadir}/vte/termcap-0.0"
diff --git a/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch b/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch
deleted file mode 100644
index 9b9980397a..0000000000
--- a/meta-oe/recipes-gnome/vte9/vte9/cve-2012-2738.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-Upstream-Status: Backport
-CVE: CVE-2012-2738
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From e524b0b3bd8fad844ffa73927c199545b892cdbd Mon Sep 17 00:00:00 2001
-From: Christian Persch <chpe@gnome.org>
-Date: Sat, 19 May 2012 19:36:09 +0200
-Subject: [PATCH 1/2] emulation: Limit integer arguments to 65535
-
-To guard against malicious sequences containing excessively big numbers,
-limit all parsed numbers to 16 bit range. Doing this here in the parsing
-routine is a catch-all guard; this doesn't preclude enforcing
-more stringent limits in the handlers themselves.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=676090
----
- src/table.c | 2 +-
- src/vteseq.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/table.c b/src/table.c
-index 140e8c8..85cf631 100644
---- a/src/table.c
-+++ b/src/table.c
-@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
- if (G_UNLIKELY (*array == NULL)) {
- *array = g_value_array_new(1);
- }
-- g_value_set_long(&value, total);
-+ g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
- g_value_array_append(*array, &value);
- } while (i++ < arginfo->length);
- g_value_unset(&value);
-diff --git a/src/vteseq.c b/src/vteseq.c
-index 7ef4c8c..10991db 100644
---- a/src/vteseq.c
-+++ b/src/vteseq.c
-@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
- GValueArray *params,
- VteTerminalSequenceHandler handler)
- {
-- vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
-+ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
- }
-
- static void
---
-2.4.9 (Apple Git-60)
-
-
-From cf1ad453a8def873c49cf6d88162593402f32bb2 Mon Sep 17 00:00:00 2001
-From: Christian Persch <chpe@gnome.org>
-Date: Sat, 19 May 2012 20:04:12 +0200
-Subject: [PATCH 2/2] emulation: Limit repetitions
-
-Don't allow malicious sequences to cause excessive repetitions.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=676090
----
- src/vteseq.c | 25 ++++++++++++++++++-------
- 1 file changed, 18 insertions(+), 7 deletions(-)
-
-diff --git a/src/vteseq.c b/src/vteseq.c
-index 10991db..209522f 100644
---- a/src/vteseq.c
-+++ b/src/vteseq.c
-@@ -1392,7 +1392,7 @@ vte_sequence_handler_dc (VteTerminal *terminal, GValueArray *params)
- static void
- vte_sequence_handler_DC (VteTerminal *terminal, GValueArray *params)
- {
-- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_dc);
-+ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_dc);
- }
-
- /* Delete a line at the current cursor position. */
-@@ -1785,7 +1785,7 @@ vte_sequence_handler_reverse_index (VteTerminal *terminal, GValueArray *params)
- static void
- vte_sequence_handler_RI (VteTerminal *terminal, GValueArray *params)
- {
-- vte_sequence_handler_multiple(terminal, params, vte_sequence_handler_nd);
-+ vte_sequence_handler_multiple_r(terminal, params, vte_sequence_handler_nd);
- }
-
- /* Save cursor (position). */
-@@ -2777,8 +2777,7 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params)
- {
- GValue *value;
- VteScreen *screen;
-- long param, end, row;
-- int i;
-+ long param, end, row, i, limit;
- screen = terminal->pvt->screen;
- /* The default is one. */
- param = 1;
-@@ -2796,7 +2795,13 @@ vte_sequence_handler_insert_lines (VteTerminal *terminal, GValueArray *params)
- } else {
- end = screen->insert_delta + terminal->row_count - 1;
- }
-- /* Insert the new lines at the cursor. */
-+
-+ /* Only allow to insert as many lines as there are between this row
-+ * and the end of the scrolling region. See bug #676090.
-+ */
-+ limit = end - row + 1;
-+ param = MIN (param, limit);
-+
- for (i = 0; i < param; i++) {
- /* Clear a line off the end of the region and add one to the
- * top of the region. */
-@@ -2817,8 +2822,7 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params)
- {
- GValue *value;
- VteScreen *screen;
-- long param, end, row;
-- int i;
-+ long param, end, row, i, limit;
-
- screen = terminal->pvt->screen;
- /* The default is one. */
-@@ -2837,6 +2841,13 @@ vte_sequence_handler_delete_lines (VteTerminal *terminal, GValueArray *params)
- } else {
- end = screen->insert_delta + terminal->row_count - 1;
- }
-+
-+ /* Only allow to delete as many lines as there are between this row
-+ * and the end of the scrolling region. See bug #676090.
-+ */
-+ limit = end - row + 1;
-+ param = MIN (param, limit);
-+
- /* Clear them from below the current cursor. */
- for (i = 0; i < param; i++) {
- /* Insert a line at the end of the region and remove one from
---
-2.4.9 (Apple Git-60)
-
diff --git a/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch b/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch
deleted file mode 100644
index 6763d37540..0000000000
--- a/meta-oe/recipes-gnome/vte9/vte9/obsolete_automake_macros.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=691545]
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd vte-0.28.2/gnome-pty-helper/configure.in vte-0.28.2/gnome-pty-helper/configure.in
---- vte-0.28.2/gnome-pty-helper/configure.in 2010-07-15 20:08:44.000000000 +0300
-+++ vte-0.28.2/gnome-pty-helper/configure.in 2013-01-11 14:50:34.971027440 +0200
-@@ -8,7 +8,6 @@
- AC_ISC_POSIX
- AC_PROG_CC
- AC_STDC_HEADERS
--AM_PROG_CC_STDC
-
- if test -z "$enable_maintainer_mode"; then
- enable_maintainer_mode=yes
diff --git a/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb b/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb
deleted file mode 100644
index 72bc9ec39b..0000000000
--- a/meta-oe/recipes-gnome/vte9/vte9_0.28.2.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require vte9.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
-
-SRC_URI += "file://obsolete_automake_macros.patch \
- file://cve-2012-2738.patch \
- "
-
-CFLAGS += "-D_GNU_SOURCE"
-
-SRC_URI[archive.md5sum] = "497f26e457308649e6ece32b3bb142ff"
-SRC_URI[archive.sha256sum] = "86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae"
diff --git a/meta-oe/recipes-graphics/aml/aml_git.bb b/meta-oe/recipes-graphics/aml/aml_git.bb
new file mode 100644
index 0000000000..2633e0d215
--- /dev/null
+++ b/meta-oe/recipes-graphics/aml/aml_git.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Andri's Main Loop"
+DESCRIPTION = "Andri's Main Loop"
+HOMEPAGE = "https://github.com/any1/aml"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6f3cfaa39204b96e14b68b9d50d3e4e"
+
+SRC_URI = "git://github.com/any1/aml;branch=master;protocol=https"
+
+SRCREV = "b83f3576ce4187d9285f06e9066ef43a691464d4"
+
+PV = "0.3.0+git"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false"
+
+PACKAGE_BEFORE_PN += "${PN}-examples"
+ALLOW_EMPTY:${PN}-examples = "1"
+FILES:${PN}-examples = "${bindir}"
+
+inherit meson pkgconfig
+
+AML_EXAMPLES = "ticker nested-ticker reader"
+
+do_install:append () {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'examples', 'true', 'false', d)}; then
+ install -d ${D}${bindir}
+ for bin in ${AML_EXAMPLES}; do
+ install -m 0755 ${B}/examples/$bin ${D}${bindir}
+ done
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb b/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb
new file mode 100644
index 0000000000..a6872ef0cd
--- /dev/null
+++ b/meta-oe/recipes-graphics/cairo/cairomm-1.16_1.18.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+inherit gnomebase
+
+DEPENDS += "boost cairo libsigc++-3"
+
+SRC_URI = "https://www.cairographics.org/releases/cairomm-${PV}.tar.xz"
+SRC_URI[sha256sum] = "b81255394e3ea8e8aa887276d22afa8985fc8daef60692eb2407d23049f03cfb"
+
+S = "${WORKDIR}/cairomm-${PV}"
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/cairomm-*/"
+
diff --git a/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb b/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
deleted file mode 100644
index d49a509a0e..0000000000
--- a/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "C++ bindings for Cairo graphics library"
-
-LICENSE = "LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
-
-inherit gnomebase
-
-DEPENDS = "cairo libsigc++-2.0"
-
-SRC_URI[archive.md5sum] = "c62b476b61bd0abf7e9851f417d73291"
-SRC_URI[archive.sha256sum] = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6"
-
-FILES_${PN}-doc += "${datadir}/devhelp"
-FILES_${PN}-dev += "${libdir}/cairomm-*/"
-
diff --git a/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb b/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
new file mode 100644
index 0000000000..54a2b07ca5
--- /dev/null
+++ b/meta-oe/recipes-graphics/cairo/cairomm_1.14.3.bb
@@ -0,0 +1,15 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+inherit gnomebase
+
+DEPENDS += "boost cairo libsigc++-2.0"
+
+SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.xz"
+SRC_URI[sha256sum] = "0d37e067c5c4ca7808b7ceddabfe1932c5bd2a750ad64fb321e1213536297e78"
+
+FILES:${PN}-doc += "${datadir}/devhelp"
+FILES:${PN}-dev += "${libdir}/cairomm-*/"
+
diff --git a/meta-oe/recipes-graphics/cglm/cglm_0.9.2.bb b/meta-oe/recipes-graphics/cglm/cglm_0.9.2.bb
new file mode 100644
index 0000000000..b503c6ed9c
--- /dev/null
+++ b/meta-oe/recipes-graphics/cglm/cglm_0.9.2.bb
@@ -0,0 +1,25 @@
+SUMMARY = "OpenGL Mathematics Library for C"
+DESCRIPTION = "Highly optimized 2D|3D math library, also known as OpenGL Mathematics (glm) for `C`. \
+cglm provides lot of utils to help math operations to be fast and quick to write. It is community \
+friendly, feel free to bring any issues, bugs you faced."
+HOMEPAGE = "https://github.com/recp/cglm"
+BUGTRACKER = "https://github.com/recp/cglm/issues"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8dc95c4110ba741c43832734b51b7de7"
+
+SRC_URI = "git://github.com/recp/cglm;branch=master;protocol=https"
+# Tag v0.9.1
+SRCREV = "c8781615183ce3cb4f5d72caf70f2c01d7d4d2af"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG[build_tests] = "-Dbuild_tests=true,-Dbuild_tests=false,"
+
+PACKAGECONFIG ?= ""
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON += "--buildtype release"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch
new file mode 100644
index 0000000000..aa8406e315
--- /dev/null
+++ b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch
@@ -0,0 +1,28 @@
+From 272491297564513c4ce49a11bc1ecc523a3afd63 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 15 Mar 2024 11:05:54 -0700
+Subject: [PATCH] Mimic GNU basename() API for non-glibc library e.g. musl
+
+Upstream-Status: Submitted [https://github.com/lucasdemarchi/dietsplash/pull/7]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/util.h b/src/util.h
+index 1f4c3ef..a3ab54a 100644
+--- a/src/util.h
++++ b/src/util.h
+@@ -60,6 +60,9 @@
+ */
+ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + _array_size_chk(arr))
+
++#if !defined(__GLIBC__)
++#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
++#endif
+
+ #define DIE_PREFIX "[" PACKAGE_NAME "] ERR: "
+ #define LOG_SUFFIX "\n"
+--
+2.44.0
+
diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
index 87e8637eec..aad393b1d9 100644
--- a/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
+++ b/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
@@ -8,6 +8,8 @@ is not supported
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 1 -
1 file changed, 1 deletion(-)
diff --git a/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb b/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
index 32f0815921..1ee2657bd0 100644
--- a/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
+++ b/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
@@ -1,22 +1,22 @@
SUMMARY = "Simple bootsplash for systemd systems"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
# Really, no depends besides a C library
-PV = "0.3"
-PR = "r1"
+PV = "0.3+git"
-SRCREV = "ef2e1a390e768e21e6a6268977580ee129a96633"
-SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git \
+SRCREV = "8bed71d860bbb0c8792fa2a1179c9beeae84d577"
+SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git;branch=master;protocol=https \
file://0001-configure.ac-Do-not-demand-linker-hash-style.patch \
- "
+ file://0001-Mimic-GNU-basename-API-for-non-glibc-library-e.g.-mu.patch \
+"
inherit autotools
S = "${WORKDIR}/git"
EXTRA_OECONF = " --with-systemdsystemunitdir=${systemd_unitdir}/system \
- --disable-staticimages"
+ --disable-staticimages --with-rootdir=${root_prefix}"
-FILES_${PN} += "${systemd_unitdir}/system/"
+FILES:${PN} += "${systemd_unitdir}/system/"
diff --git a/meta-oe/recipes-graphics/directfb/directfb-examples/0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch b/meta-oe/recipes-graphics/directfb/directfb-examples/0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch
new file mode 100644
index 0000000000..f40b7f144d
--- /dev/null
+++ b/meta-oe/recipes-graphics/directfb/directfb-examples/0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch
@@ -0,0 +1,39 @@
+From 85a30903ea3ba4232379bbbcb54960307d5a2da0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 18:49:03 -0700
+Subject: [PATCH] spacedream: Add typecast to pthread_t in assignment
+
+render_loop_thread is of type pthread_t, therefore -1 which is int can
+not be assigned to it. Do the needed typecast conversion
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/spacedream/main.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/spacedream/main.c b/src/spacedream/main.c
+index 430800f..8e1887c 100644
+--- a/src/spacedream/main.c
++++ b/src/spacedream/main.c
+@@ -205,7 +205,7 @@ void unload_stars()
+ int main( int argc, char *argv[] )
+ {
+ int quit = 0;
+- pthread_t render_loop_thread = -1;
++ pthread_t render_loop_thread = (pthread_t)-1;
+
+ IDirectFBSurface *primary;
+ IDirectFBEventBuffer *buffer;
+@@ -344,7 +344,7 @@ int main( int argc, char *argv[] )
+ pthread_cancel( render_loop_thread );
+ pthread_mutex_unlock( &render_start );
+ pthread_join( render_loop_thread, NULL );
+- render_loop_thread = -1;
++ render_loop_thread = (pthread_t)-1;
+
+
+ unload_stars();
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb b/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
index 7907c5c0da..398e339482 100644
--- a/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
+++ b/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
@@ -9,6 +9,7 @@ LICENSE = "MIT"
SRC_URI = " \
http://downloads.yoctoproject.org/mirror/sources/DirectFB-examples-${PV}.tar.gz \
file://configure.in-Fix-string-argument-syntax.patch \
+ file://0001-spacedream-Add-typecast-to-pthread_t-in-assignment.patch \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f"
diff --git a/meta-oe/recipes-graphics/directfb/directfb.inc b/meta-oe/recipes-graphics/directfb/directfb.inc
index e11f7a60f6..4d38632e25 100644
--- a/meta-oe/recipes-graphics/directfb/directfb.inc
+++ b/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -5,7 +5,7 @@ abstraction, an integrated windowing system with support for \
translucent windows and multiple display layers on top of the \
Linux framebuffer device."
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
HOMEPAGE = "http://directfb.org"
@@ -23,16 +23,17 @@ SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.g
file://fix-tslib-version-check.patch \
file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
file://0001-os-linux-Fix-build-when-__NR_futex-is-not-available.patch \
+ file://0001-include-libgen.h-for-basename.patch \
"
S = "${WORKDIR}/DirectFB-${PV}"
-LDFLAGS_append = " -lm"
+LDFLAGS:append = " -lm"
-CXXFLAGS_append_toolchain-clang = " -Wno-error=dtor-typedef"
+CXXFLAGS:append:toolchain-clang = " -Wno-error=dtor-typedef"
# Workaround for linking issues seen with armv7a + gold
-LDFLAGS_append_arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+LDFLAGS:append:arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
BINCONFIG = "${bindir}/directfb-config"
@@ -62,18 +63,18 @@ EXTRA_OECONF = "\
#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
#this will cause directfb build failure on x86 arch, so filter out it.
-TARGET_CFLAGS_remove_x86 = "-fno-omit-frame-pointer"
+TARGET_CFLAGS:remove:x86 = "-fno-omit-frame-pointer"
#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*"
#
-#python populate_packages_prepend () {
+#python populate_packages:prepend () {
# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers')
# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
#}
# NOTE: monolithic packaging for now, should improve that eventually
-FILES_${PN}-dev += "\
+FILES:${PN}-dev += "\
${bindir}/directfb-config \
${libdir}/directfb-${RV}/systems/*.la \
${libdir}/directfb-${RV}/inputdrivers/*.la \
@@ -81,7 +82,7 @@ FILES_${PN}-dev += "\
${libdir}/directfb-${RV}/wm/*.la \
"
-FILES_${PN} += "\
+FILES:${PN} += "\
${libdir}/directfb-${RV}/systems/*.so \
${libdir}/directfb-${RV}/inputdrivers/*.so \
${libdir}/directfb-${RV}/interfaces/*/*.so \
diff --git a/meta-oe/recipes-graphics/directfb/directfb/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-graphics/directfb/directfb/0001-include-libgen.h-for-basename.patch
new file mode 100644
index 0000000000..abdba18fec
--- /dev/null
+++ b/meta-oe/recipes-graphics/directfb/directfb/0001-include-libgen.h-for-basename.patch
@@ -0,0 +1,32 @@
+From c8cf3ffd4fa14cdc6d607a09d51e898dec922348 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 18:17:44 -0700
+Subject: [PATCH] include libgen.h for basename
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Inappropriate [Upstream is dead]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ systems/fbdev/fbdev.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/systems/fbdev/fbdev.c b/systems/fbdev/fbdev.c
+index 5297358..4e6f178 100644
+--- a/systems/fbdev/fbdev.c
++++ b/systems/fbdev/fbdev.c
+@@ -42,6 +42,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <strings.h>
++#include <libgen.h>
+ #if defined(HAVE_SYSIO)
+ # include <sys/io.h>
+ #endif
+--
+2.44.0
+
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
index 6a7b1bf31d..5740f4a819 100644
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
+++ b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python.
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
index bef471189f..2951ee4555 100644
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
+++ b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
@@ -11,6 +11,8 @@ shipped in any package:
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
index c8b105ea35..078f525117 100644
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
+++ b/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] disable build manpages.
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.6.bb b/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.6.bb
new file mode 100644
index 0000000000..50504caf9f
--- /dev/null
+++ b/meta-oe/recipes-graphics/dnfdragora/dnfdragora_2.1.6.bb
@@ -0,0 +1,31 @@
+SUMMARY = "dnfdragora is a DNF frontend, based on rpmdragora from Mageia (originally rpmdrake) Perl code."
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
+ "
+
+SRC_URI = "git://github.com/manatools/dnfdragora.git;branch=stable-2.x;protocol=https \
+ file://0001-disable-build-manpages.patch \
+ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
+ file://0001-To-fix-error-when-do_package.patch \
+ "
+
+SRCREV = "abbe08b7a487325182758d5285b54437a914207b"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig python3-dir python3native setuptools3-base mime-xdg
+
+DEPENDS += "dnf python3 "
+#DEPENDS:class-nativesdk += "nativesdk-python3"
+
+RDEPENDS:${PN}:class-target = " python3-core libyui libyui-ncurses "
+
+# manpages generation requires http://www.sphinx-doc.org/
+EXTRA_OECMAKE = " -DWITH_MAN=OFF -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
+
+BBCLASSEXTEND = "nativesdk"
+
+FILES:${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora ${sysconfdir}/xdg"
+
+SKIP_RECIPE[dnfdragora] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
+
diff --git a/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb b/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
deleted file mode 100644
index 007385101c..0000000000
--- a/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "dnfdragora is a DNF frontend, based on rpmdragora from Mageia (originally rpmdrake) Perl code."
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
- "
-
-SRC_URI = "git://github.com/manatools/dnfdragora.git \
- file://0001-disable-build-manpages.patch \
- file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
- file://0001-To-fix-error-when-do_package.patch \
- "
-
-PV = "1.1.2+git${SRCPV}"
-SRCREV = "19e123132cfd4efd860e5204261c3c228bfe80a8"
-
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig python3-dir python3native distutils3-base mime-xdg
-
-DEPENDS += "dnf python3 "
-#DEPENDS_class-nativesdk += "nativesdk-python3"
-
-RDEPENDS_${PN}_class-target = " python3-core libyui libyui-ncurses "
-
-# manpages generation requires http://www.sphinx-doc.org/
-EXTRA_OECMAKE = " -DWITH_MAN=OFF -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
-
-BBCLASSEXTEND = "nativesdk"
-
-FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora ${sysconfdir}/xdg"
-
-PNBLACKLIST[dnfdragora] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"
-
diff --git a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.4.bb b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.4.bb
deleted file mode 100644
index a1294b98a8..0000000000
--- a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "FBGrab is a framebuffer screenshot program"
-HOMEPAGE = "https://github.com/GunnarMonell/fbgrab"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
-SECTION = "console/utils"
-DEPENDS = "libpng zlib"
-SRC_URI = "git://github.com/GunnarMonell/fbgrab.git;protocol=https"
-
-SRCREV = "74373aafc0b496e67642562d86eac6b858a31f24"
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep
-
-do_configure_prepend() {
- sed -i 's|$(DESTDIR)/usr/man/|$(DESTDIR)${mandir}/|g' ${S}/Makefile
-}
diff --git a/meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb
new file mode 100644
index 0000000000..7b52ead909
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbgrab/fbgrab_1.5.bb
@@ -0,0 +1,16 @@
+SUMMARY = "FBGrab is a framebuffer screenshot program"
+HOMEPAGE = "https://github.com/GunnarMonell/fbgrab"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
+SECTION = "console/utils"
+DEPENDS = "libpng zlib"
+SRC_URI = "git://github.com/GunnarMonell/fbgrab.git;protocol=https;branch=master"
+
+SRCREV = "f43ce6d5ce48fb01360eaa7c4a92c2573a1d02f8"
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep
+
+do_configure:prepend() {
+ sed -i 's|$(DESTDIR)/usr/man/|$(DESTDIR)${mandir}/|g' ${S}/Makefile
+}
diff --git a/meta-oe/recipes-graphics/fbida/fbida_2.14.bb b/meta-oe/recipes-graphics/fbida/fbida_2.14.bb
deleted file mode 100644
index 7ac302821a..0000000000
--- a/meta-oe/recipes-graphics/fbida/fbida_2.14.bb
+++ /dev/null
@@ -1,78 +0,0 @@
-SUMMARY = "Framebuffer image and doc viewer tools"
-DESCRIPTION = "The fbida project contains a few applications for viewing and editing images, \
- with the main focus being photos."
-HOMEPAGE = "http://linux.bytesex.org/fbida/"
-AUTHOR = "Gerd Hoffmann"
-SECTION = "utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e8feb78a32950a909621bbb51f634b39"
-
-DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman poppler libepoxy cairo"
-
-SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz \
- file://0001-Avoid-using-host-path.patch \
- file://fix-preprocessor.patch \
- file://support-jpeg-turbo.patch \
- file://cairo-weak-detect.patch \
- file://fbida-gcc10.patch \
- "
-SRC_URI[sha256sum] = "95b7c01556cb6ef9819f358b314ddfeb8a4cbe862b521a3ed62f03d163154438"
-
-inherit pkgconfig features_check
-
-# Depends on libepoxy
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile"
-
-PACKAGECONFIG ??= "gif png curl"
-PACKAGECONFIG[curl] = ",,curl"
-PACKAGECONFIG[gif] = ",,giflib"
-PACKAGECONFIG[png] = ",,libpng"
-PACKAGECONFIG[tiff] = ",,tiff"
-PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif"
-PACKAGECONFIG[webp] = ",,libwebp"
-PACKAGECONFIG[lirc] = ",,lirc"
-# This can only be enabled when cairo has egl enabled in its packageconfig support too
-PACKAGECONFIG[egl] = ",,"
-
-EXTRA_OEMAKE += ""${@bb.utils.contains('PACKAGECONFIG', 'egl', 'HAVE_CAIRO_GL=yes', 'HAVE_CAIRO_GL=no', d)}""
-
-do_compile() {
- sed -i -e 's# fbgs# \$(srcdir)/fbgs#; s#-Ijpeg#-I\$(srcdir)/jpeg#; s# jpeg/# \$(srcdir)/jpeg/#' ${S}/GNUmakefile
- sed -i -e 's:/sbin/ldconfig:echo x:' ${S}/mk/Autoconf.mk
- sed -i -e 's: cpp: ${CPP}:' ${S}/GNUmakefile
-
- # Be sure to respect preferences (force to "no")
- # Also avoid issues when ${BUILD_ARCH} == ${HOST_ARCH}
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'curl', d)}" ]; then
- sed -i -e '/^HAVE_LIBCURL/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'gif', d)}" ]; then
- sed -i -e '/^HAVE_LIBGIF/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'png', d)}" ]; then
- sed -i -e '/^HAVE_LIBPNG/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'tiff', d)}" ]; then
- sed -i -e '/^HAVE_LIBTIFF/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'motif', d)}" ]; then
- sed -i -e '/^HAVE_MOTIF/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'webp', d)}" ]; then
- sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
- if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'lirc', d)}" ]; then
- sed -i -e '/^HAVE_LIBLIRC/s/:=.*$/:= no/' ${S}/GNUmakefile
- fi
-
- oe_runmake
-}
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-}
-
-RDEPENDS_${PN} = "ttf-dejavu-sans-mono bash"
diff --git a/meta-oe/recipes-graphics/fbida/fbida_git.bb b/meta-oe/recipes-graphics/fbida/fbida_git.bb
new file mode 100644
index 0000000000..247a1fcbb2
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/fbida_git.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Framebuffer image and doc viewer tools"
+DESCRIPTION = "The fbida project contains a few applications for viewing and editing images, \
+ with the main focus being photos."
+HOMEPAGE = "https://www.kraxel.org/blog/linux/fbida/"
+SECTION = "utils"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e8feb78a32950a909621bbb51f634b39"
+
+DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif libdrm pixman udev libinput cairo"
+
+PV = "2.14+git"
+SRC_URI = "git://github.com/kraxel/fbida;protocol=https;branch=master \
+ file://fix-preprocessor.patch \
+ file://support-jpeg-turbo.patch \
+ file://fbida-gcc10.patch \
+ file://0001-meson.build-install-fbgs-shell-script.patch \
+ file://0002-meson.build-add-features-options-for-png-gif-tiff-we.patch \
+ file://0003-meson.build-do-not-require-xkbcommon.patch \
+ file://0001-meson.build-make-fbpdf-build-optional.patch \
+ file://0001-fbida-Include-missing-sys-types.h.patch \
+"
+SRCREV = "eb769e3d7f4a073d4c37ed524ebd5017c6a578f5"
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig features_check
+
+# Depends on libepoxy
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+PACKAGECONFIG ??= "gif png pdf"
+PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib"
+PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
+PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
+PACKAGECONFIG[motif] = "-Dmotif=enabled,-Dmotif=disabled,libx11 libxext libxpm libxt openmotif"
+PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
+PACKAGECONFIG[pdf] = "-Dpdf=enabled,-Dpdf=disabled,poppler libepoxy"
+
+CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
+
+RDEPENDS:${PN} = "ttf-dejavu-sans-mono"
diff --git a/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch b/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch
deleted file mode 100644
index cdf2c25d37..0000000000
--- a/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 8d8fa9f22d9f6a95523bac63ac3af724faf5ff92 Mon Sep 17 00:00:00 2001
-From: Marek Vasut <marex@denx.de>
-Date: Fri, 7 Apr 2017 23:26:09 +0200
-Subject: [PATCH] Avoid using host-path
-
-Remove the explicit reference to /usr/local/* , this is completely
-bogus and causes trouble during cross-compilation.
-
-Signed-off-by: Marek Vasut <marex@denx.de>
-Upstream-Status: Inappropriate [upstream requires this]
----
- mk/Variables.mk | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/mk/Variables.mk b/mk/Variables.mk
-index 99f787c..3ffd87a 100644
---- a/mk/Variables.mk
-+++ b/mk/Variables.mk
-@@ -42,12 +42,6 @@ CFLAGS += -Wall -Wmissing-prototypes -Wstrict-prototypes \
- -Wpointer-arith -Wunused
- CXXFLAGS += -Wall -Wpointer-arith -Wunused
-
--# add /usr/local to the search path if something is in there ...
--ifneq ($(wildcard /usr/local/include/*.h),)
-- CFLAGS += -I/usr/local/include
-- LDFLAGS += -L/usr/local/$(LIB)
--endif
--
- # fixup include path for $(srcdir) != "."
- ifneq ($(srcdir),.)
- CFLAGS += -I. -I$(srcdir)
---
-2.11.0
-
diff --git a/meta-oe/recipes-graphics/fbida/files/0001-fbida-Include-missing-sys-types.h.patch b/meta-oe/recipes-graphics/fbida/files/0001-fbida-Include-missing-sys-types.h.patch
new file mode 100644
index 0000000000..0fb58f80e1
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0001-fbida-Include-missing-sys-types.h.patch
@@ -0,0 +1,31 @@
+From 17490e264e627ead81bf5840c8797de968485943 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 3 Jul 2023 11:25:26 -0700
+Subject: [PATCH] fbida: Include missing <sys/types.h>
+
+Fixes build on musl
+../git/gfx.h:43:5: error: unknown type name 'dev_t'; did you mean 'div_t'?
+ dev_t devnum;
+ ^~~~~
+ div_t
+TOPDIR/build/tmp/work/cortexa57-yoe-linux-musl/fbida/2.14+gitAUTOINC+eb769e3d7f-r0/recipe-sysroot/usr/include/stdlib.h:64:35: note: 'div_t' declared here
+typedef struct { int quot, rem; } div_t;
+ ^
+1 error generated
+
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/3]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gfx.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/gfx.h
++++ b/gfx.h
+@@ -1,5 +1,6 @@
+ #include <stdbool.h>
+ #include <inttypes.h>
++#include <sys/types.h>
+
+ #include <pixman.h>
+ #include <cairo.h>
diff --git a/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch
new file mode 100644
index 0000000000..4d081258be
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch
@@ -0,0 +1,28 @@
+From f9c455e81ad4d870c8ae20b9af8598139231ad26 Mon Sep 17 00:00:00 2001
+From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 9 Sep 2022 09:32:22 +0200
+Subject: [PATCH] meson.build: install fbgs shell script
+
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
+Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+---
+ meson.build | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index cbed982..2129896 100644
+--- a/meson.build
++++ b/meson.build
+@@ -126,6 +126,9 @@ executable('fbpdf',
+ sources : fbpdf_srcs,
+ dependencies : fbpdf_deps,
+ install : true)
++install_data('fbgs',
++ install_dir : get_option('bindir'),
++ install_mode : 'rwxr--r--')
+
+ # build fbcon
+ fbcon_srcs = [ 'fbcon.c', 'drmtools.c', 'fbtools.c', 'gfx.c', 'vt.c', 'kbd.c' ]
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch
new file mode 100644
index 0000000000..b872e213aa
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch
@@ -0,0 +1,66 @@
+From c00a155e90a9b22bd6ab5fa5407bb9923ee16ca0 Mon Sep 17 00:00:00 2001
+From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 16 Sep 2022 18:45:58 +0200
+Subject: [PATCH] meson.build: make fbpdf build optional
+
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
+Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+---
+ meson.build | 22 ++++++++++++----------
+ meson_options.txt | 1 +
+ 2 files changed, 13 insertions(+), 10 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 6b3daf3..289d1ec 100644
+--- a/meson.build
++++ b/meson.build
+@@ -15,11 +15,11 @@ x11resdir = x11resrun.stdout().strip()
+
+ # pkg-config deps
+ pixman_dep = dependency('pixman-1')
+-poppler_dep = dependency('poppler-glib')
++poppler_dep = dependency('poppler-glib', required: get_option('pdf'))
+ cairo_dep = dependency('cairo')
+ drm_dep = dependency('libdrm')
+-gbm_dep = dependency('gbm')
+-epoxy_dep = dependency('epoxy')
++gbm_dep = dependency('gbm', required: get_option('pdf'))
++epoxy_dep = dependency('epoxy', required: get_option('pdf'))
+ exif_dep = dependency('libexif')
+ png_dep = dependency('libpng', required: get_option('png'))
+ tiff_dep = dependency('libtiff-4', required: get_option('tiff'))
+@@ -132,13 +132,15 @@ fbpdf_deps = [ drm_dep, gbm_dep, epoxy_dep,
+ pixman_dep, poppler_dep, cairo_dep,
+ udev_dep, input_dep ]
+
+-executable('fbpdf',
+- sources : fbpdf_srcs,
+- dependencies : fbpdf_deps,
+- install : true)
+-install_data('fbgs',
+- install_dir : get_option('bindir'),
+- install_mode : 'rwxr--r--')
++if get_option('pdf').enabled()
++ executable('fbpdf',
++ sources : fbpdf_srcs,
++ dependencies : fbpdf_deps,
++ install : true)
++ install_data('fbgs',
++ install_dir : get_option('bindir'),
++ install_mode : 'rwxr--r--')
++endif
+
+ # build fbcon
+ fbcon_srcs = [ 'fbcon.c', 'drmtools.c', 'fbtools.c', 'gfx.c', 'vt.c', 'kbd.c' ]
+diff --git a/meson_options.txt b/meson_options.txt
+index ce37188..74699ab 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -3,3 +3,4 @@ option('png', type: 'feature', value : 'enabled')
+ option('tiff', type: 'feature', value : 'enabled')
+ option('webp', type: 'feature', value : 'disabled')
+ option('motif', type: 'feature', value : 'disabled')
++option('pdf', type: 'feature', value : 'enabled')
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch b/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch
new file mode 100644
index 0000000000..4f54fbfba7
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch
@@ -0,0 +1,124 @@
+From cdcde5c1fd106a69118dff98118600911392762f Mon Sep 17 00:00:00 2001
+From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 16 Sep 2022 16:25:38 +0200
+Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp, and motif
+
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
+Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+---
+ meson.build | 41 +++++++++++++++++++++++++++--------------
+ meson_options.txt | 5 +++++
+ selections.c | 4 ++++
+ 3 files changed, 36 insertions(+), 14 deletions(-)
+ create mode 100644 meson_options.txt
+
+diff --git a/meson.build b/meson.build
+index cd9cc49..b5e3ffc 100644
+--- a/meson.build
++++ b/meson.build
+@@ -23,9 +23,9 @@ drm_dep = dependency('libdrm')
+ gbm_dep = dependency('gbm')
+ epoxy_dep = dependency('epoxy')
+ exif_dep = dependency('libexif')
+-png_dep = dependency('libpng')
+-tiff_dep = dependency('libtiff-4')
+-webp_dep = dependency('libwebp', required : false)
++png_dep = dependency('libpng', required: get_option('png'))
++tiff_dep = dependency('libtiff-4', required: get_option('tiff'))
++webp_dep = dependency('libwebp', required : get_option('webp'))
+ udev_dep = dependency('libudev')
+ input_dep = dependency('libinput')
+ xkb_dep = dependency('xkbcommon')
+@@ -36,20 +36,20 @@ jpeg_dep = cc.find_library('jpeg')
+ util_dep = cc.find_library('util')
+ math_dep = cc.find_library('m', required : false)
+ pcd_dep = cc.find_library('pcd', required : false)
+-gif_dep = cc.find_library('gif', required : false)
++gif_dep = cc.find_library('gif', required: get_option('gif'))
+
+ # motif + x11 libs
+-motif_dep = cc.find_library('Xm', required : false)
+-xpm_dep = cc.find_library('Xpm', required : false)
+-xt_dep = cc.find_library('Xt', required : false)
+-xext_dep = cc.find_library('Xext', required : false)
+-x11_dep = cc.find_library('X11', required : false)
++motif_dep = cc.find_library('Xm', required : get_option('motif'))
++xpm_dep = cc.find_library('Xpm', required : get_option('motif'))
++xt_dep = cc.find_library('Xt', required : get_option('motif'))
++xext_dep = cc.find_library('Xext', required : get_option('motif'))
++x11_dep = cc.find_library('X11', required : get_option('motif'))
+
+ # image formats
+ read_srcs = [ 'readers.c', 'rd/read-ppm.c', 'rd/read-bmp.c',
+- 'rd/read-jpeg.c', 'rd/read-png.c', 'rd/read-tiff.c' ]
++ 'rd/read-jpeg.c' ]
+ write_srcs = [ 'writers.c', 'wr/write-ppm.c', 'wr/write-ps.c',
+- 'wr/write-jpeg.c', 'wr/write-png.c', 'wr/write-tiff.c' ]
++ 'wr/write-jpeg.c' ]
+ image_deps = [ jpeg_dep, png_dep, tiff_dep,
+ pcd_dep, gif_dep, webp_dep ]
+
+@@ -57,11 +57,21 @@ if pcd_dep.found()
+ read_srcs += 'rd/read-pcd.c'
+ config.set('HAVE_LIBPCD', true)
+ endif
+-if gif_dep.found()
++if get_option('png').enabled()
++ read_srcs += 'rd/read-png.c'
++ write_srcs += 'wr/write-png.c'
++ config.set('HAVE_LIBPNG', true)
++endif
++if get_option('tiff').enabled()
++ read_srcs += 'rd/read-tiff.c'
++ write_srcs += 'wr/write-tiff.c'
++ config.set('HAVE_LIBTIFF', true)
++endif
++if get_option('gif').enabled()
+ read_srcs += 'rd/read-gif.c'
+ config.set('HAVE_LIBGIF', true)
+ endif
+-if webp_dep.found()
++if get_option('webp').enabled()
+ read_srcs += 'rd/read-webp.c'
+ config.set('HAVE_LIBWEBP', true)
+ endif
+@@ -168,7 +181,7 @@ ida_srcs = [ 'ida.c', 'man.c', 'hex.c', 'x11.c', 'viewer.c',
+ ida_deps = [ pixman_dep, exif_dep, image_deps, math_dep,
+ motif_dep, xpm_dep, xt_dep, xext_dep, x11_dep ]
+
+-if motif_dep.found()
++if get_option('motif').enabled()
+ executable('ida',
+ sources : ida_srcs,
+ dependencies : ida_deps,
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 0000000..ce37188
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1,5 @@
++option('gif', type: 'feature', value : 'enabled')
++option('png', type: 'feature', value : 'enabled')
++option('tiff', type: 'feature', value : 'enabled')
++option('webp', type: 'feature', value : 'disabled')
++option('motif', type: 'feature', value : 'disabled')
+diff --git a/selections.c b/selections.c
+index 7b16264..ccdc686 100644
+--- a/selections.c
++++ b/selections.c
+@@ -609,8 +609,12 @@ void ipc_init()
+ #ifdef HAVE_LIBGIF
+ targets[ntargets++] = MIME_IMAGE_GIF;
+ #endif
++#ifdef HAVE_LIBPNG
+ targets[ntargets++] = MIME_IMAGE_PNG;
++#endif
++#ifdef HAVE_LIBTIFF
+ targets[ntargets++] = MIME_IMAGE_TIFF;
++#endif
+ targets[ntargets++] = XA_PIXMAP;
+ targets[ntargets++] = XA_STRING;
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch b/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch
new file mode 100644
index 0000000000..e769014131
--- /dev/null
+++ b/meta-oe/recipes-graphics/fbida/files/0003-meson.build-do-not-require-xkbcommon.patch
@@ -0,0 +1,27 @@
+From ec82a194f3454ac203a134c9a99bac6d63095d25 Mon Sep 17 00:00:00 2001
+From: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+Date: Fri, 16 Sep 2022 18:29:03 +0200
+Subject: [PATCH] meson.build: do not require xkbcommon
+
+Upstream-Status: Pending
+Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 341939c..b5dab14 100644
+--- a/meson.build
++++ b/meson.build
+@@ -26,7 +26,7 @@ tiff_dep = dependency('libtiff-4', required: get_option('tiff'))
+ webp_dep = dependency('libwebp', required : get_option('webp'))
+ udev_dep = dependency('libudev')
+ input_dep = dependency('libinput')
+-xkb_dep = dependency('xkbcommon')
++xkb_dep = dependency('xkbcommon', required : false)
+ tsm_dep = dependency('libtsm', required : false)
+
+ # other library deps
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch b/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch
deleted file mode 100644
index c7c579cc41..0000000000
--- a/meta-oe/recipes-graphics/fbida/files/cairo-weak-detect.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-OE configures cairo to disable EGL support, however fbida expects cairo with egl support
-this patch therefore makes it possible to set HAVE_CAIRO_GL via recipe
-
-Upstream-Status: Inappropriate [OE-Specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---- a/GNUmakefile
-+++ b/GNUmakefile
-@@ -67,7 +67,7 @@ define make-config
- LIB := $(LIB)
- RESDIR := $(call ac_resdir)
- HAVE_LINUX_FB_H := $(call ac_header,linux/fb.h)
--HAVE_CAIRO_GL := $(call ac_pkg_config,cairo-gl)
-+HAVE_CAIRO_GL ?= $(call ac_pkg_config,cairo-gl)
- HAVE_LIBPCD := $(call ac_lib,pcd_open,pcd)
- HAVE_LIBGIF := $(call ac_lib,DGifOpenFileName,gif)
- HAVE_LIBWEBP := $(call ac_pkg_config,libwebp)
diff --git a/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch b/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
index cdeac996a1..ef70a070dd 100644
--- a/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
+++ b/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- a/scripts/jpeg-version.sh
+++ b/scripts/jpeg-version.sh
@@ -1,2 +1,2 @@
diff --git a/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch b/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
index 05cd74da92..719c096e2b 100644
--- a/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
+++ b/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Add patch by Ondrej Sury to migrate to libjpeg-turbo (Closes: #763263)
Index: fbida-2.10/jpeg/62/jpegcomp.h
diff --git a/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch b/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch
deleted file mode 100644
index 99639554c2..0000000000
--- a/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: fbida-2.10/GNUmakefile
-===================================================================
---- fbida-2.10.orig/GNUmakefile
-+++ fbida-2.10/GNUmakefile
-@@ -51,7 +51,7 @@ HAVE_LIBSANE := $(call ac_lib,sane_init,
- HAVE_LIBCURL := $(call ac_lib,curl_easy_init,curl)
- HAVE_LIBLIRC := $(call ac_lib,lirc_init,lirc_client)
- HAVE_MOTIF := $(call ac_lib,XmStringGenerate,Xm,-L/usr/X11R6/$(LIB) -lXpm -lXt -lXext -lX11)
--JPEG_VER := $(call ac_jpeg_ver)
-+JPEG_VER := 62
- endef
-
- # transposing
diff --git a/meta-oe/recipes-graphics/feh/feh_3.10.2.bb b/meta-oe/recipes-graphics/feh/feh_3.10.2.bb
new file mode 100644
index 0000000000..2c38ce614b
--- /dev/null
+++ b/meta-oe/recipes-graphics/feh/feh_3.10.2.bb
@@ -0,0 +1,30 @@
+SUMMARY = "X11 image viewer aimed mostly at console users"
+HOMEPAGE = "https://feh.finalrewind.org/"
+SECTION = "x11/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=150e4c518ff8aaecfe35694e47661d9a"
+DEPENDS = "\
+ imlib2 \
+ virtual/libx11 libxt\
+"
+
+SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "5f94a77de25c5398876f0cf431612d782b842f4db154d2139b778c8f196e8969"
+
+inherit mime-xdg features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OEMAKE = "curl=0 xinerama=0 PREFIX=/usr"
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake install app=1 'DESTDIR=${D}' 'ICON_PREFIX=${D}${datadir}/icons'
+}
+
+RDEPENDS:${PN} += "imlib2-loaders"
+
+FILES:${PN} += "${datadir}/icons"
diff --git a/meta-oe/recipes-graphics/feh/feh_3.6.1.bb b/meta-oe/recipes-graphics/feh/feh_3.6.1.bb
deleted file mode 100644
index 1e49e68f89..0000000000
--- a/meta-oe/recipes-graphics/feh/feh_3.6.1.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "X11 image viewer aimed mostly at console users"
-AUTHOR = "Tom Gilbert & Daniel Friesel"
-HOMEPAGE = "https://feh.finalrewind.org/"
-SECTION = "x11/utils"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f91bd06901085c94bdc50649d98c5059"
-DEPENDS = "\
- imlib2 \
- virtual/libx11 libxt\
-"
-
-SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
-SRC_URI[sha256sum] = "9b1edec52cbae97b17530cb5db10666abfb9983f51a5d820c89added6f7b1ea8"
-
-inherit mime-xdg features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OEMAKE = "curl=0 xinerama=0 PREFIX=/usr"
-
-do_compile () {
- oe_runmake
-}
-
-do_install () {
- oe_runmake install app=1 'DESTDIR=${D}' 'ICON_PREFIX=${D}${datadir}/icons'
-}
-
-RDEPENDS_${PN} += "imlib2-loaders"
-
-FILES_${PN} += "${datadir}/icons"
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch b/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch
new file mode 100644
index 0000000000..6d133254ed
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch
@@ -0,0 +1,385 @@
+From e6ccc8a8cf1391010a8220836a732da9fab19c69 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Sep 2023 12:35:12 -0700
+Subject: [PATCH] Fix Translations containing invalid directives %hs
+
+Found with gettext 0.22
+Older versions of msgfmt were more sloppy, thus allowing such mistakes to cause bugs at runtime.
+
+https://bugs.gentoo.org/908868
+https://savannah.gnu.org/bugs/index.php?64333
+https://github.com/fontforge/fontforge/issues/5251
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fontforgeexe/searchview.c | 2 +-
+ po/ca.po | 4 ++--
+ po/de.po | 4 ++--
+ po/en_GB.po | 4 ++--
+ po/fr.po | 40 +++++++++++++++++++--------------------
+ po/hr.po | 4 ++--
+ po/it.po | 8 ++++----
+ po/ja.po | 4 ++--
+ po/ko.po | 4 ++--
+ po/pl.po | 4 ++--
+ po/uk.po | 4 ++--
+ po/vi.po | 4 ++--
+ 12 files changed, 43 insertions(+), 43 deletions(-)
+
+diff --git a/fontforgeexe/searchview.c b/fontforgeexe/searchview.c
+index 1cb39a221..7e1c109cb 100644
+--- a/fontforgeexe/searchview.c
++++ b/fontforgeexe/searchview.c
+@@ -516,7 +516,7 @@ return( true );
+ if ( ask_if_difficult==2 && !searcher->isvisible )
+ return( false );
+ if ( gwwv_ask(_("Bad Reference"),(const char **) buttons,1,1,
+- _("The %1$s in the search dialog contains a reference to %2$.20hs which does not exist in the new font.\nShould I remove the reference?"),
++ _("The %1$s in the search dialog contains a reference to %2$.20s which does not exist in the new font.\nShould I remove the reference?"),
+ i==0?_("Search Pattern"):_("Replace Pattern"),
+ r->sc->name)==1 )
+ return( false );
+diff --git a/po/ca.po b/po/ca.po
+index e2349b6ef..6c920b7c0 100644
+--- a/po/ca.po
++++ b/po/ca.po
+@@ -12347,11 +12347,11 @@ msgstr "Tai"
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Al diàleg de cerca, %1$s conté una referència a %2$.20hs\n"
++"Al diàleg de cerca, %1$s conté una referència a %2$.20s\n"
+ "que no existeix en el nou tipus.\n"
+ "Voleu eliminar la referència?"
+
+diff --git a/po/de.po b/po/de.po
+index 41430ffae..8a31aeaa2 100644
+--- a/po/de.po
++++ b/po/de.po
+@@ -15765,11 +15765,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s im Suchdialog enthält eine Referenz auf %2$.20hs, die in der neuen "
++"%1$s im Suchdialog enthält eine Referenz auf %2$.20s, die in der neuen "
+ "Schrift nicht existiert.\n"
+ "Soll der Referenz entfernt werden?"
+
+diff --git a/po/en_GB.po b/po/en_GB.po
+index 9bd2d62bb..fce64c97d 100644
+--- a/po/en_GB.po
++++ b/po/en_GB.po
+@@ -728,11 +728,11 @@ msgstr "Template Colour"
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"The %1$s in the search dialogue contains a reference to %2$.20hs which does "
++"The %1$s in the search dialogue contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+
+diff --git a/po/fr.po b/po/fr.po
+index 26e446b38..d130f89bc 100644
+--- a/po/fr.po
++++ b/po/fr.po
+@@ -291,7 +291,7 @@ msgstr "chaîne %1$.30s pour %2$.30s"
+ #. GT: $4 is the changed flag ('*' for the changed items)
+ #, c-format
+ msgid "%1$.80s at %2$d from %3$.90s%4$s"
+-msgstr "%1$.80s à %2$d de %3$.90hs%4$s"
++msgstr "%1$.80s à %2$d de %3$.90s%4$s"
+
+ #. GT: This is the title for a window showing a bitmap character
+ #. GT: It will look something like:
+@@ -302,7 +302,7 @@ msgstr "%1$.80s à %2$d de %3$.90hs%4$s"
+ #. GT: $4 is the font name
+ #, c-format
+ msgid "%1$.80s at %2$d size %3$d from %4$.80s"
+-msgstr "%1$.80s (%2$d) taille %3$d de %4$.80hs"
++msgstr "%1$.80s (%2$d) taille %3$d de %4$.80s"
+
+ #, c-format
+ msgid "%1$s from lookup subtable %2$.50s"
+@@ -7433,7 +7433,7 @@ msgid ""
+ "Reverting the file will lose those changes.\n"
+ "Is that what you want?"
+ msgstr ""
+-"La fonte %1$.40s dans le fichier %2$.40hs a été modifiée.\n"
++"La fonte %1$.40s dans le fichier %2$.40s a été modifiée.\n"
+ "Revenir vous fera perdre toutes les modifications.\n"
+ "Voulez vous vraiment revenir ?"
+
+@@ -19077,11 +19077,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Dans %1$s du dialogue de recherche il y a une référence vers %2$.20hs qui "
++"Dans %1$s du dialogue de recherche il y a une référence vers %2$.20s qui "
+ "n'existe pas dans la nouvelle fonte.\n"
+ "Faut-il supprimer la référence ?"
+
+@@ -19925,7 +19925,7 @@ msgid ""
+ "The fonts %1$.30s and %2$.30s have a different number of glyphs or different "
+ "encodings"
+ msgstr ""
+-"Les fontes %1$.30s et %2$.30hs n'ont pas le même nombre de glyphes ou des "
++"Les fontes %1$.30s et %2$.30s n'ont pas le même nombre de glyphes ou des "
+ "codages différents"
+
+ #, c-format
+@@ -19933,7 +19933,7 @@ msgid ""
+ "The fonts %1$.30s and %2$.30s use different types of splines (one quadratic, "
+ "one cubic)"
+ msgstr ""
+-"Les fontes %1$.30s et %2$.30hs utilisent des courbes de Bézier d'ordres "
++"Les fontes %1$.30s et %2$.30s utilisent des courbes de Bézier d'ordres "
+ "différents (quadratique et cubique)"
+
+ msgid "The generated font won't work with ATM"
+@@ -19968,8 +19968,8 @@ msgid ""
+ "The glyph %1$.30s in font %2$.30s has a different hint mask on its contours "
+ "than in %3$.30s"
+ msgstr ""
+-"Le glyphe %1$.30s dans la police %2$.30hs a un masque de hints différent que "
+-"dans %3$.30hs"
++"Le glyphe %1$.30s dans la police %2$.30s a un masque de hints différent que "
++"dans %3$.30s"
+
+ #, c-format
+ msgid ""
+@@ -19984,8 +19984,8 @@ msgid ""
+ "The glyph %1$.30s in font %2$.30s has a different number of references than "
+ "in %3$.30s"
+ msgstr ""
+-"Le glyphe %1$.30s de la fonte %2$.30hs a un nombre de références différent "
+-"dans %3$.30hs"
++"Le glyphe %1$.30s de la fonte %2$.30s a un nombre de références différent "
++"dans %3$.30s"
+
+ #, c-format
+ msgid ""
+@@ -20457,7 +20457,7 @@ msgstr ""
+ #, c-format
+ msgid "The outlines of glyph %2$.30s were not found in the font %1$.60s"
+ msgstr ""
+-"Le contours du glyphe %2$.30s n'ont pas été trouvés dans la police %1$.60hs"
++"Le contours du glyphe %2$.30s n'ont pas été trouvés dans la police %1$.60s"
+
+ msgid "The paths that make up this glyph intersect one another"
+ msgstr "Les chemins qui composent ce glyphe se coupent les uns les autres"
+@@ -21042,7 +21042,7 @@ msgstr "Il y a déjà une sous-table avec ce nom, changez de nom SVP"
+
+ #, c-format
+ msgid "There is already an anchor point named %1$.40s in %2$.40s."
+-msgstr "Il y a déjà une ancre appelée %1$.40s dans %2$.40hs."
++msgstr "Il y a déjà une ancre appelée %1$.40s dans %2$.40s."
+
+ msgid "There is another glyph in the font with this name"
+ msgstr "Il y a un autre glyphe dans la fonte avec ce nom"
+@@ -21441,8 +21441,8 @@ msgid ""
+ "been able to find is %1$.20s-%2$.20s-%4$d.\n"
+ "Shall I use that or let you search?"
+ msgstr ""
+-"Cette fonte est basée sur le jeu de caractères %1$.20s-%2$.20hs-%3$d, mais "
+-"ce que j'ai trouvé de mieux c'est %1$.20hs-%2$.20hs-%4$d.\n"
++"Cette fonte est basée sur le jeu de caractères %1$.20s-%2$.20s-%3$d, mais "
++"ce que j'ai trouvé de mieux c'est %1$.20s-%2$.20s-%4$d.\n"
+ "Devrais-je utiliser cette valeur ou préférez vous chercher ?"
+
+ msgid ""
+@@ -21770,7 +21770,7 @@ msgid ""
+ "with a 0 offset for this combination. Would you like to alter this kerning "
+ "class entry (or create a kerning pair for just these two glyphs)?"
+ msgstr ""
+-"Cette paire de crénage (%.20s et %.20hs) est dans une classe de crénage\n"
++"Cette paire de crénage (%.20s et %.20s) est dans une classe de crénage\n"
+ "avec un déplacement de 0 pour cette combinaison. Voulez-vous modifier cette "
+ "partie\n"
+ "de la classe de crénage (ou créer une nouvelle paire rien que pour ces 2 "
+@@ -24551,8 +24551,8 @@ msgid ""
+ "referred to.\n"
+ "It will not be copied."
+ msgstr ""
+-"Vous essayer de coller une référence vers %1$s dans %2$hs.\n"
+-"Mais %1$hs n'existe pas dans cette fonte, et FontForge ne trouve pas le "
++"Vous essayer de coller une référence vers %1$s dans %2$s.\n"
++"Mais %1$s n'existe pas dans cette fonte, et FontForge ne trouve pas le "
+ "glyphe auquel il se référait.\n"
+ "Le glyphe ne sera pas copié."
+
+@@ -24562,8 +24562,8 @@ msgid ""
+ "But %1$s does not exist in this font.\n"
+ "Would you like to copy the original splines (or delete the reference)?"
+ msgstr ""
+-"Vous essayer de coller une référence vers %1$s dans %2$hs.\n"
+-"Mais %1$hs n'existe pas dans cette fonte.\n"
++"Vous essayer de coller une référence vers %1$s dans %2$s.\n"
++"Mais %1$s n'existe pas dans cette fonte.\n"
+ "Voulez vous copier le contour d'origine (ou supprimer la référence)?"
+
+ msgid ""
+diff --git a/po/hr.po b/po/hr.po
+index d261d4ca7..ac41b9250 100644
+--- a/po/hr.po
++++ b/po/hr.po
+@@ -20156,11 +20156,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s u dijaloškom okviru traženja sadrži referencu na %2$.20hs koja ne "
++"%1$s u dijaloškom okviru traženja sadrži referencu na %2$.20s koja ne "
+ "postoji u fontu.\n"
+ "Želiš li dozvoliti uklanjanje reference?"
+
+diff --git a/po/it.po b/po/it.po
+index e13711485..d0c3ea987 100644
+--- a/po/it.po
++++ b/po/it.po
+@@ -2303,7 +2303,7 @@ msgid ""
+ "Reverting the file will lose those changes.\n"
+ "Is that what you want?"
+ msgstr ""
+-"Il font %1$.40s nel file %2$.40hs è stato modificato.\n"
++"Il font %1$.40s nel file %2$.40s è stato modificato.\n"
+ "Ripristinando il file perderai tutte le modifiche.\n"
+ "È quello che vuoi fare?"
+
+@@ -5835,7 +5835,7 @@ msgid ""
+ "The glyph %1$.30s has a different number of contours in font %2$.30s than in "
+ "%3$.30s"
+ msgstr ""
+-"Il glifo %1$.30s ha un diverso numero di contorni nel font %2$.30hs rispetto "
++"Il glifo %1$.30s ha un diverso numero di contorni nel font %2$.30s rispetto "
+ "a %3$.30s"
+
+ #, c-format
+@@ -6235,8 +6235,8 @@ msgid ""
+ "been able to find is %1$.20s-%2$.20s-%4$d.\n"
+ "Shall I use that or let you search?"
+ msgstr ""
+-"Questo font è basato sulla codifica di caratteri %1$.20s-%2$.20hs-%3$d, ma "
+-"il migliore che io abbia trovato è %1$.20hs-%2$.20hs-%4$d.\n"
++"Questo font è basato sulla codifica di caratteri %1$.20s-%2$.20s-%3$d, ma "
++"il migliore che io abbia trovato è %1$.20s-%2$.20s-%4$d.\n"
+ "Devo usare questo valore o preferisci cercare tu stesso?"
+
+ msgid ""
+diff --git a/po/ja.po b/po/ja.po
+index ed9f5a645..206ae82d1 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -11458,11 +11458,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s には, 新しいフォントには含まれないグリフ %2$.20hs への参照が含まれていま"
++"%1$s には, 新しいフォントには含まれないグリフ %2$.20s への参照が含まれていま"
+ "す.\n"
+ "参照を削除しますか?"
+
+diff --git a/po/ko.po b/po/ko.po
+index 971b4db03..4d5c8d40d 100644
+--- a/po/ko.po
++++ b/po/ko.po
+@@ -20920,11 +20920,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"검색 대화 상자의 %1$s에는 새 글꼴에 없는 %2$.20hs에 대한 참조가 포함되어 있"
++"검색 대화 상자의 %1$s에는 새 글꼴에 없는 %2$.20s에 대한 참조가 포함되어 있"
+ "다.\n"
+ "참조를 제거해야 하는가?"
+
+diff --git a/po/pl.po b/po/pl.po
+index 2bbbf00be..c1fd5a454 100644
+--- a/po/pl.po
++++ b/po/pl.po
+@@ -19552,11 +19552,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s w okienku wyszukiwania zawiera odwołanie do %2$.20hs, który nie "
++"%1$s w okienku wyszukiwania zawiera odwołanie do %2$.20s, który nie "
+ "istnieje w nowym foncie.\n"
+ "Czy usunąć to odwołanie?"
+
+diff --git a/po/uk.po b/po/uk.po
+index e3768acc3..3302a1005 100644
+--- a/po/uk.po
++++ b/po/uk.po
+@@ -19860,11 +19860,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s у діалоговому вікні пошуку містить посилання на %2$.20hs, якого не "
++"%1$s у діалоговому вікні пошуку містить посилання на %2$.20s, якого не "
+ "існує у новому шрифті.\n"
+ "Вилучити це посилання?"
+
+diff --git a/po/vi.po b/po/vi.po
+index 6aee8bb3f..f5eb739e6 100644
+--- a/po/vi.po
++++ b/po/vi.po
+@@ -17109,11 +17109,11 @@ msgstr ""
+
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Trong hộp thoại tìm kiếm, %1$s chứa một tham chiếu đến %2$.20hs mà không tồn "
++"Trong hộp thoại tìm kiếm, %1$s chứa một tham chiếu đến %2$.20s mà không tồn "
+ "tại trong phông mới.\n"
+ "Bạn có muốn gỡ bỏ tham chiếu này không?"
+
+--
+2.42.0
+
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch b/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch
new file mode 100644
index 0000000000..573866eb15
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge/0001-cmake-Use-alternate-way-to-detect-libm.patch
@@ -0,0 +1,77 @@
+From 644c3380f75b20a11755e7052aa632887f3eee2b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Jul 2022 12:32:47 -0700
+Subject: [PATCH] cmake: Use alternate way to detect libm
+
+The standard package provided with MathLib cmake module does not work
+when libm is folded into libc starting glibc 2.35+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ CMakeLists.txt | 7 ++++++-
+ contrib/fonttools/CMakeLists.txt | 2 +-
+ fontforge/CMakeLists.txt | 2 +-
+ fontforgeexe/CMakeLists.txt | 2 +-
+ 4 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e234cb6e9..284ba2d20 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -115,9 +115,14 @@ else()
+ endif()
+ find_package(Iconv REQUIRED)
+ find_package(LibXml2 REQUIRED)
+-find_package(MathLib REQUIRED)
+ find_package(ZLIB REQUIRED)
+
++include(CheckLibraryExists)
++CHECK_LIBRARY_EXISTS(m pow "" HAVE_LIB_M)
++if (HAVE_LIB_M)
++ set(EXTRA_LIBS ${EXTRA_LIBS} m)
++endif (HAVE_LIB_M)
++
+ check_include_file(pthread.h HAVE_PTHREAD_H)
+ if(HAVE_PTHREAD_H)
+ find_package(Threads)
+diff --git a/contrib/fonttools/CMakeLists.txt b/contrib/fonttools/CMakeLists.txt
+index d6c698877..1608af152 100644
+--- a/contrib/fonttools/CMakeLists.txt
++++ b/contrib/fonttools/CMakeLists.txt
+@@ -15,7 +15,7 @@ add_executable(woff woff.c)
+
+ target_link_libraries(acorn2sfd PRIVATE fontforge)
+ target_link_libraries(dewoff PRIVATE ZLIB::ZLIB)
+-target_link_libraries(pcl2ttf PRIVATE MathLib::MathLib)
++target_link_libraries(pcl2ttf PRIVATE ${EXTRA_LIBS})
+ target_link_libraries(ttf2eps PRIVATE fontforge)
+ target_link_libraries(woff PRIVATE ZLIB::ZLIB)
+
+diff --git a/fontforge/CMakeLists.txt b/fontforge/CMakeLists.txt
+index 9a052f360..067ef40df 100644
+--- a/fontforge/CMakeLists.txt
++++ b/fontforge/CMakeLists.txt
+@@ -237,7 +237,7 @@ target_link_libraries(fontforge
+ GLIB::GLIB
+ Intl::Intl
+ PRIVATE
+- MathLib::MathLib
++ ${EXTRA_LIBS}
+ Iconv::Iconv
+ ZLIB::ZLIB
+ )
+diff --git a/fontforgeexe/CMakeLists.txt b/fontforgeexe/CMakeLists.txt
+index e2982c39d..8829993ea 100644
+--- a/fontforgeexe/CMakeLists.txt
++++ b/fontforgeexe/CMakeLists.txt
+@@ -121,7 +121,7 @@ if(ENABLE_PYTHON_SCRIPTING_RESULT)
+ target_link_libraries(fontforgeexe PRIVATE Python3::Python)
+ endif()
+
+-target_link_libraries(fontforgeexe PRIVATE fontforge Iconv::Iconv MathLib::MathLib)
++target_link_libraries(fontforgeexe PRIVATE fontforge Iconv::Iconv ${EXTRA_LIBS})
+ install(TARGETS fontforgeexe RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+ if(UNIX)
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch b/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch
new file mode 100644
index 0000000000..e8c1a11d48
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge/0001-fontforgeexe-Use-env-to-find-fontforge.patch
@@ -0,0 +1,29 @@
+From f5a19ad9b2aea85dab28e7c61ac39404631fad2d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 6 Jul 2022 04:54:23 -0700
+Subject: [PATCH] fontforgeexe: Use env to find fontforge
+
+This helps in avoiding to encode build paths into interpeter
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fontforgeexe/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fontforgeexe/CMakeLists.txt b/fontforgeexe/CMakeLists.txt
+index b2d663b88..e2a8fee54 100644
+--- a/fontforgeexe/CMakeLists.txt
++++ b/fontforgeexe/CMakeLists.txt
+@@ -118,7 +118,7 @@ if(UNIX)
+ foreach(_script fontimage.pe fontlint.pe sfddiff.pe)
+ get_filename_component(_output \"\${_script}\" NAME_WE)
+ file(READ \"${CMAKE_CURRENT_SOURCE_DIR}/\${_script}\" _input)
+- file(WRITE \"${CMAKE_CURRENT_BINARY_DIR}/\${_output}\" \"#!\${CMAKE_INSTALL_PREFIX}/bin/fontforge -lang=ff\\n\${_input}\")
++ file(WRITE \"${CMAKE_CURRENT_BINARY_DIR}/\${_output}\" \"#!/usr/bin/env fontforge -lang=ff\\n\${_input}\")
+ endforeach()
+ " COMPONENT nativescripts)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/fontimage" "${CMAKE_CURRENT_BINARY_DIR}/fontlint" "${CMAKE_CURRENT_BINARY_DIR}/sfddiff"
+--
+2.37.0
+
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch b/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
index 54ff7b76d2..27de27d57d 100644
--- a/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
+++ b/meta-oe/recipes-graphics/fontforge/fontforge/0001-include-sys-select-on-non-glibc-platforms.patch
@@ -11,19 +11,14 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
gdraw/gdraw.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/gdraw/gdraw.c b/gdraw/gdraw.c
-index 24591b778..217c63140 100644
--- a/gdraw/gdraw.c
+++ b/gdraw/gdraw.c
-@@ -32,7 +32,7 @@
+@@ -33,7 +33,7 @@
#include "gkeysym.h"
#include "ustring.h"
--#if __Mac || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__
-+#if __Mac || __FreeBSD__ || __NetBSD__ || __OpenBSD__ || __DragonFly__ || !defined(__GLIBC__)
+-#if __Mac
++#if __Mac || (defined(__linux__) && !defined(__GLIBC__))
# include <sys/select.h>
#endif
---
-2.23.0
-
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb b/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb
deleted file mode 100644
index 1863f95f0f..0000000000
--- a/meta-oe/recipes-graphics/fontforge/fontforge_20190801.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "A font editor"
-HOMEPAGE = "http://fontforge.github.io/en-US/"
-LICENSE = "BSD-3-Clause & GPLv3"
-LIC_FILES_CHKSUM = " \
- file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://LICENSE;md5=d042f3d2a8fd7208b704a499168e3c89 \
-"
-
-DEPENDS = "python3 glib-2.0 pango giflib tiff libxml2 jpeg libtool uthash gettext-native"
-DEPENDS_append_class-target = " libxi"
-
-inherit autotools pkgconfig python3native features_check gettext gtk-icon-cache mime mime-xdg
-
-REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
-
-# tag 20190801
-SRCREV = "ac635b818e38ddb8e7e2e1057330a32b4e25476e"
-SRC_URI = "git://github.com/${BPN}/${BPN}.git \
- file://0001-include-sys-select-on-non-glibc-platforms.patch \
-"
-S = "${WORKDIR}/git"
-
-EXTRA_OECONF += "--without-libuninameslist --enable-python-scripting --enable-python-extension"
-EXTRA_OECONF_append_class-native = " with_x=no"
-
-LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
-BUILD_LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
-
-#do_configure_prepend() {
-# uthash sources are expected in uthash/src
-# mkdir -p ${S}/uthash/src
-# cp ${STAGING_INCDIR}/ut*.h ${S}/uthash/src
-#}
-
-PACKAGES =+ "${PN}-python"
-
-FILES_${PN} += " \
- ${datadir}/appdata \
- ${datadir}/metainfo \
- ${datadir}/mime \
-"
-
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${BPN}/python"
-RDEPENDS_${PN}-python = "python3"
-
-# for e.g kde's oxygen-fonts
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb b/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb
new file mode 100644
index 0000000000..31dd495fd7
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb
@@ -0,0 +1,52 @@
+SUMMARY = "A font editor"
+HOMEPAGE = "http://fontforge.github.io/en-US/"
+LICENSE = "BSD-3-Clause & GPL-3.0-only"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE;md5=d042f3d2a8fd7208b704a499168e3c89 \
+"
+
+DEPENDS = "python3 glib-2.0 pango giflib tiff libxml2 jpeg libtool uthash gettext-native libspiro"
+DEPENDS:append:class-target = " libxi"
+
+inherit cmake pkgconfig python3native python3targetconfig features_check gettext gtk-icon-cache mime mime-xdg
+
+REQUIRED_DISTRO_FEATURES:append:class-target = " x11"
+
+# tag 20220308
+SRCREV = "a1dad3e81da03d5d5f3c4c1c1b9b5ca5ebcfcecf"
+SRC_URI = "git://github.com/${BPN}/${BPN}.git;branch=master;protocol=https \
+ file://0001-include-sys-select-on-non-glibc-platforms.patch \
+ file://0001-fontforgeexe-Use-env-to-find-fontforge.patch \
+ file://0001-cmake-Use-alternate-way-to-detect-libm.patch \
+ file://0001-Fix-Translations-containing-invalid-directives-hs.patch \
+"
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DENABLE_DOCS=OFF"
+PACKAGECONFIG = "readline"
+PACKAGECONFIG[readline] = "-DENABLE_READLINE=ON,-DENABLE_READLINE=OFF,readline"
+
+CFLAGS += "-fno-strict-aliasing"
+LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
+BUILD_LDFLAGS += "-lpython${PYTHON_BASEVERSION}${PYTHON_ABI}"
+
+#do_configure:prepend() {
+# uthash sources are expected in uthash/src
+# mkdir -p ${S}/uthash/src
+# cp ${STAGING_INCDIR}/ut*.h ${S}/uthash/src
+#}
+
+PACKAGES =+ "${PN}-python"
+
+FILES:${PN} += " \
+ ${datadir}/appdata \
+ ${datadir}/metainfo \
+ ${datadir}/mime \
+"
+
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${BPN}/python"
+RDEPENDS:${PN}-python = "python3"
+
+# for e.g kde's oxygen-fonts
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/fontforge/libspiro_20221101.bb b/meta-oe/recipes-graphics/fontforge/libspiro_20221101.bb
new file mode 100644
index 0000000000..0adac8464e
--- /dev/null
+++ b/meta-oe/recipes-graphics/fontforge/libspiro_20221101.bb
@@ -0,0 +1,14 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "LibSpiro is an adaptation of Spiro formula and functions into a sharable library"
+HOMEPAGE = "https://github.com/fontforge/libspiro"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "https://github.com/fontforge/libspiro/releases/download/${PV}/libspiro-dist-${PV}.tar.gz"
+SRC_URI[sha256sum] = "5984fb5af3e4e1f927f3a74850b705a711fb86284802a5e6170b09786440e8be"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb b/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb
deleted file mode 100644
index 6ef9f74c70..0000000000
--- a/meta-oe/recipes-graphics/freeglut/freeglut_3.2.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
- Utility Toolkit (GLUT) library"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
-
-SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "cd5c670c1086358598a6d4a9d166949d"
-SRC_URI[sha256sum] = "d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68"
-
-inherit cmake features_check
-
-# depends on virtual/libx11, virtual/libgl
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-# Do not use -fno-common, check back when upgrading to new version it might not be needed
-CFLAGS += "-fcommon"
-
-PROVIDES += "mesa-glut"
-
-DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu libxrandr"
diff --git a/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb b/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb
new file mode 100644
index 0000000000..2cd00b0349
--- /dev/null
+++ b/meta-oe/recipes-graphics/freeglut/freeglut_3.4.0.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
+ Utility Toolkit (GLUT) library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
+
+SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "3c0bcb915d9b180a97edaebd011b7a1de54583a838644dcd42bb0ea0c6f3eaec"
+
+inherit cmake features_check pkgconfig
+
+# depends on virtual/libgl and libxi
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+PACKAGECONFIG[gles] = "-DFREEGLUT_GLES=ON,-DFREEGLUT_GLES=OFF,"
+PACKAGECONFIG[wayland] = "-DFREEGLUT_WAYLAND=ON,-DFREEGLUT_WAYLAND=OFF,libxkbcommon"
+PACKAGECONFIG[demos] = "-DFREEGLUT_BUILD_DEMOS=ON,-DFREEGLUT_BUILD_DEMOS=OFF,"
+PACKAGECONFIG[x11] = ",,virtual/libx11 libice libxmu libglu libxrandr libxext"
+# Add -Wno-implicit-function-declaration since it might be otherwise treated at
+# error by clang16+ and this is not really a problem
+CFLAGS += "-Wno-implicit-function-declaration"
+
+PROVIDES += "mesa-glut"
+
+DEPENDS = "virtual/libgl libxi"
+
+do_install:append() {
+ # Remove buildpaths
+ sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/FreeGLUT/FreeGLUTTargets.cmake
+}
diff --git a/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch b/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch
index cf03cd0f29..e5ed0bdb86 100644
--- a/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch
+++ b/meta-oe/recipes-graphics/ftgl/ftgl/0001-use-pkg-config-to-find-freetype2.patch
@@ -6,7 +6,7 @@ MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Upstream-Status: inappropriate [OE specific]
+Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch b/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
index 50003e3318..4886248233 100644
--- a/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
+++ b/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
@@ -10,7 +10,7 @@ COMPAT_OLD_KEYSYMDEF is a check for a legacy system, which our system
most definitely is not. It is accomplished by trying to execute
a program, which does not work when cross compiling.
-Upstream-Status: inappropriate [OE specific]
+Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi>
Signed-off-by: Riku Hämäläinen <riku.hamalainen@ge.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb b/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb
deleted file mode 100644
index 51f5a4eca1..0000000000
--- a/meta-oe/recipes-graphics/fvwm/fvwm_2.6.9.bb
+++ /dev/null
@@ -1,109 +0,0 @@
-SUMMARY = "F Virtual Window Manager "
-HOMEPAGE = "http://www.fvwm.org/"
-SECTION = "x11/wm"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f8204787357db6ea518dcc9b6cf08388"
-
-DEPENDS = " \
- bison-native \
- flex-native \
- freetype-native \
- gettext-native \
- libxslt-native \
- fontconfig \
- libice \
- libpng \
- librsvg \
- libsm \
- libxau \
- libxcb \
- libxcursor \
- libxdmcp \
- libxext \
- libxfixes \
- libxft \
- libxinerama \
- libxml2 \
- libxrender \
- libxt \
- virtual/libx11 \
- xrandr \
- zlib \
-"
-
-SRC_URI = " \
- git://github.com/fvwmorg/fvwm.git;protocol=https \
- file://0001-Fix-compilation-for-disabled-gnome.patch \
-"
-
-SRCREV = "88eab6dc16da6e5dd25fe97fbb56b96ef0d58657"
-
-S = "${WORKDIR}/git"
-
-inherit autotools gettext update-alternatives pkgconfig python3native perlnative features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-ALTERNATIVE_${PN} = "x-window-manager"
-ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm"
-ALTERNATIVE_PRIORITY[x-window-manager] = "20"
-
-EXTRA_OECONF = " \
- --disable-bidi \
- --disable-fontconfigtest \
- --disable-htmldoc \
- --disable-imlibtest \
- --disable-nls \
- --disable-perllib \
- --disable-rsvg \
- --disable-shape \
- --disable-sm \
- --disable-xfttest \
- --with-imlib-exec-prefix=/nonexistent \
- --with-imlib-prefix=/nonexistent \
- --without-ncurses-library \
- --without-readline-library \
- --without-rplay-library \
- --without-stroke-library \
- --without-termcap-library \
- --without-xpm-library \
- ac_cv_func_mkstemp=no \
- has_safety_mkstemp=yes \
-"
-
-# show the exact commands in the log file
-EXTRA_OEMAKE = " \
- V=1 \
-"
-
-do_install_append() {
- install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm
- # You can install the config file here
-
- install -d -m 0755 ${D}/${datadir}/fvwm
- touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults
-}
-
-# the only needed packages (note: locale packages are automatically generated
-# as well)
-PACKAGES = " \
- ${PN} \
- ${PN}-dbg \
-"
-
-# minimal set of binaries
-FILES_${PN} = " \
- ${bindir}/fvwm \
- ${bindir}/fvwm-root \
- ${datadir}/fvwm/ConfigFvwmDefaults \
-"
-
-RDEPENDS_${PN} = " \
- xuser-account \
-"
-
-# by default a lot of stuff is installed and it's not easy to control what to
-# install, so install everything, but skip the check
-INSANE_SKIP_${PN} = " \
- installed-vs-shipped \
-"
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb b/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
new file mode 100644
index 0000000000..8daf38a0ba
--- /dev/null
+++ b/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
@@ -0,0 +1,123 @@
+SUMMARY = "F Virtual Window Manager "
+HOMEPAGE = "http://www.fvwm.org/"
+SECTION = "x11/wm"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f8204787357db6ea518dcc9b6cf08388"
+
+DEPENDS = " \
+ bison-native \
+ flex-native \
+ freetype-native \
+ gettext-native \
+ libxslt-native \
+ fontconfig \
+ libice \
+ libpng \
+ librsvg \
+ libsm \
+ libxau \
+ libxcb \
+ libxcursor \
+ libxdmcp \
+ libxext \
+ libxfixes \
+ libxft \
+ libxinerama \
+ libxml2 \
+ libxrender \
+ libxt \
+ virtual/libx11 \
+ xrandr \
+ zlib \
+"
+
+SRC_URI = " \
+ git://github.com/fvwmorg/fvwm.git;protocol=https;branch=master \
+ file://0001-Fix-compilation-for-disabled-gnome.patch \
+"
+
+SRCREV = "7baf540e56fb1a3e91752acba872a88543529d46"
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext update-alternatives pkgconfig python3native perlnative features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+ALTERNATIVE:${PN} = "x-window-manager"
+ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm"
+ALTERNATIVE_PRIORITY[x-window-manager] = "20"
+
+EXTRA_OECONF = " \
+ --disable-bidi \
+ --disable-fontconfigtest \
+ --disable-htmldoc \
+ --disable-imlibtest \
+ --disable-nls \
+ --disable-perllib \
+ --disable-rsvg \
+ --disable-shape \
+ --disable-sm \
+ --disable-xfttest \
+ --with-imlib-exec-prefix=/nonexistent \
+ --with-imlib-prefix=/nonexistent \
+ --without-ncurses-library \
+ --without-readline-library \
+ --without-rplay-library \
+ --without-stroke-library \
+ --without-termcap-library \
+ --without-xpm-library \
+ ac_cv_func_mkstemp=no \
+ has_safety_mkstemp=yes \
+"
+
+# show the exact commands in the log file
+EXTRA_OEMAKE = " \
+ V=1 \
+"
+# clang treats them as errors by default now starting with 15.0+
+CFLAGS += "-Wno-error=int-conversion -Wno-error=implicit-int"
+
+do_install:append() {
+ install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm
+ # You can install the config file here
+
+ install -d -m 0755 ${D}/${datadir}/fvwm
+ touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/perl-native/perl:${USRBINPATH}/env perl:g' ${D}${bindir}/fvwm-*
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/perl-native/perl:${USRBINPATH}/env perl:g' ${D}${libexecdir}/fvwm/*/Fvwm*
+ sed -i -e 's:${STAGING_BINDIR_NATIVE}/python3-native/python3:${USRBINPATH}/env python3:g' ${D}${bindir}/fvwm-menu-desktop
+}
+
+# the only needed packages (note: locale packages are automatically generated
+# as well)
+PACKAGES = " \
+ ${PN} \
+ ${PN}-extra \
+ ${PN}-doc \
+ ${PN}-dbg \
+"
+
+# minimal set of binaries
+FILES:${PN} = " \
+ ${bindir}/fvwm \
+ ${bindir}/fvwm-root \
+ ${datadir}/fvwm/ConfigFvwmDefaults \
+"
+
+FILES:${PN}-extra = " \
+ ${bindir} \
+ ${libexecdir} \
+ ${sysconfdir}/xdg/fvwm \
+"
+FILES:${PN}-doc = " \
+ ${mandir} \
+ ${datadir}/fvwm \
+"
+RDEPENDS:${PN} = " \
+ xuser-account \
+"
+RDEPENDS:${PN}-extra += "\
+ perl \
+ python3-core \
+"
diff --git a/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch b/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch
new file mode 100644
index 0000000000..dee2749898
--- /dev/null
+++ b/meta-oe/recipes-graphics/glm/glm/0001-Do-not-use-Werror-with-clang.patch
@@ -0,0 +1,32 @@
+From ee405855bca7d6399ff1a1aef952010056c84ff6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 1 Mar 2023 21:08:09 -0800
+Subject: [PATCH] Do not use -Werror with clang
+
+Too many warnings to handle for a distro build
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ test/CMakeLists.txt | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index e7f85f19..0b6fd980 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -197,10 +197,6 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ message("GLM: Clang - ${CMAKE_CXX_COMPILER_ID} compiler")
+ endif()
+
+- add_compile_options(-Werror -Weverything)
+- add_compile_options(-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-c++11-long-long -Wno-padded -Wno-gnu-anonymous-struct -Wno-nested-anon-types)
+- add_compile_options(-Wno-undefined-reinterpret-cast -Wno-sign-conversion -Wno-unused-variable -Wno-missing-prototypes -Wno-unreachable-code -Wno-missing-variable-declarations -Wno-sign-compare -Wno-global-constructors -Wno-unused-macros -Wno-format-nonliteral)
+-
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
+ if(NOT GLM_QUIET)
+ message("GLM: GCC - ${CMAKE_CXX_COMPILER_ID} compiler")
+--
+2.39.2
+
diff --git a/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch b/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch
index 25e851883e..10692dd423 100644
--- a/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch
+++ b/meta-oe/recipes-graphics/glm/glm/0001-Silence-clang-warnings.patch
@@ -1,6 +1,6 @@
-From 5b83983b246cff440de4421696b6b5dd9072ed2d Mon Sep 17 00:00:00 2001
+From bd9b5060bc3b9581090d44f15b4e236566ea86a6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Feb 2021 11:36:23 -0800
+Date: Fri, 4 Jun 2021 12:57:57 -0700
Subject: [PATCH] Silence clang warnings
Fixes
@@ -12,15 +12,20 @@ glm/gtc/../ext/quaternion_common.inl:76:87: error: unused parameter 'k' [-Werror
GLM_FUNC_QUALIFIER qua<T, Q> slerp(qua<T, Q> const& x, qua<T, Q> const& y, T a, S k)
^
+and
+
+test/gtx/gtx_fast_trigonometry.cpp:135:9: error: variable 'result' set but not used [-Werror,-Wunused-but-set-variable]
+| float result = 0.f;
+| ^
+
Upstream-Status: Submitted [https://github.com/g-truc/glm/pull/1055]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- glm/ext/quaternion_common.inl | 2 +-
- glm/gtc/random.inl | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ glm/ext/quaternion_common.inl | 2 +-
+ glm/gtc/random.inl | 2 +-
+ test/gtx/gtx_fast_trigonometry.cpp | 30 ++++++++++++------------------
+ 3 files changed, 14 insertions(+), 20 deletions(-)
-diff --git a/glm/ext/quaternion_common.inl b/glm/ext/quaternion_common.inl
-index 0e4a3bb2..8f9dccef 100644
--- a/glm/ext/quaternion_common.inl
+++ b/glm/ext/quaternion_common.inl
@@ -104,7 +104,7 @@ namespace glm
@@ -28,23 +33,113 @@ index 0e4a3bb2..8f9dccef 100644
// Graphics Gems III, page 96
T angle = acos(cosTheta);
- T phi = angle + k * glm::pi<T>();
-+ T phi = angle + static_cast<float>(k) * glm::pi<T>();
++ T phi = angle + static_cast<T>(k) * glm::pi<T>();
return (sin(angle - a * phi)* x + sin(a * phi) * z) / sin(angle);
}
}
-diff --git a/glm/gtc/random.inl b/glm/gtc/random.inl
-index 70485098..a4af2a06 100644
---- a/glm/gtc/random.inl
-+++ b/glm/gtc/random.inl
-@@ -22,7 +22,7 @@ namespace detail
- GLM_FUNC_QUALIFIER static vec<1, uint8, P> call()
- {
- return vec<1, uint8, P>(
-- std::rand() % std::numeric_limits<uint8>::max());
-+ static_cast<uint8>(std::rand()) % std::numeric_limits<uint8>::max());
- }
- };
-
---
-2.30.0
-
+--- a/test/gtx/gtx_fast_trigonometry.cpp
++++ b/test/gtx/gtx_fast_trigonometry.cpp
+@@ -19,15 +19,14 @@ namespace fastCos
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastCos(i);
++ glm::fastCos(i);
+
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::cos(i);
++ glm::cos(i);
+
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+@@ -53,15 +52,14 @@ namespace fastSin
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastSin(i);
++ glm::fastSin(i);
+
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::sin(i);
++ glm::sin(i);
+
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+@@ -79,15 +77,14 @@ namespace fastTan
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastTan(i);
++ glm::fastTan(i);
+
+ const std::clock_t timestamp2 = std::clock();
+ for (float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::tan(i);
++ glm::tan(i);
+
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+@@ -105,15 +102,14 @@ namespace fastAcos
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastAcos(i);
++ glm::fastAcos(i);
+
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::acos(i);
++ glm::acos(i);
+
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+@@ -132,13 +128,12 @@ namespace fastAsin
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastAsin(i);
++ glm::fastAsin(i);
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::asin(i);
++ glm::asin(i);
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+ const std::clock_t time_default = timestamp3 - timestamp2;
+@@ -155,13 +150,12 @@ namespace fastAtan
+ {
+ const float begin = -glm::pi<float>();
+ const float end = glm::pi<float>();
+- float result = 0.f;
+ const std::clock_t timestamp1 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::fastAtan(i);
++ glm::fastAtan(i);
+ const std::clock_t timestamp2 = std::clock();
+ for(float i = begin; i < end; i = NextFloat ? glm::nextFloat(i) : i += 0.1f)
+- result = glm::atan(i);
++ glm::atan(i);
+ const std::clock_t timestamp3 = std::clock();
+ const std::clock_t time_fast = timestamp2 - timestamp1;
+ const std::clock_t time_default = timestamp3 - timestamp2;
diff --git a/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb b/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb
index c5a7c5bff8..dd520b245e 100644
--- a/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb
+++ b/meta-oe/recipes-graphics/glm/glm_0.9.9.8.bb
@@ -9,14 +9,16 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://copying.txt;md5=462e4b97f73ef12f8171c3c546ce4e8d"
SRC_URI = " \
- git://github.com/g-truc/glm;branch=master \
+ git://github.com/g-truc/glm;branch=master;protocol=https \
file://0001-Silence-clang-warnings.patch \
+ file://0001-Do-not-use-Werror-with-clang.patch \
file://glmConfig.cmake.in \
file://glmConfigVersion.cmake.in \
file://glm.pc.in \
file://glmTargets.cmake \
"
-SRCREV = "bf71a834948186f4097caa076cd2663c69a10e1e"
+SRCREV = "efec5db081e3aad807d0731e172ac597f6a39447"
+PV .= "+0.9.9.9+git"
S = "${WORKDIR}/git"
@@ -34,6 +36,6 @@ do_install() {
}
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
BBCLASSEXTEND = "native"
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
new file mode 100644
index 0000000000..abe38e12ce
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch
@@ -0,0 +1,50 @@
+From 366930ccc1a261c3eb883da2bf3c655162ccd75f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 1 Mar 2023 22:58:37 -0800
+Subject: [PATCH] Match prototypes of callbacks with libgphoto
+
+In https://github.com/gphoto/gphoto2/pull/535/commits/ccc4c1f092bd21ebc713f4d7b9be85be49f92f1e
+we tried to fix by using pthread_t but it also needs to make changes in
+libgphoto and these changes can be invasive, therefore lets revert to
+older types and to fix musl problem fix it via type casts
+
+Upstream-Status: Submitted [https://github.com/gphoto/gphoto2/pull/569]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gphoto2/main.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gphoto2/main.c b/gphoto2/main.c
+index 0dac947..cd3c990 100644
+--- a/gphoto2/main.c
++++ b/gphoto2/main.c
+@@ -1198,7 +1198,7 @@ thread_func (void *data)
+ pthread_cleanup_pop (1);
+ }
+
+-static pthread_t
++static unsigned int
+ start_timeout_func (Camera *camera, unsigned int timeout,
+ CameraTimeoutFunc func, void __unused__ *data)
+ {
+@@ -1215,14 +1215,14 @@ start_timeout_func (Camera *camera, unsigned int timeout,
+
+ pthread_create (&tid, NULL, thread_func, td);
+
+- return (tid);
++ return (unsigned int)tid;
+ }
+
+ static void
+-stop_timeout_func (Camera __unused__ *camera, pthread_t id,
++stop_timeout_func (Camera __unused__ *camera, unsigned int id,
+ void __unused__ *data)
+ {
+- pthread_t tid = id;
++ pthread_t tid = (pthread_t)id;
+
+ pthread_cancel (tid);
+ pthread_join (tid, NULL);
+--
+2.39.2
+
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
index 7800fdd570..14976ffb72 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
@@ -6,21 +6,18 @@ Subject: [PATCH] configure.ac remove AM_PO_SUBDIRS
This is done twice together with oe autotools.bbclass.
---
+Upstream-Status: Pending
+
configure.ac | 1 -
1 file changed, 1 deletion(-)
-diff --git a/configure.ac b/configure.ac
-index bb5b795..93fbaf2 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -64,7 +64,6 @@ GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}])
+@@ -46,7 +46,6 @@ dnl i18n support
+ dnl ---------------------------------------------------------------------------
+ GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}])
ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW"
+-AM_PO_SUBDIRS()
AM_GNU_GETTEXT_VERSION([0.14.1])
AM_GNU_GETTEXT([external])
--AM_PO_SUBDIRS()
AM_ICONV()
- GP_GETTEXT_FLAGS()
-
---
-1.9.1
-
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
new file mode 100644
index 0000000000..a27c02cefc
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch
@@ -0,0 +1,39 @@
+From 23c67e93e51f700d0aeecfc08277e39f51201fc3 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 12:59:46 -0700
+Subject: [PATCH] gphoto2: Use pthread_t abstract type for thead IDs
+
+This is not a plain old datatype in every libc, e.g. with musl this
+would fail in type conversion
+
+Upstream-Status: Submitted [https://github.com/gphoto/gphoto2/pull/535]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gphoto2/main.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gphoto2/main.c b/gphoto2/main.c
+index 2bf5964..9a6b05d 100644
+--- a/gphoto2/main.c
++++ b/gphoto2/main.c
+@@ -1198,7 +1198,7 @@ thread_func (void *data)
+ pthread_cleanup_pop (1);
+ }
+
+-static unsigned int
++static pthread_t
+ start_timeout_func (Camera *camera, unsigned int timeout,
+ CameraTimeoutFunc func, void __unused__ *data)
+ {
+@@ -1219,7 +1219,7 @@ start_timeout_func (Camera *camera, unsigned int timeout,
+ }
+
+ static void
+-stop_timeout_func (Camera __unused__ *camera, unsigned int id,
++stop_timeout_func (Camera __unused__ *camera, pthread_t id,
+ void __unused__ *data)
+ {
+ pthread_t tid = id;
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
deleted file mode 100644
index e6c7dd6675..0000000000
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 884d4c9bbd2dc147d614a5fabc25dbea7a71cd48 Mon Sep 17 00:00:00 2001
-From: Andreas Baak <andreas.baak@gmail.com>
-Date: Sun, 12 Jul 2015 02:13:58 -0700
-Subject: [PATCH] Look for popt with GP_CHECK_LIBRARY function
-
-The previously used proprietary function GP_CHECK_POPT
-defined in /.m4m/gp-check-opt.m4 is not ready for cross
-compilation since it looks for the library and headers
-in the host system. Yocto reports the following error:
-"QA Issue: gphoto2: The compile log indicates that host
-include and/or library paths were used."
-Using the GP_CHECK_LIBRARY function fixes this problem
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 93fbaf2..6d661f0 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -285,7 +285,7 @@ GP_CONFIG_MSG([Text preview support],[$aa_msg])
- dnl ---------------------------------------------------------------------------
- dnl popt.h: Simplifies handling of command-line options enormously.
- dnl ---------------------------------------------------------------------------
--GP_CHECK_POPT([mandatory])
-+GP_CHECK_LIBRARY([POPT], [popt], [], [popt.h], [], [], [mandatory])
-
-
- dnl ---------------------------------------------------------------------------
---
-1.9.1
-
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.27.bb b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.27.bb
deleted file mode 100644
index 791ea8db16..0000000000
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.27.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "gphoto2 - a command-line frontend to libgphoto2"
-HOMEPAGE = "http://www.gphoto.com/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-DEPENDS = "libgphoto2 popt readline"
-RDEPENDS_gphoto2 = "libgphoto2"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
- file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
- file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
-"
-
-SRC_URI[gphoto2.md5sum] = "92d39b383c0e0354b4d3af1af7b8b416"
-SRC_URI[gphoto2.sha256sum] = "30054e93a1bb59f501aabd5018713177ea04ce0cb28935319bd6ca80061e8d38"
-
-inherit autotools pkgconfig gettext
-
-EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \
- --without-cdk \
-"
-
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb
new file mode 100644
index 0000000000..513845194d
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb
@@ -0,0 +1,21 @@
+SUMMARY = "gphoto2 - a command-line frontend to libgphoto2"
+HOMEPAGE = "http://www.gphoto.com/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "libgphoto2 popt readline"
+RDEPENDS:gphoto2 = "libgphoto2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
+ file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+ file://0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch \
+ file://0001-Match-prototypes-of-callbacks-with-libgphoto.patch \
+"
+SRC_URI[gphoto2.sha256sum] = "2a648dcdf12da19e208255df4ebed3e7d2a02f905be4165f2443c984cf887375"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \
+ --without-cdk \
+"
+
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch
new file mode 100644
index 0000000000..570bb3e4c1
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch
@@ -0,0 +1,48 @@
+From 06be633b8f4e2241bd37d4faf62b49606ad778e7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 25 May 2023 19:01:36 -0700
+Subject: [PATCH] configure: Filter out buildpaths from CC
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 +++-
+ libgphoto2_port/configure.ac | 6 ++++--
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 17216b1..39c8cc4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -261,7 +261,9 @@ GP_CONFIG_MSG([Compiler],[${CC}])
+ GP_CONFIG_MSG([libltdl includes],[$LTDLINCL])
+ GP_CONFIG_MSG([libltdl library],[$LIBLTDL])
+
+-AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC"],
++CC_NO_SYSROOT=`echo $CC | sed -e \
++ 's|--sysroot=.*\b||g'`
++AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"],
+ [The C compiler we are using])
+
+
+diff --git a/libgphoto2_port/configure.ac b/libgphoto2_port/configure.ac
+index 1086b8e..59f3c34 100644
+--- a/libgphoto2_port/configure.ac
++++ b/libgphoto2_port/configure.ac
+@@ -103,8 +103,10 @@ GP_CONFIG_MSG([Compiler],[${CC}])
+ GP_CONFIG_MSG([libltdl includes],[$LTDLINCL])
+ GP_CONFIG_MSG([libltdl library],[$LIBLTDL])
+
+-AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC"],
+- [The C compiler we're using])
++CC_NO_SYSROOT=`echo $CC | sed -e \
++ 's|--sysroot=.*\b||g'`
++AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"],
++ [The C compiler we are using])
+
+ AM_CPPFLAGS=""
+
+--
+2.40.1
+
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
index 8093676adc..fd647b7386 100644
--- a/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
@@ -11,7 +11,7 @@ together with oe autotools.bbclass this is done twice and causes:
| autoreconf: running: aclocal --system-acdir=/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/aclocal-copy/ --automake-acdir=/home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/share/aclocal-1.12 -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/auto-m4/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/m4m/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/auto-m4/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/m4m/ --force -I auto-m4 -I m4m
| configure.ac:230: error: `po-directories' is already registered with AC_CONFIG_COMMANDS.
-Upstream-Status: Inapropriate [configuration]
+Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
@@ -19,30 +19,23 @@ Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
libgphoto2_port/configure.ac | 1 -
2 files changed, 0 insertions(+), 2 deletions(-)
-diff --git a/configure.ac b/configure.ac
-index 2f8e1b8..2e90acf 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -209,7 +209,6 @@ ALL_LINGUAS="cs da de es eu fr hu it ja nl pl ru sv uk vi zh_CN"
- GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_CURRENT_MIN}],[The gPhoto Team],[${MAIL_GPHOTO_TRANSLATION}])
- AM_GNU_GETTEXT_VERSION([0.14.1])
- AM_GNU_GETTEXT([external])
+@@ -282,7 +282,6 @@ dnl ------------------------------------
+ GP_GETTEXT_SETUP([GETTEXT_PACKAGE_LIBGPHOTO2],
+ [${PACKAGE}-${LIBGPHOTO2_CURRENT_MIN}],
+ [po])
-AM_PO_SUBDIRS()
+ AM_GNU_GETTEXT_VERSION([0.19.1])
+ AM_GNU_GETTEXT([external])
AM_ICONV()
- GP_GETTEXT_FLAGS()
-
-diff --git a/libgphoto2_port/configure.ac b/libgphoto2_port/configure.ac
-index 0b66d58..df47357 100644
--- a/libgphoto2_port/configure.ac
+++ b/libgphoto2_port/configure.ac
-@@ -124,7 +124,6 @@ GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_PORT_CURRENT_MIN}],[Lutz Mueller and ot
- ALL_LINGUAS="cs da de es eu fi fr it ja nl pl pt_BR ru sk sr sv uk vi zh_CN zh_TW"
- AM_GNU_GETTEXT_VERSION([0.14.1])
- AM_GNU_GETTEXT([external])
+@@ -122,7 +122,6 @@ dnl ------------------------------------
+ GP_GETTEXT_SETUP([GETTEXT_PACKAGE_LIBGPHOTO2_PORT],
+ [${PACKAGE}-${LIBGPHOTO2_PORT_CURRENT_MIN}],
+ [po])
-AM_PO_SUBDIRS()
+ AM_GNU_GETTEXT_VERSION([0.19.1])
+ AM_GNU_GETTEXT([external])
AM_ICONV()
- GP_GETTEXT_FLAGS()
-
---
-1.7.4.4
-
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.27.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.27.bb
deleted file mode 100644
index ebb0c34169..0000000000
--- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.27.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "libgphoto2 allows you to access digital cameras"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1"
-
-DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
-
-# The .fdi and .rules files were generated with:
-# libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list
-# They are release specific, so please regen when adding new releases
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \
- file://40-libgphoto2.rules \
- file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
-"
-
-SRC_URI[libgphoto2.md5sum] = "83a2f96dade72e95dffb8e5fa9628d7e"
-SRC_URI[libgphoto2.sha256sum] = "f8b85478c44948a0b0b52c4d4dfda2de1d7bcb7b262c76bd1ae306d9c63240d7"
-
-inherit autotools pkgconfig gettext lib_package
-
-EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[gd] = ",--without-gdlib,gd"
-PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
-
-do_configure_append() {
- cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
- cd ${S}/libgphoto2_port/
- autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
-
- # remove WORKDIR information from config to improve reproducibility
- # libgphoto2_port recheck config will set the WORKDIR info again, so dont do that
- sed -i 's/'$(echo ${WORKDIR} | sed 's_/_\\/_g')'/../g' ${B}/config.h
- sed -i 's/'$(echo ${WORKDIR} | sed 's_/_\\/_g')'/../g' ${B}/libgphoto2_port/config.status
- sed -i '/config\.status/ s/\-\-recheck//' ${B}/libgphoto2_port/Makefile
- cd ${S}
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/udev/rules.d/
- install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
-}
-
-PACKAGES =+ "libgphotoport libgphoto2-camlibs"
-FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
-RRECOMMENDS_${PN} = "libgphoto2-camlibs"
-
-FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
-
-FILES_${PN} += "${nonarch_base_libdir}/udev/*"
-FILES_${PN}-dbg += "${libdir}/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/*/*/*.la"
-FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt"
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb
new file mode 100644
index 0000000000..cc42b6a9c6
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb
@@ -0,0 +1,53 @@
+SUMMARY = "libgphoto2 allows you to access digital cameras"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=477378d78dfeeaa93826ee4ec7c643fb"
+
+DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
+
+# The .fdi and .rules files were generated with:
+# libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list
+# They are release specific, so please regen when adding new releases
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \
+ file://40-libgphoto2.rules \
+ file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+ file://0001-configure-Filter-out-buildpaths-from-CC.patch \
+"
+SRC_URI[libgphoto2.sha256sum] = "4f81c34c0b812bee67afd5f144940fbcbe01a2055586a6a1fa2d0626024a545b"
+
+inherit autotools pkgconfig gettext lib_package
+
+EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gd] = ",--without-gdlib,gd"
+PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
+
+do_configure:prepend() {
+ rm -rf ${S}/libgphoto2_port/auto-m4/*
+ rm -rf ${S}/auto-m4/*
+}
+
+do_configure:append() {
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
+ cd ${S}/libgphoto2_port/
+ autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
+ cd ${S}
+}
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/udev/rules.d/
+ install -m 0644 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
+}
+
+PACKAGES =+ "libgphotoport libgphoto2-camlibs"
+FILES:libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
+RRECOMMENDS:${PN} = "libgphoto2-camlibs"
+
+FILES:libgphotoport = "${libdir}/libgphoto2_port.so.*"
+
+FILES:${PN} += "${nonarch_base_libdir}/udev/*"
+FILES:${PN}-dbg += "${libdir}/*/*/.debug"
+FILES:${PN}-dev += "${libdir}/*/*/*.la"
+FILES:${PN}-doc += "${datadir}/libgphoto2_port/0.12.?/vcamera/README.txt"
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch
new file mode 100644
index 0000000000..0d3f412706
--- /dev/null
+++ b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch
@@ -0,0 +1,58 @@
+From 671e0d091b40ef7deb4a9d43e0dbed2a44edbec8 Mon Sep 17 00:00:00 2001
+From: Matthew Fernandez <matthew.fernandez@gmail.com>
+Date: Sat, 9 Sep 2023 01:03:04 -0700
+Subject: [PATCH] Autotools: fix: do not put '$prefix' based paths in
+ compilation flags
+
+This was causing problems with cross-compilation with a dedicated sysroot,
+because compilation would incorrectly use headers and libraries from the
+`--prefix` path. The `--prefix` path is meant to indicate a target path to
+install to, not a path from which to source dependent libraries.
+
+Gitlab: fixes #2442
+Reported-by: Daniel Klauer
+Suggested-by: Daniel Klauer
+
+Upstream-Status: Backport [https://gitlab.com/graphviz/graphviz/-/commit/012d250a903e13114bce3ba40995fb957fed7848]
+Signed-off-by: Daniel Klauer <daniel.klauer@gin.de>
+---
+ CHANGELOG.md | 3 +++
+ configure.ac | 8 --------
+ 2 files changed, 3 insertions(+), 8 deletions(-)
+
+diff --git a/CHANGELOG.md b/CHANGELOG.md
+index b9b7e8e08..3a15fd256 100644
+--- a/CHANGELOG.md
++++ b/CHANGELOG.md
+@@ -39,6 +39,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
+ longer fails due to missing PHP files. #2388
+ - Syntax for a loop in `gvmap.sh` has been corrected. This was a regression in
+ Graphviz 2.50.0. #2404
++- The Autotools build system no longer uses headers and libraries from the
++ `--prefix` path given on the command line. This previously caused
++ cross-compilation to incorrectly pick up host headers and libraries. #2442
+
+ ## [8.0.5] – 2023-04-30
+
+diff --git a/configure.ac b/configure.ac
+index 573a3ee5d..7d53346de 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -190,14 +190,6 @@ if test "x${prefix}" = "xNONE"; then
+ AC_SUBST([prefix])
+ fi
+
+-# automatically check for other dependencies in $prefix first
+-if test "x${prefix}" != "x/usr"; then
+- CPPFLAGS="$CPPFLAGS -I${prefix}/include"
+- LDFLAGS="$LDFLAGS -L${prefix}/lib"
+- PKG_CONFIG_PATH="$prefix/lib/pkgconfig$PATHSEPARATOR$PKG_CONFIG_PATH"
+- export PKG_CONFIG_PATH
+-fi
+-
+ dnl -----------------------------------
+ # Static/Shared binaries
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
index 6d1d441c57..99b53e2e12 100644
--- a/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
+++ b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch
@@ -11,7 +11,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
--- a/configure.ac
+++ b/configure.ac
-@@ -1540,7 +1540,7 @@ AC_ARG_ENABLE(tcl,
+@@ -1225,7 +1225,7 @@ AC_ARG_ENABLE(tcl,
[], [enable_tcl=yes])
if test "x$enable_tcl" != "xyes"; then
@@ -22,12 +22,12 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
if test "x$use_tcl" = "x"; then
--- a/Makefile.am
+++ b/Makefile.am
-@@ -19,7 +19,7 @@ pkginclude_HEADERS = $(top_builddir)/gra
- man_MANS = graphviz.7
+@@ -11,7 +11,7 @@ pkginclude_HEADERS = $(top_builddir)/gra
+ dist_man_MANS = graphviz.7
# $(subdirs) contains the list from: AC_CONFIG_SUBDIRS
--SUBDIRS = $(subdirs) lib plugin cmd tclpkg doc contrib share graphs rtest tests
-+SUBDIRS = $(subdirs) lib plugin cmd doc contrib share graphs rtest tests
+-SUBDIRS = $(subdirs) lib plugin cmd tclpkg doc contrib share graphs tests
++SUBDIRS = $(subdirs) lib plugin cmd doc contrib share graphs tests
.PHONY: doxygen
doxygen:
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch b/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch
deleted file mode 100644
index 76ff08f63c..0000000000
--- a/meta-oe/recipes-graphics/graphviz/graphviz/0001-Use-native-mkdefs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 5e53b643615fd53f3ff960521bbe9d95641e5f68 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Sun, 20 Jan 2019 23:58:29 +0100
-Subject: [PATCH] Use native mkdefs
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- lib/gvpr/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/lib/gvpr/Makefile.am
-+++ b/lib/gvpr/Makefile.am
-@@ -59,7 +59,7 @@ mkdefs$(EXEEXT):
- $(HOSTCC) $(srcdir)/mkdefs.c -o mkdefs$(EXEEXT)
-
- gdefs.h: $(top_srcdir)/lib/gvpr/gprdata mkdefs$(EXEEXT)
-- ./mkdefs$(EXEEXT) gdefs.h < $(top_srcdir)/lib/gvpr/gprdata
-+ mkdefs$(EXEEXT) gdefs.h < $(top_srcdir)/lib/gvpr/gprdata
-
- EXTRA_DIST = $(man_MANS) $(pdf_DATA) gprdata mkdefs.c gdefs.h trie.c gvprlib.vcxproj*
-
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch b/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch
deleted file mode 100644
index dd79510560..0000000000
--- a/meta-oe/recipes-graphics/graphviz/graphviz/0001-plugin-pango-Include-freetype-headers-explicitly.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 926d9285f3367ae1bdb9ce1dce95f7de73b3a980 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 6 Aug 2019 12:42:19 -0700
-Subject: [PATCH] plugin/pango: Include freetype headers explicitly
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Do not depend on pango automatically adding these headers
-Fixes
-| gvtextlayout_pango.c:140:10: error: unknown type name ‘FT_Face’
-| FT_Face face;
-| ^~~~~~~
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- plugin/pango/gvtextlayout_pango.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/plugin/pango/gvtextlayout_pango.c
-+++ b/plugin/pango/gvtextlayout_pango.c
-@@ -15,6 +15,10 @@
-
- #include <stdlib.h>
- #include <string.h>
-+
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
-+
- #include "gvplugin_render.h"
- #include "agxbuf.h"
- #include "utils.h"
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb b/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb
deleted file mode 100644
index 8fe837b75c..0000000000
--- a/meta-oe/recipes-graphics/graphviz/graphviz_2.44.1.bb
+++ /dev/null
@@ -1,92 +0,0 @@
-SUMMARY = "Graph Visualization Tools"
-HOMEPAGE = "http://www.graphviz.org"
-LICENSE = "EPL-1.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04"
-
-DEPENDS = " \
- intltool-native \
- bison-native \
- groff-native \
- libtool \
- gdk-pixbuf \
- librsvg \
- cairo \
- pango \
- expat \
- freetype \
-"
-DEPENDS_append_class-target = " ${BPN}-native"
-DEPENDS_append_class-nativesdk = " ${BPN}-native"
-
-inherit autotools-brokensep pkgconfig gettext
-
-SRC_URI = "https://www2.graphviz.org/Packages/stable/portable_source/${BP}.tar.gz \
- file://0001-plugin-pango-Include-freetype-headers-explicitly.patch \
-"
-# Use native mkdefs
-SRC_URI_append_class-target = "\
- file://0001-Use-native-mkdefs.patch \
- file://0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch \
-"
-SRC_URI_append_class-nativesdk = "\
- file://0001-Use-native-mkdefs.patch \
- file://graphviz-setup.sh \
-"
-SRC_URI[sha256sum] = "8e1b34763254935243ccdb83c6ce108f531876d7a5dfd443f255e6418b8ea313"
-
-EXTRA_OECONF_append = " PS2PDF=/bin/echo"
-
-EXTRA_OECONF_class-target = "\
- --with-expatincludedir=${STAGING_INCDIR} \
- --with-expatlibdir=${STAGING_LIBDIR} \
- --without-included-ltdl \
- --disable-java \
- --disable-tcl \
- --disable-r \
- --disable-sharp \
- "
-EXTRA_OECONF_class-nativesdk = "\
- --with-expatincludedir=${STAGING_INCDIR} \
- --with-expatlibdir=${STAGING_LIBDIR} \
- --without-included-ltdl \
- --disable-java \
- --disable-tcl \
- --disable-r \
- --disable-sharp \
- "
-CFLAGS_append_class-target = " -D_typ_ssize_t=1 -D_long_double=1"
-CFLAGS_append_class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1"
-do_configure_prepend() {
- cd ${S}
- # create version.m4 and ignore libtoolize errors
- ./autogen.sh NOCONFIG || true
-}
-
-do_install_append_class-native() {
- # install mkdefs for target build
- install -m755 ${B}/lib/gvpr/mkdefs ${D}${bindir}
-}
-
-do_install_append_class-nativesdk() {
- # graphviz-setup.sh must be executed at SDK installation
- install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
- install -m 0755 ${WORKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d
-}
-FILES_${PN}_class-nativesdk += "${SDKPATHNATIVE}"
-
-PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo"
-
-FILES_${PN}-python += "${libdir}/python*/site-packages/ ${libdir}/graphviz/python/"
-FILES_${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/"
-FILES_${PN}-demo += "${datadir}/graphviz/demo/"
-
-RDEPENDS_${PN}-perl += "perl"
-RDEPENDS_${PN}-python += "python3"
-RDEPENDS_${PN}-demo += "python3 perl"
-
-INSANE_SKIP_${PN}-perl = "dev-so"
-INSANE_SKIP_${PN}-python = "dev-so"
-
-FILES_SOLIBSDEV_append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb b/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
new file mode 100644
index 0000000000..2700142e5d
--- /dev/null
+++ b/meta-oe/recipes-graphics/graphviz/graphviz_8.1.0.bb
@@ -0,0 +1,121 @@
+SUMMARY = "Graph Visualization Tools"
+HOMEPAGE = "http://www.graphviz.org"
+LICENSE = "EPL-1.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04"
+
+DEPENDS = " \
+ bison-native \
+ groff-native \
+ libtool \
+ gdk-pixbuf \
+ cairo \
+ pango \
+ expat \
+ freetype \
+"
+DEPENDS:append:class-target = " ${BPN}-native"
+DEPENDS:append:class-nativesdk = " ${BPN}-native"
+
+inherit autotools-brokensep pkgconfig gettext qemu
+
+SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-releases/${PV}/${BP}.tar.xz \
+ file://0001-Autotools-fix-do-not-put-prefix-based-paths-in-compi.patch \
+ "
+# Use native mkdefs
+SRC_URI:append:class-target = "\
+ file://0001-Set-use_tcl-to-be-empty-string-if-tcl-is-disabled.patch \
+"
+SRC_URI:append:class-nativesdk = "\
+ file://graphviz-setup.sh \
+"
+SRC_URI[sha256sum] = "d593695fdaa8a19297523b679ad13d3ef2027b0b7f14cc2bc23e77969ed81565"
+
+PACKAGECONFIG ??= "librsvg"
+PACKAGECONFIG[librsvg] = "--with-librsvg,--without-librsvg,librsvg"
+
+EXTRA_OECONF:append = " PS2PDF=/bin/echo --disable-man-pdfs"
+
+EXTRA_OECONF:class-target = "\
+ --with-expatincludedir=${STAGING_INCDIR} \
+ --with-expatlibdir=${STAGING_LIBDIR} \
+ --without-included-ltdl \
+ --disable-java \
+ --disable-tcl \
+ --disable-r \
+ --disable-sharp \
+ "
+EXTRA_OECONF:class-nativesdk = "\
+ --with-expatincludedir=${STAGING_INCDIR} \
+ --with-expatlibdir=${STAGING_LIBDIR} \
+ --without-included-ltdl \
+ --disable-java \
+ --disable-tcl \
+ --disable-r \
+ --disable-sharp \
+ "
+EXTRA_OECONF:class-native = "\
+ --disable-tcl \
+ "
+CFLAGS:append:class-target = " -D_typ_ssize_t=1 -D_long_double=1"
+CFLAGS:append:class-nativesdk = " -D_typ_ssize_t=1 -D_long_double=1"
+do_configure:prepend() {
+ cd ${S}
+ # create version.m4 and ignore libtoolize errors
+ ./autogen.sh NOCONFIG || true
+}
+
+do_install:append:class-nativesdk() {
+ # graphviz-setup.sh must be executed at SDK installation
+ install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
+ install -m 0755 ${WORKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d
+}
+FILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}"
+
+# create /usr/lib/graphviz/config6
+graphviz_sstate_postinst() {
+ mkdir -p ${SYSROOT_DESTDIR}${bindir}
+ dest=${SYSROOT_DESTDIR}${bindir}/postinst-${PN}
+ echo '#!/bin/sh' > $dest
+ echo '' >> $dest
+ echo 'dot -c' >> $dest
+ chmod 0755 $dest
+}
+SYSROOT_PREPROCESS_FUNCS:append:class-native = " graphviz_sstate_postinst"
+
+pkg_postinst:${PN} () {
+ if [ -n "$D" ]; then
+ if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then
+ ${@qemu_run_binary(d, '$D', '${bindir}/dot')} -c
+ fi
+ else
+ dot -c
+ fi
+}
+
+pkg_postrm:${PN} () {
+ rm -f $D${libdir}/graphviz/config*
+ rmdir --ignore-fail-on-non-empty $D${libdir}/graphviz
+}
+
+PACKAGE_WRITE_DEPS += "qemu-native"
+
+PACKAGES =+ "${PN}-python ${PN}-perl ${PN}-demo"
+
+FILES:${PN}-python += "${PYTHON_SITEPACKAGES_DIR}/ ${libdir}/graphviz/python/"
+FILES:${PN}-perl += "${libdir}/perl5/*/vendor_perl/ ${libdir}/graphviz/perl/"
+FILES:${PN}-demo += "${datadir}/graphviz/demo/"
+
+RDEPENDS:${PN}-perl += "perl"
+RDEPENDS:${PN}-python += "python3"
+RDEPENDS:${PN}-demo += "python3 perl"
+
+RRECOMMENDS:${PN} = "liberation-fonts"
+
+INSANE_SKIP:${PN}-perl = "dev-so"
+INSANE_SKIP:${PN}-python = "dev-so"
+
+FILES_SOLIBSDEV:append = " ${libdir}/graphviz/lib*${SOLIBSDEV}"
+
+RRECOMMENDS:${PN} = "liberation-fonts"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
index d529ddd234..949151a827 100644
--- a/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
@@ -14,6 +14,8 @@ http://sources.debian.net/src/gtkperf/0.40%2Bds-2/debian/patches/01-include_stdl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-main.c-Define-prototype-for-setup_appdata.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-main.c-Define-prototype-for-setup_appdata.patch
new file mode 100644
index 0000000000..08e899b9a6
--- /dev/null
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-main.c-Define-prototype-for-setup_appdata.patch
@@ -0,0 +1,27 @@
+From 6b5f695cb206cd8b3cbcbcd7713e52772e89306b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 20:47:32 -0700
+Subject: [PATCH] main.c: Define prototype for setup_appdata
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/main.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/main.c b/src/main.c
+index c226799..b4ce6d1 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -18,6 +18,8 @@
+ #include "callbacks.h"
+ #include "appdata.h"
+
++void setup_appdata(AppData * appdata_in);
++
+ int
+ main (int argc, char **argv)
+ {
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch b/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
index 0548040af7..f975acabad 100644
--- a/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 2/2] timing.c: Fix format-security errors
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/timing.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
index b4d94ff6a2..a70d31fed0 100644
--- a/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
+++ b/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
@@ -1,6 +1,6 @@
SUMMARY = "GTK Performance tool"
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \
@@ -8,6 +8,7 @@ SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \
file://0001-Include-stdlib.h-for-exit-API.patch \
file://0002-timing.c-Fix-format-security-errors.patch \
file://gettext.patch \
+ file://0001-main.c-Define-prototype-for-setup_appdata.patch \
"
SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53"
@@ -21,13 +22,13 @@ inherit features_check autotools binconfig pkgconfig gettext
REQUIRED_DISTRO_FEATURES = "x11"
-do_configure_prepend () {
+do_configure:prepend () {
rm -f ${S}/m4/init.m4
cp -f ${WORKDIR}/Makevars ${S}/po/
}
-do_install_append () {
+do_install:append () {
rm -rf ${D}/${exec_prefix}/doc
}
-FILES_${PN} += "${exec_prefix}/share/duck.png"
+FILES:${PN} += "${exec_prefix}/share/duck.png"
diff --git a/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb b/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb
deleted file mode 100644
index 6c22f0e044..0000000000
--- a/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.104.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "VCD (Value Change Dump) file waveform viewer"
-DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) "
-HOMEPAGE = "http://gtkwave.sourceforge.net/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
-
-SRC_URI = "http://gtkwave.sourceforge.net/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "23879689ecf7e2cdd2cd5a91c5c601da"
-SRC_URI[sha256sum] = "d20dd1a9307b908439c68122a9f81d3ff434a6bfa5439f0cb01398fec650894f"
-
-inherit pkgconfig autotools gettext texinfo mime mime-xdg
-DEPENDS += "tcl tk gperf-native bzip2 xz pango zlib gtk+ gdk-pixbuf glib-2.0"
-RDEPENDS_${PN} += "tk-lib"
-
-# depends on gtk+ which has this restriction
-inherit features_check
-ANY_OF_DISTRO_FEATURES = "${GTK2DISTROFEATURES}"
-
-EXTRA_OECONF = "--with-tcl=${STAGING_BINDIR_CROSS} --with-tk=${STAGING_BINDIR_CROSS} --with-tirpc --disable-mime-update"
-
-FILES_${PN} = "${bindir} ${datadir}"
diff --git a/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.119.bb b/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.119.bb
new file mode 100644
index 0000000000..0b1b054041
--- /dev/null
+++ b/meta-oe/recipes-graphics/gtkwave/gtkwave_3.3.119.bb
@@ -0,0 +1,44 @@
+SUMMARY = "VCD (Value Change Dump) file waveform viewer"
+DESCRIPTION = "gtkwave is a viewer for VCD (Value Change Dump) files which are usually created by digital circuit simulators. (These files have no connection to video CDs!) "
+HOMEPAGE = "http://gtkwave.sourceforge.net/"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+SRC_URI = "http://gtkwave.sourceforge.net/gtkwave-gtk3-${PV}.tar.gz"
+SRC_URI[sha256sum] = "eab3e09e7641115c07848bfb30f7dd0c3bbe2b8cbe45017e95e077dbba6ac038"
+S = "${WORKDIR}/${BPN}-gtk3-${PV}"
+
+DEPENDS = " \
+ gperf-native \
+ gtk+3 \
+ gdk-pixbuf \
+ tcl \
+ tk \
+ bzip2 \
+ xz \
+ pango \
+ zlib \
+"
+
+inherit pkgconfig autotools gettext texinfo mime mime-xdg
+
+inherit features_check
+# depends on gtk+3 which has this restriction
+# ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+# but https://github.com/gtkwave/gtkwave/blob/f9d82a82aa3ddc30ca47984278371f62c9a3bd81/gtkwave3-gtk3/src/gtk23compat.h#L10
+# explicitly includes gdk/gdkwayland.h for gtk-3.22.26 and newer (oe-core currently has 3.24.29)
+# and it needs x11 as well for tk dependency (so it happends to be both GTK3DISTROFEATURES instead of either of them)
+REQUIRED_DISTRO_FEATURES = "wayland x11"
+
+EXTRA_OECONF = " \
+ --enable-gtk3 \
+ --with-tcl=${STAGING_BINDIR_CROSS} \
+ --with-tk=${STAGING_BINDIR_CROSS} \
+ --with-tirpc \
+ --disable-mime-update \
+"
+
+FILES:${PN} = "${bindir} ${datadir}"
+
+RDEPENDS:${PN} += "tk-lib"
diff --git a/meta-oe/recipes-graphics/imlib2/imlib2_git.bb b/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
index b44b03ce8e..87e7ed4a6b 100644
--- a/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
+++ b/meta-oe/recipes-graphics/imlib2/imlib2_git.bb
@@ -2,19 +2,19 @@ SUMMARY = "A graphic library for file loading, saving, rendering, and manipulati
HOMEPAGE = "https://sourceforge.net/projects/enlightenment/"
SECTION = "libs"
-LICENSE = "MIT & BSD"
+LICENSE = "Imlib2"
LIC_FILES_CHKSUM = "file://COPYING;md5=344895f253c32f38e182dcaf30fe8a35"
DEPENDS = "freetype "
PROVIDES = "virtual/imlib2"
-PV = "1.7.1"
-SRCREV = "v1.7.1"
+PV = "1.12.2"
+SRCREV = "a860e34b19af6b0a73d86ddc0e4829145e18fa6e"
inherit autotools pkgconfig lib_package
AUTO_LIBNAME_PKGS = ""
-SRC_URI = "git://git.enlightenment.org/legacy/${BPN}.git;protocol=https"
+SRC_URI = "git://git.enlightenment.org/old/legacy-${BPN}.git;protocol=https;branch=master"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= "jpeg png zlib ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
@@ -28,12 +28,11 @@ PACKAGECONFIG[png] = "--with-png,--without-png,libpng"
PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff"
PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
-PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
PACKAGECONFIG[id3] = "--with-id3,--without-id3,libid3tag"
PACKAGES =+ "${BPN}-loaders ${BPN}-filters ${BPN}-data"
-FILES_${PN}-data = "${datadir}"
-FILES_imlib2-loaders = "${libdir}/imlib2/loaders/*.so"
-FILES_imlib2-filters = "${libdir}/imlib2/filters/*.so"
+FILES:${PN}-data = "${datadir}"
+FILES:imlib2-loaders = "${libdir}/imlib2/loaders/*.so"
+FILES:imlib2-filters = "${libdir}/imlib2/filters/*.so"
diff --git a/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb b/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb
deleted file mode 100644
index 0bad670df4..0000000000
--- a/meta-oe/recipes-graphics/jasper/jasper_2.0.25.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Jpeg 2000 implementation"
-HOMEPAGE = "https://jasper-software.github.io/jasper/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a80440d1d8f17d041c71c7271d6e06eb"
-
-SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https"
-SRCREV = "9092dcb7f7680204ef523c73eb6132162b4358e3"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=true, -DJAS_ENABLE_LIBJPEG=false, jpeg"
-PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=true, -DJAS_ENABLE_OPENGL=false, freeglut"
-
-EXTRA_OECMAKE_append = " -DJAS_ENABLE_SHARED=true"
-
-do_install_append() {
- chrpath -d ${D}${bindir}/jasper
- chrpath -d ${D}${bindir}/imginfo
- chrpath -d ${D}${bindir}/imgcmp
- chrpath -d ${D}${libdir}/libjasper.so.*
-}
diff --git a/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb b/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb
new file mode 100644
index 0000000000..5281980ecb
--- /dev/null
+++ b/meta-oe/recipes-graphics/jasper/jasper_4.1.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Jpeg 2000 implementation"
+HOMEPAGE = "https://jasper-software.github.io/jasper/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a80440d1d8f17d041c71c7271d6e06eb"
+
+SRC_URI = "git://github.com/jasper-software/jasper.git;protocol=https;branch=master"
+SRCREV = "917f7708b755d8434f70618108c1a76f1b6a0a82"
+
+CVE_STATUS[CVE-2015-8751] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
+S = "${WORKDIR}/git"
+
+inherit cmake multilib_header
+
+do_configure:prepend() {
+ JAS_STDC_VERSION="$(echo __STDC_VERSION__ | ${CPP} -E -P -)"
+}
+
+EXTRA_OECMAKE:append = " -DJAS_STDC_VERSION=${JAS_STDC_VERSION}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'opengl', '', d)} \
+ jpeg"
+
+PACKAGECONFIG[jpeg] = "-DJAS_ENABLE_LIBJPEG=ON,-DJAS_ENABLE_LIBJPEG=OFF,jpeg,"
+PACKAGECONFIG[opengl] = "-DJAS_ENABLE_OPENGL=ON,-DJAS_ENABLE_OPENGL=OFF,freeglut,"
+
+do_install:append() {
+ chrpath -d ${D}${bindir}/jasper
+ chrpath -d ${D}${bindir}/imginfo
+ chrpath -d ${D}${bindir}/imgcmp
+ chrpath -d ${D}${libdir}/libjasper.so.*
+ oe_multilib_header jasper/jas_config.h
+}
+
diff --git a/meta-oe/recipes-graphics/leptonica/leptonica_1.80.0.bb b/meta-oe/recipes-graphics/leptonica/leptonica_1.80.0.bb
deleted file mode 100644
index a861bba5b8..0000000000
--- a/meta-oe/recipes-graphics/leptonica/leptonica_1.80.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications"
-DEPENDS = "jpeg tiff libpng zlib"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=809b282cea2df68975fbe0ffe02b560f"
-
-UPSTREAM_CHECK_URI = "https://github.com/DanBloomberg/leptonica/releases"
-
-SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz"
-SRC_URI[md5sum] = "d640d684234442a84c9e8902f0b3ff36"
-SRC_URI[sha256sum] = "ec9c46c2aefbb960fb6a6b7f800fe39de48343437b6ce08e30a8d9688ed14ba4"
-
-EXTRA_OECONF += " \
- --without-libwebp \
-"
-
-PACKAGECONFIG ??= "giflib"
-PACKAGECONFIG[openjpeg] = "--with-libopenjpeg,--without-libopenjpeg,openjpeg"
-PACKAGECONFIG[giflib] = "--with-giflib,--without-giflib,giflib"
-
-inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/leptonica/leptonica_1.82.0.bb b/meta-oe/recipes-graphics/leptonica/leptonica_1.82.0.bb
new file mode 100644
index 0000000000..c0a2b45a48
--- /dev/null
+++ b/meta-oe/recipes-graphics/leptonica/leptonica_1.82.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications"
+DEPENDS = "jpeg tiff libpng zlib"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=809b282cea2df68975fbe0ffe02b560f"
+
+UPSTREAM_CHECK_URI = "https://github.com/DanBloomberg/leptonica/releases"
+
+SRC_URI = "http://www.leptonica.org/source/leptonica-${PV}.tar.gz"
+SRC_URI[sha256sum] = "155302ee914668c27b6fe3ca9ff2da63b245f6d62f3061c8f27563774b8ae2d6"
+
+EXTRA_OECONF += " \
+ --without-libwebp \
+"
+
+PACKAGECONFIG ??= "giflib"
+PACKAGECONFIG[openjpeg] = "--with-libopenjpeg,--without-libopenjpeg,openjpeg"
+PACKAGECONFIG[giflib] = "--with-giflib,--without-giflib,giflib"
+
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/libdecor/libdecor_0.2.2.bb b/meta-oe/recipes-graphics/libdecor/libdecor_0.2.2.bb
new file mode 100644
index 0000000000..6621389b5a
--- /dev/null
+++ b/meta-oe/recipes-graphics/libdecor/libdecor_0.2.2.bb
@@ -0,0 +1,31 @@
+SUMMARY = "libdecor - A client-side decorations library for Wayland clients"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7ae2be7fb1637141840314b51970a9f7"
+
+SRC_URI = " \
+ git://gitlab.freedesktop.org/libdecor/libdecor.git;protocol=https;branch=master \
+"
+
+DEPENDS = " \
+ cairo \
+ pango \
+ wayland \
+ wayland-native \
+ wayland-protocols \
+"
+
+S = "${WORKDIR}/git"
+SRCREV = "7807ae3480f5c6a37c5e8505d94af1e764aaf704"
+
+PACKAGECONFIG ?= "dbus ${@bb.utils.filter('DISTRO_FEATURES', 'gtk+3', d)}"
+
+PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus"
+PACKAGECONFIG[demo] = "-Ddemo=true,-Ddemo=false,virtual/libegl libxkbcommon"
+PACKAGECONFIG[install_demo] = "-Dinstall_demo=true,-Dinstall_demo=false"
+PACKAGECONFIG[gtk+3] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON += "--buildtype release"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch b/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch
index 619bad6d02..16689f64b9 100644
--- a/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch
+++ b/meta-oe/recipes-graphics/libforms/files/0001-Make-extern-declarations-in-header-file.patch
@@ -10,8 +10,7 @@ Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
fdesign/sp_spinner.c | 2 +-
- lib/flinternal.h | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fdesign/sp_spinner.c b/fdesign/sp_spinner.c
index 04f2c19..6206daa 100644
@@ -26,20 +25,6 @@ index 04f2c19..6206daa 100644
/***************************************
-diff --git a/lib/flinternal.h b/lib/flinternal.h
-index 06d847e..577bd10 100644
---- a/lib/flinternal.h
-+++ b/lib/flinternal.h
-@@ -138,8 +138,8 @@ enum {
-
- /* events.c or event related */
-
--FL_OBJECT * fli_handled_obj;
--FL_OBJECT * fli_handled_parent;
-+extern FL_OBJECT * fli_handled_obj;
-+extern FL_OBJECT * fli_handled_parent;
-
- void fli_obj_queue_delete( void );
--
2.28.0
diff --git a/meta-oe/recipes-graphics/libforms/files/0001-Modify-include-dir.patch b/meta-oe/recipes-graphics/libforms/files/0001-Modify-include-dir.patch
new file mode 100644
index 0000000000..0b7c063804
--- /dev/null
+++ b/meta-oe/recipes-graphics/libforms/files/0001-Modify-include-dir.patch
@@ -0,0 +1,33 @@
+From d2d05928342f7f9f687ffea5e0b77f97f0ae5aad Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Wed, 7 Sep 2022 14:29:13 +0900
+Subject: [PATCH] Modify include dir
+
+error messagge:
+../../xforms-1.2.4/lib/fd/cmdbr.h:28:10: fatal error: ../include/forms.h: No such file or directory
+
+../include/forms.h specified in the header file cmdbr.h is not exist.
+
+Upstream-Status: Pending
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ lib/fd/cmdbr.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/fd/cmdbr.h b/lib/fd/cmdbr.h
+index 8495e05..2ddeced 100644
+--- a/lib/fd/cmdbr.h
++++ b/lib/fd/cmdbr.h
+@@ -25,7 +25,7 @@
+ #ifndef FD_cmd_h_
+ #define FD_cmd_h_
+
+-#include "../include/forms.h"
++#include "include/forms.h"
+
+ /* Callbacks, globals and object handlers */
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch b/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch
index db400f7022..4836b46b11 100644
--- a/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch
+++ b/meta-oe/recipes-graphics/libforms/files/add-absolute-path-for-include-dir.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Naur xforms-1.2.3.orig/fdesign/Makefile.am xforms-1.2.3/fdesign/Makefile.am
--- xforms-1.2.3.orig/fdesign/Makefile.am 2019-02-24 12:58:51.968645873 +0000
+++ xforms-1.2.3/fdesign/Makefile.am 2019-02-24 13:00:48.500635163 +0000
diff --git a/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch b/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch
index c95bd18da8..9ab67b35ac 100644
--- a/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch
+++ b/meta-oe/recipes-graphics/libforms/files/fix-link-to-xforms-man.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Naur xforms-1.2.3.orig/lib/Makefile.am xforms-1.2.3/lib/Makefile.am
--- xforms-1.2.3.orig/lib/Makefile.am 2019-02-24 12:53:58.340678373 +0000
+++ xforms-1.2.3/lib/Makefile.am 2019-02-24 12:54:33.096674102 +0000
diff --git a/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch b/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch
index 73956dee9f..dc494281b2 100644
--- a/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch
+++ b/meta-oe/recipes-graphics/libforms/files/fix-path-fdesign_LDADD.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Naur xforms-1.2.3.orig/fdesign/Makefile.am xforms-1.2.3/fdesign/Makefile.am
--- xforms-1.2.3.orig/fdesign/Makefile.am 2019-02-24 13:08:48.412603250 +0000
+++ xforms-1.2.3/fdesign/Makefile.am 2019-02-24 13:09:18.412601874 +0000
diff --git a/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb b/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb
deleted file mode 100644
index 35029f5176..0000000000
--- a/meta-oe/recipes-graphics/libforms/libforms_1.2.3.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "The XForms graphical interface widget library "
-HOMEPAGE = "http://savannah.nongnu.org/projects/xforms/"
-PR = "r0"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=ade9a053df81f5b9408d2f4f5546df86"
-
-SRC_URI = "http://download.savannah.nongnu.org/releases/xforms/xforms-${PV}.tar.gz \
- file://fix-link-to-xforms-man.patch \
- file://add-absolute-path-for-include-dir.patch \
- file://fix-path-fdesign_LDADD.patch \
- file://0001-Make-extern-declarations-in-header-file.patch \
- "
-
-SRC_URI[md5sum] = "235720a758a8b8d9e6e452dc67190e9b"
-SRC_URI[sha256sum] = "7989b39598c769820ad451ad91e5cb0de29946940c8240aac94ca8238c2def61"
-
-inherit autotools features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl x11"
-
-S = "${WORKDIR}/xforms-${PV}"
-
-DEPENDS = "libxpm jpeg libx11 mesa"
-RDEPENDS_${PN} = "bash"
-
-EXTRA_OECONF = "--with-extra-inc=${S}/lib"
diff --git a/meta-oe/recipes-graphics/libforms/libforms_1.2.5pre1.bb b/meta-oe/recipes-graphics/libforms/libforms_1.2.5pre1.bb
new file mode 100644
index 0000000000..251c07adf0
--- /dev/null
+++ b/meta-oe/recipes-graphics/libforms/libforms_1.2.5pre1.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "The XForms graphical interface widget library "
+HOMEPAGE = "http://savannah.nongnu.org/projects/xforms/"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=ade9a053df81f5b9408d2f4f5546df86"
+
+SRC_URI = "http://download.savannah.nongnu.org/releases/xforms/xforms-${PV}.tar.gz \
+ file://fix-link-to-xforms-man.patch \
+ file://add-absolute-path-for-include-dir.patch \
+ file://fix-path-fdesign_LDADD.patch \
+ file://0001-Make-extern-declarations-in-header-file.patch \
+ file://0001-Modify-include-dir.patch \
+ "
+
+SRC_URI[sha256sum] = "92b5e6466ea2dffca7332aec12734e65b3e961825eb3100b7d889c0d1abb4697"
+
+inherit autotools features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+S = "${WORKDIR}/xforms-${PV}"
+
+DEPENDS = "libxpm jpeg libx11 virtual/libgl"
+RDEPENDS:${PN} = "bash"
+
+EXTRA_OECONF = "--with-extra-inc=${S}/lib"
diff --git a/meta-oe/recipes-graphics/libglvnd/libglvnd_1.7.0.bb b/meta-oe/recipes-graphics/libglvnd/libglvnd_1.7.0.bb
new file mode 100644
index 0000000000..4094aa4fc6
--- /dev/null
+++ b/meta-oe/recipes-graphics/libglvnd/libglvnd_1.7.0.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "libglvnd is a vendor-neutral dispatch layer for arbitrating \
+OpenGL API calls between multiple vendors."
+HOMEPAGE = "https://gitlab.freedesktop.org/glvnd/libglvnd"
+LICENSE = "MIT & BSD-1-Clause & BSD-3-Clause & GPL-3.0-with-autoconf-exception"
+LIC_FILES_CHKSUM = "file://README.md;beginline=323;md5=7ac5f0111f648b92fe5427efeb08e8c4"
+
+SRC_URI = "git://git@gitlab.freedesktop.org/glvnd/libglvnd.git;protocol=https;branch=master"
+
+# v1.5.0 tag
+SRCREV = "faa23f21fc677af5792825dc30cb1ccef4bf33a6"
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+inherit meson pkgconfig features_check
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= "\
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl gles1 gles2', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)} \
+ "
+
+PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libx11 libxext xorgproto"
+PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,libx11 libxext xorgproto"
+PACKAGECONFIG[egl] = "-Degl=true,-Degl=false,"
+PACKAGECONFIG[gles1] = "-Dgles1=true,-Dgles1=false,"
+PACKAGECONFIG[gles2] = "-Dgles2=true,-Dgles2=false,"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch
new file mode 100644
index 0000000000..d4166a16ab
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2019-13616.patch
@@ -0,0 +1,29 @@
+From 97fefd050976bbbfca9608499f6a7d9fb86e70db Mon Sep 17 00:00:00 2001
+From: Sam Lantinga <slouken@libsdl.org>
+Date: Tue, 30 Jul 2019 11:00:00 -0700
+Subject: [PATCH] Fixed bug 4538 - validate image size when loading BMP files
+---
+Upstream-Status: Pending
+
+ src/video/SDL_bmp.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/video/SDL_bmp.c b/src/video/SDL_bmp.c
+index 8eadc5f..5b5e12c 100644
+--- a/src/video/SDL_bmp.c
++++ b/src/video/SDL_bmp.c
+@@ -143,6 +143,11 @@ SDL_Surface * SDL_LoadBMP_RW (SDL_RWops *src, int freesrc)
+ (void) biYPelsPerMeter;
+ (void) biClrImportant;
+
++ if (biWidth <= 0 || biHeight == 0) {
++ SDL_SetError("BMP file with bad dimensions (%dx%d)", biWidth, biHeight);
++ was_error = SDL_TRUE;
++ goto done;
++ }
+ if (biHeight < 0) {
+ topDown = SDL_TRUE;
+ biHeight = -biHeight;
+--
+2.25.1
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2022-34568.patch b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2022-34568.patch
new file mode 100644
index 0000000000..7561300cb3
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-1.2.15/CVE-2022-34568.patch
@@ -0,0 +1,28 @@
+CVE: CVE-2022-34568
+Upstream-Status: Backport [https://github.com/libsdl-org/SDL-1.2/commit/d7e00208738a0bc6af302723fe64908ac35b777b ]
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+
+From d7e00208738a0bc6af302723fe64908ac35b777b Mon Sep 17 00:00:00 2001
+From: Ozkan Sezer <sezeroz@gmail.com>
+Date: Sat, 18 Jun 2022 14:55:00 +0300
+Subject: [PATCH] SDL_x11yuv.c: fix possible use-after-free
+
+Fixes: https://github.com/libsdl-org/SDL-1.2/issues/863
+---
+ src/video/x11/SDL_x11yuv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/video/x11/SDL_x11yuv.c b/src/video/x11/SDL_x11yuv.c
+index 62698dfd9..0d5754e3e 100644
+--- a/src/video/x11/SDL_x11yuv.c
++++ b/src/video/x11/SDL_x11yuv.c
+@@ -374,8 +374,8 @@ SDL_Overlay *X11_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, S
+ #ifdef PITCH_WORKAROUND
+ if ( hwdata->image != NULL && hwdata->image->pitches[0] != (width*bpp) ) {
+ /* Ajust overlay width according to pitch */
+- XFree(hwdata->image);
+ width = hwdata->image->pitches[0] / bpp;
++ XFree(hwdata->image);
+ hwdata->image = SDL_NAME(XvCreateImage)(GFX_Display, xv_port, format,
+ 0, width, height);
+ }
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb b/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb
index b077a0bdf8..666442fba2 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-gfx_2.0.25.bb
@@ -3,7 +3,7 @@ SECTION = "libs"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5d1de21f0b70830e299905eac3419084"
-DEPENDS = "virtual/libsdl"
+DEPENDS = "libsdl"
SRC_URI = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-${PV}.tar.gz"
SRC_URI[md5sum] = "ea24ed4b82ff1304809c363494fa8e16"
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-image/0001-png-img-Fix-prototypes-of-callbacks.patch b/meta-oe/recipes-graphics/libsdl/libsdl-image/0001-png-img-Fix-prototypes-of-callbacks.patch
new file mode 100644
index 0000000000..1bbfa99210
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-image/0001-png-img-Fix-prototypes-of-callbacks.patch
@@ -0,0 +1,52 @@
+From 41791738221fdb7574fc8e23f84214910cdce098 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 1 Mar 2023 21:51:40 -0800
+Subject: [PATCH] png-img: Fix prototypes of callbacks
+
+Clang-16 is flagging function pointer mismatches
+
+Upstream-Status: Inappropriate [No upstream]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ IMG_png.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/IMG_png.c b/IMG_png.c
+index 5f91f15..4d5bdb6 100644
+--- a/IMG_png.c
++++ b/IMG_png.c
+@@ -78,15 +78,15 @@
+ static struct {
+ int loaded;
+ void *handle;
+- png_infop (*png_create_info_struct) (png_structp png_ptr);
++ png_infop (*png_create_info_struct) (png_const_structp png_ptr);
+ png_structp (*png_create_read_struct) (png_const_charp user_png_ver, png_voidp error_ptr, png_error_ptr error_fn, png_error_ptr warn_fn);
+ void (*png_destroy_read_struct) (png_structpp png_ptr_ptr, png_infopp info_ptr_ptr, png_infopp end_info_ptr_ptr);
+- png_uint_32 (*png_get_IHDR) (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method);
+- png_voidp (*png_get_io_ptr) (png_structp png_ptr);
+- png_byte (*png_get_channels) (png_structp png_ptr, png_infop info_ptr);
+- png_uint_32 (*png_get_PLTE) (png_structp png_ptr, png_infop info_ptr, png_colorp *palette, int *num_palette);
+- png_uint_32 (*png_get_tRNS) (png_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_values);
+- png_uint_32 (*png_get_valid) (png_structp png_ptr, png_infop info_ptr, png_uint_32 flag);
++ png_uint_32 (*png_get_IHDR) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 *width, png_uint_32 *height, int *bit_depth, int *color_type, int *interlace_method, int *compression_method, int *filter_method);
++ png_voidp (*png_get_io_ptr) (png_const_structp png_ptr);
++ png_byte (*png_get_channels) (png_const_structp png_ptr, png_const_infop info_ptr);
++ png_uint_32 (*png_get_PLTE) (png_const_structp png_ptr, png_infop info_ptr, png_colorp *palette, int *num_palette);
++ png_uint_32 (*png_get_tRNS) (png_const_structp png_ptr, png_infop info_ptr, png_bytep *trans, int *num_trans, png_color_16p *trans_values);
++ png_uint_32 (*png_get_valid) (png_const_structp png_ptr, png_const_infop info_ptr, png_uint_32 flag);
+ void (*png_read_image) (png_structp png_ptr, png_bytepp image);
+ void (*png_read_info) (png_structp png_ptr, png_infop info_ptr);
+ void (*png_read_update_info) (png_structp png_ptr, png_infop info_ptr);
+@@ -95,7 +95,7 @@ static struct {
+ void (*png_set_packing) (png_structp png_ptr);
+ void (*png_set_read_fn) (png_structp png_ptr, png_voidp io_ptr, png_rw_ptr read_data_fn);
+ void (*png_set_strip_16) (png_structp png_ptr);
+- int (*png_sig_cmp) (png_bytep sig, png_size_t start, png_size_t num_to_check);
++ int (*png_sig_cmp) (png_const_bytep sig, png_size_t start, png_size_t num_to_check);
+ #ifndef LIBPNG_VERSION_12
+ jmp_buf* (*png_set_longjmp_fn) (png_structp, png_longjmp_ptr, size_t);
+ #endif
+--
+2.39.2
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch b/meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch
index 5299d378eb..102cec7288 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-image/configure.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: SDL_image-1.2.12/configure.in
===================================================================
--- SDL_image-1.2.12.orig/configure.in 2012-01-21 01:51:33.000000000 +0000
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb b/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
index ea8e9eaa30..01137bb0ca 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-image_1.2.12.bb
@@ -4,11 +4,11 @@ SECTION = "libs"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING;md5=613734b7586e1580ef944961c6d62227"
-DEPENDS = "tiff zlib libpng jpeg virtual/libsdl"
+DEPENDS = "tiff zlib libpng jpeg libsdl"
SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL_image-${PV}.tar.gz \
+ file://0001-png-img-Fix-prototypes-of-callbacks.patch \
file://configure.patch"
-SRC_URI[md5sum] = "a0f9098ebe5400f0bdc9b62e60797ecb"
SRC_URI[sha256sum] = "0b90722984561004de84847744d566809dbb9daf732a9e503b91a1b5a84e5699"
S = "${WORKDIR}/SDL_image-${PV}"
@@ -20,7 +20,7 @@ export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
# Disable the run-time loading of the libs and bring back the soname dependencies.
EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared"
-do_configure_prepend() {
+do_configure:prepend() {
# Removing these files fixes a libtool version mismatch.
rm -f ${S}/acinclude/libtool.m4
rm -f ${S}/acinclude/sdl.m4
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch b/meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch
index 4c9e8d094c..7330ef61aa 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-mixer/configure.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Nurd SDL_mixer-1.2.12/configure.in SDL_mixer-1.2.12/configure.in
--- SDL_mixer-1.2.12/configure.in 2012-01-16 00:01:05.000000000 +0200
+++ SDL_mixer-1.2.12/configure.in 2012-12-15 04:08:04.627871456 +0200
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb b/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
index c83fcc8daa..a470ee81d0 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-mixer_1.2.12.bb
@@ -1,6 +1,6 @@
SUMMARY = "Simple DirectMedia Layer mixer library"
SECTION = "libs"
-DEPENDS = "virtual/libsdl flac libmikmod libvorbis"
+DEPENDS = "libsdl flac libmikmod libvorbis"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING;md5=a37a47a0e579e461474cd03b9e05199d"
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch b/meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch
index fb3ff7e689..7911a2aa75 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-net/am_foreign.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Nurd SDL_net-1.2.8/Makefile.am SDL_net-1.2.8/Makefile.am
--- SDL_net-1.2.8/Makefile.am 2012-01-15 18:20:10.000000000 +0200
+++ SDL_net-1.2.8/Makefile.am 2014-08-01 21:18:52.720815807 +0300
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch b/meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch
index 9718a3b94a..e491c1abce 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-net/libtool2.patch
@@ -3,6 +3,8 @@ From: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Date: Wed, 17 Oct 2012 20:51:51 +0200
---
+Upstream-Status: Pending
+
configure.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb b/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
index b021e565ef..49b1ef2879 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-net_1.2.8.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=9cf3de2d872bf510f88eb20d06d700b5"
inherit autotools pkgconfig
-DEPENDS = "virtual/libsdl"
+DEPENDS = "libsdl"
SRC_URI = " \
https://www.libsdl.org/projects/SDL_net/release/SDL_net-${PV}.tar.gz \
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch b/meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch
index 1116c34d07..d174d7ab5c 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-ttf/use.pkg-config.for.freetype2.patch
@@ -8,6 +8,8 @@ commit 5870bd272b0b077d0826fb900b251884c1c05061
binconfig-disabled: Add class and use
---
+Upstream-Status: Pending
+
configure.in | 38 +++++---------------------------------
1 file changed, 5 insertions(+), 33 deletions(-)
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb b/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
index d8b378f2cd..797c38d8e1 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl-ttf_2.0.11.bb
@@ -1,6 +1,6 @@
SUMMARY = "Simple DirectMedia Layer truetype font library"
SECTION = "libs"
-DEPENDS = "virtual/libsdl freetype"
+DEPENDS = "libsdl freetype"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING;md5=22800d1b3701377aae0b61ee36f5c303"
@@ -16,7 +16,7 @@ inherit autotools pkgconfig
LDFLAGS += "-lm"
-do_configure_prepend() {
+do_configure:prepend() {
# make autoreconf happy
touch ${S}/NEWS ${S}/AUTHORS ${S}/ChangeLog
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
index 0a346bd9e6..57f0f99794 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.0.5.bb
@@ -4,7 +4,7 @@ SECTION = "libs"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=822edb694b20ff16ceef85b27f61c11f"
-DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp"
+DEPENDS = "tiff zlib libpng jpeg libsdl2 libwebp"
SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz"
SRC_URI[md5sum] = "f26f3a153360a8f09ed5220ef7b07aea"
@@ -17,7 +17,7 @@ inherit autotools pkgconfig
# Disable the run-time loading of the libs and bring back the soname dependencies.
EXTRA_OECONF += "--disable-jpg-shared --disable-png-shared -disable-tif-shared"
-do_configure_prepend() {
+do_configure:prepend() {
# make autoreconf happy
touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog
# Removing these files fixes a libtool version mismatch.
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
index 6b6a531d38..dbcb2a193b 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-mixer_2.0.4.bb
@@ -1,6 +1,6 @@
SUMMARY = "Simple DirectMedia Layer mixer library V2"
SECTION = "libs"
-DEPENDS = "virtual/libsdl2 flac libmikmod libvorbis"
+DEPENDS = "libsdl2 flac libmikmod libvorbis"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=516daf7a177ad4c8874bb9efa1a69c1f"
@@ -18,7 +18,7 @@ EXTRA_OECONF = "--disable-music-mp3 --enable-music-ogg --disable-music-ogg-share
PACKAGECONFIG ??= ""
PACKAGECONFIG[mad] = "--enable-music-mp3-mad-gpl,--disable-music-mp3-mad-gpl,libmad"
-do_configure_prepend () {
+do_configure:prepend () {
# Remove old libtool macros.
MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
for i in ${MACROS}; do
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
index 0ea96fe1b8..35369e8731 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-net_2.0.1.bb
@@ -10,12 +10,12 @@ S = "${WORKDIR}/SDL2_net-${PV}"
inherit autotools pkgconfig
-DEPENDS = "virtual/libsdl2"
+DEPENDS = "libsdl2"
SRC_URI[md5sum] = "5c1d9d1cfa63301b141cb5c0de2ea7c4"
SRC_URI[sha256sum] = "15ce8a7e5a23dafe8177c8df6e6c79b6749a03fff1e8196742d3571657609d21"
-do_configure_prepend() {
+do_configure:prepend() {
# create dummy files which autotools consider as mandatory
touch ${S}/NEWS ${S}/README ${S}/AUTHORS ${S}/ChangeLog
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/0001-freetype-Fix-function-signatures-to-match-without-ca.patch b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/0001-freetype-Fix-function-signatures-to-match-without-ca.patch
new file mode 100644
index 0000000000..8cb76c35d6
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/0001-freetype-Fix-function-signatures-to-match-without-ca.patch
@@ -0,0 +1,69 @@
+From 6c52693d264ca3dc8e15a92f56cf3a636639bb6c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
+Date: Fri, 28 Oct 2022 22:17:15 +0300
+Subject: [PATCH] freetype: Fix function signatures to match without casts
+
+Clang 16 has got a new stricter warning for casts of function types
+(see https://github.com/llvm/llvm-project/commit/1aad641c793090b4d036c03e737df2ebe2c32c57).
+
+This new warning gets included as part of the existing error
+diagnostic setting of -Wcast-function-type.
+
+This fixes errors like these:
+
+../src/hb-ft.cc:1011:34: error: cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
+ ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize;
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Backport [https://github.com/harfbuzz/harfbuzz/commit/d88269c827895b38f99f7cf741fa60210d4d5169]
+---
+ src/hb-ft.cc | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/hb-ft.cc b/src/hb-ft.cc
+index a6beb9f0f..a35e75b18 100644
+--- a/src/hb-ft.cc
++++ b/src/hb-ft.cc
+@@ -729,8 +729,9 @@ hb_ft_face_create_referenced (FT_Face ft_face)
+ }
+
+ static void
+-hb_ft_face_finalize (FT_Face ft_face)
++hb_ft_face_finalize (void *arg)
+ {
++ FT_Face ft_face = (FT_Face) arg;
+ hb_face_destroy ((hb_face_t *) ft_face->generic.data);
+ }
+
+@@ -762,7 +763,7 @@ hb_ft_face_create_cached (FT_Face ft_face)
+ ft_face->generic.finalizer (ft_face);
+
+ ft_face->generic.data = hb_ft_face_create (ft_face, nullptr);
+- ft_face->generic.finalizer = (FT_Generic_Finalizer) hb_ft_face_finalize;
++ ft_face->generic.finalizer = hb_ft_face_finalize;
+ }
+
+ return hb_face_reference ((hb_face_t *) ft_face->generic.data);
+@@ -949,8 +950,9 @@ get_ft_library ()
+ }
+
+ static void
+-_release_blob (FT_Face ft_face)
++_release_blob (void *arg)
+ {
++ FT_Face ft_face = (FT_Face) arg;
+ hb_blob_destroy ((hb_blob_t *) ft_face->generic.data);
+ }
+
+@@ -1032,7 +1034,7 @@ hb_ft_font_set_funcs (hb_font_t *font)
+ #endif
+
+ ft_face->generic.data = blob;
+- ft_face->generic.finalizer = (FT_Generic_Finalizer) _release_blob;
++ ft_face->generic.finalizer = _release_blob;
+
+ _hb_ft_font_set_funcs (font, ft_face, true);
+ hb_ft_font_set_load_flags (font, FT_LOAD_DEFAULT | FT_LOAD_NO_HINTING);
+--
+2.39.2
+
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch
index 871e6e94ef..bc9371553f 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf/automake_foreign.patch
@@ -1,16 +1,18 @@
-From f9c4ad3a171d676e3818b8f6897f325ccf0b2203 Mon Sep 17 00:00:00 2001
+From 6ec375eaafc43a2b3c30a0e0e49447d231d81a67 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 9 May 2017 00:57:10 -0700
---
+Upstream-Status: Pending
+
Makefile.am | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile.am b/Makefile.am
-index 8166d91..8e05e49 100644
+index 8568dd2..5efc91e 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -2,6 +2,8 @@
+@@ -3,6 +3,8 @@ ACLOCAL_AMFLAGS = -I acinclude
lib_LTLIBRARIES = libSDL2_ttf.la
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb
deleted file mode 100644
index 7d896cf00b..0000000000
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.0.15.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Simple DirectMedia Layer truetype font library"
-SECTION = "libs"
-DEPENDS = "virtual/libsdl2 freetype virtual/libgl"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=4bb27d550fdafcd8f8e4fb8cbb2775ef"
-
-SRC_URI = " \
- http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${PV}.tar.gz \
- file://automake_foreign.patch \
-"
-SRC_URI[md5sum] = "04fe06ff7623d7bdcb704e82f5f88391"
-SRC_URI[sha256sum] = "a9eceb1ad88c1f1545cd7bd28e7cbc0b2c14191d40238f531a15b01b1b22cd33"
-
-S = "${WORKDIR}/SDL2_ttf-${PV}"
-
-inherit autotools pkgconfig features_check
-
-# links to libGL.so
-REQUIRED_DISTRO_FEATURES += "x11 opengl"
-
-do_configure_prepend() {
- # Removing these files fixes a libtool version mismatch.
- MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
-
- for i in ${MACROS}; do
- rm -f ${S}/acinclude/$i
- done
-}
-ASNEEDED = ""
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb
new file mode 100644
index 0000000000..6cd4a48aa8
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Simple DirectMedia Layer truetype font library"
+SECTION = "libs"
+DEPENDS = "libsdl2 freetype virtual/egl"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a41cbf59bdea749fe34c1af6d3615f68"
+
+SRC_URI = " \
+ git://github.com/libsdl-org/SDL_ttf.git;branch=release-2.20.x;protocol=https \
+ git://github.com/libsdl-org/freetype.git;branch=VER-2-12-1-SDL;destsuffix=git/external/freetype;name=freetype;protocol=https \
+ git://github.com/libsdl-org/harfbuzz.git;branch=2.9.1-SDL;destsuffix=git/external/harfbuzz;name=harfbuzz;protocol=https \
+ file://0001-freetype-Fix-function-signatures-to-match-without-ca.patch;patchdir=external/harfbuzz \
+ file://automake_foreign.patch \
+"
+SRCREV = "89d1692fd8fe91a679bb943d377bfbd709b52c23"
+SRCREV_freetype = "6fc77cee03e078e97afcee0c0e06a2d3274b9a29"
+SRCREV_harfbuzz = "43931e3e596c04044861770b831c8f9452e2d3b0"
+
+SRCREV_FORMAT .= "_freetype_harfbuzz"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig features_check
+
+# links to libGL.so
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+do_configure:prepend() {
+ # Removing these files fixes a libtool version mismatch.
+ MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
+
+ for i in ${MACROS}; do
+ rm -f ${S}/acinclude/$i
+ done
+}
+ASNEEDED = ""
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb b/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
index 7a01908322..4fc4679f7f 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl_1.2.15.bb
@@ -7,12 +7,9 @@ BUGTRACKER = "http://bugzilla.libsdl.org/"
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4"
-PROVIDES = "virtual/libsdl"
-
-PR = "r3"
SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
file://libsdl-1.2.15-xdata32.patch \
@@ -27,6 +24,8 @@ SRC_URI = "http://www.libsdl.org/release/SDL-${PV}.tar.gz \
file://CVE-2019-7637.patch \
file://CVE-2019-7638.patch \
file://CVE-2019-7576.patch \
+ file://CVE-2019-13616.patch \
+ file://CVE-2022-34568.patch \
"
UPSTREAM_CHECK_REGEX = "SDL-(?P<pver>\d+(\.\d+)+)\.tar"
@@ -55,8 +54,8 @@ EXTRA_OECONF = "--disable-static --enable-cdrom --enable-threads --enable-timers
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio x11', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'opengl', '', d)}"
-PACKAGECONFIG_class-native = "x11"
-PACKAGECONFIG_class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG:class-native = "x11"
+PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[alsa] = "--enable-alsa --disable-alsatest,--disable-alsa,alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulseaudio,--disable-pulseaudio,pulseaudio"
@@ -71,7 +70,7 @@ PACKAGECONFIG[directx] = "--enable-directx,--disable-directx"
EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
-do_configure_prepend() {
+do_configure:prepend() {
# Remove old libtool macros.
MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
for i in ${MACROS}; do
@@ -81,3 +80,5 @@ do_configure_prepend() {
}
BBCLASSEXTEND = "native nativesdk"
+
+CVE_STATUS[CVE-2019-14906] = "not-applicable-platform: Applies on RHEL only"
diff --git a/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb b/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb
deleted file mode 100644
index 11bba430e7..0000000000
--- a/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.13.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-DESCRIPTION = "library for easy implementation of a RDP/VNC server"
-HOMEPAGE = "https://libvnc.github.io"
-SECTION = "libs"
-PRIORITY = "optional"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
-
-PACKAGECONFIG ??= " \
- 24bpp \
- filetransfer \
- ${@bb.utils.contains('LICENSE_FLAGS_WHITELIST','commercial','ffmpeg','',d)} \
- gcrypt \
- gnutls \
- jpeg \
- lzo \
- png \
- pthread \
- ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '',d)} \
- sdl \
- websockets \
- zlib \
-"
-
-PACKAGECONFIG[24bpp] = "-DWITH_24BPP=ON,-DWITH_24BPP=OFF,"
-PACKAGECONFIG[filetransfer] = "-DWITH_TIGHTVNC_FILETRANSFER=ON,-DWITH_TIGHTVNC_FILETRANSFER=OFF,"
-PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,ffmpeg"
-PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
-PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
-PACKAGECONFIG[ipv6] = "-DWITH_IPv6=ON,-DWITH_IPv6=OFF,"
-PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
-PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
-PACKAGECONFIG[pthread] = "-DWITH_THREADS=ON,-DWITH_THREADS=OFF,"
-PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
-PACKAGECONFIG[sasl] = "-DWITH_SASL=ON,-DWITH_SASL=OFF,cyrus-sasl"
-PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
-PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,"
-PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
-
-PACKAGE_BEFORE_PN = "libvncclient"
-FILES_libvncclient = "${libdir}/libvncclient.*"
-
-inherit cmake
-
-SRC_URI = "git://github.com/LibVNC/libvncserver"
-SRCREV = "2aa20dad4c23c18948d3f63b33f9dfec1f837729"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE = "-DMAKE_INSTALL_LIBDIR=${libdir}"
diff --git a/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb b/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb
new file mode 100644
index 0000000000..ce01593b8b
--- /dev/null
+++ b/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.14.bb
@@ -0,0 +1,56 @@
+DESCRIPTION = "library for easy implementation of a RDP/VNC server"
+HOMEPAGE = "https://libvnc.github.io"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+# ffmpeg support is not currently compatible with ffmpeg 5.0
+PACKAGECONFIG ??= " \
+ 24bpp \
+ filetransfer \
+ gcrypt \
+ gnutls \
+ jpeg \
+ lzo \
+ png \
+ pthread \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '',d)} \
+ sdl \
+ websockets \
+ zlib \
+"
+
+PACKAGECONFIG[24bpp] = "-DWITH_24BPP=ON,-DWITH_24BPP=OFF,"
+PACKAGECONFIG[filetransfer] = "-DWITH_TIGHTVNC_FILETRANSFER=ON,-DWITH_TIGHTVNC_FILETRANSFER=OFF,"
+PACKAGECONFIG[ffmpeg] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,ffmpeg,ffmpeg"
+PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=ON,-DWITH_GCRYPT=OFF,libgcrypt,libgcrypt"
+PACKAGECONFIG[gnutls] = "-DWITH_GNUTLS=ON,-DWITH_GNUTLS=OFF,gnutls"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg"
+PACKAGECONFIG[ipv6] = "-DWITH_IPv6=ON,-DWITH_IPv6=OFF,"
+PACKAGECONFIG[lzo] = "-DWITH_LZO=ON,-DWITH_LZO=OFF,lzo"
+PACKAGECONFIG[openssl] = "-DWITH_OPENSSL=ON,-DWITH_OPENSSL=OFF,openssl"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,libpng"
+PACKAGECONFIG[pthread] = "-DWITH_THREADS=ON,-DWITH_THREADS=OFF,"
+PACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
+PACKAGECONFIG[sasl] = "-DWITH_SASL=ON,-DWITH_SASL=OFF,cyrus-sasl"
+PACKAGECONFIG[sdl] = "-DWITH_SDL=ON,-DWITH_SDL=OFF,libsdl2"
+PACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,"
+PACKAGECONFIG[zlib] = "-DWITH_ZLIB=ON,-DWITH_ZLIB=OFF,zlib"
+
+PACKAGE_BEFORE_PN = "libvncclient"
+FILES:libvncclient = "${libdir}/libvncclient.*"
+
+inherit cmake
+
+SRC_URI = "git://github.com/LibVNC/libvncserver;branch=master;protocol=https"
+SRCREV = "10e9eb75f73e973725dc75c373de5d89807af028"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = "-DMAKE_INSTALL_LIBDIR=${libdir}"
+
+do_install:append() {
+ sed -i -e 's|${STAGING_DIR_HOST}||g' ${D}${libdir}/cmake/LibVNCServer/LibVNCServerTargets.cmake
+}
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-libyui-ncurses-Replace-off64_t-with-off_t-and-stat64.patch b/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-libyui-ncurses-Replace-off64_t-with-off_t-and-stat64.patch
new file mode 100644
index 0000000000..b29e5dc7b2
--- /dev/null
+++ b/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-libyui-ncurses-Replace-off64_t-with-off_t-and-stat64.patch
@@ -0,0 +1,176 @@
+From b81fb7942ab77b0bf6791e5fd98411dd68f133d9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 18 Dec 2022 15:13:00 -0800
+Subject: [PATCH] libyui-ncurses: Replace off64_t with off_t and stat64 with stat
+
+stat is same as stat64 when 64bit off_t is used.
+
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/88]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ src/NCAskForFile.cc | 6 +++---
+ src/NCFileSelection.cc | 24 ++++++++++++------------
+ src/NCFileSelection.h | 6 +++---
+ 4 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/CMakeLists.txt b/libyui-ncurses/CMakeLists.txt
+index b10eab8e..2000bb58 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,7 +58,7 @@ set( CMAKE_INSTALL_MESSAGE LAZY ) # Suppress "up-to-date" messages during "make
+ # Initialize compiler flags for all targets in all subdirectories
+ add_compile_options( "-Wall" )
+ add_compile_options( "-Os" ) # Optimize for size (overrides CMake's -O3 in RELEASE builds)
+-
++add_compile_options( "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" ) # Enable largefile support
+ if ( WERROR )
+ add_compile_options( "-Werror" )
+ endif()
+diff --git a/src/NCAskForFile.cc b/libyui-ncurses/src/NCAskForFile.cc
+index aba6e0a6..44bb81bc 100644
+--- a/src/NCAskForFile.cc
++++ b/src/NCAskForFile.cc
+@@ -73,8 +73,8 @@ std::string NCAskForFile::checkIniDir( std::string iniDir )
+ {
+ std::string dname = "";
+
+- struct stat64 statInfo;
+- stat64( iniDir.c_str(), &statInfo );
++ struct stat statInfo;
++ stat( iniDir.c_str(), &statInfo );
+
+ if ( S_ISDIR( statInfo.st_mode ) )
+ {
+@@ -90,7 +90,7 @@ std::string NCAskForFile::checkIniDir( std::string iniDir )
+ && pos != 0 )
+ {
+ std::string dir = iniDir.substr( 0, pos );
+- stat64( dir.c_str(), &statInfo );
++ stat( dir.c_str(), &statInfo );
+
+ if ( S_ISDIR( statInfo.st_mode ) )
+ {
+diff --git a/src/NCFileSelection.cc b/libyui-ncurses/src/NCFileSelection.cc
+index 3eb9c908..8894dc72 100644
+--- a/src/NCFileSelection.cc
++++ b/src/NCFileSelection.cc
+@@ -46,7 +46,7 @@ using std::list;
+
+
+ NCFileInfo::NCFileInfo( string fileName,
+- struct stat64 * statInfo,
++ struct stat * statInfo,
+ bool link )
+ {
+ _name = fileName;
+@@ -146,7 +146,7 @@ NCFileInfo::NCFileInfo()
+ _mode = ( mode_t )0;
+ _device = ( dev_t )0;
+ _links = ( nlink_t )0;
+- _size = ( off64_t )0;
++ _size = ( off_t )0;
+ _mtime = ( time_t )0;
+ }
+
+@@ -177,11 +177,11 @@ NCFileSelection::NCFileSelection( YWidget * parent,
+ {
+ SetSepChar( ' ' );
+
+- struct stat64 statInfo;
++ struct stat statInfo;
+
+ if ( !iniDir.empty() )
+ {
+- stat64( iniDir.c_str(), &statInfo );
++ stat( iniDir.c_str(), &statInfo );
+ }
+
+ if ( iniDir.empty()
+@@ -559,8 +559,8 @@ NCursesEvent NCFileTable::wHandleInput( wint_t key )
+ bool NCFileTable::fillList()
+ {
+
+- struct stat64 statInfo;
+- struct stat64 linkInfo;
++ struct stat statInfo;
++ struct stat linkInfo;
+ struct dirent * entry;
+ list<string> tmpList;
+ list<string>::iterator it;
+@@ -592,7 +592,7 @@ bool NCFileTable::fillList()
+ {
+ string fullName = currentDir + "/" + ( *it );
+
+- if ( lstat64( fullName.c_str(), &statInfo ) == 0 )
++ if ( lstat( fullName.c_str(), &statInfo ) == 0 )
+ {
+ if ( S_ISREG( statInfo.st_mode ) || S_ISBLK( statInfo.st_mode ) )
+ {
+@@ -604,7 +604,7 @@ bool NCFileTable::fillList()
+ }
+ else if ( S_ISLNK( statInfo.st_mode ) )
+ {
+- if ( stat64( fullName.c_str(), &linkInfo ) == 0 )
++ if ( stat( fullName.c_str(), &linkInfo ) == 0 )
+ {
+ if ( S_ISREG( linkInfo.st_mode ) || S_ISBLK( linkInfo.st_mode ) )
+ {
+@@ -701,8 +701,8 @@ void NCDirectoryTable::fillHeader()
+
+ bool NCDirectoryTable::fillList()
+ {
+- struct stat64 statInfo;
+- struct stat64 linkInfo;
++ struct stat statInfo;
++ struct stat linkInfo;
+ struct dirent * entry;
+ list<string> tmpList;
+ list<string>::iterator it;
+@@ -734,7 +734,7 @@ bool NCDirectoryTable::fillList()
+ {
+ string fullName = currentDir + "/" + ( *it );
+
+- if ( lstat64( fullName.c_str(), &statInfo ) == 0 )
++ if ( lstat( fullName.c_str(), &statInfo ) == 0 )
+ {
+ if ( S_ISDIR( statInfo.st_mode ) )
+ {
+@@ -746,7 +746,7 @@ bool NCDirectoryTable::fillList()
+ }
+ else if ( S_ISLNK( statInfo.st_mode ) )
+ {
+- if ( stat64( fullName.c_str(), &linkInfo ) == 0 )
++ if ( stat( fullName.c_str(), &linkInfo ) == 0 )
+ {
+ if ( S_ISDIR( linkInfo.st_mode ) )
+ {
+diff --git a/src/NCFileSelection.h b/libyui-ncurses/src/NCFileSelection.h
+index 0569215d..5c459d62 100644
+--- a/src/NCFileSelection.h
++++ b/src/NCFileSelection.h
+@@ -44,10 +44,10 @@
+ struct NCFileInfo
+ {
+ /**
+- * Constructor from a stat buffer (i.e. based on an lstat64() call).
++ * Constructor from a stat buffer (i.e. based on an lstat() call).
+ **/
+ NCFileInfo( std::string fileName,
+- struct stat64 * statInfo,
++ struct stat * statInfo,
+ bool link = false );
+
+ NCFileInfo();
+@@ -65,7 +65,7 @@ struct NCFileInfo
+ dev_t _device; // device this object resides on
+ mode_t _mode; // file permissions + object type
+ nlink_t _links; // number of links
+- off64_t _size; // size in bytes
++ off_t _size; // size in bytes
+ time_t _mtime; // modification time
+
+ bool isDir() { return (( S_ISDIR( _mode ) ) ? true : false ); }
+--
+2.39.0
+
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.0.0.bb b/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.0.0.bb
deleted file mode 100644
index a3a4a15066..0000000000
--- a/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.0.0.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Character Based User Interface for libyui"
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
-"
-
-SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
- "
-
-SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
-
-SRCREV = "37d3a1e815a47f536b4f694f139f279cc93a3854"
-
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig
-
-DEPENDS += "boost libyui ncurses"
-
-BBCLASSEXTEND = "nativesdk"
-
-EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO -DWERROR=OFF"
-
-CXXFLAGS += "-DNCURSES_WIDECHAR"
-
-do_configure_prepend () {
- cd ${S}
- if [ -e ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so ]; then
- mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
- cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
- fi
- cd -
- sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
-}
-
-do_install_append () {
- if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
- mv ${D}/usr/lib64 ${D}/usr/lib
- fi
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}/${base_prefix}
- mv ${D}/usr ${D}/${base_prefix}
-}
-
-FILES_${PN} += "${datadir}/*"
-
-FILES_${PN}-dev += "${libdir}/*"
diff --git a/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.2.3.bb b/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.2.3.bb
new file mode 100644
index 0000000000..bcc5ef33e2
--- /dev/null
+++ b/meta-oe/recipes-graphics/libyui/libyui-ncurses_4.2.3.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Character Based User Interface for libyui"
+LICENSE = "LGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://../COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://../COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRC_URI = "git://github.com/libyui/libyui.git;branch=master;protocol=https \
+ file://0001-libyui-ncurses-Replace-off64_t-with-off_t-and-stat64.patch \
+ "
+
+SRC_URI:append:class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
+
+SRCREV = "dabdcd9cc6a0058fd6966d7d2e19d508debcc0ac"
+
+S = "${WORKDIR}/git/libyui-ncurses"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost libyui ncurses"
+
+BBCLASSEXTEND = "nativesdk"
+
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO -DWERROR=OFF"
+
+CXXFLAGS += "-DNCURSES_WIDECHAR"
+
+do_configure:prepend () {
+ cd ${S}
+ if [ -e ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so ]; then
+ mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ fi
+ cd -
+ sed -i -e "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
+}
+
+do_install:append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install:append:class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES:${PN} += "${datadir}/*"
+
+FILES:${PN}-dev += "${libdir}/*"
diff --git a/meta-oe/recipes-graphics/libyui/libyui_4.0.0.bb b/meta-oe/recipes-graphics/libyui/libyui_4.0.0.bb
deleted file mode 100644
index bba17962e2..0000000000
--- a/meta-oe/recipes-graphics/libyui/libyui_4.0.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
- file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- "
-
-SRC_URI = "git://github.com/libyui/libyui.git \
- file://0001-Fix-build-with-clang.patch \
- file://0001-Use-relative-install-paths-for-CMake.patch \
- "
-
-SRCREV = "af06143017fc5f18c4b6488ba4aed26bcc43ff6e"
-
-S = "${WORKDIR}/git"
-
-inherit cmake gettext pkgconfig
-
-DEPENDS += "boost"
-
-EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO -DWERROR=OFF"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_install_append () {
- if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
- mv ${D}/usr/lib64 ${D}/usr/lib
- fi
-}
-
-do_install_append_class-nativesdk () {
- mkdir -p ${D}/${base_prefix}
- mv ${D}/usr ${D}/${base_prefix}
-}
-
-FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/meta-oe/recipes-graphics/libyui/libyui_4.2.3.bb b/meta-oe/recipes-graphics/libyui/libyui_4.2.3.bb
new file mode 100644
index 0000000000..939f3f36e5
--- /dev/null
+++ b/meta-oe/recipes-graphics/libyui/libyui_4.2.3.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
+LICENSE = "LGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://../COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://../COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+ file://../COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+SRC_URI = "git://github.com/libyui/libyui.git;branch=master;protocol=https \
+ file://0001-Fix-build-with-clang.patch \
+ file://0001-Use-relative-install-paths-for-CMake.patch \
+ "
+
+SRCREV = "dabdcd9cc6a0058fd6966d7d2e19d508debcc0ac"
+
+S = "${WORKDIR}/git/libyui"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost"
+
+EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RELWITHDEBINFO -DWERROR=OFF"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_install:append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install:append:class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES:${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/meta-oe/recipes-graphics/lvgl/files/0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch b/meta-oe/recipes-graphics/lvgl/files/0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch
new file mode 100644
index 0000000000..bd619b1572
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch
@@ -0,0 +1,63 @@
+From 5b7f657e8ad656e0854f2252b3bd482b966d650c Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Wed, 13 Mar 2024 02:12:30 +0100
+Subject: [PATCH 2/2] fix(sdl): handle both LV_IMAGE_SRC_FILE and
+ LV_IMAGE_SRC_VARIABLE
+
+The SDL image draw code currently assumes that the image source is a
+filename and attempts to open that filename. This is not necessarily
+the case, e.g. the lv_demo_fb uses encoded images which are of type
+LV_IMAGE_SRC_VARIABLE and instead of filename, come with a buffer of
+pixels. Handle the later using SDL_CreateRGBSurfaceFrom().
+
+Upstream-Status: Submitted [https://github.com/lvgl/lvgl/pull/5852]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ src/draw/sdl/lv_draw_sdl.c | 30 +++++++++++++++++++++++++++---
+ 1 file changed, 27 insertions(+), 3 deletions(-)
+
+diff --git a/src/draw/sdl/lv_draw_sdl.c b/src/draw/sdl/lv_draw_sdl.c
+index cbb555d94..5eee5b725 100644
+--- a/src/draw/sdl/lv_draw_sdl.c
++++ b/src/draw/sdl/lv_draw_sdl.c
+@@ -224,10 +224,34 @@ static bool draw_to_texture(lv_draw_sdl_unit_t * u, cache_data_t * data)
+ break;
+ case LV_DRAW_TASK_TYPE_IMAGE: {
+ lv_draw_image_dsc_t * image_dsc = task->draw_dsc;
+- const char * path = image_dsc->src;
+- SDL_Surface * surface = IMG_Load(&path[2]);
++ lv_image_src_t type = lv_image_src_get_type(image_dsc->src);
++ SDL_Surface * surface = NULL;
++ if(type == LV_IMAGE_SRC_FILE) {
++ const char * path = image_dsc->src;
++ surface = IMG_Load(&path[2]);
++ }
++ else if(type == LV_IMAGE_SRC_VARIABLE) {
++ lv_image_dsc_t * lvd = image_dsc->src;
++ surface = SDL_CreateRGBSurfaceFrom(lvd->data,
++ lvd->header.w, lvd->header.h,
++ LV_COLOR_FORMAT_GET_BPP(lvd->header.cf),
++ lvd->header.stride,
++#if SDL_BYTEORDER == SDL_LIL_ENDIAN
++ 0x00FF0000,
++ 0x0000FF00,
++ 0x000000FF,
++ 0xFF000000
++#else
++ 0x0000FF00,
++ 0x00FF0000,
++ 0xFF000000,
++ 0x000000FF
++#endif
++ );
++ }
++
+ if(surface == NULL) {
+- fprintf(stderr, "could not load image: %s\n", IMG_GetError());
++ fprintf(stderr, "could not load image\n");
+ return false;
+ }
+
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch b/meta-oe/recipes-graphics/lvgl/files/0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch
new file mode 100644
index 0000000000..73c01cb590
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch
@@ -0,0 +1,45 @@
+From 85d90749a10b5f91741d37b75825935bf7cc4fb3 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 12 Mar 2024 03:00:37 +0100
+Subject: [PATCH 3/6] Make fbdev device node runtime configurable via
+ environment variable
+
+Test whether $LV_VIDEO_CARD environment variable is non-NULL and in
+case it is, use it as the video card file in lv_linux_fbdev_set_file().
+Otherwise fall back to /dev/fb0, i.e. the current behavior. This way,
+it is possible to test LVGL on systems with multiple fbdev devices.
+
+Upstream-Status: Submitted [https://github.com/lvgl/lv_port_linux_frame_buffer/pull/47]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ main.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/main.c b/main.c
+index 9775b9c..b64a098 100644
+--- a/main.c
++++ b/main.c
+@@ -4,13 +4,19 @@
+ #include <pthread.h>
+ #include <time.h>
+
++static const char *lv_linux_get_video_card_node(const char *videocard_default)
++{
++ return getenv("LV_VIDEO_CARD") ? : videocard_default;
++}
++
+ int main(void)
+ {
++ const char *videocard = lv_linux_get_video_card_node("/dev/fb0");
+ lv_init();
+
+ /*Linux frame buffer device init*/
+ lv_display_t * disp = lv_linux_fbdev_create();
+- lv_linux_fbdev_set_file(disp, "/dev/fb0");
++ lv_linux_fbdev_set_file(disp, videocard);
+
+ /*Create a Demo*/
+ lv_demo_widgets();
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0004-Factor-out-fbdev-initialization-code.patch b/meta-oe/recipes-graphics/lvgl/files/0004-Factor-out-fbdev-initialization-code.patch
new file mode 100644
index 0000000000..d24d150c06
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0004-Factor-out-fbdev-initialization-code.patch
@@ -0,0 +1,52 @@
+From 593da8e11cc5029773ad330b5d7633ee9f2fba95 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 12 Mar 2024 18:09:42 +0100
+Subject: [PATCH 4/6] Factor out fbdev initialization code
+
+Pull fbdev initialization code into separate function and add ifdef
+around it, so it can be conditionally compiled in. This is done in
+preparation for addition of other backend initialization example
+code.
+
+Upstream-Status: Submitted [https://github.com/lvgl/lv_port_linux_frame_buffer/pull/47]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ main.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+diff --git a/main.c b/main.c
+index b64a098..288519c 100644
+--- a/main.c
++++ b/main.c
+@@ -9,14 +9,24 @@ static const char *lv_linux_get_video_card_node(const char *videocard_default)
+ return getenv("LV_VIDEO_CARD") ? : videocard_default;
+ }
+
+-int main(void)
++#if LV_USE_LINUX_FBDEV
++static void lv_linux_disp_init(void)
+ {
+ const char *videocard = lv_linux_get_video_card_node("/dev/fb0");
+- lv_init();
+-
+- /*Linux frame buffer device init*/
+ lv_display_t * disp = lv_linux_fbdev_create();
++
+ lv_linux_fbdev_set_file(disp, videocard);
++}
++#else
++#error Unsupported configuration
++#endif
++
++int main(void)
++{
++ lv_init();
++
++ /*Linux display device init*/
++ lv_linux_disp_init();
+
+ /*Create a Demo*/
+ lv_demo_widgets();
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0005-Add-DRM-KMS-example-support.patch b/meta-oe/recipes-graphics/lvgl/files/0005-Add-DRM-KMS-example-support.patch
new file mode 100644
index 0000000000..9ee7a7f19d
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0005-Add-DRM-KMS-example-support.patch
@@ -0,0 +1,59 @@
+From dabf40559428733413432afa29598bc145aa6636 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 12 Mar 2024 03:08:13 +0100
+Subject: [PATCH 5/6] Add DRM/KMS example support
+
+Extend the main.c to support both legacy fbdev and DRM/KMS initialization.
+
+To use legacy fbdev support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=1
+LV_USE_LINUX_DRM=0
+
+To use DRM/KMS support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=0
+LV_USE_LINUX_DRM=1
+
+Upstream-Status: Submitted [https://github.com/lvgl/lv_port_linux_frame_buffer/pull/47]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ CMakeLists.txt | 5 ++++-
+ main.c | 8 ++++++++
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d91b196..c1cfb7f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -12,6 +12,9 @@ target_include_directories(lvgl PUBLIC ${PROJECT_SOURCE_DIR})
+
+ add_executable(main main.c mouse_cursor_icon.c)
+
+-target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} m pthread)
++include(${CMAKE_CURRENT_LIST_DIR}/lvgl/tests/FindLibDRM.cmake)
++include_directories(${Libdrm_INCLUDE_DIRS})
++
++target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
+ add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main DEPENDS main)
+
+diff --git a/main.c b/main.c
+index 288519c..ab4e936 100644
+--- a/main.c
++++ b/main.c
+@@ -17,6 +17,14 @@ static void lv_linux_disp_init(void)
+
+ lv_linux_fbdev_set_file(disp, videocard);
+ }
++#elif LV_USE_LINUX_DRM
++static void lv_linux_disp_init(void)
++{
++ const char *videocard = lv_linux_get_video_card_node("/dev/dri/card0");
++ lv_display_t * disp = lv_linux_drm_create();
++
++ lv_linux_drm_set_file(disp, videocard, -1);
++}
+ #else
+ #error Unsupported configuration
+ #endif
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0006-Add-SDL2-example-support.patch b/meta-oe/recipes-graphics/lvgl/files/0006-Add-SDL2-example-support.patch
new file mode 100644
index 0000000000..691ee80b59
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0006-Add-SDL2-example-support.patch
@@ -0,0 +1,69 @@
+From b202ce51f7b68c460fcd1b6d9c3ffa8aaf2baaf6 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 12 Mar 2024 19:05:38 +0100
+Subject: [PATCH 6/6] Add SDL2 example support
+
+Extend the main.c to support both legacy fbdev, DRM/KMS, SDL2 initialization.
+The SDL2 window resolution can be configured using environment variables
+LV_VIDEO_WIDTH and LV_VIDEO_HEIGHT and defaults to 800 x 480 .
+
+To use legacy fbdev support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=1
+LV_USE_LINUX_DRM=0
+LV_USE_SDL=0
+
+To use DRM/KMS support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=0
+LV_USE_LINUX_DRM=1
+LV_USE_SDL=0
+
+To use SDL2 support, adjust lv_conf.h as follows:
+LV_USE_LINUX_FBDEV=0
+LV_USE_LINUX_DRM=0
+LV_USE_SDL=1
+
+Upstream-Status: Submitted [https://github.com/lvgl/lv_port_linux_frame_buffer/pull/47]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ CMakeLists.txt | 6 +++++-
+ main.c | 8 ++++++++
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c1cfb7f..658193f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,6 +15,10 @@ add_executable(main main.c mouse_cursor_icon.c)
+ include(${CMAKE_CURRENT_LIST_DIR}/lvgl/tests/FindLibDRM.cmake)
+ include_directories(${Libdrm_INCLUDE_DIRS})
+
+-target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
++find_package(SDL2)
++find_package(SDL2_image)
++include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIRS})
++
++target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${SDL2_IMAGE_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
+ add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main DEPENDS main)
+
+diff --git a/main.c b/main.c
+index ab4e936..4b66ebc 100644
+--- a/main.c
++++ b/main.c
+@@ -25,6 +25,14 @@ static void lv_linux_disp_init(void)
+
+ lv_linux_drm_set_file(disp, videocard, -1);
+ }
++#elif LV_USE_SDL
++static void lv_linux_disp_init(void)
++{
++ const int width = atoi(getenv("LV_VIDEO_WIDTH") ? : "800");
++ const int height = atoi(getenv("LV_VIDEO_HEIGHT") ? : "480");
++
++ lv_sdl_window_create(width, height);
++}
+ #else
+ #error Unsupported configuration
+ #endif
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch b/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch
new file mode 100644
index 0000000000..6997d84153
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0007-fix-cmake-generate-versioned-shared-libraries.patch
@@ -0,0 +1,68 @@
+From 40657a770baadfff30abfecf7638e7b1c340db4d Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Thu, 14 Mar 2024 03:23:10 +0100
+Subject: [PATCH] fix(cmake): generate versioned shared libraries
+
+Add missing version suffix to shared libraries. Currently the filename of
+generated shared libraries is only liblvgl.so, which prevents coexistence
+of different versions of LVGL on the same system. Set VERSION and SOVERSION
+to make cmake add the version suffix to generated shared libraries. That
+changes the filename to liblvgl.so.9.0.0 and includes symlink with major
+ABI version, i.e. liblvgl.so.9 .
+
+Upstream-Status: Submitted [https://github.com/lvgl/lvgl/pull/5865]
+Signed-off-by: Marek Vasut <marex@denx.de>
+---
+ env_support/cmake/custom.cmake | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/env_support/cmake/custom.cmake b/env_support/cmake/custom.cmake
+index 9800468eb..6f33f1cc8 100644
+--- a/env_support/cmake/custom.cmake
++++ b/env_support/cmake/custom.cmake
+@@ -1,3 +1,6 @@
++set(LVGL_VERSION "9.0.0")
++set(LVGL_SOVERSION "9")
++
+ # Option to define LV_LVGL_H_INCLUDE_SIMPLE, default: ON
+ option(LV_LVGL_H_INCLUDE_SIMPLE
+ "Use #include \"lvgl.h\" instead of #include \"../../lvgl.h\"" ON)
+@@ -119,6 +122,8 @@ install(
+ set_target_properties(
+ lvgl
+ PROPERTIES OUTPUT_NAME lvgl
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+@@ -137,6 +142,8 @@ if(NOT LV_CONF_BUILD_DISABLE_THORVG_INTERNAL)
+ set_target_properties(
+ lvgl_thorvg
+ PROPERTIES OUTPUT_NAME lvgl_thorvg
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+@@ -155,6 +162,8 @@ if(NOT LV_CONF_BUILD_DISABLE_DEMOS)
+ set_target_properties(
+ lvgl_demos
+ PROPERTIES OUTPUT_NAME lvgl_demos
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+@@ -173,6 +182,8 @@ if(NOT LV_CONF_BUILD_DISABLE_EXAMPLES)
+ set_target_properties(
+ lvgl_examples
+ PROPERTIES OUTPUT_NAME lvgl_examples
++ VERSION ${LVGL_VERSION}
++ SOVERSION ${LVGL_SOVERSION}
+ ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+--
+2.43.0
+
diff --git a/meta-oe/recipes-graphics/lvgl/files/0008-fix-fbdev-set-resolution-prior-to-buffer.patch b/meta-oe/recipes-graphics/lvgl/files/0008-fix-fbdev-set-resolution-prior-to-buffer.patch
new file mode 100644
index 0000000000..449db53dfb
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/files/0008-fix-fbdev-set-resolution-prior-to-buffer.patch
@@ -0,0 +1,29 @@
+From a6f822f75b3ba01b00c028608c93160d09a6ffd1 Mon Sep 17 00:00:00 2001
+From: Jaeyoon Jung <jaeyoon.jung@lge.com>
+Date: Mon, 1 Apr 2024 18:00:39 +0900
+Subject: [PATCH] fix(fbdev): set resolution prior to buffer
+
+Otherwise it ends up with using the default value 800x480 and may fail
+at lv_display_set_buffers due to incorrect resolution.
+
+Upstream-Status: Submitted [https://github.com/lvgl/lvgl/pull/6004]
+Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
+---
+
+ src/drivers/display/fb/lv_linux_fbdev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/drivers/display/fb/lv_linux_fbdev.c b/src/drivers/display/fb/lv_linux_fbdev.c
+index b3cc89199..5fb4c5c9f 100644
+--- a/src/drivers/display/fb/lv_linux_fbdev.c
++++ b/src/drivers/display/fb/lv_linux_fbdev.c
+@@ -233,8 +233,8 @@ void lv_linux_fbdev_set_file(lv_display_t * disp, const char * file)
+ draw_buf_2 = malloc(draw_buf_size);
+ }
+
+- lv_display_set_buffers(disp, draw_buf, draw_buf_2, draw_buf_size, LV_LINUX_FBDEV_RENDER_MODE);
+ lv_display_set_resolution(disp, hor_res, ver_res);
++ lv_display_set_buffers(disp, draw_buf, draw_buf_2, draw_buf_size, LV_LINUX_FBDEV_RENDER_MODE);
+
+ if(width > 0) {
+ lv_display_set_dpi(disp, DIV_ROUND_UP(hor_res * 254, width * 10));
diff --git a/meta-oe/recipes-graphics/lvgl/lv-conf.inc b/meta-oe/recipes-graphics/lvgl/lv-conf.inc
new file mode 100644
index 0000000000..8fd3412c04
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/lv-conf.inc
@@ -0,0 +1,76 @@
+PACKAGECONFIG ??= "drm"
+
+PACKAGECONFIG[drm] = ",,libdrm"
+PACKAGECONFIG[fbdev] = ",,"
+PACKAGECONFIG[sdl] = ",,virtual/libsdl2 libsdl2-image"
+
+# Add libdrm include if drm is selected in PACKAGECONFIG
+TARGET_CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'drm', '-I${STAGING_INCDIR}/libdrm', '', d)}"
+
+LVGL_CONFIG_USE_DRM = "${@bb.utils.contains('PACKAGECONFIG', 'drm', '1', '0', d)}"
+
+LVGL_CONFIG_USE_EVDEV = "${@bb.utils.contains_any('PACKAGECONFIG', 'drm fbdev', '1', '0', d)}"
+
+LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}"
+
+LVGL_CONFIG_USE_SDL = "${@bb.utils.contains('PACKAGECONFIG', 'sdl', '1', '0', d)}"
+LVGL_CONFIG_SDL_FULLSCREEN ?= "0"
+
+LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
+LVGL_CONFIG_LV_MEM_SIZE ?= "(64 * 1024U)"
+LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
+
+LVGL_CONFIG_LV_USE_LOG ?= "0"
+LVGL_CONFIG_LV_LOG_LEVEL ?= "LV_LOG_LEVEL_WARN"
+LVGL_CONFIG_LV_LOG_PRINTF ?= "0"
+
+LVGL_CONFIG_LV_USE_FONT_COMPRESSED ?= "0"
+
+LVGL_CONFIG_LV_THEME_DEFAULT_DARK ?= "0"
+
+DEBUG_BUILD ??= "0"
+
+ALLOW_EMPTY:${PN} = "1"
+
+EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
+
+do_configure:append() {
+ # If there is a configuration template, start from that
+ [ -r "${S}/lv_conf_template.h" ] && cp -Lv "${S}/lv_conf_template.h" "${S}/lv_conf.h"
+
+ sed -r -e "s|#if 0 .*Set it to \"1\" to enable content.*|#if 1 // Enabled by ${PN}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_LINUX_DRM[[:space:]]).*|\1${LVGL_CONFIG_USE_DRM}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_LINUX_FBDEV[[:space:]]).*|\1${LVGL_CONFIG_USE_FBDEV}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_SDL[[:space:]]).*|\1${LVGL_CONFIG_USE_SDL}|" \
+ -e "s|^([[:space:]]*#define LV_USE_DRAW_SDL[[:space:]]).*|\1${LVGL_CONFIG_USE_SDL}|" \
+ -e "s|^([[:space:]]*#define LV_SDL_BUF_COUNT[[:space:]]).*|\1 2|" \
+ -e "s|^([[:space:]]*#define LV_SDL_FULLSCREEN[[:space:]]).*|\1${LVGL_CONFIG_SDL_FULLSCREEN}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_COLOR_DEPTH[[:space:]]).*|\1${LVGL_CONFIG_LV_COLOR_DEPTH}|" \
+ -e "s|^([[:space:]]*#define LV_MEM_CUSTOM[[:space:]]).*|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|" \
+ -e "s|^([[:space:]]*#define LV_MEM_SIZE[[:space:]]).*|\1${LVGL_CONFIG_LV_MEM_SIZE}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_TICK_CUSTOM[[:space:]]).*|\1 1|" \
+ -e "s|^([[:space:]]*#define LV_TICK_CUSTOM_INCLUDE[[:space:]]).*|\1 <stdint.h>|" \
+ -e "s|^([[:space:]]*#define LV_TICK_CUSTOM_SYS_TIME_EXPR[[:space:]]).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_EVDEV[[:space:]]).*|\1${LVGL_CONFIG_USE_EVDEV}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_NULL[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_MALLOC[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_STYLE[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_MEM_INTEGRITY[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ -e "s|^([[:space:]]*#define LV_USE_ASSERT_OBJ[[:space:]]).*|\1${DEBUG_BUILD}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_LOG[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_LOG}|" \
+ -e "s|^([[:space:]]*#define LV_LOG_LEVEL[[:space:]]).*|\1${LVGL_CONFIG_LV_LOG_LEVEL}|" \
+ -e "s|^([[:space:]]*#define LV_LOG_PRINTF[[:space:]]).*|\1${LVGL_CONFIG_LV_LOG_PRINTF}|" \
+ \
+ -e "s|^([[:space:]]*#define LV_USE_FONT_COMPRESSED[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_FONT_COMPRESSED}|" \
+ -e "s|^([[:space:]]*#define LV_THEME_DEFAULT_DARK[[:space:]]).*|\1${LVGL_CONFIG_LV_THEME_DEFAULT_DARK}|" \
+ \
+ -i "${S}/lv_conf.h"
+}
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.1.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.1.0.bb
new file mode 100644
index 0000000000..6e8371baad
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.1.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "LVGL Demo Application for Framebuffer"
+HOMEPAGE = "https://github.com/lvgl/lv_port_linux_frame_buffer"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \
+ file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
+
+SRC_URI = "\
+ git://github.com/lvgl/lv_port_linux_frame_buffer.git;protocol=https;branch=master;name=demo \
+ git://github.com/lvgl/lvgl;protocol=https;branch=master;name=lvgl;subdir=git/lvgl \
+ file://0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch;patchdir=lvgl \
+ file://0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch \
+ file://0004-Factor-out-fbdev-initialization-code.patch \
+ file://0005-Add-DRM-KMS-example-support.patch \
+ file://0006-Add-SDL2-example-support.patch \
+ file://0007-fix-cmake-generate-versioned-shared-libraries.patch;patchdir=lvgl \
+ file://0008-fix-fbdev-set-resolution-prior-to-buffer.patch;patchdir=lvgl \
+ "
+SRCREV_demo = "dccc6a1ca48372aa993dbea7a8e17dec6f42df6a"
+SRCREV_lvgl = "e1c0b21b2723d391b885de4b2ee5cc997eccca91"
+SRCREV_FORMAT = "demo_lvgl"
+
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0"
+LVGL_CONFIG_LV_USE_LOG = "1"
+LVGL_CONFIG_LV_LOG_PRINTF = "1"
+LVGL_CONFIG_LV_MEM_SIZE = "(256 * 1024U)"
+LVGL_CONFIG_LV_USE_FONT_COMPRESSED = "1"
+require lv-conf.inc
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+do_configure:prepend() {
+ if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then
+ # Add libsdl build dependency, SDL2_image has no cmake file
+ sed -i '/^target_link_libraries/ s@pthread@& SDL2_image@' "${S}/CMakeLists.txt"
+ fi
+}
+
+do_install:append() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/bin/main ${D}${bindir}/lvgl
+}
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb
new file mode 100644
index 0000000000..4435c40777
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/lvgl_9.1.0.bb
@@ -0,0 +1,33 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: MIT
+
+HOMEPAGE = "https://lvgl.io/"
+DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI"
+SUMMARY = "Light and Versatile Graphics Library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
+
+SRC_URI = "\
+ git://github.com/lvgl/lvgl;protocol=https;branch=master \
+ file://0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch \
+ file://0007-fix-cmake-generate-versioned-shared-libraries.patch \
+ file://0008-fix-fbdev-set-resolution-prior-to-buffer.patch \
+ "
+SRCREV = "e1c0b21b2723d391b885de4b2ee5cc997eccca91"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib} -DBUILD_SHARED_LIBS=ON"
+S = "${WORKDIR}/git"
+
+require lv-conf.inc
+
+do_install:append() {
+ install -d "${D}${includedir}/${PN}"
+ install -m 0644 "${S}/lv_conf.h" "${D}${includedir}/${PN}/lv_conf.h"
+}
+
+FILES:${PN}-dev += "\
+ ${includedir}/${PN}/ \
+ "
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0001-Initialize-msghdr-struct-in-a-portable-way.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0001-Initialize-msghdr-struct-in-a-portable-way.patch
new file mode 100644
index 0000000000..d4779505d8
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0001-Initialize-msghdr-struct-in-a-portable-way.patch
@@ -0,0 +1,40 @@
+From 7c370576b4fb7c7d3b6dbf33125136a4ae70a330 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 21:52:16 -0700
+Subject: [PATCH] Initialize msghdr struct in a portable way
+
+Initializing the structure assuming glibc layout results in
+compile errors on musl, therefore do partial intialization and then
+assigning the members individually.
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/4/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lxcom.c | 9 +++++++--
+ 2 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/src/lxcom.c b/src/lxcom.c
+index 397d1b5..517c775 100644
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -117,10 +117,15 @@ static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer us
+ char ctrl[/*CMSG_SPACE(sizeof(LXDM_CRED))*/1024];
+ struct sockaddr_un peer;
+ struct iovec v={buf,sizeof(buf)};
+- struct msghdr h={&peer,sizeof(peer),&v,1,ctrl,sizeof(ctrl),0};
++ struct msghdr h={0};
+ struct cmsghdr *cmptr;
+ int ret;
+-
++ h.msg_name = &peer;
++ h.msg_namelen = sizeof(peer);
++ h.msg_iov = &v;
++ h.msg_iovlen = 1;
++ h.msg_control = ctrl;
++ h.msg_controllen = sizeof(ctrl);
+ while(1)
+ {
+ peer.sun_family=0;
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch
new file mode 100644
index 0000000000..7ec073b08a
--- /dev/null
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch
@@ -0,0 +1,38 @@
+From f662906c52f264e4c139e402932103f47269aa1b Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Mon, 24 Jan 2022 17:16:15 +0800
+Subject: [PATCH] systemd/lxdm.service: remove plymouth-quit conflicts
+
+When use plymouth[1] with lxdm, the plymouth boot splash screen
+will hang there as lxdm.service conflicts with plymouth-quit.service
+and plymouth-quit will fail to start if plymouth-quit.service and
+lxdm.service start at the same time and it will result in the boot
+screen hang forever.
+
+Consider there is also After setting for these two services, so
+remove the conflicts setting to make the service start as expected.
+
+[1] https://gitlab.freedesktop.org/plymouth/plymouth/-/tree/main
+
+Upstream-Status: Submitted [https://sourceforge.net/p/lxdm/code/merge-requests/3]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ systemd/lxdm.service | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/systemd/lxdm.service b/systemd/lxdm.service
+index bf4a0a8..90d8cdb 100644
+--- a/systemd/lxdm.service
++++ b/systemd/lxdm.service
+@@ -1,6 +1,6 @@
+ [Unit]
+ Description=LXDE Display Manager
+-Conflicts=getty@tty1.service plymouth-quit.service
++Conflicts=getty@tty1.service
+ After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service
+
+ [Service]
+--
+2.17.1
+
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
index 75dc10c979..5af4e5233c 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
@@ -8,9 +8,7 @@ Content-Transfer-Encoding: 8bit
in out of tree builds lxdm.conf is empty
-Upstream-Status: submitted [1]
-
-[1] http://sourceforge.net/p/lxde/mailman/message/32901417/
+Upstream-Status: Submitted [http://sourceforge.net/p/lxde/mailman/message/32901417/]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch
index f9fd4970fb..31b12f8078 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0003-check-for-libexecinfo-providing-backtrace-APIs.patch
@@ -8,6 +8,8 @@ unlike glibc where it is bundled in
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch b/meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch
index afe11f3536..d232f6913e 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch
+++ b/meta-oe/recipes-graphics/lxdm/lxdm/0004-fix-css-under-gtk-3.20.patch
@@ -3,9 +3,7 @@ From: dgod <dgod.osa@gmail.com>
Date: Mon, 21 Mar 2016 19:25:25 +0800
Subject: [PATCH] fix css under gtk 3.20
-Upstream-Status: Applied [1]
-
-[1] https://git.lxde.org/gitweb/?p=lxde/lxdm.git;a=patch;h=72812894cfd9454d70e4b0753531e46580416771
+Upstream-Status: Backport [https://git.lxde.org/gitweb/?p=lxde/lxdm.git;a=patch;h=72812894cfd9454d70e4b0753531e46580416771]
---
data/themes/Industrial/gtk.css | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
index 216bbb624a..adf9cb597c 100644
--- a/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
+++ b/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
@@ -1,6 +1,6 @@
SUMMARY = "LXDM is the lightweight display manager"
HOMEPAGE = "http://blog.lxde.org/?p=531"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.xz \
file://lxdm.conf \
@@ -18,6 +18,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.
file://0007-greeter.c-support-to-update-expired-password.patch \
file://0008-greeter.c-show-information-on-gtk-label-info.patch \
file://0009-greeter.c-disallow-empty-new-password.patch \
+ file://0001-systemd-lxdm.service-remove-plymouth-quit-conflicts.patch \
+ file://0001-Initialize-msghdr-struct-in-a-portable-way.patch \
"
SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0"
SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f"
@@ -26,7 +28,7 @@ PE = "1"
DEPENDS = "virtual/libintl intltool-native cairo dbus gdk-pixbuf glib-2.0 gtk+3 virtual/libx11 libxcb pango iso-codes"
DEPENDS += "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS:append:libc-musl = " libexecinfo"
# combine oe-core way with angstrom DISTRO_TYPE
DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}"
@@ -35,19 +37,19 @@ inherit autotools pkgconfig gettext systemd features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr "
-LDFLAGS_append_libc-musl = " -lexecinfo"
+CFLAGS:append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr "
+LDFLAGS:append:libc-musl = " -lexecinfo"
EXTRA_OECONF += "--enable-gtk3=yes --enable-password=yes --with-x -with-xconn=xcb \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
"
-do_configure_prepend() {
+do_configure:prepend() {
cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
}
-do_compile_append() {
+do_compile:append() {
# default background configured not available / no password field available / no default screensaver
sed -i -e 's,bg=,# bg=,g' \
-e 's,# skip_password=,skip_password=,g' \
@@ -57,7 +59,7 @@ do_compile_append() {
oe_runmake -C ${B}/data lxdm.conf
}
-do_install_append() {
+do_install:append() {
install -d ${D}${localstatedir}/lib/lxdm
install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm
if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
@@ -69,7 +71,7 @@ do_install_append() {
}
# make installed languages choosable
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
langs=""
for lang in `find $D${libdir}/locale -maxdepth 1 | grep _ | sort`; do
lang=`basename $lang`
@@ -82,9 +84,9 @@ done
sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf
}
-RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk"
+RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk"
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "lxdm.service"
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "lxdm.service"
diff --git a/meta-oe/recipes-graphics/neatvnc/neatvnc_0.8.0.bb b/meta-oe/recipes-graphics/neatvnc/neatvnc_0.8.0.bb
new file mode 100644
index 0000000000..c9c4a6c27a
--- /dev/null
+++ b/meta-oe/recipes-graphics/neatvnc/neatvnc_0.8.0.bb
@@ -0,0 +1,38 @@
+SUMMARY = "A liberally licensed VNC server library"
+DESCRIPTION = "This is a liberally licensed VNC server library that's intended to be fast and neat."
+HOMEPAGE = "https://github.com/any1/neatvnc"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94fc374e7174f41e3afe0f027ee59ff7"
+
+SRC_URI = "git://github.com/any1/neatvnc;branch=master;protocol=https"
+
+SRCREV = "46432ce8cade0b54a38d4bb42eb07f96c8ff49fd"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libdrm pixman aml zlib"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[tls] = "-Dtls=enabled,-Dtls=disabled,gnutls"
+PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,libjpeg-turbo"
+PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false,libpng"
+PACKAGECONFIG[benchmarks] = "-Dbenchmarks=true,-Dbenchmarks=false,libpng"
+
+PACKAGE_BEFORE_PN += "${PN}-examples"
+ALLOW_EMPTY:${PN}-examples = "1"
+FILES:${PN}-examples = "${bindir}"
+
+NEATVNC_EXAMPLES = "draw png-server"
+
+inherit meson pkgconfig
+
+do_install:append () {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'examples', 'true', 'false', d)}; then
+ install -d ${D}${bindir}
+ for bin in ${NEATVNC_EXAMPLES}; do
+ install -m 0755 ${B}/examples/$bin ${D}${bindir}
+ done
+ fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
index ac2634d8ed..0d53c78f3e 100644
--- a/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
+++ b/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
@@ -1,7 +1,7 @@
SUMMARY = "Enable NumLock in X11 sessions"
HOMEPAGE = "http://home.kde.org/~seli/numlockx/"
SECTION = "x11/apps"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dcb1cc75e21540a4a66b54e38d95b047"
DEPENDS = "virtual/libx11 libxtst"
@@ -17,7 +17,7 @@ REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_OECONF = "--x-includes=${STAGING_INCDIR} \
--x-libraries=${STAGING_LIBDIR}"
-do_configure_prepend() {
+do_configure:prepend() {
# remove this from acinclude.m4 or build fails
sed -i '/_AC_PATH_X_XMKMF/d' ${S}/acinclude.m4
}
diff --git a/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb b/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb
new file mode 100644
index 0000000000..a44e79362d
--- /dev/null
+++ b/meta-oe/recipes-graphics/nyancat/nyancat_1.5.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Render a loop of the Nyan Cat / Poptart Cat animation"
+HOMEPAGE = "https://nyancat.dakko.us/"
+SECTION = "graphics"
+
+LICENSE = "NCSA"
+LIC_FILES_CHKSUM = "file://src/nyancat.c;beginline=27;endline=49;md5=285f7ac87da4a631f348800687d845bd"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "5ffb6c5c03d0e9156db8f360599d4f0449bb16b9"
+SRC_URI = " \
+ git://github.com/klange/nyancat;protocol=https;branch=master \
+"
+
+do_install:append() {
+ install -Dm 0755 ${S}/src/${BPN} ${D}${bindir}/${BPN}
+}
diff --git a/meta-oe/recipes-graphics/openbox/files/0001-Fix-function-protype-visibility.patch b/meta-oe/recipes-graphics/openbox/files/0001-Fix-function-protype-visibility.patch
new file mode 100644
index 0000000000..344c5d149b
--- /dev/null
+++ b/meta-oe/recipes-graphics/openbox/files/0001-Fix-function-protype-visibility.patch
@@ -0,0 +1,94 @@
+From 941d5ff3426e68cb9bcb4ae86066124cb2535b69 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 12:32:20 -0700
+Subject: [PATCH] Fix function protype visibility
+
+Include ctye.h for toupper
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/appearance.c | 1 +
+ src/desktops.c | 2 +-
+ src/desktops.h | 2 +-
+ src/main.c | 1 +
+ src/moveresize.c | 2 +-
+ src/moveresize.h | 2 +-
+ 6 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/appearance.c b/src/appearance.c
+index 4fb3f0c..ee55661 100644
+--- a/src/appearance.c
++++ b/src/appearance.c
+@@ -20,6 +20,7 @@
+ #include "main.h"
+ #include "tree.h"
+ #include "preview_update.h"
++#include <ctype.h> /* for toupper */
+
+ static gboolean mapping = FALSE;
+
+diff --git a/src/desktops.c b/src/desktops.c
+index 8297f00..27ca514 100644
+--- a/src/desktops.c
++++ b/src/desktops.c
+@@ -38,7 +38,7 @@ static void on_desktop_names_cell_edited(GtkCellRendererText *cell,
+ gpointer data);
+ static void enable_stuff();
+
+-void desktops_setup_tab()
++void desktops_setup_tab(void)
+ {
+ GtkWidget *w;
+ GtkCellRenderer *render;
+diff --git a/src/desktops.h b/src/desktops.h
+index 1ba3e36..446bfbb 100644
+--- a/src/desktops.h
++++ b/src/desktops.h
+@@ -24,5 +24,5 @@
+
+ void desktops_setup_num(GtkWidget *w);
+ void desktops_setup_names(GtkWidget *w);
+-
++void desktops_setup_tab(void);
+ #endif
+diff --git a/src/main.c b/src/main.c
+index d7e3446..0176035 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -28,6 +28,7 @@
+ #include "dock.h"
+ #include "preview_update.h"
+ #include "gettext.h"
++#include "moveresize.h"
+
+ #include <gdk/gdkx.h>
+ #define SN_API_NOT_YET_FROZEN
+diff --git a/src/moveresize.c b/src/moveresize.c
+index c6fb3dd..bb52729 100644
+--- a/src/moveresize.c
++++ b/src/moveresize.c
+@@ -37,7 +37,7 @@ static gboolean mapping = FALSE;
+ static void enable_stuff();
+ static void write_fixed_position(const gchar *coord);
+
+-void moveresize_setup_tab()
++void moveresize_setup_tab(void)
+ {
+ GtkWidget *w, *w1, *w2, *w3;
+ GtkSizeGroup *group;
+diff --git a/src/moveresize.h b/src/moveresize.h
+index 82ecc96..8faf526 100644
+--- a/src/moveresize.h
++++ b/src/moveresize.h
+@@ -20,6 +20,6 @@
+ #ifndef obconf__moveresize_h
+ #define obconf__moveresize_h
+
+-void moveresize_setup_tab();
++void moveresize_setup_tab(void);
+
+ #endif
+--
+2.37.3
+
diff --git a/meta-oe/recipes-graphics/openbox/obconf_git.bb b/meta-oe/recipes-graphics/openbox/obconf_git.bb
index 53c5898211..1210af70ea 100644
--- a/meta-oe/recipes-graphics/openbox/obconf_git.bb
+++ b/meta-oe/recipes-graphics/openbox/obconf_git.bb
@@ -1,19 +1,19 @@
SUMMARY = "Openbox configuration tool"
-AUTHOR = "Dana Jansens & Tim Riley & Javeed Shaikh"
HOMEPAGE = "http://openbox.org/wiki/ObConf:About"
SECTION = "x11/wm"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = " \
openbox \
startup-notification \
gtk+3 \
"
-PV = "2.0.4+git${SRCPV}"
+PV = "2.0.4+git"
SRCREV = "63ec47c5e295ad4f09d1df6d92afb7e10c3fec39"
SRC_URI = " \
- git://git.openbox.org/dana/obconf \
+ git://git.openbox.org/dana/obconf;branch=master \
+ file://0001-Fix-function-protype-visibility.patch \
"
S = "${WORKDIR}/git"
@@ -24,10 +24,10 @@ REQUIRED_DISTRO_FEATURES = "x11"
EXTRA_AUTORECONF = ""
-FILES_${PN} += "\
+FILES:${PN} += "\
${datadir}/mime \
"
-do_install_append () {
+do_install:append () {
rm -rf ${D}${datadir}/mimelnk
}
diff --git a/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb b/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
index e269a264f8..9a15077316 100644
--- a/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
+++ b/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
@@ -1,7 +1,7 @@
SUMMARY = "openbox Window Manager"
SECTION = "x11/wm"
-DEPENDS = "glib-2.0 pango libxml2 virtual/libx11 libcroco librsvg gdk-pixbuf"
-LICENSE = "GPLv2+"
+DEPENDS = "glib-2.0 pango libxml2 virtual/libx11 librsvg gdk-pixbuf"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
SRC_URI = " \
@@ -17,7 +17,7 @@ inherit autotools gettext update-alternatives pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-ALTERNATIVE_${PN}-core = "x-window-manager x-session-manager"
+ALTERNATIVE:${PN}-core = "x-window-manager x-session-manager"
ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/openbox"
ALTERNATIVE_PRIORITY[x-window-manager] = "10"
ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/openbox-session"
@@ -34,25 +34,25 @@ PACKAGES =+ "${PN}-core ${PN}-lxde ${PN}-gnome ${PN}-config"
PACKAGES_DYNAMIC += "^${PN}-theme-.*"
-python populate_packages_prepend() {
+python populate_packages:prepend() {
theme_dir = d.expand('${datadir}/themes/')
theme_name = d.expand('${PN}-theme-%s')
do_split_packages(d, theme_dir, '(.*)', theme_name, '${PN} theme for %s', extra_depends='', allow_dirs=True)
}
-FILES_${PN}-core = "${bindir}/openbox ${bindir}/openbox-session ${libdir}/*${SOLIBS}"
+FILES:${PN}-core = "${bindir}/openbox ${bindir}/openbox-session ${libdir}/*${SOLIBS}"
-FILES_${PN}-lxde += "${datadir}/lxde/ \
+FILES:${PN}-lxde += "${datadir}/lxde/ \
${datadir}/lxpanel \
${datadir}/xsessions \
${datadir}/icons"
-FILES_${PN}-gnome += " \
+FILES:${PN}-gnome += " \
${bindir}/openbox-gnome-session \
${datadir}/gnome \
${datadir}/gnome-session \
"
-FILES_${PN}-config += "${sysconfdir}"
+FILES:${PN}-config += "${sysconfdir}"
-RDEPENDS_${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks python3 python3-shell pyxdg"
+RDEPENDS:${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks python3 python3-shell pyxdg"
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-This-patch-fixed-include-dir-to-usr-include-.-Obviou.patch b/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-This-patch-fixed-include-dir-to-usr-include-.-Obviou.patch
deleted file mode 100644
index 663f499df6..0000000000
--- a/meta-oe/recipes-graphics/openjpeg/openjpeg/0001-This-patch-fixed-include-dir-to-usr-include-.-Obviou.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 3e4fe4c42d4d63c36df966baea87da6fbc032553 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Thu, 7 Jan 2021 16:05:28 +0900
-Subject: [PATCH] This patch fixed include dir to /usr/include/. Obviously, it
- is not suitble for cross-compile. So, removed this patch temporarily.
-https://github.com/uclouvain/openjpeg/issues/1174
-
-Upsteam-Status: Pending
-https://github.com/uclouvain/openjpeg/issues/1320
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
----
- cmake/OpenJPEGConfig.cmake.in | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/cmake/OpenJPEGConfig.cmake.in b/cmake/OpenJPEGConfig.cmake.in
-index 8a726697..2925108a 100644
---- a/cmake/OpenJPEGConfig.cmake.in
-+++ b/cmake/OpenJPEGConfig.cmake.in
-@@ -27,8 +27,12 @@ if(EXISTS ${SELF_DIR}/OpenJPEGTargets.cmake)
- # This is an install tree
- include(${SELF_DIR}/OpenJPEGTargets.cmake)
-
-+ # We find a relative path from the PKG directory to header files.
-+ set(PKG_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_PACKAGE_DIR@")
- set(INC_DIR "@CMAKE_INSTALL_PREFIX@/@OPENJPEG_INSTALL_INCLUDE_DIR@")
-- get_filename_component(OPENJPEG_INCLUDE_DIRS "${INC_DIR}" ABSOLUTE)
-+ file(RELATIVE_PATH PKG_TO_INC_RPATH "${PKG_DIR}" "${INC_DIR}")
-+
-+ get_filename_component(OPENJPEG_INCLUDE_DIRS "${SELF_DIR}/${PKG_TO_INC_RPATH}" ABSOLUTE)
-
- else()
- if(EXISTS ${SELF_DIR}/OpenJPEGExports.cmake)
---
-2.25.1
-
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
deleted file mode 100644
index 8e264bf71b..0000000000
--- a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.4.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
-HOMEPAGE = "http://www.openjpeg.org"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
-
-DEPENDS = "libpng tiff lcms zlib"
-
-SRC_URI = " \
- git://github.com/uclouvain/openjpeg.git \
- file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
- file://0001-This-patch-fixed-include-dir-to-usr-include-.-Obviou.patch \
-"
-SRCREV = "37ac30ceff6640bbab502388c5e0fa0bff23f505"
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-# for multilib
-EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}"
-
-FILES_${PN} += "${libdir}/openjpeg*"
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.0.bb b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.0.bb
new file mode 100644
index 0000000000..f2d74078e8
--- /dev/null
+++ b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
+HOMEPAGE = "http://www.openjpeg.org"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
+
+DEPENDS = "libpng tiff lcms zlib"
+
+SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \
+ file://0002-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
+ "
+SRCREV = "a5891555eb49ed7cc26b2901ea680acda136d811"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# for multilib
+EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_LIB_DIR=${@d.getVar('baselib').replace('/', '')}"
+
+FILES:${PN} += "${libdir}/openjpeg*"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
index 3069d2dedd..1cc2cdf76b 100644
--- a/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
+++ b/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
@@ -3,7 +3,6 @@ SECTION = "fonts"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PV = "1.0"
-PR = "r2"
inherit packagegroup
@@ -13,13 +12,13 @@ PACKAGES += "\
${PN}-japanese \
"
-RRECOMMENDS_${PN} = "\
+RRECOMMENDS:${PN} = "\
${PN}-core \
${PN}-chinese \
${PN}-japanese \
"
-RDEPENDS_${PN}-core = "\
+RDEPENDS:${PN}-core = "\
fontconfig-utils \
\
ttf-dejavu-common \
@@ -28,12 +27,12 @@ RDEPENDS_${PN}-core = "\
"
# ttf-dejavu-serif
-RDEPENDS_${PN}-chinese = "\
+RDEPENDS:${PN}-chinese = "\
${PN}-core \
ttf-arphic-uming \
"
-RDEPENDS_${PN}-japanese = "\
+RDEPENDS:${PN}-japanese = "\
${PN}-core \
ttf-sazanami-gothic \
ttf-sazanami-mincho \
diff --git a/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.1.bb b/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.1.bb
new file mode 100644
index 0000000000..86787a6b7f
--- /dev/null
+++ b/meta-oe/recipes-graphics/pango/pangomm-2.48_2.50.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "C++ bindings for the pango library"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common cairomm-1.16 glibmm-2.68 pango"
+
+GNOMEBN = "pangomm"
+inherit gnomebase features_check
+
+SRC_URI[archive.sha256sum] = "ccc9923413e408c2bff637df663248327d72822f11e394b423e1c5652b7d9214"
+REQUIRED_DISTRO_FEATURES = "x11"
+
+S = "${WORKDIR}/${GNOMEBN}-${PV}"
+
+FILES:${PN} = "${libdir}/lib*.so.*"
+FILES:${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
+
diff --git a/meta-oe/recipes-graphics/pango/pangomm_2.42.1.bb b/meta-oe/recipes-graphics/pango/pangomm_2.42.1.bb
deleted file mode 100644
index 57d9ff9827..0000000000
--- a/meta-oe/recipes-graphics/pango/pangomm_2.42.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "C++ bindings for the pango library"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
- file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "mm-common cairomm glibmm pango"
-
-SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
-
-SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${PV}.tar.xz"
-SRC_URI[md5sum] = "339c48dd92ebd3a9911b231708f7a819"
-SRC_URI[sha256sum] = "14bf04939930870d5cfa96860ed953ad2ce07c3fd8713add4a1bfe585589f40f"
-
-inherit features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECONF = " --disable-documentation "
-
-FILES_${PN} = "${libdir}/lib*.so.*"
-FILES_${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
-
diff --git a/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb b/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
new file mode 100644
index 0000000000..da822f3243
--- /dev/null
+++ b/meta-oe/recipes-graphics/pango/pangomm_2.46.2.bb
@@ -0,0 +1,18 @@
+SUMMARY = "C++ bindings for the pango library"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common cairomm glibmm pango"
+
+
+inherit gnomebase features_check
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI[archive.sha256sum] = "57442ab4dc043877bfe3839915731ab2d693fc6634a71614422fb530c9eaa6f4"
+
+FILES:${PN} = "${libdir}/lib*.so.*"
+FILES:${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
+
diff --git a/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch
new file mode 100644
index 0000000000..2316c1ffdf
--- /dev/null
+++ b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch
@@ -0,0 +1,45 @@
+From 98bef35c010a9c7891634fe9bcc4b560abbcb4e9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Apr 2022 11:29:50 -0700
+Subject: [PATCH] memmove and memchr are C APIs not C++ std namespace
+
+Fixes build error
+../git/src/deqp-runner.cc: In member function 'Line_reader::read_status Line_reader::read(char**, double)':
+../git/src/deqp-runner.cc:249:10: error: 'memmove' is not a member of 'std'; did you mean 'wmemmove'?
+ 249 | std::memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
+ | ^~~~~~~
+ | wmemmove
+../git/src/deqp-runner.cc:255:35: error: 'memchr' is not a member of 'std'; did you mean 'wmemchr'?
+ 255 | while (!(newline = (char *)std::memchr(buf_.data(), '\n', valid_sz_)) &&
+ | ^~~~~~
+ | wmemchr
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/parallel-deqp-runner/-/merge_requests/17]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/deqp-runner.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/deqp-runner.cc b/src/deqp-runner.cc
+index 1cc8a55..55a15f9 100644
+--- a/src/deqp-runner.cc
++++ b/src/deqp-runner.cc
+@@ -246,13 +246,13 @@ Line_reader::read_status Line_reader::read(char **text, double timeout) {
+
+ if (skip_sz_) {
+ valid_sz_ -= skip_sz_;
+- std::memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
++ memmove(buf_.data(), buf_.data() + skip_sz_, valid_sz_);
+ skip_sz_ = 0;
+ }
+
+ char *newline;
+ bool end = false;
+- while (!(newline = (char *)std::memchr(buf_.data(), '\n', valid_sz_)) &&
++ while (!(newline = (char *)memchr(buf_.data(), '\n', valid_sz_)) &&
+ !end && valid_sz_ + 1 < (int)buf_.size()) {
+ for (;;) {
+ struct pollfd p = {};
+--
+2.35.1
+
diff --git a/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch
index 0fedfad132..02ef3cce76 100644
--- a/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch
+++ b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner/0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch
@@ -11,6 +11,8 @@ contains vulkan.
Signed-off-by: Aníbal Limón <anibal.limon@linaro.org>
---
+Upstream-Status: Pending
+
meson.build | 6 ------
1 file changed, 6 deletions(-)
diff --git a/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb
index 4c02cc55af..2ec89bc05b 100644
--- a/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb
+++ b/meta-oe/recipes-graphics/parallel-deqp-runner/parallel-deqp-runner_git.bb
@@ -1,12 +1,13 @@
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4f59d6446bf2e004e80df1a0937129fa"
-SRC_URI = "git://gitlab.freedesktop.org/mesa/parallel-deqp-runner.git;protocol=https \
+SRC_URI = "git://gitlab.freedesktop.org/mesa/parallel-deqp-runner.git;protocol=https;branch=master \
file://0001-meson.build-WORKAROUND-Remove-vulkan-dependency.patch \
+ file://0001-memmove-and-memchr-are-C-APIs-not-C-std-namespace.patch \
"
# Modify these as desired
-PV = "2020.06.15+git${SRCPV}"
+PV = "2020.06.15+git"
SRCREV = "e1642fb691d29b1462504b58916f7f514a963e80"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb b/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
index 3eb23dc0fa..039816e4a0 100644
--- a/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
+++ b/meta-oe/recipes-graphics/qrencode/qrencode_4.1.1.bb
@@ -1,15 +1,19 @@
SUMMARY = "C library for encoding data in a QR Code symbol"
-AUTHOR = "Kentaro Fukuchi"
HOMEPAGE = "http://fukuchi.org/works/qrencode/"
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
SRCREV = "715e29fd4cd71b6e452ae0f4e36d917b43122ce8"
-SRC_URI = "git://github.com/fukuchi/libqrencode.git"
+SRC_URI = "git://github.com/fukuchi/libqrencode.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
inherit autotools pkgconfig
-EXTRA_OECONF += "--without-tools --without-tests"
+BBCLASSEXTEND = "native"
+
+EXTRA_OECONF += "--without-tests"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[tools] = "--with-tools,--without-tools,libpng"
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch
deleted file mode 100644
index 6ba1e42687..0000000000
--- a/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-Remove-glslang-pool_allocator-setAllocator.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 49dd914109fd1ee9e1e917890bf18f85dd95ff31 Mon Sep 17 00:00:00 2001
-From: Reid Kleckner <rnk@google.com>
-Date: Sun, 29 Dec 2019 23:17:16 -0800
-Subject: [PATCH] Remove glslang::pool_allocator::setAllocator
-
-TPoolAllocator is not copy assignable, so this setter could never have
-been used. After a recent change (878a24ee2), new versions of Clang
-reject this code outright.
-
-Upstream-Status: Backport [https://github.com/KhronosGroup/glslang/commit/0de87ee9a5bf5d094a3faa1a71fd9080e80b6be0]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
-index 0e237a6a2..b8eccb883 100644
---- a/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
-+++ b/renderdoc/3rdparty/glslang/glslang/Include/PoolAlloc.h
-@@ -304,7 +304,6 @@ public:
- size_type max_size() const { return static_cast<size_type>(-1) / sizeof(T); }
- size_type max_size(int size) const { return static_cast<size_type>(-1) / size; }
-
-- void setAllocator(TPoolAllocator* a) { allocator = *a; }
- TPoolAllocator& getAllocator() const { return allocator; }
-
- protected:
---
-2.24.1
-
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch b/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch
deleted file mode 100644
index e96dedfc39..0000000000
--- a/meta-oe/recipes-graphics/renderdoc/renderdoc/0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 41a8c9b5ac13066770baee476ebf9828371f4dad Mon Sep 17 00:00:00 2001
-From: Adrian Ratiu <adrian.ratiu@collabora.com>
-Date: Tue, 24 Sep 2019 16:07:18 +0300
-Subject: [PATCH] renderdoc: use xxd instead of cross-compiling shim binary
-
-Renderdoc's attempt to cross compile an xxd replacement by directly
-calling a host cross-compiler breaks under OE's recipe specific
-sysroots protection because this is not a native recipe, so we just
-use xxd-native instead.
-
-Upstream-Status: Inappropriate [embedded-specific]
-
----
- renderdoc/CMakeLists.txt | 23 +----------------------
- 1 file changed, 1 insertion(+), 22 deletions(-)
-
-diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
-index 5cb7440a4..453a034ba 100644
---- a/renderdoc/CMakeLists.txt
-+++ b/renderdoc/CMakeLists.txt
-@@ -370,26 +370,6 @@ set(data
- set(data_objects)
-
- if(UNIX)
-- # If we're cross-compiling, include-bin will get built for the target and we
-- # then can't execute it. Instead, we force calling c++ (which we can safely
-- # assume is present) directly to build the binary
--
-- if(CMAKE_CROSSCOMPILING)
-- set(HOST_NATIVE_CPP_COMPILER c++ CACHE STRING "Command to run to compile a .cpp into an executable. Default is just c++")
--
-- add_custom_command(OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin
-- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-- COMMAND ${HOST_NATIVE_CPP_COMPILER} 3rdparty/include-bin/main.cpp -o ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin
-- DEPENDS 3rdparty/include-bin/main.cpp)
-- set(INCLUDE_BIN_EXE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin")
-- set(INCLUDE_BIN_DEP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/include-bin")
-- else()
-- add_executable(include-bin 3rdparty/include-bin/main.cpp)
-- set(INCLUDE_BIN_EXE $<TARGET_FILE:include-bin>)
-- set(INCLUDE_BIN_DEP include-bin)
-- endif()
--
- foreach(res ${data})
- set(in ${res})
- set(working_dir ${CMAKE_CURRENT_SOURCE_DIR})
-@@ -399,8 +379,7 @@ if(UNIX)
- add_custom_command(OUTPUT ${out_src}
- WORKING_DIRECTORY ${working_dir}
- COMMAND ${CMAKE_COMMAND} -E make_directory ${out_src_dir}
-- COMMAND ${INCLUDE_BIN_EXE} ${in} ${out_src}
-- DEPENDS ${INCLUDE_BIN_DEP}
-+ COMMAND xxd -i ${in} ${out_src}
- DEPENDS ${res})
-
- list(APPEND data_objects ${out_src})
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc_1.27.bb b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.27.bb
new file mode 100644
index 0000000000..e52ec5f291
--- /dev/null
+++ b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.27.bb
@@ -0,0 +1,38 @@
+SUMMARY = "RenderDoc recipe providing renderdoccmd"
+DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger"
+HOMEPAGE = "https://github.com/baldurk/renderdoc"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=36d34a46cb71546195d2b0c626a52e5d"
+
+SRCREV = "35b13a8e8fd2a331854dba6da81a20452e142d6f"
+SRC_URI = " \
+ git://github.com/baldurk/${BPN}.git;protocol=https;branch=v1.x \
+"
+S = "${WORKDIR}/git"
+
+DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native"
+
+RDEPENDS:${PN} = "libxcb xcb-util-keysyms"
+
+inherit cmake pkgconfig python3native features_check
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+python __anonymous () {
+ # only works on glibc systems
+ if d.getVar('TCLIBC') != "glibc":
+ raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC'))
+}
+
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
+
+EXTRA_OECMAKE += "\
+ -DENABLE_QRENDERDOC=OFF \
+ -DENABLE_PYRENDERDOC=OFF \
+ -DENABLE_RENDERDOCCMD=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DHOST_NATIVE_CPP_COMPILER="${BUILD_CXX}" \
+"
+
+FILES:${PN} += "${libdir}"
+FILES:${PN}-dev = "${includedir}"
diff --git a/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb b/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb
deleted file mode 100644
index 6ea632d064..0000000000
--- a/meta-oe/recipes-graphics/renderdoc/renderdoc_1.7.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "RenderDoc recipe providing renderdoccmd"
-DESCRIPTION = "RenderDoc is a frame-capture based graphics debugger"
-HOMEPAGE = "https://github.com/baldurk/renderdoc"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=df7ea9e196efc7014c124747a0ef9772"
-
-SRCREV = "a56af589d94dc851809fd5344d0ae441da70c1f2"
-SRC_URI = "git://github.com/baldurk/${BPN}.git;protocol=http;branch=v1.x \
- file://0001-renderdoc-use-xxd-instead-of-cross-compiling-shim-bi.patch \
- file://0001-Remove-glslang-pool_allocator-setAllocator.patch \
-"
-S = "${WORKDIR}/git"
-
-DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native"
-
-RDEPENDS_${PN} = "libxcb xcb-util-keysyms"
-
-inherit cmake python3native features_check
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-python __anonymous () {
- # only works on glibc systems
- if d.getVar('TCLIBC') != "glibc":
- raise bb.parse.SkipRecipe("incompatible with %s C library" % d.getVar('TCLIBC'))
-}
-
-COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
-
-EXTRA_OECMAKE += "\
- -DENABLE_QRENDERDOC=OFF \
- -DENABLE_PYRENDERDOC=OFF \
- -DENABLE_RENDERDOCCMD=ON \
- -DCMAKE_BUILD_TYPE=Release \
-"
-
-FILES_${PN} += "${libdir}"
-FILES_${PN}-dev = "${includedir}"
diff --git a/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch b/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch
deleted file mode 100644
index 78598ea1ea..0000000000
--- a/meta-oe/recipes-graphics/spir/files/0001-Add-install-PHONY-target-in-Makefile.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8d9870b66c3cfcf12ce7e8e013946e2a215bb722 Mon Sep 17 00:00:00 2001
-From: Ankit Navik <ankit.tarot@gmail.com>
-Date: Sat, 22 Dec 2018 19:16:02 +0530
-Subject: [PATCH] Add install PHONY target in Makefile
-
----
- Makefile | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 0564b65..0993372 100644
---- a/Makefile
-+++ b/Makefile
-@@ -35,7 +35,13 @@ $(STATIC_LIB): $(OBJECTS)
- %.o: %.cpp
- $(CXX) -c -o $@ $< $(CXXFLAGS) -MMD
-
-+install:
-+ mkdir -p $(TARGET_DIR_BIN)
-+ mkdir -p $(TARGET_DIR_LIB)
-+ cp $(TARGET) $(TARGET_DIR_BIN)/
-+ cp $(STATIC_LIB) $(TARGET_DIR_LIB)/
-+
- clean:
- rm -f $(TARGET) $(OBJECTS) $(CLI_OBJECTS) $(STATIC_LIB) $(DEPS)
-
--.PHONY: clean
-+.PHONY: all install clean
---
-2.7.4
-
diff --git a/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch b/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
deleted file mode 100644
index 9b48cdcd09..0000000000
--- a/meta-oe/recipes-graphics/spir/files/0001-Avoid-pessimizing-std-move-3124.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 4fffcd275b50d08b54b0411679ead98970651bad Mon Sep 17 00:00:00 2001
-From: David Neto <dneto@google.com>
-Date: Fri, 27 Dec 2019 12:05:58 -0500
-Subject: [PATCH] Avoid pessimizing std::move (#3124)
-
-Should fix a warning
-
-Upstream-Status: Backport [https://github.com/KhronosGroup/SPIRV-Tools/commit/8aa423930db37e37086665efcc55944d577c06e5]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- test/opt/pass_fixture.h | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/test/opt/pass_fixture.h b/test/opt/pass_fixture.h
-index 53fb206f..64c089d8 100644
---- a/test/opt/pass_fixture.h
-+++ b/test/opt/pass_fixture.h
-@@ -60,8 +60,7 @@ class PassTest : public TestT {
- // from pass Process() function.
- std::tuple<std::vector<uint32_t>, Pass::Status> OptimizeToBinary(
- Pass* pass, const std::string& original, bool skip_nop) {
-- context_ =
-- std::move(BuildModule(env_, consumer_, original, assemble_options_));
-+ context_ = BuildModule(env_, consumer_, original, assemble_options_);
- EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n"
- << original << std::endl;
- if (!context()) {
-@@ -197,8 +196,7 @@ class PassTest : public TestT {
- // messages.
- template <typename PassT, typename... Args>
- void SinglePassRunAndFail(const std::string& original, Args&&... args) {
-- context_ =
-- std::move(BuildModule(env_, consumer_, original, assemble_options_));
-+ context_ = BuildModule(env_, consumer_, original, assemble_options_);
- EXPECT_NE(nullptr, context()) << "Assembling failed for shader:\n"
- << original << std::endl;
- std::ostringstream errs;
-@@ -235,8 +233,7 @@ class PassTest : public TestT {
- void RunAndCheck(const std::string& original, const std::string& expected) {
- assert(manager_->NumPasses());
-
-- context_ =
-- std::move(BuildModule(env_, nullptr, original, assemble_options_));
-+ context_ = BuildModule(env_, nullptr, original, assemble_options_);
- ASSERT_NE(nullptr, context());
-
- context()->set_preserve_bindings(OptimizerOptions()->preserve_bindings_);
---
-2.24.1
-
diff --git a/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch b/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
deleted file mode 100644
index 5d37da8fe0..0000000000
--- a/meta-oe/recipes-graphics/spir/files/0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From caf59c46ea5dc49e4dbf756c642b03e52c1b5468 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 20 Dec 2019 07:02:24 -0800
-Subject: [PATCH] Respect CMAKE_INSTALL_LIBDIR in installed CMake files
-
-Upstream-Status: Submitted [https://github.com/google/effcee/pull/36]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- CMakeLists.txt | 1 +
- effcee/CMakeLists.txt | 4 ++--
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
---- a/external/effcee/CMakeLists.txt
-+++ b/external/effcee/CMakeLists.txt
-@@ -27,6 +27,7 @@ endif()
-
- include(cmake/setup_build.cmake)
- include(cmake/utils.cmake)
-+include(GNUInstallDirs)
-
- add_subdirectory(third_party)
- add_subdirectory(effcee)
---- a/external/effcee/effcee/CMakeLists.txt
-+++ b/external/effcee/effcee/CMakeLists.txt
-@@ -14,8 +14,8 @@ install(
- DESTINATION
- include/effcee)
- install(TARGETS effcee
-- LIBRARY DESTINATION lib
-- ARCHIVE DESTINATION lib)
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
- if(EFFCEE_BUILD_TESTING)
- add_executable(effcee-test
diff --git a/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb b/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb
index b787972da6..bf3070701f 100644
--- a/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb
+++ b/meta-oe/recipes-graphics/spir/spirv-shader-generator_git.bb
@@ -5,18 +5,10 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SECTION = "graphics"
S = "${WORKDIR}/git"
-SRCREV = "ed16b3e69985feaf565efbecea70a1cc2fca2a58"
-SRC_URI = "git://github.com/KhronosGroup/SPIRV-Cross.git \
- file://0001-Add-install-PHONY-target-in-Makefile.patch \
-"
+SRCREV = "f09ba2777714871bddb70d049878af34b94fa54d"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Cross.git;branch=master;protocol=https"
+inherit cmake pkgconfig
-EXTRA_OEMAKE += 'TARGET_DIR_LIB="${D}${libdir}"'
-EXTRA_OEMAKE += 'TARGET_DIR_BIN="${D}${bindir}"'
+EXTRA_OECMAKE = "-DSPIRV_CROSS_SHARED=ON"
-do_compile () {
- cd ${S} && oe_runmake
-}
-
-do_install () {
- cd ${S} && oe_runmake install
-}
+FILES:${PN} += "${datadir}"
diff --git a/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb b/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
index 7db70ec96e..161650f75d 100644
--- a/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
+++ b/meta-oe/recipes-graphics/stalonetray/stalonetray_0.8.3.bb
@@ -1,7 +1,7 @@
SUMMARY = "Stand-alone system tray"
DESCRIPTION = "Stalonetray is a stand-alone freedesktop.org and KDE system tray"
SECTION = "x11/graphics"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "virtual/libx11"
diff --git a/meta-oe/recipes-graphics/suckless/st_0.8.4.bb b/meta-oe/recipes-graphics/suckless/st_0.8.4.bb
deleted file mode 100644
index 1f0f2f7f2c..0000000000
--- a/meta-oe/recipes-graphics/suckless/st_0.8.4.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SECTION = "shadow"
-LICENSE = "MIT-X"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=04c3ca13a702147c62db90f556c5b3ca"
-SRC_URI = "http://dl.suckless.org/${BPN}/${BP}.tar.gz"
-
-inherit pkgconfig features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI[sha256sum] = "d42d3ceceb4d6a65e32e90a5336e3d446db612c3fbd9ebc1780bc6c9a03346a6"
-
-DEPENDS += "libx11 libxft fontconfig ncurses-native"
-
-RDEPENDS_${PN} += "libx11-locale"
-
-do_compile() {
- make INCS='-I. `pkg-config --cflags x11 fontconfig xft`' LIBS='-lm -lutil `pkg-config --libs x11 fontconfig xft`'
-}
-do_install() {
- make install DESTDIR=${D} PREFIX=/usr TERMINFO=${D}${datadir}/terminfo
-}
-
-FILES_${PN} += " \
- ${datadir}/terminfo \
-"
-
-inherit update-alternatives
-
-ALTERNATIVE_PRIORITY = "50"
-
-ALTERNATIVE_${PN} = "st st-256color"
-
-ALTERNATIVE_LINK_NAME[st] = "${datadir}/terminfo/s/st"
-
-ALTERNATIVE_LINK_NAME[st-256color] = "${datadir}/terminfo/s/st-256color"
diff --git a/meta-oe/recipes-graphics/suckless/st_0.9.2.bb b/meta-oe/recipes-graphics/suckless/st_0.9.2.bb
new file mode 100644
index 0000000000..5e0f2e71cc
--- /dev/null
+++ b/meta-oe/recipes-graphics/suckless/st_0.9.2.bb
@@ -0,0 +1,35 @@
+SECTION = "shadow"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=703e9835709f45ee7b81082277f1daec"
+SRC_URI = "http://dl.suckless.org/${BPN}/${BP}.tar.gz"
+
+inherit pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[sha256sum] = "6b215d4f472b21d6232f30f221117a777e24bcfee68955ddefb7426467f9494b"
+
+DEPENDS += "libx11 libxft fontconfig ncurses-native"
+
+RDEPENDS:${PN} += "libx11-locale"
+
+do_compile() {
+ make INCS='-I. `pkg-config --cflags x11 fontconfig xft`' LIBS='-lm -lutil `pkg-config --libs x11 fontconfig xft`'
+}
+do_install() {
+ make install DESTDIR=${D} PREFIX=/usr TERMINFO=${D}${datadir}/terminfo
+}
+
+FILES:${PN} += " \
+ ${datadir}/terminfo \
+"
+
+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "50"
+
+ALTERNATIVE:${PN} = "st st-256color"
+
+ALTERNATIVE_LINK_NAME[st] = "${datadir}/terminfo/s/st"
+
+ALTERNATIVE_LINK_NAME[st-256color] = "${datadir}/terminfo/s/st-256color"
diff --git a/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch b/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
index fb90432eac..6011f4e3ac 100644
--- a/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
+++ b/meta-oe/recipes-graphics/surf/surf/0001-config.mk-Fix-compiler-and-linker.patch
@@ -1,41 +1,30 @@
-From e97bb73851f5bbd94260da553a222526485cdfb1 Mon Sep 17 00:00:00 2001
+From 9de4f5fa81891e14e205fe61e1408f1218369e55 Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
-Date: Fri, 15 Nov 2019 18:24:42 +0000
+Date: Tue, 18 May 2021 15:03:22 +0000
Subject: [PATCH] config.mk: Fix compiler and linker
-Do not set explicitly compiler and linker.
+Fix LIBS
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
---
- config.mk | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+Upstream-Status: Pending
+
+ config.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config.mk b/config.mk
-index df6e812..5deb991 100644
+index 2eb9fb0..032bf9f 100644
--- a/config.mk
+++ b/config.mk
-@@ -15,17 +15,17 @@ GTKINC = `pkg-config --cflags gtk+-3.0 webkit2gtk-4.0`
- GTKLIB = `pkg-config --libs gtk+-3.0 webkit2gtk-4.0`
+@@ -19,7 +19,7 @@ WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-
# includes and libs
--INCS = -I. -I/usr/include -I${X11INC} ${GTKINC}
--LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${GTKLIB} -lgthread-2.0
-+INCS = ${GTKINC}
+ INCS = $(X11INC) $(GTKINC)
+-LIBS = $(X11LIB) $(GTKLIB) -lgthread-2.0
+LIBS = -lc -lX11 ${GTKLIB} -lgthread-2.0
# flags
- CPPFLAGS = -DVERSION=\"${VERSION}\" -DWEBEXTDIR=\"${LIBPREFIX}\" -D_DEFAULT_SOURCE
- CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
--LDFLAGS = -s ${LIBS}
-+LDFLAGS = ${LIBS}
-
- # Solaris
- #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
- #LDFLAGS = ${LIBS}
-
- # compiler and linker
--CC = cc
-+CC ?= cc
+ CPPFLAGS = -DVERSION=\"$(VERSION)\" -DGCR_API_SUBJECT_TO_CHANGE \
--
-2.7.4
+2.17.1
diff --git a/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch b/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch
new file mode 100644
index 0000000000..d273d1459f
--- /dev/null
+++ b/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch
@@ -0,0 +1,42 @@
+From 0cd38e6dbcaff7eef39fd46a60ff8a47e5f488c4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Sun, 3 Oct 2021 23:08:48 +0200
+Subject: [PATCH] config.ml: make compatible with webkitgtk 2.34.0
+
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+Upstream-Status: Pending
+
+ config.mk | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/config.mk
++++ b/config.mk
+@@ -2,6 +2,7 @@
+ VERSION = 2.1
+
+ # Customize below to fit your system
++PKG_CONFIG ?= pkg-config
+
+ # paths
+ PREFIX = /usr/local
+@@ -9,13 +10,13 @@ MANPREFIX = $(PREFIX)/share/man
+ LIBPREFIX = $(PREFIX)/lib
+ LIBDIR = $(LIBPREFIX)/surf
+
+-X11INC = `pkg-config --cflags x11`
+-X11LIB = `pkg-config --libs x11`
++X11INC = $(shell $(PKG_CONFIG) --cflags x11)
++X11LIB = $(shell $(PKG_CONFIG) --libs x11)
+
+-GTKINC = `pkg-config --cflags gtk+-3.0 gcr-3 webkit2gtk-4.0`
+-GTKLIB = `pkg-config --libs gtk+-3.0 gcr-3 webkit2gtk-4.0`
+-WEBEXTINC = `pkg-config --cflags webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0`
+-WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0`
++GTKINC = $(shell $(PKG_CONFIG) --cflags gtk+-3.0 gcr-3 webkit2gtk-4.1)
++GTKLIB = $(shell $(PKG_CONFIG) --libs gtk+-3.0 gcr-3 webkit2gtk-4.1)
++WEBEXTINC = $(shell $(PKG_CONFIG) --cflags webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0)
++WEBEXTLIBS = $(shell $(PKG_CONFIG) --libs webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0)
+
+ # includes and libs
+ INCS = $(X11INC) $(GTKINC)
diff --git a/meta-oe/recipes-graphics/surf/surf_2.0.bb b/meta-oe/recipes-graphics/surf/surf_2.0.bb
deleted file mode 100644
index 989730186a..0000000000
--- a/meta-oe/recipes-graphics/surf/surf_2.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Simple web browser"
-DESCRIPTION = "Simple open source web browser based on WebKit2/GTK"
-HOMEPAGE = "https://surf.suckless.org/"
-SECTION = "x11/graphics"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b57e7f7720307a02d5a6598b00fe3afa"
-
-DEPENDS = "webkitgtk gtk+3 glib-2.0"
-
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
-
-SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \
- file://0001-config.mk-Fix-compiler-and-linker.patch \
-"
-SRCREV = "b814567e2bf8bda07cea8de1c7a062f4aa437b65"
-
-S = "${WORKDIR}/git"
-
-inherit pkgconfig features_check
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_install () {
- install -D -m 0755 ${S}/surf ${D}${bindir}/surf
-}
diff --git a/meta-oe/recipes-graphics/surf/surf_2.1.bb b/meta-oe/recipes-graphics/surf/surf_2.1.bb
new file mode 100644
index 0000000000..4d9d4d3dd0
--- /dev/null
+++ b/meta-oe/recipes-graphics/surf/surf_2.1.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Simple web browser"
+DESCRIPTION = "Simple open source web browser based on WebKit2/GTK"
+HOMEPAGE = "https://surf.suckless.org/"
+SECTION = "x11/graphics"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2a6f86d002ae9ae1eb1ccc466289f146"
+
+DEPENDS = "webkitgtk3 gtk+3 glib-2.0 gcr3"
+
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+SRCREV = "665a709b522a6fa18c671f1fc41297603292d0e8"
+SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \
+ "
+SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'soup3', 'file://0001-config.mk-Fix-compiler-and-linker.patch file://0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch', '', d)}"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig features_check
+
+PACKAGECONFIG_SOUP ?= "soup3"
+PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
+
+PACKAGECONFIG[soup2] = ",,,"
+PACKAGECONFIG[soup3] = ",,,"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_install () {
+ install -D -m 0755 ${S}/surf ${D}${bindir}/surf
+}
diff --git a/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb b/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb
deleted file mode 100644
index d99ff144be..0000000000
--- a/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts."
-DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts."
-
-HOMEPAGE = "https://launchpad.net/takao-fonts"
-SECTION = "User Interface/X"
-
-LICENSE = "IPA"
-LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276"
-SRC_URI = "https://launchpad.net/${BPN}/trunk/15.03/+download/TakaoFonts_00303.01.tar.xz"
-SRC_URI[md5sum] = "8cd3fe724faa5034a9369e98cf108d2d"
-SRC_URI[sha256sum] = "e9871f72ac69acb3e277aebbee7ca01fbebf54800733e29fafdc46133fc3552f"
-
-S = "${WORKDIR}/TakaoFonts_00303.01"
-do_install() {
- install -m 0755 -d ${D}/${datadir}/fonts
- install -m 0644 -p ${S}/*.ttf ${D}/${datadir}/fonts/
-}
-
-FILES_${PN} += "${datadir}/fonts/*.ttf"
diff --git a/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch b/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch
new file mode 100644
index 0000000000..97213c07da
--- /dev/null
+++ b/meta-oe/recipes-graphics/terminus-font/terminus-font/use-no-name-option-for-gzip.patch
@@ -0,0 +1,66 @@
+Build compressed archives with -n
+
+The compressed archives contain a header with the field MTIME
+(Modification Time) which is initialized from the built date.
+As a consequence, two separate builds generate compressed archives
+whose checksum differs. Such behavior prevents reproducible builds.
+
+Adding the -n option to gzip while compressing the archive does
+not save the original time stamp by default hence making
+reproducible build.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Jean-Marc BOUCHE <jean-marc.bouche@foss.st.com>
+Index: terminus-font-4.49.1/Makefile
+===================================================================
+--- terminus-font-4.49.1.orig/Makefile
++++ terminus-font-4.49.1/Makefile
+@@ -92,9 +92,9 @@ otbdir = $(prefix)/share/fonts/terminus
+
+ install: $(PSF) $(PCF)
+ mkdir -p $(DESTDIR)$(psfdir)
+- for i in $(PSF) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
++ for i in $(PSF) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
+ mkdir -p $(DESTDIR)$(x11dir)
+- for i in $(PCF) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
++ for i in $(PCF) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
+
+ uninstall:
+ for i in $(PSF) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done
+@@ -193,7 +193,7 @@ psf: $(PSF)
+
+ install-psf: $(PSF)
+ mkdir -p $(DESTDIR)$(psfdir)
+- for i in $(PSF) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
++ for i in $(PSF) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
+
+ uninstall-psf:
+ for i in $(PSF) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done
+@@ -202,7 +202,7 @@ psf-vgaw: $(PSF_VGAW)
+
+ install-psf-vgaw: $(PSF_VGAW)
+ mkdir -p $(DESTDIR)$(psfdir)
+- for i in $(PSF_VGAW) ; do gzip -c $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
++ for i in $(PSF_VGAW) ; do gzip -c -n $$i > $(DESTDIR)$(psfdir)/$$i.gz ; done
+
+ uninstall-psf-vgaw:
+ for i in $(PSF_VGAW) ; do rm -f $(DESTDIR)$(psfdir)/$$i.gz ; done
+@@ -279,7 +279,7 @@ pcf: $(PCF)
+
+ install-pcf: $(PCF)
+ mkdir -p $(DESTDIR)$(x11dir)
+- for i in $(PCF) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
++ for i in $(PCF) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
+
+ uninstall-pcf:
+ for i in $(PCF) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done
+@@ -288,7 +288,7 @@ pcf-8bit: $(PCF_8BIT)
+
+ install-pcf-8bit: $(PCF_8BIT)
+ mkdir -p $(DESTDIR)$(x11dir)
+- for i in $(PCF_8BIT) ; do gzip -c $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
++ for i in $(PCF_8BIT) ; do gzip -c -n $$i > $(DESTDIR)$(x11dir)/$$i.gz ; done
+
+ uninstall-pcf-8bit:
+ for i in $(PCF_8BIT) ; do rm -f $(DESTDIR)$(x11dir)/$$i.gz ; done
diff --git a/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb b/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb
index 789e7eb99d..1fabe2e29e 100644
--- a/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb
+++ b/meta-oe/recipes-graphics/terminus-font/terminus-font_4.49.1.bb
@@ -2,7 +2,6 @@ SUMMARY = "Terminus fonts packages (console and X11)"
DESCRIPTION = "Terminus Font is a clean, fixed width bitmap font, designed for \
long (8 and more hours per day) work with computers."
HOMEPAGE = "http://terminus-font.sourceforge.net/"
-AUTHOR = "Dimitar Zhekov"
SECTION = "fonts"
LICENSE = "OFL-1.1"
@@ -10,7 +9,9 @@ LIC_FILES_CHKSUM = "file://OFL.TXT;md5=f57e6cca943dbc6ef83dc14f1855bdcc"
DEPENDS = "hostperl-runtime-native gzip-native bdftopcf-native"
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://use-no-name-option-for-gzip.patch \
+ "
SRC_URI[md5sum] = "1b6acbd221957e33c8a792ebfaf3a659"
SRC_URI[sha256sum] = "d961c1b781627bf417f9b340693d64fc219e0113ad3a3af1a3424c7aa373ef79"
@@ -40,6 +41,6 @@ do_install() {
}
PACKAGES += "${PN}-consolefonts ${PN}-consoletrans ${PN}-pcf"
-FILES_${PN}-consolefonts = "${datadir}/consolefonts"
-FILES_${PN}-consoletrans = "${datadir}/consoletrans"
-FILES_${PN}-pcf = "${datadir}/fonts/terminus"
+FILES:${PN}-consolefonts = "${datadir}/consolefonts"
+FILES:${PN}-consoletrans = "${datadir}/consoletrans"
+FILES:${PN}-pcf = "${datadir}/fonts/terminus"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb b/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
index fd2973bc2b..0d45ee765c 100644
--- a/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
+++ b/meta-oe/recipes-graphics/tesseract/tesseract-lang_4.1.0.bb
@@ -4,7 +4,7 @@ LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "4767ea922bcc460e70b87b1d303ebdfed0897da8"
-SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
+SRC_URI = "git://github.com/tesseract-ocr/tessdata.git;branch=main;protocol=https"
S = "${WORKDIR}/git"
@@ -15,12 +15,12 @@ do_install() {
cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${D}${datadir}/tessdata
}
-python populate_packages_prepend () {
+python populate_packages:prepend () {
tessdata_dir= d.expand('${datadir}/tessdata')
- pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
+ pkgs = do_split_packages(d, tessdata_dir, r'^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
pn = d.getVar('PN')
- d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
+ d.appendVar('RDEPENDS:' + pn, ' '+' '.join(pkgs))
}
PACKAGES_DYNAMIC += "^${BPN}-.*"
-ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract/0001-include-sys-time.h.patch b/meta-oe/recipes-graphics/tesseract/tesseract/0001-include-sys-time.h.patch
deleted file mode 100644
index de1fa75b7c..0000000000
--- a/meta-oe/recipes-graphics/tesseract/tesseract/0001-include-sys-time.h.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From b47fa9532a7090d76521603dbc818bdec100085f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 15 Sep 2020 17:04:27 -0700
-Subject: [PATCH] include sys/time.h
-
-This provides missing definitions of timeval stuct
-
-Fixes
-| ../../../git/src/ccutil/ocrclass.h:154:7: error: member access into
-incomplete type 'struct timeval'
-| tv->tv_usec = (millisecs.count() % 1000) * 1000;
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/ccutil/ocrclass.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/ccutil/ocrclass.h b/src/ccutil/ocrclass.h
-index d39a6dd6..96395c9b 100644
---- a/src/ccutil/ocrclass.h
-+++ b/src/ccutil/ocrclass.h
-@@ -28,6 +28,8 @@
-
- #include <chrono>
- #include <ctime>
-+#include <sys/time.h>
-+
- #ifdef _WIN32
- #include <winsock2.h> // for timeval
- #endif
---
-2.28.0
-
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract_4.1.1.bb b/meta-oe/recipes-graphics/tesseract/tesseract_4.1.1.bb
deleted file mode 100644
index 3b5032f06d..0000000000
--- a/meta-oe/recipes-graphics/tesseract/tesseract_4.1.1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "A commercial quality OCR engine "
-HOMEPAGE = "https://github.com/tesseract-ocr/tesseract"
-BUGTRACKER = "https://github.com/tesseract-ocr/tesseract/issues"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-BRANCH = "4.1"
-SRCREV = "f4ef2f2050f4c25b28bdbf0063b7d2eb30f41cf7"
-SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=${BRANCH} \
- file://0001-include-sys-time.h.patch \
- "
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "leptonica"
-
-EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${datadir}/tessdata"
-
-RRECOMMENDS_${PN} += "tesseract-lang-eng"
diff --git a/meta-oe/recipes-graphics/tesseract/tesseract_5.3.4.bb b/meta-oe/recipes-graphics/tesseract/tesseract_5.3.4.bb
new file mode 100644
index 0000000000..b32bf34518
--- /dev/null
+++ b/meta-oe/recipes-graphics/tesseract/tesseract_5.3.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A commercial quality OCR engine "
+HOMEPAGE = "https://github.com/tesseract-ocr/tesseract"
+BUGTRACKER = "https://github.com/tesseract-ocr/tesseract/issues"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "8ee020e14cf5be4e3f0e9beb09b6b050a1871854"
+SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=main;protocol=https"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "leptonica"
+
+EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
+
+inherit autotools pkgconfig
+
+FILES:${PN} += "${datadir}/tessdata"
+
+RRECOMMENDS:${PN} += "tesseract-lang-eng"
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch b/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
deleted file mode 100644
index f0056d6561..0000000000
--- a/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 47f175618a0b0817714ea557c9e93f22f327421e Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 31 Jul 2018 16:39:52 +0800
-Subject: [PATCH 1/4] tigervnc: remove includedir
-
-Upstream-Status: Pending
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
-
-It fixes host contamination
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- unix/xserver/hw/vnc/Makefile.am | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am
-index 470424b..ee18bf9 100644
---- a/unix/xserver/hw/vnc/Makefile.am
-+++ b/unix/xserver/hw/vnc/Makefile.am
-@@ -23,7 +23,7 @@ libvnccommon_la_SOURCES = $(HDRS) \
-
- libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" -I$(TIGERVNC_SRCDIR)/unix/common \
- -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_H \
-- -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} -I$(includedir) \
-+ -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} \
- -I$(top_srcdir)/include
-
- bin_PROGRAMS = Xvnc
-@@ -43,7 +43,7 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGERVNC -DNO_MODULE_EXTS \
- -UHAVE_CONFIG_H \
- -DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
- -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -I$(TIGERVNC_SRCDIR)/unix/common \
-- -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} -I$(includedir)
-+ -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS}
-
- Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \
- $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XVNC_SYS_LIBS) -lX11
-@@ -64,7 +64,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_
- -I$(top_srcdir)/hw/xfree86/os-support \
- -I$(top_srcdir)/hw/xfree86/os-support/bus \
- -I$(top_srcdir)/include \
-- ${XSERVERLIBS_CFLAGS} -I$(includedir)
-+ ${XSERVERLIBS_CFLAGS}
-
- libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
-
---
-2.7.4
-
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch b/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
index 4e875ba82b..5a42e67d06 100644
--- a/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
+++ b/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
@@ -1,29 +1,30 @@
-From c3460d63f0b6cd50b9a64265f420f0439e12a1d5 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 25 Apr 2017 01:36:44 -0400
-Subject: [PATCH 2/4] do not build tests sub directory
+From 076d0e12a7be6cd2108e4ca0dcde1cb658918fa5 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 19 Apr 2021 23:02:45 -0700
+Subject: [PATCH] do not build tests sub directory
-Upstream-Status: Inappropriate [oe specific]
+Upstream-Status: Inappropriate [OE Specific]
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Hongxu Jia <Hongxu.Jia@windriver.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
CMakeLists.txt | 3 ---
1 file changed, 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 94ec2ef..fb72a00 100644
+index 7bf99441..bda80598 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -300,9 +300,6 @@ if(BUILD_VIEWER)
+@@ -304,9 +304,6 @@ if(BUILD_VIEWER)
add_subdirectory(media)
endif()
-add_subdirectory(tests)
-
-
- include(cmake/BuildPackages.cmake)
+ add_subdirectory(release)
# uninstall
--
-2.7.4
+2.30.2
diff --git a/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch b/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
index 97b0a388a2..5f14665b8d 100644
--- a/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
+++ b/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
@@ -1,44 +1,34 @@
-From 9563b69640227da2220ee0c39077afb736cc96d1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 20 Jul 2017 17:12:17 +0800
-Subject: [PATCH 4/4] tigervnc: add fPIC option to COMPILE_FLAGS
+From 7f8acd59bb2e54f9be25a98dd71534700a9e355a Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Mon, 19 Apr 2021 23:14:28 -0700
+Subject: [PATCH] tigervnc: add fPIC option to COMPILE_FLAGS
-The static libraries in Xregion/network/rdr/rfb were linked by shared
+The static libraries in network/rdr/rfb were linked by shared
library libvnc.so, so we should add fPIC option to COMPILE_FLAGS to fix
relocation issue.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
- common/Xregion/CMakeLists.txt | 1 +
common/network/CMakeLists.txt | 1 +
common/rdr/CMakeLists.txt | 1 +
common/rfb/CMakeLists.txt | 1 +
- 4 files changed, 4 insertions(+)
+ 3 files changed, 3 insertions(+)
-diff --git a/common/Xregion/CMakeLists.txt b/common/Xregion/CMakeLists.txt
-index 40ca97e..9411328 100644
---- a/common/Xregion/CMakeLists.txt
-+++ b/common/Xregion/CMakeLists.txt
-@@ -3,4 +3,5 @@ add_library(Xregion STATIC
-
- if(UNIX)
- libtool_create_control_file(Xregion)
-+ set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC)
- endif()
diff --git a/common/network/CMakeLists.txt b/common/network/CMakeLists.txt
-index b624c8e..6c06ec9 100644
+index d00ca452..e84e0290 100644
--- a/common/network/CMakeLists.txt
+++ b/common/network/CMakeLists.txt
-@@ -9,4 +9,5 @@ endif()
+@@ -16,4 +16,5 @@ endif()
if(UNIX)
libtool_create_control_file(network)
+ set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC)
endif()
diff --git a/common/rdr/CMakeLists.txt b/common/rdr/CMakeLists.txt
-index 989ba2f..20f6489 100644
+index 989ba2f4..20f6489d 100644
--- a/common/rdr/CMakeLists.txt
+++ b/common/rdr/CMakeLists.txt
@@ -27,4 +27,5 @@ target_link_libraries(rdr ${RDR_LIBRARIES})
@@ -48,15 +38,15 @@ index 989ba2f..20f6489 100644
+ set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC)
endif()
diff --git a/common/rfb/CMakeLists.txt b/common/rfb/CMakeLists.txt
-index 5047e5e..88838ab 100644
+index fc5a37bf..7f5ce131 100644
--- a/common/rfb/CMakeLists.txt
+++ b/common/rfb/CMakeLists.txt
-@@ -98,4 +98,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES})
+@@ -99,4 +99,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES})
if(UNIX)
libtool_create_control_file(rfb)
+ set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC)
endif()
--
-2.7.4
+2.30.2
diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb
deleted file mode 100644
index f97c2b2d6c..0000000000
--- a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.10.1.bb
+++ /dev/null
@@ -1,130 +0,0 @@
-DESCRIPTION = "TigerVNC remote display system"
-HOMEPAGE = "http://www.tigervnc.com/"
-LICENSE = "GPLv2+"
-SECTION = "x11/utils"
-DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk"
-RDEPENDS_${PN} = "coreutils hicolor-icon-theme perl"
-
-LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
-
-S = "${WORKDIR}/git"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "x11"
-
-inherit autotools cmake
-B = "${S}"
-
-SRCREV = "4739493b635372bd40a34640a719f79fa90e4dba"
-
-SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.10-branch \
- file://0002-do-not-build-tests-sub-directory.patch \
- file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
- file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
-"
-
-# Keep sync with xorg-server in oe-core
-XORG_PN ?= "xorg-server"
-XORG_PV ?= "1.20.6"
-SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
-XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
-SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b"
-SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1"
-
-# It is the directory containing the Xorg source for the
-# machine on which you are building TigerVNC.
-XSERVER_SOURCE_DIR="${S}/unix/xserver"
-
-do_patch[postfuncs] += "do_patch_xserver"
-do_patch_xserver () {
- for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do
- install -d ${XSERVER_SOURCE_DIR}/$subdir
- done
-
- for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do
- install -d ${XSERVER_SOURCE_DIR}/$subdir
- done
-
- sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
- hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \
- hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
- for i in ${sources}; do
- install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
- done
-
- cd ${XORG_S}
- find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
- xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
-
- cd ${XSERVER_SOURCE_DIR}
- xserverpatch="${S}/unix/xserver120.patch"
- echo "Apply $xserverpatch"
- patch -p1 -b --suffix .vnc < $xserverpatch
-}
-
-EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
- --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
- --disable-static --disable-xinerama \
- --with-xkb-output=${localstatedir}/lib/xkb \
- --disable-glx --disable-dri --disable-dri2 \
- --disable-config-hal \
- --disable-config-udev \
- --without-dtrace \
- --disable-unit-tests \
- --disable-devel-docs \
- --disable-selective-werror \
- --disable-xshmfence \
- --disable-config-udev \
- --disable-dri3 \
- --disable-libunwind \
- --without-xmlto \
- --enable-systemd-logind=no \
- --disable-xinerama \
- --disable-xwayland \
-"
-
-do_configure_append () {
- olddir=`pwd`
- cd ${XSERVER_SOURCE_DIR}
-
- rm -rf aclocal-copy/
- rm -f aclocal.m4
-
- export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy"
- mkdir -p ${ACLOCALDIR}/
- if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then
- cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/
- fi
- if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then
- cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/
- fi
- ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
- chmod +x ./configure
- ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
- cd $olddir
-}
-
-do_compile_append () {
- olddir=`pwd`
- cd ${XSERVER_SOURCE_DIR}
-
- oe_runmake
-
- cd $olddir
-}
-
-do_install_append() {
- olddir=`pwd`
- cd ${XSERVER_SOURCE_DIR}/hw/vnc
-
- oe_runmake 'DESTDIR=${D}' install
-
- cd $olddir
-}
-
-FILES_${PN} += " \
- ${libdir}/xorg/modules/extensions \
- ${datadir}/icons \
-"
-
-FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"
diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
new file mode 100644
index 0000000000..5cde7c9fb4
--- /dev/null
+++ b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.11.0.bb
@@ -0,0 +1,133 @@
+DESCRIPTION = "TigerVNC remote display system"
+HOMEPAGE = "http://www.tigervnc.com/"
+LICENSE = "GPL-2.0-or-later"
+SECTION = "x11/utils"
+DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk libpam"
+RDEPENDS:${PN} = "coreutils hicolor-icon-theme perl bash xkbcomp"
+
+LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
+
+S = "${WORKDIR}/git"
+
+inherit autotools cmake features_check pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+B = "${S}"
+
+SRCREV = "540bfc3278e396321124d4b18a798ac2bc18b6ca"
+
+SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.11-branch;protocol=https \
+ file://0002-do-not-build-tests-sub-directory.patch \
+ file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
+ file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
+"
+
+# Keep sync with xorg-server in oe-core
+XORG_PN ?= "xorg-server"
+XORG_PV ?= "1.20.6"
+SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
+XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
+SRC_URI[xorg.md5sum] = "a98170084f2c8fed480d2ff601f8a14b"
+SRC_URI[xorg.sha256sum] = "6316146304e6e8a36d5904987ae2917b5d5b195dc9fc63d67f7aca137e5a51d1"
+
+# It is the directory containing the Xorg source for the
+# machine on which you are building TigerVNC.
+XSERVER_SOURCE_DIR="${S}/unix/xserver"
+
+do_patch[postfuncs] += "do_patch_xserver"
+do_patch_xserver () {
+ for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do
+ install -d ${XSERVER_SOURCE_DIR}/$subdir
+ done
+
+ for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do
+ install -d ${XSERVER_SOURCE_DIR}/$subdir
+ done
+
+ sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
+ hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \
+ hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
+ for i in ${sources}; do
+ install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
+ done
+
+ cd ${XORG_S}
+ find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
+ xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
+
+ cd ${XSERVER_SOURCE_DIR}
+ xserverpatch="${S}/unix/xserver120.patch"
+ echo "Apply $xserverpatch"
+ patch -p1 -b --suffix .vnc < $xserverpatch
+}
+
+EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
+ --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
+ --disable-static --disable-xinerama \
+ --with-xkb-output=${localstatedir}/lib/xkb \
+ --disable-glx --disable-dri --disable-dri2 \
+ --disable-config-hal \
+ --disable-config-udev \
+ --without-dtrace \
+ --disable-unit-tests \
+ --disable-devel-docs \
+ --disable-selective-werror \
+ --disable-xshmfence \
+ --disable-config-udev \
+ --disable-dri3 \
+ --disable-libunwind \
+ --without-xmlto \
+ --enable-systemd-logind=no \
+ --disable-xinerama \
+ --disable-xwayland \
+"
+
+EXTRA_OECMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DCMAKE_INSTALL_UNITDIR=${systemd_unitdir}', '-DINSTALL_SYSTEMD_UNITS=OFF', d)}"
+
+do_configure:append () {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}
+
+ rm -rf aclocal-copy/
+ rm -f aclocal.m4
+
+ export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy"
+ mkdir -p ${ACLOCALDIR}/
+ if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then
+ cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/
+ fi
+ if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then
+ cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/
+ fi
+ ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
+ chmod +x ./configure
+ ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ cd $olddir
+}
+
+do_compile:append () {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}
+
+ oe_runmake
+
+ cd $olddir
+}
+
+do_install:append() {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}/hw/vnc
+
+ oe_runmake 'DESTDIR=${D}' install
+
+ cd $olddir
+}
+
+FILES:${PN} += " \
+ ${libdir}/xorg/modules/extensions \
+ ${datadir}/icons \
+ ${systemd_unitdir} \
+"
+
+FILES:${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"
diff --git a/meta-oe/recipes-graphics/tslib/tslib_1.22.bb b/meta-oe/recipes-graphics/tslib/tslib_1.22.bb
index 5d35088572..01da03a473 100644
--- a/meta-oe/recipes-graphics/tslib/tslib_1.22.bb
+++ b/meta-oe/recipes-graphics/tslib/tslib_1.22.bb
@@ -5,9 +5,8 @@ Tslib is generally used on embedded devices to provide a common user \
space interface to touchscreen functionality."
HOMEPAGE = "http://tslib.org/"
-AUTHOR = "Martin Kepplinger <martink@posteo.de>"
SECTION = "base"
-LICENSE = "LGPLv2+ & GPLv2+"
+LICENSE = "LGPL-2.0-or-later & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "\
file://COPYING;md5=fc178bcd425090939a8b634d1d6a9594 \
file://tests/COPYING;md5=a23a74b3f4caf9616230789d94217acb \
@@ -23,9 +22,10 @@ UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases"
inherit autotools pkgconfig
-PACKAGECONFIG ??= "debounce dejitter iir linear median pthres skip lowpass invert variance input touchkit waveshare"
+PACKAGECONFIG ??= "debounce dejitter evthres iir linear median pthres skip lowpass invert variance input touchkit waveshare"
PACKAGECONFIG[debounce] = "--enable-debounce,--disable-debounce"
PACKAGECONFIG[dejitter] = "--enable-dejitter,--disable-dejitter"
+PACKAGECONFIG[evthres] = "--enable-evthres,--disable-evthres"
PACKAGECONFIG[iir] = "--enable-iir,--disable-iir"
PACKAGECONFIG[linear] = "--enable-linear,--disable-linear"
PACKAGECONFIG[median] = "--enable-median,--disable-median"
@@ -49,33 +49,36 @@ PACKAGECONFIG[arctic2] = "--enable-arctic2,--disable-arctic2"
PACKAGECONFIG[dmc_dus3000] = "--enable-dmc_dus3000,--disable-dmc_dus3000"
PACKAGECONFIG[cy8mrln-palmpre] = "--enable-cy8mrln-palmpre,--disable-cy8mrln-palmpre"
PACKAGECONFIG[galax] = "--enable-galax,--disable-galax"
+PACKAGECONFIG[one-wire-ts-input] = "--enable-one-wire-ts-input,--disable-one-wire-ts-input"
PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
-do_install_prepend() {
+do_install:prepend() {
install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
}
-do_install_append() {
+do_install:append() {
install -d ${D}${sysconfdir}/profile.d/
install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
}
-RPROVIDES_tslib-conf = "libts-0.0-conf"
+RPROVIDES:tslib-conf = "libts-0.0-conf"
PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate tslib-uinput"
-DEBIAN_NOAUTONAME_tslib-conf = "1"
-DEBIAN_NOAUTONAME_tslib-tests = "1"
-DEBIAN_NOAUTONAME_tslib-calibrate = "1"
-DEBIAN_NOAUTONAME_tslib-uinput = "1"
+DEBIAN_NOAUTONAME:tslib-conf = "1"
+DEBIAN_NOAUTONAME:tslib-tests = "1"
+DEBIAN_NOAUTONAME:tslib-calibrate = "1"
+DEBIAN_NOAUTONAME:tslib-uinput = "1"
-RDEPENDS_${PN} = "tslib-conf"
-RRECOMMENDS_${PN} = "pointercal"
+RDEPENDS:${PN} = "tslib-conf"
+RRECOMMENDS:${PN} = "pointercal"
-FILES_${PN}-dev += "${libdir}/ts/*.la"
-FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
-FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
-FILES_tslib-calibrate += "${bindir}/ts_calibrate"
-FILES_tslib-uinput += "${bindir}/ts_uinput"
+FILES:${PN}-dev += "${libdir}/ts/*.la"
+FILES:tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
+FILES:${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
+FILES:tslib-calibrate += "${bindir}/ts_calibrate"
+FILES:tslib-uinput += "${bindir}/ts_uinput"
-FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \
+FILES:tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \
${bindir}/ts_test ${bindir}/ts_test_mt ${bindir}/ts_verify ${bindir}/ts_finddev ${bindir}/ts_conf"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb b/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb
index 5d10195f73..3402d0d46a 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-code-pro-fonts_2.030_1.050.bb
@@ -22,7 +22,7 @@ do_install() {
find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
}
-FILES_${PN} = " \
+FILES:${PN} = " \
${sysconfdir}/fonts \
${datadir}/fonts \
"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb
deleted file mode 100644
index 9fbfc8b49c..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Adobe OpenType Pan-CJK font family for Simplified Chinese"
-HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
-
-inherit allarch fontcache
-
-# Download tends to break - so - or not?
-#EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI = " \
- https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansCN.zip \
- file://44-source-han-sans-cn.conf \
-"
-SRC_URI[md5sum] = "d16abc21f6575bb08894efedbed484a2"
-SRC_URI[sha256sum] = "0a0e1d8e52833bc352d454d8242da03b82c0efc41323fb66f7435e5b39734a4f"
-
-S = "${WORKDIR}/SourceHanSansCN"
-
-do_install() {
- install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/44-source-han-sans-cn.conf ${D}${sysconfdir}/fonts/conf.d/
-
- install -d ${D}${datadir}/fonts/truetype/
- find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/fonts \
- ${datadir}/fonts \
-"
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_2.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_2.004.bb
new file mode 100644
index 0000000000..b4a598527e
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_2.004.bb
@@ -0,0 +1,34 @@
+require ttf.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Simplified Chinese"
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=fac3a519e5e9eb96316656e0ca4f2b90"
+
+inherit allarch fontcache
+
+# Download tends to break - so - or not?
+#EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = " \
+ svn://github.com/adobe-fonts/source-han-sans;module=branches/release/SubsetOTF/CN;protocol=http;rev=82 \
+ file://44-source-han-sans-cn.conf \
+"
+SRC_URI[md5sum] = "d16abc21f6575bb08894efedbed484a2"
+SRC_URI[sha256sum] = "0a0e1d8e52833bc352d454d8242da03b82c0efc41323fb66f7435e5b39734a4f"
+
+S = "${WORKDIR}/SourceHanSansCN"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/44-source-han-sans-cn.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES:${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb
deleted file mode 100644
index 4a26a2f575..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Adobe OpenType Pan-CJK font family for Japanese"
-HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
-
-inherit allarch fontcache
-
-# Download tends to break - so - or not?
-#EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI = " \
- https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansJP.zip \
- file://44-source-han-sans-jp.conf \
-"
-SRC_URI[md5sum] = "908fbf97f3df04a6838708c093f1e900"
-SRC_URI[sha256sum] = "dc6dbae3fba35f220bac88ba7130b826c7efe1282f472788fae3628b79be3f54"
-
-S = "${WORKDIR}/SourceHanSansJP"
-
-do_install() {
- install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/44-source-han-sans-jp.conf ${D}${sysconfdir}/fonts/conf.d/
-
- install -d ${D}${datadir}/fonts/truetype/
- find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/fonts \
- ${datadir}/fonts \
-"
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_2.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_2.004.bb
new file mode 100644
index 0000000000..6a4509048f
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_2.004.bb
@@ -0,0 +1,34 @@
+require ttf.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Japanese"
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=fac3a519e5e9eb96316656e0ca4f2b90"
+
+inherit allarch fontcache
+
+# Download tends to break - so - or not?
+#EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = " \
+ svn://github.com/adobe-fonts/source-han-sans;module=branches/release/SubsetOTF/JP;protocol=http;rev=82 \
+ file://44-source-han-sans-jp.conf \
+"
+SRC_URI[md5sum] = "908fbf97f3df04a6838708c093f1e900"
+SRC_URI[sha256sum] = "dc6dbae3fba35f220bac88ba7130b826c7efe1282f472788fae3628b79be3f54"
+
+S = "${WORKDIR}/SourceHanSansJP"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/44-source-han-sans-jp.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES:${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb
deleted file mode 100644
index c91d1671fe..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Adobe OpenType Pan-CJK font family for Korean"
-HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
-
-inherit allarch fontcache
-
-# Download tends to break - so - or not?
-#EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI = " \
- https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansKR.zip \
- file://44-source-han-sans-kr.conf \
-"
-SRC_URI[md5sum] = "f8d1bd6c87d8575afdb25e2f46bd81d4"
-SRC_URI[sha256sum] = "38fd15c80f9980492faaa1af39ff873d8a38e45027023fb17d5b10d4b4b0e6af"
-
-S = "${WORKDIR}/SourceHanSansKR"
-
-do_install() {
- install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/44-source-han-sans-kr.conf ${D}${sysconfdir}/fonts/conf.d/
-
- install -d ${D}${datadir}/fonts/truetype/
- find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/fonts \
- ${datadir}/fonts \
-"
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_2.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_2.004.bb
new file mode 100644
index 0000000000..5ab5057d86
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_2.004.bb
@@ -0,0 +1,34 @@
+require ttf.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Korean"
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=fac3a519e5e9eb96316656e0ca4f2b90"
+
+inherit allarch fontcache
+
+# Download tends to break - so - or not?
+#EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = " \
+ svn://github.com/adobe-fonts/source-han-sans;module=branches/release/SubsetOTF/TW;protocol=http;rev=82 \
+ file://44-source-han-sans-kr.conf \
+"
+SRC_URI[md5sum] = "f8d1bd6c87d8575afdb25e2f46bd81d4"
+SRC_URI[sha256sum] = "38fd15c80f9980492faaa1af39ff873d8a38e45027023fb17d5b10d4b4b0e6af"
+
+S = "${WORKDIR}/SourceHanSansKR"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/44-source-han-sans-kr.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES:${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb
deleted file mode 100644
index 728250538d..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Adobe OpenType Pan-CJK font family for Traditional Chinese"
-HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
-
-inherit allarch fontcache
-
-# Download tends to break - so - or not?
-#EXCLUDE_FROM_WORLD = "1"
-
-SRC_URI = " \
- https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansTW.zip \
- file://44-source-han-sans-tw.conf \
-"
-SRC_URI[md5sum] = "6533b71b31c19e548768f0fc963202f3"
-SRC_URI[sha256sum] = "92ba161921c5cdec5a8f8d5711676f0865b50cee071c25eb4bd4125b5af59fd0"
-
-S = "${WORKDIR}/SourceHanSansTW"
-
-do_install() {
- install -d ${D}${sysconfdir}/fonts/conf.d/
- install -m 0644 ${WORKDIR}/44-source-han-sans-tw.conf ${D}${sysconfdir}/fonts/conf.d/
-
- install -d ${D}${datadir}/fonts/truetype/
- find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
-}
-
-FILES_${PN} = " \
- ${sysconfdir}/fonts \
- ${datadir}/fonts \
-"
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_2.004.bb b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_2.004.bb
new file mode 100644
index 0000000000..a2b3fff079
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_2.004.bb
@@ -0,0 +1,34 @@
+require ttf.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Traditional Chinese"
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=fac3a519e5e9eb96316656e0ca4f2b90"
+
+inherit allarch fontcache
+
+# Download tends to break - so - or not?
+#EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = " \
+ svn://github.com/adobe-fonts/source-han-sans;module=branches/release/SubsetOTF/TW;protocol=http;rev=82 \
+ file://44-source-han-sans-tw.conf \
+"
+SRC_URI[md5sum] = "6533b71b31c19e548768f0fc963202f3"
+SRC_URI[sha256sum] = "92ba161921c5cdec5a8f8d5711676f0865b50cee071c25eb4bd4125b5af59fd0"
+
+S = "${WORKDIR}/SourceHanSansTW"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/44-source-han-sans-tw.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES:${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.000.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.000.bb
deleted file mode 100644
index d3dd417dc1..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.000.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Ethiopia and Eritrea (Amharic) font - TTF Edition"
-HOMEPAGE = "http://software.sil.org/abyssinica/"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://OFL.txt;md5=80cc8cdcdc3f8ce96957bbac946b70ae"
-
-SRCNAME = "AbyssinicaSIL"
-SRC_URI = "http://software.sil.org/downloads/r/abyssinica/${SRCNAME}-${PV}.zip"
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-SRC_URI[sha256sum] = "274204a53b30f64cca662d78c7199e3c0325ea95ad4109886b47af734c92d0f9"
-
-FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.100.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.100.bb
new file mode 100644
index 0000000000..bce37a2e05
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_2.100.bb
@@ -0,0 +1,15 @@
+require ttf.inc
+
+SUMMARY = "Ethiopia and Eritrea (Amharic) font - TTF Edition"
+HOMEPAGE = "http://software.sil.org/abyssinica/"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://OFL.txt;md5=fd664aaab50445c3c1c97544554a6bda"
+
+SRCNAME = "AbyssinicaSIL"
+SRC_URI = "http://software.sil.org/downloads/r/abyssinica/${SRCNAME}-${PV}.zip"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+SRC_URI[sha256sum] = "1a1fc8e82f0c0f2e824f42bff05c1f4a0356330a89dc7ba798c1a20bc3e333e0"
+
+FONT_PACKAGES = "${PN}"
+FILES:${PN} = "${datadir}"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
index 9de02b0f3c..ea734182de 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
@@ -2,18 +2,16 @@ SUMMARY = "Unicode Mingti (printed) TrueType Font"
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/CJKUnifonts"
LICENSE = "Arphic-Public-License"
LIC_FILES_CHKSUM = "file://license/english/ARPHICPL.TXT;md5=4555ed88e9a72fc9562af379d07c3350"
-SRC_DISTRIBUTE_LICENSES += "${PN}"
-RPROVIDES_${PN} = "virtual-chinese-font"
-PR = "r6"
+
+RPROVIDES:${PN} = "virtual-chinese-font"
FONT_PACKAGES = "${PN}"
-SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.${PV}.1.orig.tar.gz"
-S = "${WORKDIR}"
+SRC_URI = "https://deb.debian.org/debian/pool/main/f/fonts-arphic-uming/fonts-arphic-uming_0.2.${PV}.2.orig.tar.bz2"
+S = "${WORKDIR}/ttf-arphic-uming-0.2.20080216.2"
require ttf.inc
-FILES_${PN} = "${datadir}"
+FILES:${PN} = "${datadir}"
-SRC_URI[md5sum] = "d219fcaf953f3eb1889399955a00379f"
-SRC_URI[sha256sum] = "8038a6db9e832456d5da5559aff8d15130243be1091bf24f3243503a6f1bda98"
+SRC_URI[sha256sum] = "e3c19e04ea7a565b4acff6f1e4248084d2e10752e305bf7dd6c76e80860dc1db"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
index 03f30bf4ac..43a387b818 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
@@ -6,21 +6,22 @@ LICENSE = "BitstreamVera"
LIC_FILES_CHKSUM = "file://../LICENSE;md5=449b2c30bfe5fa897fe87b8b70b16cfa"
# all subpackages except ${PN}-common itself rdepends on ${PN}-common
-RDEPENDS_${PN}-sans = "${PN}-common"
-RDEPENDS_${PN}-sans-mono = "${PN}-common"
-RDEPENDS_${PN}-sans-condensed = "${PN}-common"
-RDEPENDS_${PN}-serif = "${PN}-common"
-RDEPENDS_${PN}-serif-condensed = "${PN}-common"
-RDEPENDS_${PN}-mathtexgyre = "${PN}-common"
-RDEPENDS_${PN}-common = ""
-PR = "r7"
+RDEPENDS:${PN}-sans = "${PN}-common"
+RDEPENDS:${PN}-sans-mono = "${PN}-common"
+RDEPENDS:${PN}-sans-condensed = "${PN}-common"
+RDEPENDS:${PN}-serif = "${PN}-common"
+RDEPENDS:${PN}-serif-condensed = "${PN}-common"
+RDEPENDS:${PN}-mathtexgyre = "${PN}-common"
+RDEPENDS:${PN}-common = ""
SRC_URI = "${SOURCEFORGE_MIRROR}/dejavu/dejavu-fonts-ttf-${PV}.tar.bz2 \
file://30-dejavu-aliases.conf"
S = "${WORKDIR}/dejavu-fonts-ttf-${PV}/ttf"
-do_install_append () {
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/dejavu/files/dejavu/"
+
+do_install:append () {
install -d ${D}${sysconfdir}/fonts/conf.d/
install -m 0644 ${WORKDIR}/30-dejavu-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
}
@@ -35,13 +36,13 @@ PACKAGES = "\
${PN}-common"
FONT_PACKAGES = "${PN}-sans ${PN}-sans-mono ${PN}-sans-condensed ${PN}-serif ${PN}-serif-condensed ${PN}-mathtexgyre"
-FILES_${PN}-sans = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf"
-FILES_${PN}-sans-mono = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf"
-FILES_${PN}-sans-condensed = "${datadir}/fonts/truetype/DejaVuSansCondensed*.ttf"
-FILES_${PN}-serif = "${datadir}/fonts/truetype/DejaVuSerif.ttf ${datadir}/fonts/truetype/DejaVuSerif-*.ttf"
-FILES_${PN}-serif-condensed = "${datadir}/fonts/truetype/DejaVuSerifCondensed*.ttf"
-FILES_${PN}-mathtexgyre = "${datadir}/fonts/truetype/DejaVuMathTeXGyre.ttf"
-FILES_${PN}-common = "${sysconfdir}"
+FILES:${PN}-sans = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf"
+FILES:${PN}-sans-mono = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf"
+FILES:${PN}-sans-condensed = "${datadir}/fonts/truetype/DejaVuSansCondensed*.ttf"
+FILES:${PN}-serif = "${datadir}/fonts/truetype/DejaVuSerif.ttf ${datadir}/fonts/truetype/DejaVuSerif-*.ttf"
+FILES:${PN}-serif-condensed = "${datadir}/fonts/truetype/DejaVuSerifCondensed*.ttf"
+FILES:${PN}-mathtexgyre = "${datadir}/fonts/truetype/DejaVuMathTeXGyre.ttf"
+FILES:${PN}-common = "${sysconfdir}"
SRC_URI[md5sum] = "d0efec10b9f110a32e9b8f796e21782c"
SRC_URI[sha256sum] = "fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7"
@@ -49,5 +50,5 @@ SRC_URI[sha256sum] = "fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e84
BBCLASSEXTEND = "native nativesdk"
# Allow installation of fonts into recipe-sysroot-native
-SYSROOT_DIRS_BLACKLIST_remove = "${datadir}/fonts"
+SYSROOT_DIRS_IGNORE:remove = "${datadir}/fonts"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
index 8dba7ee6fa..cc9213ec5b 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
@@ -5,14 +5,13 @@ HOMEPAGE = "http://www.droidfonts.com/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://README.txt;md5=83544262a86f1f1ec761e75897df92bc"
SRCREV = "21e6e2de1f0062f949fcc52d0b4559dfa3246e0e"
-PV = "0.1+gitr${SRCPV}"
-PR = "r3"
+PV = "0.1+git"
-SRC_URI = "git://github.com/android/platform_frameworks_base.git;branch=master"
+SRC_URI = "git://github.com/android/platform_frameworks_base.git;branch=master;protocol=https"
S = "${WORKDIR}/git/data/fonts"
-do_install_append() {
+do_install:append() {
for f in Ahem.ttf MTLc3m.ttf DroidSansArabic.ttf DroidSansThai.ttf \
Clockopia.ttf MTLmr3m.ttf DroidSansHebrew.ttf \
DroidSansFallbackLegacy.ttf; do
@@ -24,8 +23,8 @@ PACKAGES = "ttf-droid-sans ttf-droid-sans-mono \
ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif"
FONT_PACKAGES = "ttf-droid-sans ttf-droid-sans-mono ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif"
-FILES_ttf-droid-sans = "${datadir}/fonts/truetype/DroidSans.ttf ${datadir}/fonts/truetype/DroidSans-Bold.ttf"
-FILES_ttf-droid-sans-mono = "${datadir}/fonts/truetype/DroidSansMono.ttf"
-FILES_ttf-droid-sans-fallback = "${datadir}/fonts/truetype/DroidSansFallback.ttf"
-FILES_ttf-droid-sans-japanese = "${datadir}/fonts/truetype/DroidSansJapanese.ttf"
-FILES_ttf-droid-serif = "${datadir}/fonts/truetype/DroidSerif*.ttf"
+FILES:ttf-droid-sans = "${datadir}/fonts/truetype/DroidSans.ttf ${datadir}/fonts/truetype/DroidSans-Bold.ttf"
+FILES:ttf-droid-sans-mono = "${datadir}/fonts/truetype/DroidSansMono.ttf"
+FILES:ttf-droid-sans-fallback = "${datadir}/fonts/truetype/DroidSansFallback.ttf"
+FILES:ttf-droid-sans-japanese = "${datadir}/fonts/truetype/DroidSansJapanese.ttf"
+FILES:ttf-droid-serif = "${datadir}/fonts/truetype/DroidSerif*.ttf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
index e030bd1907..2439766ad5 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
@@ -6,13 +6,12 @@ LICENSE = "OFL-1.0"
LICENSE_URL = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=OFL"
LIC_FILES_CHKSUM = "file://OFL;md5=33a5bf7b98a9c0ae87430760ba762295 \
"
-PR = "r8"
-SRC_URI = "${DEBIAN_MIRROR}/main/t/ttf-gentium/ttf-gentium_${PV}.orig.tar.gz "
+SRC_URI = "https://archive.debian.org/debian/pool/main/t/ttf-gentium/ttf-gentium_${PV}.orig.tar.gz "
S = "${WORKDIR}/ttf-sil-gentium-${PV}"
-do_install_append() {
+do_install:append() {
install -d ${D}${datadir}/doc/ttf-gentium/
install -d ${D}${datadir}/doc/ttf-gentium-alt/
@@ -25,11 +24,11 @@ do_install_append() {
PACKAGES = "${PN} ${PN}-alt"
FONT_PACKAGES = "${PN} ${PN}-alt"
-FILES_${PN}-alt = "${datadir}/fonts/truetype/GenAI*.ttf \
+FILES:${PN}-alt = "${datadir}/fonts/truetype/GenAI*.ttf \
${datadir}/fonts/truetype/GenAR*.ttf \
${datadir}/doc/ttf-gentium-alt/*"
-FILES_${PN} = "${datadir}/fonts/truetype/GenI*.ttf \
+FILES:${PN} = "${datadir}/fonts/truetype/GenI*.ttf \
${datadir}/fonts/truetype/GenR*.ttf \
${datadir}/doc/ttf-gentium/*"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb
new file mode 100644
index 0000000000..d618607496
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb
@@ -0,0 +1,61 @@
+SUMMARY = "Google Fira Fonts- TTF Edition"
+HOMEPAGE = "https://fonts.google.com/?query=fira"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = " \
+ file://${S}/firamono/OFL.txt;md5=0373cf792d4b95c61399b94c02702892 \
+ file://${S}/firacode/OFL.txt;md5=c75ca55aa0a5809a854d87db2a8ebf23 \
+ file://${S}/firasans/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+ file://${S}/firasanscondensed/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+ file://${S}/firasansextracondensed/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+"
+
+SRCREV_FORMAT = "firamono_firacode_firasans_firasanscondensed_firasansextracondensed"
+
+SRCREV_firamono = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firacode = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasans = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasanscondensed = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasansextracondensed = "701bd391b1a4b3238de193a8523009ecef1be42c"
+
+SRC_URI = "git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firamono;name=firamono \
+ git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firacode;name=firacode \
+ git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasans;name=firasans \
+ git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasanscondensed;name=firasanscondensed \
+ git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasansextracondensed;name=firasansextracondensed"
+
+S = "${WORKDIR}"
+
+do_install:append() {
+ install -d ${D}${datadir}/fonts/truetype/
+ find ${S} -path 'fira*/*.tt[cf]' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/{} \;
+ install -D -m 0644 ${S}/firamono/OFL.txt ${D}${datadir}/licenses/${PN}mono/OFL.txt
+ install -D -m 0644 ${S}/firacode/OFL.txt ${D}${datadir}/licenses/${PN}code/OFL.txt
+ install -D -m 0644 ${S}/firasans/OFL.txt ${D}${datadir}/licenses/${PN}sans/OFL.txt
+ install -D -m 0644 ${S}/firasanscondensed/OFL.txt ${D}${datadir}/licenses/${PN}sanscondensed/OFL.txt
+ install -D -m 0644 ${S}/firasansextracondensed/OFL.txt ${D}${datadir}/licenses/${PN}sansextracondensed/OFL.txt
+}
+
+PACKAGES =+ "${PN}-mono ${PN}-code ${PN}-sans ${PN}-sanscondensed ${PN}-sansextracondensed"
+
+FILES:${PN}-mono += " \
+ ${datadir}/fonts/truetype/FiraMono* \
+ ${datadir}/licenses/${PN}mono/OFL.txt \
+ "
+FILES:${PN}-code += " \
+ ${datadir}/fonts/truetype/FiraCode* \
+ ${datadir}/licenses/${PN}code/OFL.txt \
+ "
+FILES:${PN}-sans += " \
+ ${datadir}/fonts/truetype/FiraSans-* \
+ ${datadir}/licenses/${PN}sans/OFL.txt \
+ "
+FILES:${PN}-sanscondensed += " \
+ ${datadir}/fonts/truetype/FiraSansCondensed-* \
+ ${datadir}/licenses/${PN}sanscondensed/OFL.txt \
+ "
+FILES:${PN}-sansextracondensed += " \
+ ${datadir}/fonts/truetype/FiraSansExtraCondensed-* \
+ ${datadir}/licenses/${PN}sansextracondensed/OFL.txt \
+ "
+
+require ttf.inc
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb
index 9c89f97f3f..8a75fe38bd 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.1.bb
@@ -2,9 +2,8 @@ require ttf.inc
SUMMARY = "Hunky fonts - TTF Version"
HOMEPAGE = "http://sourceforge.net/projects/hunkyfonts"
-LICENSE = "LGPL-2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://../COPYRIGHT.TXT;md5=70d34478e38b1ad9995079f9921f9ef7"
-PR = "r7"
SRC_URI = "${SOURCEFORGE_MIRROR}/hunkyfonts/hunkyfonts-${PV}.tar.bz2"
@@ -13,8 +12,8 @@ S = "${WORKDIR}/hunkyfonts-${PV}/TTF"
PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
FONT_PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
-FILES_ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf"
-FILES_ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf"
+FILES:ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf"
+FILES:ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf"
SRC_URI[md5sum] = "b933312967842e5737b5415fa22d682a"
SRC_URI[sha256sum] = "3fc528737ccd12ec3c09c4a91447d241d3c5bceeeb4d24b7f2c29b15c9735328"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
index bf32fedc3b..2ae1d619c0 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
@@ -10,14 +10,14 @@ SRC_URI = "http://levien.com/type/myfonts/Inconsolata.otf \
S = "${WORKDIR}/ttf-inconsolata-${PV}"
-FILES_${PN} = "${datadir}/fonts/truetype/Inconsolata.ttf \
+FILES:${PN} = "${datadir}/fonts/truetype/Inconsolata.ttf \
${datadir}/doc/ttf-inconsolata/*"
do_configure() {
cp -fr ${WORKDIR}/Inconsolata.otf ${S}/Inconsolata.ttf
}
-do_install_append() {
+do_install:append() {
install -d ${D}${datadir}/doc/ttf-inconsolata/
install -m 0644 ${WORKDIR}/OFL.txt ${D}${datadir}/doc/ttf-inconsolata/
}
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb
new file mode 100644
index 0000000000..89c48d5fe2
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-ipa_003.03.01.bb
@@ -0,0 +1,21 @@
+require ttf.inc
+
+SUMMARY = "Ipa fonts - TTF Version"
+HOMEPAGE = "https://moji.or.jp/ipafont"
+LICENSE = "IPA"
+LICENSE_URL = "https://moji.or.jp/ipafont/license/"
+LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276 \
+"
+SRC_URI = "https://moji.or.jp/wp-content/ipafont/IPAfont/IPAfont00303.zip "
+
+SRC_URI[sha256sum] = "f755ed79a4b8e715bed2f05a189172138aedf93db0f465b4e20c344a02766fe5"
+
+S = "${WORKDIR}/IPAfont00303"
+
+PACKAGES = "ttf-ipag ttf-ipagp ttf-ipam ttf-ipamp"
+FONT_PACKAGES = "ttf-ipag ttf-ipagp ttf-ipam ttf-ipamp"
+
+FILES:ttf-ipag = "${datadir}/fonts/truetype/ipag.ttf"
+FILES:ttf-ipagp = "${datadir}/fonts/truetype/ipagp.ttf"
+FILES:ttf-ipam = "${datadir}/fonts/truetype/ipam.ttf"
+FILES:ttf-ipamp = "${datadir}/fonts/truetype/ipamp.ttf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
index 57efea86ae..f386d6ec58 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
@@ -6,7 +6,7 @@ created by Ascender(c) which aims at metric compatibility with \
Arial, Times New Roman, Courier New."
HOMEPAGE = "https://fedorahosted.org/liberation-fonts/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \
@@ -18,7 +18,7 @@ SRC_URI[sha256sum] = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4
S = "${WORKDIR}/liberation-fonts-ttf-${PV}"
-do_install_append () {
+do_install:append () {
install -d ${D}${datadir}/fonts/TTF/
install -d ${D}${sysconfdir}/fonts/conf.d/
install -m 0644 LiberationSansNarrow*.ttf ${D}${datadir}/fonts/TTF/
@@ -31,4 +31,4 @@ do_install_append () {
PACKAGES = "${PN}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}/fonts ${sysconfdir} ${datadir}/licenses"
+FILES:${PN} = "${datadir}/fonts ${sysconfdir} ${datadir}/licenses"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
index 7204c926ae..6d7ba11e73 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
@@ -2,12 +2,11 @@ require ttf.inc
SUMMARY = "Liberation fonts - TTF Version"
HOMEPAGE = "https://www.redhat.com/promo/fonts/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://License.txt;md5=5b171c5100029d884fcea21d9a2b7543 \
"
-PR = "r7"
SRC_URI = "http://fedorahosted.org/liberation-fonts/export/807b6dfd069b998cd9b4d3158da98817ef23c79d/F-9/liberation-fonts-ttf-3.tar.gz"
S = "${WORKDIR}/liberation-fonts-${PV}"
@@ -15,9 +14,9 @@ S = "${WORKDIR}/liberation-fonts-${PV}"
PACKAGES = "ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif"
FONT_PACKAGES = "ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif"
-FILES_ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*"
-FILES_ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*"
-FILES_ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*"
+FILES:ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*"
+FILES:ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*"
+FILES:ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*"
SRC_URI[md5sum] = "77728078a17e39f7c242b42c3bf6feb8"
SRC_URI[sha256sum] = "174cf27c57612971434ec8cc4a52bfd37bad8408e9b9219539c6d5113df6ff8f"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
index 2ef6c57e18..3951647337 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
@@ -2,18 +2,17 @@ require ttf.inc
SUMMARY = "Fonts for Sinhala language - TTF Edition"
HOMEPAGE = "http://rpms.famillecollet.com/rpmphp/zoom.php?rpm=lklug-fonts"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "http://dl.fedoraproject.org/pub/fedora/linux/releases/24/Everything/source/tree/Packages/l/lklug-fonts-0.6-14.20090803cvs.fc24.src.rpm;extract=lklug-20090803.tar.gz"
-SRC_URI[md5sum] = "3341dfb997043d234ab3f6e5a965e759"
-SRC_URI[sha256sum] = "f54c1f3b4df08995982657fed290b562556191fee2a0386afd9e8bf228f72b1a"
+SRC_URI = "https://src.fedoraproject.org/repo/pkgs/lklug-fonts/lklug-20090803.tar.gz/b6e0daaf8cf41208fd2a7bc04fb23f84/lklug-20090803.tar.gz"
+SRC_URI[sha256sum] = "de5750f7048973f851961050f76b8b58e9bda400d5007c3078d9317fbe2ff5fd"
DEPENDS = "fontforge-native"
S = "${WORKDIR}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}"
+FILES:${PN} = "${datadir}"
do_compile() {
fontforge ${S}/convert.ff lklug
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb
new file mode 100644
index 0000000000..8340cccbb4
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.92.1.bb
@@ -0,0 +1,23 @@
+require ttf.inc
+
+SUMMARY = "The project goal is to improve existing offerings of the fonts \
+- making sure the Lohit fonts deliver the best available quality and functions \
+to the community."
+HOMEPAGE = "https://fedorahosted.org/lohit"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402"
+
+SRCREV = "a403c9b7f509dad5e58dde85ef63b1c36fde3a21"
+SRC_URI = "git://github.com/pravins/lohit.git;branch=master;protocol=https"
+
+DEPENDS = "fontforge-native"
+S = "${WORKDIR}/git"
+FONT_PACKAGES = "${PN}"
+FILES:${PN} = "${datadir}"
+
+inherit python3native
+
+do_compile() {
+ cd ${S}; make ttf;
+}
+
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
deleted file mode 100644
index 0af0e91d68..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-require ttf.inc
-
-SUMMARY = "The project goal is to improve existing offerings of the fonts \
-- making sure the Lohit fonts deliver the best available quality and functions \
-to the community."
-HOMEPAGE = "https://fedorahosted.org/lohit"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402"
-
-SRCREV = "d678f1b1807ea5602586279e90b5db6d62ed475e"
-SRC_URI = "git://github.com/pravins/lohit.git;branch=master"
-
-DEPENDS = "fontforge-native"
-S = "${WORKDIR}/git"
-FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}"
-
-inherit python3native
-
-do_compile() {
- cd ${S}; make ttf;
-}
-
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
index efcf1b6165..a3babe90a5 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
@@ -6,16 +6,14 @@ LICENSE = "${BPN}"
LIC_FILES_CHKSUM = "file://LICENSE_E;md5=ac161e96eda00db9a3aec7870b5d9658 \
file://LICENSE_J;md5=a120ca8d7c8e4a475d5277c9aeb95221 \
"
-PR = "r4"
-
-SRC_URI = "http://osdn.dl.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz"
+SRC_URI = "http://downloads.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz"
S = "${WORKDIR}/mplus-TESTFLIGHT-${PV}"
-PACKAGESPLITFUNCS_prepend = "split_ttf_mplus_packages "
+PACKAGESPLITFUNCS:prepend = "split_ttf_mplus_packages "
python split_ttf_mplus_packages() {
plugindir = d.expand('${datadir}/fonts/ttf-mplus/')
- packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s')
+ packages = do_split_packages(d, plugindir, r'^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s')
d.setVar('FONT_PACKAGES', ' '.join(packages))
}
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20190815.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20190815.bb
deleted file mode 100644
index e74f7a7f67..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20190815.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Google noto emoji font pack"
-HOMEPAGE = "https://github.com/googlefonts/noto-emoji"
-LICENSE = "OFL-1.1"
-LIC_FILES_CHKSUM = "file://fonts/LICENSE;md5=55719faa0112708e946b820b24b14097"
-
-SRC_URI = "git://github.com/googlefonts/noto-emoji;protocol=https"
-SRCREV = "833a43d03246a9325e748a2d783006454d76ff66"
-
-PACKAGES = "${PN}-color ${PN}-regular"
-FONT_PACKAGES = "${PN}-color ${PN}-regular"
-
-S = "${WORKDIR}/git"
-
-FILES_${PN}-color = "${datadir}/fonts/truetype/NotoColorEmoji.ttf"
-FILES_${PN}-regular = "${datadir}/fonts/truetype/NotoEmoji-Regular.ttf"
-
-do_compile[noexec] = "1"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20200916.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20200916.bb
new file mode 100644
index 0000000000..9d6a9a6c2e
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-noto-emoji_20200916.bb
@@ -0,0 +1,19 @@
+require ttf.inc
+
+SUMMARY = "Google noto emoji font pack"
+HOMEPAGE = "https://github.com/googlefonts/noto-emoji"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://fonts/LICENSE;md5=55719faa0112708e946b820b24b14097"
+
+SRC_URI = "git://github.com/googlefonts/noto-emoji;branch=main;protocol=https"
+SRCREV = "aac7ccaa4d1dea4543453b96f7d6fc47066a57ff"
+
+PACKAGES = "${PN}-color ${PN}-regular"
+FONT_PACKAGES = "${PN}-color ${PN}-regular"
+
+S = "${WORKDIR}/git"
+
+FILES:${PN}-color = "${datadir}/fonts/truetype/NotoColorEmoji.ttf"
+FILES:${PN}-regular = "${datadir}/fonts/truetype/NotoEmoji-Regular.ttf"
+
+do_compile[noexec] = "1"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb
index ac60a365f0..e9aa5721f7 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb
@@ -24,9 +24,9 @@ do_install () {
done
}
-FILES_${PN} += "${datadir}"
+FILES:${PN} += "${datadir}"
-pkg_postinst_${PN} () {
+pkg_postinst:${PN} () {
set -x
for fontdir in `find $D/usr/lib/X11/fonts -type d`; do
mkfontdir $fontdir
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
index 521caff74f..1870c78f99 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-roboto_2.138.bb
@@ -11,4 +11,4 @@ SRC_URI[sha256sum] = "c825453253f590cfe62557733e7173f9a421fff103b00f57d33c4ad28a
S = "${WORKDIR}"
-FILES_${PN} = "${datadir}/fonts/truetype/*.ttf"
+FILES:${PN} = "${datadir}/fonts/truetype/*.ttf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
index efdcec8404..a4ad91fc77 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
@@ -1,15 +1,13 @@
require ttf.inc
SUMMARY = "Sazanami Gothic/Mincho Japanese TrueType fonts"
-SUMMARY_ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font"
-SUMMARY_ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font"
-AUTHOR = "Electronic Font Open Laboratory (/efont/)"
+SUMMARY:ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font"
+SUMMARY:ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font"
HOMEPAGE = "http://sourceforge.jp/projects/efont/"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0"
-SRC_DISTRIBUTE_LICENSES += "${PN}"
-RPROVIDES_${PN} = "virtual-japanese-font"
-PR = "r9"
+
+RPROVIDES:${PN} = "virtual-japanese-font"
SRC_URI = "http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2"
S = "${WORKDIR}/sazanami-20040629"
@@ -17,12 +15,12 @@ S = "${WORKDIR}/sazanami-20040629"
PACKAGES = "ttf-sazanami-gothic ttf-sazanami-mincho"
FONT_PACKAGES = "ttf-sazanami-gothic ttf-sazanami-mincho"
-FILES_ttf-sazanami-gothic = "${datadir}/fonts/truetype/sazanami-gothic.ttf \
+FILES:ttf-sazanami-gothic = "${datadir}/fonts/truetype/sazanami-gothic.ttf \
${datadir}/doc/ttf-sazanami-gothic/README"
-FILES_ttf-sazanami-mincho = "${datadir}/fonts/truetype/sazanami-mincho.ttf \
+FILES:ttf-sazanami-mincho = "${datadir}/fonts/truetype/sazanami-mincho.ttf \
${datadir}/doc/ttf-sazanami-mincho/README"
-do_install_append() {
+do_install:append() {
# README contains the redistribution license
install -d ${D}${datadir}/doc/
install -d ${D}${datadir}/doc/ttf-sazanami-gothic
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb
new file mode 100644
index 0000000000..be0e544ccc
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-takao_003.03.01.bb
@@ -0,0 +1,25 @@
+require ttf.inc
+
+SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts."
+DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts."
+
+HOMEPAGE = "https://launchpad.net/takao-fonts"
+SECTION = "User Interface/X"
+
+LICENSE = "IPA"
+LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276"
+
+SRC_URI = "https://launchpad.net/${BPN}/trunk/15.03/+download/TakaoFonts_00303.01.tar.xz"
+SRC_URI[sha256sum] = "e9871f72ac69acb3e277aebbee7ca01fbebf54800733e29fafdc46133fc3552f"
+
+S = "${WORKDIR}/TakaoFonts_00303.01"
+
+PACKAGES = "ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho"
+FONT_PACKAGES = "ttf-takao-pgothic ttf-takao-gothic ttf-takao-pmincho ttf-takao-mincho"
+
+FILES:ttf-takao-pgothic = "${datadir}/fonts/truetype/TakaoPGothic.ttf"
+FILES:ttf-takao-gothic = "${datadir}/fonts/truetype/TakaoGothic.ttf"
+FILES:ttf-takao-pmincho = "${datadir}/fonts/truetype/TakaoPMincho.ttf"
+FILES:ttf-takao-mincho = "${datadir}/fonts/truetype/TakaoMincho.ttf"
+
+FILES:${PN} += "${datadir}/fonts/*.ttf"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
index 06a3fe5338..461e3def78 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
@@ -1,9 +1,8 @@
require ttf.inc
SUMMARY = "Thai Linux Working Group Fonts"
-AUTHOR = "Thai Linux Working Group"
HOMEPAGE = "http://linux.thai.net/projects/fonts-tlwg"
-LICENSE = "GPLv2 & TLWG"
+LICENSE = "GPL-2.0-only & TLWG"
LIC_FILES_CHKSUM = "file://../fonts-tlwg-${PV}/COPYING;md5=3d20cd7eadf4afd5460c0adb32e387fd"
SRC_URI = "http://linux.thai.net/pub/ThaiLinux/software/fonts-tlwg/fonts-tlwg-${PV}.tar.xz;name=source \
@@ -13,7 +12,7 @@ SRC_URI[source.sha256sum] = "77fb9832221fde60c9f683ac3fdce7d45ab6e9c0d83df83da96
SRC_URI[ttf.md5sum] = "1bc51f45a7b661404a944fab6911261c"
SRC_URI[ttf.sha256sum] = "aa9cd68969b6f704df3e5b1a2e11204c47f118c8ab052f04c111bd5f299f77c8"
-do_install_append () {
+do_install:append () {
install -d ${D}${sysconfdir}/fonts/conf.d
for x in ${S}/etc/fonts/conf.avail/*.conf; do
@@ -24,4 +23,4 @@ do_install_append () {
PACKAGES = "${PN}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}/fonts ${sysconfdir}"
+FILES:${PN} = "${datadir}/fonts ${sysconfdir}"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb
index b8aa4c01c5..d118769cc8 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.83.bb
@@ -4,7 +4,6 @@ SUMMARY = "Ubuntu Font Family - TTF Version"
HOMEPAGE = "http://font.ubuntu.com"
LICENSE = "UFL"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=325a1a9029112a2405e743c7f816427b"
-PR = "r1"
SHA1SUM = "0cef8205"
@@ -19,5 +18,5 @@ S = "${WORKDIR}/ubuntu-font-family-${PV}"
PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans"
FONT_PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans"
-FILES_ttf-ubuntu-mono = "${datadir}/fonts/truetype/*Mono*"
-FILES_ttf-ubuntu-sans = "${datadir}/fonts/truetype/Ubuntu-*"
+FILES:ttf-ubuntu-mono = "${datadir}/fonts/truetype/*Mono*"
+FILES:ttf-ubuntu-sans = "${datadir}/fonts/truetype/Ubuntu-*"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
deleted file mode 100644
index e522810a24..0000000000
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require ttf.inc
-
-SUMMARY = "Japanese TrueType fonts from Vine Linux"
-AUTHOR = "Contributor: noonov <noonov@gmail.com>"
-HOMEPAGE = "http://vlgothic.dicey.org/"
-
-LICENSE = "ttf-mplus & BSD"
-LIC_FILES_CHKSUM = "file://LICENSE.en;md5=66ecd0fd7e4da6246fa30317c7b66755 \
- file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \
-"
-
-SRC_URI = "https://osdn.jp/dl/vlgothic/VLGothic-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "bb7fadb2dff09a4fb6a11dc9dfdc0c36"
-SRC_URI[sha256sum] = "982040db2f9cb73d7c6ab7d9d163f2ed46d1180f330c9ba2fae303649bf8102d"
-
-S = "${WORKDIR}/VLGothic"
-
-do_install_append () {
- install -D -m644 ${S}/LICENSE_E.mplus ${D}${datadir}/licenses/${PN}/COPYING_MPLUS.txt
- install -D -m644 ${S}/README.sazanami ${D}${datadir}/licenses/${PN}/COPYING_SAZANAMI.txt
- install -D -m644 ${S}/LICENSE.en ${D}${datadir}/licenses/${PN}/COPYING_VLGOTHIC.txt
-}
-
-PACKAGES = "${PN}"
-FONT_PACKAGES = "${PN}"
-
-FILES_${PN} = "${datadir}/fonts/truetype ${datadir}/licenses"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb
new file mode 100644
index 0000000000..4cc5afd4a7
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20200720.bb
@@ -0,0 +1,26 @@
+require ttf.inc
+
+SUMMARY = "Japanese TrueType fonts from Vine Linux"
+HOMEPAGE = "http://vlgothic.dicey.org/"
+
+LICENSE = "ttf-mplus & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.en;md5=cc06b20e7a20bdf6c989624405378303 \
+ file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \
+"
+
+SRC_URI = "https://osdn.jp/dl/vlgothic/VLGothic-${PV}.tar.xz"
+
+SRC_URI[sha256sum] = "297a3813675fbea12c5813b55a78091c9a5946515ecbf9fde8b8102e01c579f4"
+
+S = "${WORKDIR}/VLGothic"
+
+do_install:append () {
+ install -D -m644 ${S}/LICENSE_E.mplus ${D}${datadir}/licenses/${PN}/COPYING_MPLUS.txt
+ install -D -m644 ${S}/README.sazanami ${D}${datadir}/licenses/${PN}/COPYING_SAZANAMI.txt
+ install -D -m644 ${S}/LICENSE.en ${D}${datadir}/licenses/${PN}/COPYING_VLGOTHIC.txt
+}
+
+PACKAGES = "${PN}"
+FONT_PACKAGES = "${PN}"
+
+FILES:${PN} = "${datadir}/fonts/truetype ${datadir}/licenses"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
index 1207a61b84..21897a7589 100644
--- a/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
@@ -1,9 +1,8 @@
require ttf.inc
SUMMARY = "WenQuanYi Zen Hei - A Hei-Ti Style Chinese font"
-AUTHOR = "Qianqian Fang and The WenQuanYi Project Contributors"
HOMEPAGE = "http://wenq.org/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=cf540fc7d35b5777e36051280b3a911c"
SRC_URI = "${SOURCEFORGE_MIRROR}/wqy/wqy-zenhei-${PV}.tar.gz"
@@ -12,7 +11,7 @@ SRC_URI[sha256sum] = "e4b7e306475bf9427d1757578f0e4528930c84c44eaa3f167d4c42f110
S = "${WORKDIR}/wqy-zenhei"
-do_install_append () {
+do_install:append () {
sed -i -e '/<string>[^W]/d' ${S}/44-wqy-zenhei.conf
install -d ${D}${sysconfdir}/fonts/conf.d
@@ -24,4 +23,4 @@ do_install_append () {
PACKAGES = "${PN}"
FONT_PACKAGES = "${PN}"
-FILES_${PN} = "${datadir}/fonts ${sysconfdir}"
+FILES:${PN} = "${datadir}/fonts ${sysconfdir}"
diff --git a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
index 25771168ce..0c9fe62b1f 100644
--- a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
+++ b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes/0001-build-use-autotools.patch
@@ -60,7 +60,7 @@ index 6264da0..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-TARGET = unclutter
--VERSION = 1.5
+-VERSION = 1.6
-SDIR = src
-IDIR = include
-ODIR = obj
diff --git a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb
deleted file mode 100644
index 7e22038f24..0000000000
--- a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Remove idle cursor image from screen."
-DESCRIPTION = "This is a rewrite of the popular tool unclutter, but using the x11-xfixes extension."
-AUTHOR = "Ingo Bürk"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b25d2c4cca175f44120d1b8e67cb358d"
-
-SRC_URI = "git://github.com/Airblader/unclutter-xfixes.git \
- file://0001-build-use-autotools.patch"
-SRCREV = "10fd337bb77e4e93c3380f630a0555372778a948"
-
-inherit autotools pkgconfig features_check
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-DEPENDS = "libev libx11 libxi libxfixes"
-
-S = "${WORKDIR}/git"
-
-do_install_append() {
- # LICENSE is installed to /usr/share/licenses but we don't want it in the package
- rm -rf ${D}${datadir}
-}
diff --git a/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb
new file mode 100644
index 0000000000..e80aebc89b
--- /dev/null
+++ b/meta-oe/recipes-graphics/unclutter-xfixes/unclutter-xfixes_1.6.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Remove idle cursor image from screen."
+DESCRIPTION = "This is a rewrite of the popular tool unclutter, but using the x11-xfixes extension."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b25d2c4cca175f44120d1b8e67cb358d"
+
+SRC_URI = "git://github.com/Airblader/unclutter-xfixes.git;branch=master;protocol=https \
+ file://0001-build-use-autotools.patch"
+SRCREV = "160ae3760a51126eb225ce77d83e4706eccd4ed9"
+
+inherit autotools pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+DEPENDS = "libev libx11 libxi libxfixes"
+
+S = "${WORKDIR}/git"
+
+do_install:append() {
+ # LICENSE is installed to /usr/share/licenses but we don't want it in the package
+ rm -rf ${D}${datadir}
+}
diff --git a/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb b/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
deleted file mode 100644
index b6790a0855..0000000000
--- a/meta-oe/recipes-graphics/vdpau/libvdpau_1.4.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Video Decode and Presentation API for UNIX"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
-
-DEPENDS = "virtual/libx11 libxext xorgproto"
-
-SRCREV = "c3d1a9dbafdfe6144ff474d0d523dc01b068750f"
-SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
-
-S = "${WORKDIR}/git"
-
-inherit features_check meson
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_install_append() {
- rm -f ${D}${libdir}/*/*.la
-}
-
-FILES_${PN}-dbg += "${libdir}/vdpau/.debug"
-FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
-FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
diff --git a/meta-oe/recipes-graphics/vdpau/libvdpau_1.5.bb b/meta-oe/recipes-graphics/vdpau/libvdpau_1.5.bb
new file mode 100644
index 0000000000..db3c045588
--- /dev/null
+++ b/meta-oe/recipes-graphics/vdpau/libvdpau_1.5.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Video Decode and Presentation API for UNIX"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
+
+DEPENDS = "virtual/libx11 libxext xorgproto"
+
+SRCREV = "79f1506a3307d3275b0fdfb2e110c173f68e6f78"
+SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit features_check meson pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_install:append() {
+ rm -f ${D}${libdir}/*/*.la
+}
+
+FILES:${PN}-dbg += "${libdir}/vdpau/.debug"
+FILES:${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
+FILES:${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch
deleted file mode 100644
index 4f3c7554cf..0000000000
--- a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-Do-not-error-on-uninitialized-warnings.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f9906a3a1b7f1ade7a6c4e1a8aa67cb3a5e663a9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 3 Mar 2021 11:33:15 -0800
-Subject: [PATCH] Do not error on uninitialized warnings
-
-code in verifier.cc violates C/C++ aliasing rules so code should be
-perhaps changed to use a union
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- external/amber/src/CMakeLists.txt | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/external/amber/src/CMakeLists.txt b/external/amber/src/CMakeLists.txt
-index 80a0df7..4323c81 100644
---- a/external/amber/src/CMakeLists.txt
-+++ b/external/amber/src/CMakeLists.txt
-@@ -133,6 +133,7 @@ elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
- -Werror
- -Wextra
- -Wno-unknown-pragmas
-+ -Wno-error=uninitialized
- -Wpedantic
- -pedantic-errors)
- elseif(MSVC)
---
-2.30.1
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch
new file mode 100644
index 0000000000..f659e36066
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch
@@ -0,0 +1,29 @@
+From ec12bb7bda60cdf2c848e13df67452a7d30a42be Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 3 Sep 2022 18:52:42 -0700
+Subject: [PATCH] cmake: Define WAYLAND_SCANNER and WAYLAND_PROTOCOLS_DIR if
+ not already defined
+
+This helps with cross compiling and providing these knobs from cmake
+cmdline
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ framework/platform/CMakeLists.txt | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/framework/platform/CMakeLists.txt
++++ b/framework/platform/CMakeLists.txt
+@@ -73,8 +73,9 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS)
+ add_definitions(-DDEQP_SUPPORT_WAYLAND=1)
+ include_directories(lnx/wayland)
+
+- pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir)
+-
++ if (NOT WAYLAND_PROTOCOLS_DIR)
++ pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir)
++ endif()
+ if (NOT WAYLAND_SCANNER)
+ pkg_get_variable(WAYLAND_SCANNER wayland-scanner wayland_scanner)
+ endif()
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkan-cts-include-missing-cstdint.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkan-cts-include-missing-cstdint.patch
new file mode 100644
index 0000000000..0dd59713a1
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkan-cts-include-missing-cstdint.patch
@@ -0,0 +1,34 @@
+From b07f6ecd6ab83b788301a555dc546b9a5c9dd8a2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Jan 2023 19:19:34 -0800
+Subject: [PATCH] Include missing <cstdint>
+
+This error is seen with gcc-13 where include headers are not implicitly
+included [1]
+
+Fixes errors e.g.
+error: 'uint32_t' does not name a type
+
+[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/378]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ framework/common/tcuDefs.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/framework/common/tcuDefs.hpp b/framework/common/tcuDefs.hpp
+index ad3d0736d..6dfac10fb 100644
+--- a/framework/common/tcuDefs.hpp
++++ b/framework/common/tcuDefs.hpp
+@@ -26,6 +26,7 @@
+ #include "deDefs.hpp"
+ #include "qpTestLog.h"
+
++#include <cstdint>
+ #include <string>
+ #include <stdexcept>
+
+--
+2.39.1
+
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts-Include-missing-cstdint.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts-Include-missing-cstdint.patch
new file mode 100644
index 0000000000..40aea8f203
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/0001-vulkancts-Include-missing-cstdint.patch
@@ -0,0 +1,32 @@
+From 1b7646ced0f0b969f818084887885827ed1a4244 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 31 May 2021 17:31:33 -0700
+Subject: [PATCH] vulkancts: Include missing <cstdint>
+
+Fixes build with gcc-13
+
+../git/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp:2798:102: error: 'uintptr_t' in namespace 'std' does not name a type
+ 2798 | BufferDataType type = static_cast<BufferDataType>(reinterpret_cast<std::uintptr_t>(expectedOutputs[resultIndex].getUserData()));
+ | ^~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/378]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp
+index ab02be1dc..3d3ee4829 100644
+--- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp
++++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp
+@@ -33,6 +33,7 @@
+ #include "deFloat16.h"
+ #include "vkQueryUtil.hpp"
+ #include "vkRefUtil.hpp"
++#include <cstdint>
+ #include <cstring>
+ #include <vector>
+ #include <limits>
+--
+2.39.1
+
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
index b4573b38b5..4ecc371ca4 100644
--- a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-clang-private-operator.patch
@@ -1,7 +1,7 @@
-Index: git/external/glslang/src/glslang/Include/PoolAlloc.h
-===================================================================
---- git.orig/external/glslang/src/glslang/Include/PoolAlloc.h
-+++ git/external/glslang/src/glslang/Include/PoolAlloc.h
+Upstream-Status: Pending
+
+--- a/external/glslang/src/glslang/Include/PoolAlloc.h
++++ b/external/glslang/src/glslang/Include/PoolAlloc.h
@@ -240,8 +240,9 @@ protected:
int numCalls; // just an interesting statistic
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch
index 4116ae7d14..58dc1f24dd 100644
--- a/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/fix-musl.patch
@@ -1,19 +1,17 @@
-Index: git/framework/delibs/dethread/CMakeLists.txt
-===================================================================
---- git.orig/framework/delibs/dethread/CMakeLists.txt
-+++ git/framework/delibs/dethread/CMakeLists.txt
-@@ -39,6 +39,7 @@ include_directories(
-
- if (DE_OS_IS_UNIX)
- add_definitions(-D_GNU_SOURCE)
+Upstream-Status: Pending
+
+--- a/framework/delibs/dethread/CMakeLists.txt
++++ b/framework/delibs/dethread/CMakeLists.txt
+@@ -42,6 +42,7 @@ if (DE_OS_IS_UNIX)
+ add_definitions(-D__BSD_VISIBLE)
+ add_definitions(-D_XOPEN_SOURCE=600)
+ endif ()
+ add_definitions(-D_XOPEN_SOURCE=600)
- set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread)
- endif ()
+ add_definitions(-D_GNU_SOURCE)
-Index: git/framework/qphelper/CMakeLists.txt
-===================================================================
---- git.orig/framework/qphelper/CMakeLists.txt
-+++ git/framework/qphelper/CMakeLists.txt
+ set(DETHREAD_LIBS ${DETHREAD_LIBS} pthread)
+--- a/framework/qphelper/CMakeLists.txt
++++ b/framework/qphelper/CMakeLists.txt
@@ -28,6 +28,7 @@ set(QPHELPER_LIBS
if (DE_OS_IS_UNIX OR DE_OS_IS_QNX)
# For vsnprintf()
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/files/gen-framework-path.patch b/meta-oe/recipes-graphics/vk-gl-cts/files/gen-framework-path.patch
new file mode 100644
index 0000000000..8a8d8d2c32
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/files/gen-framework-path.patch
@@ -0,0 +1,20 @@
+Prepend instead of append to the module search path, as this script needs to use
+the local module build, not the host module build.
+
+Upstream-Status: Submitted
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/external/vulkancts/scripts/gen_framework.py b/external/vulkancts/scripts/gen_framework.py
+index 83c5329ce..10e720910 100755
+--- a/external/vulkancts/scripts/gen_framework.py
++++ b/external/vulkancts/scripts/gen_framework.py
+@@ -33 +33 @@ from collections import OrderedDict
+-sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts"))
++sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts"))
+diff --git a/external/vulkancts/scripts/gen_framework_c.py b/external/vulkancts/scripts/gen_framework_c.py
+index 95587e642..84b878cb2 100644
+--- a/external/vulkancts/scripts/gen_framework_c.py
++++ b/external/vulkancts/scripts/gen_framework_c.py
+@@ -28 +28 @@ import re
+-sys.path.append(os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts"))
++sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "..", "scripts"))
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
index e64a935dda..09f1fbcaee 100644
--- a/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
+++ b/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -4,35 +4,80 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "\
git://github.com/KhronosGroup/VK-GL-CTS.git;protocol=https;name=vk-gl-cts;nobranch=1 \
git://github.com/google/amber;protocol=https;destsuffix=git/external/amber/src;name=amber;branch=main \
- git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang \
- git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers \
- git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools \
- https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \
+ git://github.com/KhronosGroup/glslang.git;protocol=https;destsuffix=git/external/glslang/src;name=glslang;branch=main \
+ git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/external/spirv-headers/src;name=spirv-headers;branch=main \
+ git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/external/spirv-tools/src;name=spirv-tools;branch=main \
+ git://github.com/open-source-parsers/jsoncpp.git;protocol=https;destsuffix=git/external/jsoncpp/src;name=jsoncpp;branch=master \
+ git://github.com/KhronosGroup/Vulkan-Docs.git;protocol=https;destsuffix=git/external/vulkan-docs/src;name=vulkan-docs;branch=main \
+ https://raw.githubusercontent.com/baldurk/renderdoc/v1.1/renderdoc/api/app/renderdoc_app.h;subdir=git/external/renderdoc/src;name=renderdoc \
+ git://github.com/Igalia/ESExtractor.git;protocol=https;destsuffix=git/external/ESExtractor/src;name=ESExtractor;branch=main \
+ git://github.com/Igalia/vk_video_samples.git;protocol=https;destsuffix=git/external/nvidia-video-samples/src;name=video-parser;nobranch=1 \
"
S = "${WORKDIR}/git"
-SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools"
+SRCREV_FORMAT = "vk-gl-cts_amber_glslang_spirv-headers_spirv-tools_jsoncpp_vulkan-docs"
S = "${WORKDIR}/git"
-inherit pkgconfig cmake features_check
+inherit pkgconfig cmake features_check python3native qemu
-REQUIRED_DISTRO_FEATURES += "opengl"
+ANY_OF_DISTRO_FEATURES += "opengl vulkan"
-DEPENDS += "libpng zlib virtual/libgles2 virtual/egl"
+DEPENDS += "python3-lxml-native libpng zlib virtual/libgles2 qemu-native"
-SRC_URI_append_libc-musl = "\
+SRC_URI += " \
+ file://0001-vulkancts-Include-missing-cstdint.patch \
+ file://0001-use-library-sonames-for-linking.patch \
+"
+
+SRC_URI:append:libc-musl = "\
file://fix-musl.patch \
"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS:append:libc-musl = " libexecinfo"
-SRC_URI_append_toolchain-clang = "\
+SRC_URI:append:toolchain-clang = "\
file://fix-clang-private-operator.patch \
"
-EXTRA_OECMAKE_append = " -DDEQP_TARGET=surfaceless"
+EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper -DWAYLAND_SCANNER=${STAGING_BINDIR_NATIVE}/wayland-scanner -DWAYLAND_PROTOCOLS_DIR=${STAGING_DATADIR}/wayland-protocols -DAMBER_DISABLE_WERROR=ON"
+
+# The best thing for the user to do is to not specify any of the following
+# PACKAGECONFIGs (i.e. leave it blank) which tells the project to do its own
+# probing and build what it thinks is appropriate.
+# However, if you want, you can specify one of the following PACKAGECONFIGs
+# to override this behaviour.
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[surfaceless] = "-DDEQP_TARGET=surfaceless,,,,,wayland x11_egl x11_glx x11_egl_glx"
+PACKAGECONFIG[wayland] = "-DDEQP_TARGET=wayland,,wayland-native wayland wayland-protocols,,,surfaceless x11_egl x11_glx x11_egl_glx"
+PACKAGECONFIG[x11_egl] = "-DDEQP_TARGET=x11_egl,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_glx x11_egl_glx"
+PACKAGECONFIG[x11_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11,,,surfaceless wayland x11_egl x11_egl_glx"
+PACKAGECONFIG[x11_egl_glx] = "-DDEQP_TARGET=x11_glx,,virtual/libx11 virtual/egl,,,surfaceless wayland x11_egl x11_glx"
+
+do_configure:append() {
+ # Write out a qemu wrapper that will be used by cmake
+ # so that it can run target helper binaries through that.
+ qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
+ cat > ${WORKDIR}/qemuwrapper << EOF
+#!/bin/sh
+$qemu_binary "\$@"
+EOF
+ chmod +x ${WORKDIR}/qemuwrapper
+}
+
+python __anonymous() {
+ # if the user doesn't specify any PACKAGECONFIG then the cts build system
+ # is going to probe the sysroot to try to figure out what to build
+ # in this case we try to guess whether the user is building for wayland
+ # or x11 and add the required dependencies automatically
+ distrofeatures = (d.getVar("DISTRO_FEATURES") or "")
+ if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d):
+ if "wayland" in distrofeatures:
+ d.appendVar("DEPENDS", " wayland-native ${MLPREFIX}wayland ${MLPREFIX}wayland-protocols")
+ if "x11" in distrofeatures:
+ d.appendVar("DEPENDS", " virtual/${MLPREFIX}libx11 virtual/${MLPREFIX}egl ")
+}
CTSDIR = "/usr/lib/${BPN}"
-FILES_${PN} += "${CTSDIR}"
+FILES:${PN} += "${CTSDIR}"
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts/0001-use-library-sonames-for-linking.patch b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts/0001-use-library-sonames-for-linking.patch
new file mode 100644
index 0000000000..b5a1d331ed
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts/0001-use-library-sonames-for-linking.patch
@@ -0,0 +1,114 @@
+From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Thu, 23 Sep 2021 19:36:43 -0400
+Subject: [PATCH] use library sonames for linking
+
+The recommended "best practices" for applications is to link to library
+sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This
+ensures that applications don't try to use libraries if an incompatible ABI
+change occurs.
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/288]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ framework/egl/egluGLContextFactory.cpp | 4 ++--
+ framework/egl/wrapper/eglwLibrary.cpp | 2 +-
+ framework/platform/android/tcuAndroidPlatform.cpp | 2 +-
+ framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | 2 +-
+ .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +-
+ framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++---
+ 6 files changed, 9 insertions(+), 9 deletions(-)
+
+--- a/framework/egl/egluGLContextFactory.cpp
++++ b/framework/egl/egluGLContextFactory.cpp
+@@ -63,7 +63,7 @@ using std::vector;
+ # if (DE_OS == DE_OS_WIN32)
+ # define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll"
+ # else
+-# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ # endif
+ #endif
+
+@@ -75,7 +75,7 @@ using std::vector;
+ # if (DE_OS == DE_OS_WIN32)
+ # define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll"
+ # else
+-# define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ # endif
+ #endif
+
+--- a/framework/egl/wrapper/eglwLibrary.cpp
++++ b/framework/egl/wrapper/eglwLibrary.cpp
+@@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void)
+ const char* DefaultLibrary::getLibraryFileName (void)
+ {
+ #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX)
+- return "libEGL.so";
++ return "libEGL.so.1";
+ #elif (DE_OS == DE_OS_WIN32)
+ return "libEGL.dll";
+ #else
+--- a/framework/platform/android/tcuAndroidPlatform.cpp
++++ b/framework/platform/android/tcuAndroidPlatform.cpp
+@@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capabil
+ class NativeDisplay : public eglu::NativeDisplay
+ {
+ public:
+- NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so") {}
++ NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1") {}
+ virtual ~NativeDisplay (void) {}
+
+ virtual EGLNativeDisplayType getLegacyNative (void) { return EGL_DEFAULT_DISPLAY; }
+--- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
++++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
+@@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibr
+ {
+ public:
+ Library (void)
+- : eglw::DefaultLibrary("libEGL.so")
++ : eglw::DefaultLibrary("libEGL.so.1")
+ {
+ }
+
+--- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
++++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
+@@ -66,7 +66,7 @@ public:
+ EGL_PLATFORM_WAYLAND_KHR,
+ "EGL_KHR_platform_wayland")
+ , m_display (waylandDisplay)
+- , m_library ("libEGL.so") {}
++ , m_library ("libEGL.so.1") {}
+
+ ~Display(void) {}
+ wayland::Display& getWaylandDisplay (void) { return *m_display; }
+--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
++++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
+@@ -69,7 +69,7 @@ using std::vector;
+
+ // Default library names
+ #if !defined(DEQP_GLES2_LIBRARY_PATH)
+-# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ #endif
+
+ #if !defined(DEQP_GLES3_LIBRARY_PATH)
+@@ -77,7 +77,7 @@ using std::vector;
+ #endif
+
+ #if !defined(DEQP_OPENGL_LIBRARY_PATH)
+-# define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ #endif
+
+ #if !defined(DEQP_VULKAN_LIBRARY_PATH)
+@@ -234,7 +234,7 @@ glu::RenderContext* ContextFactory::crea
+ }
+
+ EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine)
+- : m_egl("libEGL.so")
++ : m_egl("libEGL.so.1")
+ , m_contextType(config.type)
+ , m_eglDisplay(EGL_NO_DISPLAY)
+ , m_eglContext(EGL_NO_CONTEXT)
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
deleted file mode 100644
index 184547aa76..0000000000
--- a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.6.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "OpenGL CTS"
-
-require khronos-cts.inc
-# opengl-es-cts-3.2.6.1
-SRCREV_vk-gl-cts = "7e023f81b4fff54b558882fe739d7c959d0a02a8"
-SRCREV_amber = "d26ee22dd7faab1845a531d410f7ec1db407402a"
-SRCREV_glslang = "c538b5d796fb24dd418fdd650c7f76e56bcc3dd8"
-SRCREV_spirv-headers = "e4322e3be589e1ddd44afb20ea842a977c1319b8"
-SRCREV_spirv-tools = "1eb89172a82b436d8037e8a8c29c80f7e1f7df74"
-SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
-
-SRC_URI += "file://0001-Do-not-error-on-uninitialized-warnings.patch"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- install -d ${D}/${CTSDIR}
- cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR}
-
- install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR}
- install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR}
- install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR}
- install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR}
- install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR}
-
- rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
- rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
- rm -r ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles
-}
-
-SECURITY_CFLAGS_riscv64 = "${SECURITY_NOPIE_CFLAGS}"
-LTO = ""
-
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.9.3.bb b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.9.3.bb
new file mode 100644
index 0000000000..0656d724b4
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/opengl-es-cts_3.2.9.3.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "OpenGL CTS"
+
+require khronos-cts.inc
+# opengl-es-cts-3.2.9.3
+SRCREV_vk-gl-cts = "7f5fb62245d535a1fc0bf50b2c7e5a342dc551fe"
+SRCREV_amber = "933ecb4d6288675a92eb1650e0f52b1d7afe8273"
+SRCREV_glslang = "a0ad0d7067521fff880e36acfb8ce453421c3f25"
+SRCREV_spirv-headers = "87d5b782bec60822aa878941e6b13c0a9a954c9b"
+SRCREV_spirv-tools = "f98473ceeb1d33700d01e20910433583e5256030"
+SRCREV_ESExtractor = "ce5d7ebcf0ebb0d78385ee4cc34653eb6764bfc4"
+# Not yet needed
+SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1"
+SRCREV_vulkan-docs = "9a2e576a052a1e65a5d41b593e693ff02745604b"
+SRCREV_video-parser = "7d68747d3524842afaf050c5e00a10f5b8c07904"
+SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
+
+SRC_URI += "\
+ git://github.com/nvpro-samples/vk_video_samples.git;protocol=https;destsuffix=git/external/video-parser/src;name=video-parser;branch=main \
+ file://gen-framework-path.patch \
+ "
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}/${CTSDIR}
+ cp -r ${B}/external/openglcts/modules/* ${D}/${CTSDIR}
+
+ install -m 0755 ${B}/modules/egl/deqp-egl ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles2/deqp-gles2 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles3/deqp-gles3 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/gles31/deqp-gles31 ${D}/${CTSDIR}
+ install -m 0755 ${B}/modules/internal/de-internal-tests ${D}/${CTSDIR}
+
+ rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
+ rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
+ rm -rf ${D}/${CTSDIR}/common/subgroups/*.a ${D}/${CTSDIR}/common/subgroups/cmake_install.cmake ${D}/${CTSDIR}/common/subgroups/CMakeFiles
+}
+
+SECURITY_CFLAGS:riscv64 = "${SECURITY_NOPIE_CFLAGS}"
+LTO = ""
+
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts/0001-use-library-sonames-for-linking.patch b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts/0001-use-library-sonames-for-linking.patch
new file mode 100644
index 0000000000..f12abd0c1a
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts/0001-use-library-sonames-for-linking.patch
@@ -0,0 +1,114 @@
+From acd25c4b8d5b7e420a7a89bdfd6551c70de828b3 Mon Sep 17 00:00:00 2001
+From: Trevor Woerner <twoerner@gmail.com>
+Date: Thu, 23 Sep 2021 19:36:43 -0400
+Subject: [PATCH] use library sonames for linking
+
+The recommended "best practices" for applications is to link to library
+sonames (e.g. libGL.so.1) instead of library names (e.g. libGL.so). This
+ensures that applications don't try to use libraries if an incompatible ABI
+change occurs.
+
+Upstream-Status: Submitted [https://github.com/KhronosGroup/VK-GL-CTS/pull/288]
+Signed-off-by: Trevor Woerner <twoerner@gmail.com>
+---
+ framework/egl/egluGLContextFactory.cpp | 4 ++--
+ framework/egl/wrapper/eglwLibrary.cpp | 2 +-
+ framework/platform/android/tcuAndroidPlatform.cpp | 2 +-
+ framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp | 2 +-
+ .../platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp | 2 +-
+ framework/platform/surfaceless/tcuSurfacelessPlatform.cpp | 6 +++---
+ 6 files changed, 9 insertions(+), 9 deletions(-)
+
+--- a/framework/egl/egluGLContextFactory.cpp
++++ b/framework/egl/egluGLContextFactory.cpp
+@@ -63,7 +63,7 @@ using std::vector;
+ # if (DE_OS == DE_OS_WIN32)
+ # define DEQP_GLES2_LIBRARY_PATH "libGLESv2.dll"
+ # else
+-# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ # endif
+ #endif
+
+@@ -75,7 +75,7 @@ using std::vector;
+ # if (DE_OS == DE_OS_WIN32)
+ # define DEQP_OPENGL_LIBRARY_PATH "opengl32.dll"
+ # else
+-# define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ # endif
+ #endif
+
+--- a/framework/egl/wrapper/eglwLibrary.cpp
++++ b/framework/egl/wrapper/eglwLibrary.cpp
+@@ -148,7 +148,7 @@ DefaultLibrary::~DefaultLibrary (void)
+ const char* DefaultLibrary::getLibraryFileName (void)
+ {
+ #if (DE_OS == DE_OS_ANDROID) || (DE_OS == DE_OS_UNIX)
+- return "libEGL.so";
++ return "libEGL.so.1";
+ #elif (DE_OS == DE_OS_WIN32)
+ return "libEGL.dll";
+ #else
+--- a/framework/platform/android/tcuAndroidPlatform.cpp
++++ b/framework/platform/android/tcuAndroidPlatform.cpp
+@@ -57,7 +57,7 @@ static const eglu::NativeWindow::Capabil
+ class NativeDisplay : public eglu::NativeDisplay
+ {
+ public:
+- NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so") {}
++ NativeDisplay (void) : eglu::NativeDisplay(DISPLAY_CAPABILITIES), m_library("libEGL.so.1") {}
+ virtual ~NativeDisplay (void) {}
+
+ virtual EGLNativeDisplayType getLegacyNative (void) { return EGL_DEFAULT_DISPLAY; }
+--- a/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
++++ b/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp
+@@ -75,7 +75,7 @@ class Library : public eglw::DefaultLibr
+ {
+ public:
+ Library (void)
+- : eglw::DefaultLibrary("libEGL.so")
++ : eglw::DefaultLibrary("libEGL.so.1")
+ {
+ }
+
+--- a/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
++++ b/framework/platform/lnx/wayland/tcuLnxWaylandEglDisplayFactory.cpp
+@@ -66,7 +66,7 @@ public:
+ EGL_PLATFORM_WAYLAND_KHR,
+ "EGL_KHR_platform_wayland")
+ , m_display (waylandDisplay)
+- , m_library ("libEGL.so") {}
++ , m_library ("libEGL.so.1") {}
+
+ ~Display(void) {}
+ wayland::Display& getWaylandDisplay (void) { return *m_display; }
+--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
++++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
+@@ -69,7 +69,7 @@ using std::vector;
+
+ // Default library names
+ #if !defined(DEQP_GLES2_LIBRARY_PATH)
+-# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so"
++# define DEQP_GLES2_LIBRARY_PATH "libGLESv2.so.2"
+ #endif
+
+ #if !defined(DEQP_GLES3_LIBRARY_PATH)
+@@ -77,7 +77,7 @@ using std::vector;
+ #endif
+
+ #if !defined(DEQP_OPENGL_LIBRARY_PATH)
+-# define DEQP_OPENGL_LIBRARY_PATH "libGL.so"
++# define DEQP_OPENGL_LIBRARY_PATH "libGL.so.1"
+ #endif
+
+ #if !defined(DEQP_VULKAN_LIBRARY_PATH)
+@@ -237,7 +237,7 @@ glu::RenderContext* ContextFactory::crea
+ }
+
+ EglRenderContext::EglRenderContext(const glu::RenderConfig& config, const tcu::CommandLine& cmdLine, const glu::RenderContext *sharedContext)
+- : m_egl("libEGL.so")
++ : m_egl("libEGL.so.1")
+ , m_contextType(config.type)
+ , m_eglDisplay(EGL_NO_DISPLAY)
+ , m_eglContext(EGL_NO_CONTEXT)
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb
deleted file mode 100644
index f07b12decd..0000000000
--- a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.2.3.2.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "Vulkan CTS"
-
-require khronos-cts.inc
-# vulkan-cts-1.2.3.2
-SRCREV_vk-gl-cts = "5cd2240b60825fbbf6bd9ddda6af176ee3100c70"
-SRCREV_amber = "a40bef4dba98d2d80b48e5a940d8574fbfceb197"
-SRCREV_glslang = "b5f003d7a3ece37db45578a8a3140b370036fc64"
-SRCREV_spirv-headers = "f8bf11a0253a32375c32cad92c841237b96696c0"
-SRCREV_spirv-tools = "d2b486219495594f2e5d0e8d457fc234a3460b3b"
-SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
-
-S = "${WORKDIR}/git"
-
-REQUIRED_DISTRO_FEATURES = "vulkan"
-inherit features_check
-
-DEPENDS += " vulkan-loader"
-
-do_install() {
- install -d ${D}/${CTSDIR}
- cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/
- rm -r ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
- rm -r ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
-}
diff --git a/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb
new file mode 100644
index 0000000000..1008a5fd42
--- /dev/null
+++ b/meta-oe/recipes-graphics/vk-gl-cts/vulkan-cts_1.3.7.3.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "Vulkan CTS"
+
+require khronos-cts.inc
+
+SRC_URI += "git://github.com/Igalia/vk_video_samples.git;protocol=https;destsuffix=git/external/nvidia-video-samples/src;name=video-parser;nobranch=1"
+
+# vulkan-cts-1.3.7.3
+SRCREV_vk-gl-cts = "d71a36db16d98313c431829432a136dbda692a08"
+SRCREV_amber = "933ecb4d6288675a92eb1650e0f52b1d7afe8273"
+SRCREV_glslang = "c5117b328afc86e16edff6ed6afe0fe7872a7cf3"
+SRCREV_spirv-headers = "b8b9eb8640c8c0107ba580fbcb10f969022ca32c"
+SRCREV_spirv-tools = "bfc94f63a7adbcf8ae166f5f108ac9f69079efc0"
+SRCREV_jsoncpp = "9059f5cad030ba11d37818847443a53918c327b1"
+SRCREV_vulkan-docs = "b9aad705f0d9e5e6734ac2ad671d5d1de57b05e0"
+SRC_URI[renderdoc.sha256sum] = "e7b5f0aa5b1b0eadc63a1c624c0ca7f5af133aa857d6a4271b0ef3d0bdb6868e"
+# Not yet needed
+SRCREV_ESExtractor = "75ffcaf55bb069f7a23764194742d2fb78c7f71f"
+SRCREV_video-parser = "138bbe048221d315962ddf8413aa6a08cc62a381"
+
+SRC_URI += "file://0001-cmake-Define-WAYLAND_SCANNER-and-WAYLAND_PROTOCOLS_D.patch \
+ file://0001-vulkan-cts-include-missing-cstdint.patch \
+"
+
+TOOLCHAIN = "gcc"
+
+S = "${WORKDIR}/git"
+
+REQUIRED_DISTRO_FEATURES = "vulkan"
+inherit features_check
+
+DEPENDS += " vulkan-loader"
+
+do_install() {
+ install -d ${D}/${CTSDIR}
+ cp -r ${B}/external/vulkancts/modules/vulkan/* ${D}/${CTSDIR}/
+ rm -rf ${D}/${CTSDIR}/*.a ${D}/${CTSDIR}/cmake_install.cmake ${D}/${CTSDIR}/CMakeFiles
+ rm -rf ${D}/${CTSDIR}/*/*.a ${D}/${CTSDIR}/*/cmake_install.cmake ${D}/${CTSDIR}/*/CMakeFiles
+}
diff --git a/meta-oe/recipes-graphics/wayland/libei_1.2.1.bb b/meta-oe/recipes-graphics/wayland/libei_1.2.1.bb
new file mode 100644
index 0000000000..807dcea1ed
--- /dev/null
+++ b/meta-oe/recipes-graphics/wayland/libei_1.2.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "libei is a library for Emulated Input, primarily aimed at the Wayland stack."
+HOMEPAGE = "https://gitlab.freedesktop.org/libinput/libei"
+SECTION = "graphics"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=a98fa76460f96f41696611d6f07e8d49"
+
+DEPENDS = " \
+ libxkbcommon \
+ libevdev \
+ libxslt-native \
+ python3-attrs-native \
+ python3-jinja2-native \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'basu', d)} \
+"
+
+SRC_URI = "git://gitlab.freedesktop.org/libinput/libei.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+SRCREV = "08f1d41085a6ae4bac7bc52abe2955d3354342cb"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON = "-Dtests=disabled"
+
diff --git a/meta-oe/recipes-graphics/wayland/waylandpp/0001-include-missing-cstdint.patch b/meta-oe/recipes-graphics/wayland/waylandpp/0001-include-missing-cstdint.patch
new file mode 100644
index 0000000000..f2169c43c9
--- /dev/null
+++ b/meta-oe/recipes-graphics/wayland/waylandpp/0001-include-missing-cstdint.patch
@@ -0,0 +1,59 @@
+From 5e3243b163aa5d50083b4036c21f84c1204f2023 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 26 Jan 2023 23:25:05 -0800
+Subject: [PATCH] include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no longer transitively included [1]. Explicitly include it for uint{32,64}_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://github.com/NilsBrause/waylandpp/pull/75]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/wayland-client.hpp | 1 +
+ scanner/scanner.cpp | 3 +++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/include/wayland-client.hpp b/include/wayland-client.hpp
+index a3f782b..4598a0e 100644
+--- a/include/wayland-client.hpp
++++ b/include/wayland-client.hpp
+@@ -29,6 +29,7 @@
+ /** \file */
+
+ #include <atomic>
++#include <cstdint>
+ #include <functional>
+ #include <memory>
+ #include <string>
+diff --git a/scanner/scanner.cpp b/scanner/scanner.cpp
+index bebd71e..c25746a 100644
+--- a/scanner/scanner.cpp
++++ b/scanner/scanner.cpp
+@@ -15,6 +15,7 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
++#include <cstdint>
+ #include <fstream>
+ #include <iostream>
+ #include <list>
+@@ -1106,6 +1107,7 @@ int main(int argc, char *argv[])
+ wayland_hpp << "#pragma once" << std::endl
+ << std::endl
+ << "#include <array>" << std::endl
++ << "#include <cstdint>" << std::endl
+ << "#include <functional>" << std::endl
+ << "#include <memory>" << std::endl
+ << "#include <string>" << std::endl
+@@ -1125,6 +1127,7 @@ int main(int argc, char *argv[])
+ wayland_server_hpp << "#pragma once" << std::endl
+ << std::endl
+ << "#include <array>" << std::endl
++ << "#include <cstdint>" << std::endl
+ << "#include <functional>" << std::endl
+ << "#include <memory>" << std::endl
+ << "#include <string>" << std::endl
+--
+2.39.1
+
diff --git a/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb b/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb
new file mode 100644
index 0000000000..c1f5f4ed8e
--- /dev/null
+++ b/meta-oe/recipes-graphics/wayland/waylandpp_1.0.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = " C++ binding for Wayland using the most modern C++ technology"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3aae28cc66d61975114c2b14df215407"
+
+SRC_URI = "git://github.com/NilsBrause/waylandpp.git;protocol=https;branch=master \
+ file://0001-include-missing-cstdint.patch"
+
+DEPENDS = "pugixml"
+DEPENDS:append:class-target = " waylandpp-native wayland virtual/egl virtual/libgles2"
+
+S = "${WORKDIR}/git"
+SRCREV = "4321ed5c7b4bffa41b8a2a13dc7f3ece1191f4f3"
+
+inherit cmake pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES:class-target = "opengl"
+
+EXTRA_OECMAKE:class-native = " \
+ -DBUILD_SCANNER=ON \
+ -DBUILD_LIBRARIES=OFF \
+ -DBUILD_DOCUMENTATION=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_VERBOSE_MAKEFILE=TRUE \
+"
+
+EXTRA_OECMAKE:class-target = " \
+ -DBUILD_SCANNER=ON \
+ -DBUILD_LIBRARIES=ON \
+ -DBUILD_DOCUMENTATION=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DOPENGL_LIBRARY="-lEGL -lGLESv2" \
+ -DOPENGL_opengl_LIBRARY=-lEGL \
+ -DOPENGL_glx_LIBRARY=-lEGL \
+ -DWAYLAND_SCANNERPP="${STAGING_BINDIR_NATIVE}/wayland-scanner++" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_VERBOSE_MAKEFILE=TRUE \
+ -DCMAKE_EXE_LINKER_FLAGS="-Wl,--enable-new-dtags" \
+"
+
+do_install:append:class-target() {
+ sed -i -e 's|${S}||g' ${D}${libdir}/cmake/waylandpp/waylandpp-targets.cmake
+ sed -i -e 's|${STAGING_DIR_HOST}||g' ${D}${libdir}/cmake/waylandpp/waylandpp-targets.cmake
+}
+
+BBCLASSEXTEND += "native nativesdk"
diff --git a/meta-oe/recipes-graphics/x11vnc/files/CVE-2020-29074.patch b/meta-oe/recipes-graphics/x11vnc/files/CVE-2020-29074.patch
new file mode 100644
index 0000000000..fbdb9123cc
--- /dev/null
+++ b/meta-oe/recipes-graphics/x11vnc/files/CVE-2020-29074.patch
@@ -0,0 +1,27 @@
+CVE: CVE-2020-29074
+Upstream-Status: Backport [https://github.com/LibVNC/x11vnc/commit/69eeb9f7baa14ca03b16c9de821f9876def7a36a ]
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+
+
+From 69eeb9f7baa14ca03b16c9de821f9876def7a36a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gu=C3=A9nal=20DAVALAN?= <guenal.davalan@uca.fr>
+Date: Wed, 18 Nov 2020 08:40:45 +0100
+Subject: [PATCH] scan: limit access to shared memory segments to current user
+
+---
+ src/scan.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/scan.c b/src/scan.c
+index 43e00d20..12994d52 100644
+--- a/src/scan.c
++++ b/src/scan.c
+@@ -320,7 +320,7 @@ static int shm_create(XShmSegmentInfo *shm, XImage **ximg_ptr, int w, int h,
+
+ #if HAVE_XSHM
+ shm->shmid = shmget(IPC_PRIVATE,
+- xim->bytes_per_line * xim->height, IPC_CREAT | 0777);
++ xim->bytes_per_line * xim->height, IPC_CREAT | 0600);
+
+ if (shm->shmid == -1) {
+ rfbErr("shmget(%s) failed.\n", name);
diff --git a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
index 50ce9a59e0..74f80e1844 100644
--- a/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
+++ b/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.16.bb
@@ -2,16 +2,16 @@ SUMMARY = "Exports your X session or FrameBuffer(fbdev) on-the-fly via VNC"
HOMEPAGE = "http://www.karlrunge.com/x11vnc/"
SECTION = "x11/utils"
-AUTHOR = "Karl Runge"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://src/x11vnc.h;endline=31;md5=e871a2ad004776794b616822dcab6314"
SRCREV = "87cd0530f438372dda3c70bb491a6fd19f09acc2"
-PV .= "+git${SRCPV}"
+PV .= "+git"
-SRC_URI = "git://github.com/LibVNC/x11vnc \
+SRC_URI = "git://github.com/LibVNC/x11vnc;branch=master;protocol=https \
file://starting-fix.patch \
+ file://CVE-2020-29074.patch \
"
S = "${WORKDIR}/git"
@@ -37,4 +37,4 @@ PACKAGECONFIG[avahi] = "--with-avahi,--without-avahi,avahi"
PACKAGECONFIG[xinerama] = "--with-xinerama,--without-xinerama,libxinerama"
PACKAGECONFIG[x11] = "--with-x,--without-x, libxdamage libxext libxfixes libxrandr libxtst virtual/libx11"
-RRECOMMENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'kernel-module-uinput', '', d)}"
+RRECOMMENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'fbdev', 'kernel-module-uinput', '', d)}"
diff --git a/meta-oe/recipes-graphics/xbindkeys/xbindkeys_1.8.7.bb b/meta-oe/recipes-graphics/xbindkeys/xbindkeys_1.8.7.bb
new file mode 100644
index 0000000000..0c316edf95
--- /dev/null
+++ b/meta-oe/recipes-graphics/xbindkeys/xbindkeys_1.8.7.bb
@@ -0,0 +1,18 @@
+SUMMARY = "xbindkeys - Tool for launching commands on keystrokes"
+HOMEPAGE = "http://www.nongnu.org/xbindkeys/xbindkeys.html"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7d715d0b23c4bd9265b7435f546e9fe8"
+SECTION = "x11"
+
+DEPENDS = "virtual/libx11"
+
+inherit features_check autotools
+
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://www.nongnu.org/xbindkeys/xbindkeys-${PV}.tar.gz"
+SRC_URI[md5sum] = "b5e1a9668ba13ff8673836d1d965d951"
+SRC_URI[sha256sum] = "a29b86a8ec91d4abc83b420e547da27470847d0efe808aa6e75147aa0adb82f2"
+
+EXTRA_OECONF = "--disable-guile"
diff --git a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb
deleted file mode 100644
index 936d71b101..0000000000
--- a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.7.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-LICENSE = "ManishSingh"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2"
-
-DEPENDS = "libpng libxcursor"
-
-SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "25cc7ca1ce5dcbb61c2b471c55e686b5"
-SRC_URI[sha256sum] = "35b6f844b24f1776e9006c880a745728800764dbe3b327a128772b4610d8eb3d"
-
-inherit features_check autotools pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb
new file mode 100644
index 0000000000..3770babe80
--- /dev/null
+++ b/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.8.bb
@@ -0,0 +1,13 @@
+LICENSE = "ManishSingh"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2"
+
+DEPENDS = "libpng libxcursor"
+
+SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "32b33ce27b4e285e64ff375731806bb7988cc626ff10915c65f1dc4da640cc9b"
+
+inherit features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb b/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
deleted file mode 100644
index 259c640523..0000000000
--- a/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "xdotool - command-line X11 automation tool - utilising X11 XTEST interface"
-HOMEPAGE = "http://www.semicomplete.com/projects/xdotool"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2f9cbf7e9401cec8a38666a08851ce6b"
-SECTION = "x11"
-DEPENDS = "virtual/libx11 libxtst"
-
-PR = "r1"
-
-inherit features_check pkgconfig perlnative
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://semicomplete.googlecode.com/files/xdotool-${PV}.tar.gz"
-SRC_URI[md5sum] = "1d5be641e512c343abfe5f78b39e6f19"
-SRC_URI[sha256sum] = "42d7271fbc796e53db71bb221f311b9ff3c51d90a71c9487a9bd3101ca39894f"
-
-EXTRA_OEMAKE = "PREFIX=${prefix} INSTALLLIB=${libdir} INSTALLMAN=${mandir}"
-
-do_install() {
- oe_runmake -e install DESTDIR=${D} PREFIX=${prefix}
-}
-
diff --git a/meta-oe/recipes-graphics/xdotool/xdotool_3.20211022.1.bb b/meta-oe/recipes-graphics/xdotool/xdotool_3.20211022.1.bb
new file mode 100644
index 0000000000..cef82bd348
--- /dev/null
+++ b/meta-oe/recipes-graphics/xdotool/xdotool_3.20211022.1.bb
@@ -0,0 +1,19 @@
+SUMMARY = "xdotool - command-line X11 automation tool - utilising X11 XTEST interface"
+HOMEPAGE = "https://github.com/jordansissel/xdotool"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2f9cbf7e9401cec8a38666a08851ce6b"
+SECTION = "x11"
+DEPENDS = "virtual/libx11 libxtst libxinerama libxkbcommon"
+
+inherit features_check pkgconfig perlnative
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://github.com/jordansissel/${BPN}/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "96f0facfde6d78eacad35b91b0f46fecd0b35e474c03e00e30da3fdd345f9ada"
+
+EXTRA_OEMAKE = "PREFIX=${prefix} INSTALLLIB=${libdir} INSTALLMAN=${mandir}"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} PREFIX=${prefix}
+}
diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.10.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.10.bb
new file mode 100644
index 0000000000..7d025de4c4
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.10.bb
@@ -0,0 +1,16 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+
+DESCRIPTION = "A collection of utilities used to tweak and query the runtime configuration\
+of the X server."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += "libice"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "3deefb7da26af9dc799b5628d929d91c9af68c78575639944db3b955f29aa029"
+
diff --git a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.8.bb b/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.8.bb
deleted file mode 100644
index 62296b5be9..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.8.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-
-DESCRIPTION = "A collection of utilities used to tweak and query the runtime configuration\
-of the X server."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e"
-
-BBCLASSEXTEND = "native"
-
-DEPENDS += "libice"
-
-SRC_URI[md5sum] = "3b9b79fa0f9928161f4bad94273de7ae"
-SRC_URI[sha256sum] = "e6ee213a217265cc76050e4293ea70b98c32dce6505c6421227efbda62ab60c6"
-
diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch b/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
index 207285373c..bfda2dfe71 100644
--- a/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
+++ b/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
@@ -6,9 +6,9 @@ Subject: [PATCH] Makefile.am: Error Fix
Do not compile man dir since error always occur.
| sed: file filenames.sed line 3: unterminated `s' command
| make[2]: *** [sessreg.1] Error 1
-It is not a good way.But can remove it from PNBLACKLIST.
+It is not a good way.But can remove it from SKIP_RECIPE.
-Upstream-Status: pending
+Upstream-Status: Pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb
deleted file mode 100644
index ad6bd17ad8..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "a simple program for managing utmp/wtmp entries"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
-SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
-SRC_URI[md5sum] = "92be564d4be7d8aa7b5024057b715210"
-SRC_URI[sha256sum] = "dfcb9e954273ace63879aec053c7880466f8755752a35aa9ced3fa5f04fd2c33"
-
-CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
-
diff --git a/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb
new file mode 100644
index 0000000000..33ab22cde4
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.3.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "a simple program for managing utmp/wtmp entries"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
+SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "022acd5de8077dddc4f919961f79e102ecd5f3228a333681af5cd0e7344facc2"
+
+CFLAGS:append:libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
+
diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb
deleted file mode 100644
index 30fbd1b8de..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.2.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "A program to compile XKB keyboard description"
-
-DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
-XKB keymap into one of several output formats. The most common use for \
-xkbcomp is to create a compiled keymap file (.xkm extension) which can \
-be read directly by XKB-capable X servers or utilities."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
-
-PE = "1"
-
-DEPENDS += "libxkbfile"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "93e736c98fb75856ee8227a0c49a128d"
-SRC_URI[sha256sum] = "8ff27486442725e50b02d7049152f51d125ecad71b7ce503cfa09d5d8ceeb9f5"
diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb
new file mode 100644
index 0000000000..9c522d6ae1
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "A program to compile XKB keyboard description"
+
+DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
+XKB keymap into one of several output formats. The most common use for \
+xkbcomp is to create a compiled keymap file (.xkm extension) which can \
+be read directly by XKB-capable X servers or utilities."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
+
+PE = "1"
+
+DEPENDS += "libxkbfile xrandr"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "be8d8554d40e981d1b93b5ff82497c9ad2259f59f675b38f1b5e84624c07fade"
diff --git a/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb b/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb
deleted file mode 100644
index 45caaacf2f..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/twm_1.0.11.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "tiny window manager"
-DEPENDS += " libxext libxt libxmu bison-native"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586"
-
-SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "48e83210b39a7bfb492604ba0bcfb19e"
-SRC_URI[sha256sum] = "410ecabac54e6db7afd5c20a78d89c0134f3c74b149bee71b1fec775e6e060cc"
-
-FILES_${PN} += "${datadir}/X11/twm/system.twmrc"
-ALTERNATIVE_NAME = "x-window-manager"
-ALTERNATIVE_PATH = "${bindir}/twm"
-ALTERNATIVE_LINK = "${bindir}/x-window-manager"
-ALTERNATIVE_PRIORITY = "1"
diff --git a/meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb b/meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb
new file mode 100644
index 0000000000..91b1abc211
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/twm_1.0.12.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "tiny window manager"
+DEPENDS += " libxext libxt libxmu bison-native"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586"
+
+SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "4150c9ec595520167ab8c4efcb5cf82641a4c4db78ce0a1cb4834e6aeb7c87fb"
+
+FILES:${PN} += "${datadir}/X11/twm/system.twmrc"
+ALTERNATIVE_NAME = "x-window-manager"
+ALTERNATIVE_PATH = "${bindir}/twm"
+ALTERNATIVE_LINK = "${bindir}/x-window-manager"
+ALTERNATIVE_PRIORITY = "1"
diff --git a/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb b/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb
deleted file mode 100644
index 31c553eee0..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xclock_1.0.9.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "analog / digital clock for X"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36"
-
-DEPENDS += " libxaw libxrender libxft libxkbfile libxt"
-
-SRC_URI[md5sum] = "437522a96f424f68fc64ed34ece9b211"
-SRC_URI[sha256sum] = "cf461fb2c6f2ac42c54d8429ee2010fdb9a1442a370adfbfe8a7bfaf33c123bb"
diff --git a/meta-oe/recipes-graphics/xorg-app/xclock_1.1.1.bb b/meta-oe/recipes-graphics/xorg-app/xclock_1.1.1.bb
new file mode 100644
index 0000000000..a7360b6496
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xclock_1.1.1.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "analog / digital clock for X"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36"
+
+DEPENDS += " libxaw libxrender libxft libxkbfile libxt"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "df7ceabf8f07044a2fde4924d794554996811640a45de40cb12c2cf1f90f742c"
diff --git a/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb
deleted file mode 100644
index e9260240da..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.6.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "xfontsel provides point and click selection of X11 font names"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
-DEPENDS += " libxaw"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
-
-SRC_URI[md5sum] = "13150ff98846bf6d9a14bee00697fa47"
-SRC_URI[sha256sum] = "25aa0b7c4262f5e99c07c2b96e00e4eb25b7e53f94fa803942af9d0e8da3001c"
diff --git a/meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb
new file mode 100644
index 0000000000..4c31d0b77a
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xfontsel_1.1.0.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xfontsel provides point and click selection of X11 font names"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+DEPENDS += " libxaw"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+
+SRC_URI[sha256sum] = "17052c3357bbfe44b8468675ae3d099c2427ba9fcac10540aef524ae4d77d1b4"
+SRC_URI_EXT = "xz"
diff --git a/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb
deleted file mode 100644
index 4949616ddc..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-
-DESCRIPTION = "xgamma allows X users to query and alter the gamma \
-correction of a monitor via the X video mode extension."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=ac9801b8423fd7a7699ccbd45cf134d8"
-
-DEPENDS += "libxxf86vm"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "90b4305157c2b966d5180e2ee61262be"
-SRC_URI[sha256sum] = "0ef1c35b5c18b1b22317f455c8df13c0a471a8efad63c89c98ae3ce8c2b222d3"
diff --git a/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb
new file mode 100644
index 0000000000..dc9cbadb4c
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.7.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+
+DESCRIPTION = "xgamma allows X users to query and alter the gamma \
+correction of a monitor via the X video mode extension."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ac9801b8423fd7a7699ccbd45cf134d8"
+
+DEPENDS += "libxxf86vm"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "1c79dae85a8953a15f4fe5c2895a033307b43b8613456c87ec47b374b113bc8f"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb
deleted file mode 100644
index b42c1b9506..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "A program to compile XKB keyboard description"
-DESCRIPTION = "The xkbevd event daemon listens for specified XKB \
-events and executes requested commands if they occur. "
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=208668fa9004709ba22c2b748140956c"
-
-DEPENDS += "libxkbfile bison-native"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "c747faf1f78f5a5962419f8bdd066501"
-SRC_URI[sha256sum] = "2430a2e5302a4cb4a5530c1df8cb3721a149bbf8eb377a2898921a145197f96a"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb
new file mode 100644
index 0000000000..afc1fe17d5
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.5.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "A program to compile XKB keyboard description"
+DESCRIPTION = "The xkbevd event daemon listens for specified XKB \
+events and executes requested commands if they occur. "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=208668fa9004709ba22c2b748140956c"
+
+DEPENDS += "libxkbfile bison-native"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "38357b702de9d3457c4ff75053390f457b84c4accc7f088101255c37c684926b"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.5.bb
deleted file mode 100644
index 7b6ef96825..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.5.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "A program to compile XKB keyboard description"
-DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \
-description of an XKB keyboard description."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f"
-
-DEPENDS += "libxkbfile"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "9c34da77363dc3d0f616980da87244bf"
-SRC_URI[sha256sum] = "5b58fe834f0822f06d63d283fac404098c6d3f6acce61888b81016f1c41023fa"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.6.bb
new file mode 100644
index 0000000000..e866bed016
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.6.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "A program to compile XKB keyboard description"
+DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \
+description of an XKB keyboard description."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[sha256sum] = "99cc9404f7b90289ae04944c0d98a208cc8b158492ad6481386e31d4d09aa7b0"
+SRC_URI_EXT = "xz"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb
deleted file mode 100644
index 6a05e98e32..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "XKeyboard (XKB) extension to the X11 protocol"
-DESCRIPTION = " \
-xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) \
-extension to the X11 protocol. \
-It includes: \
- xkbbell - generate XKB bell events \
- xkbvleds - display the state of LEDs on an XKB keyboard in a window \
- xkbwatch - reports changes in the XKB keyboard state \
-"
-LIC_FILES_CHKSUM = "file://COPYING;md5=64322fab5239f5c8d97cf6e0e14f1c62"
-
-DEPENDS += "libxaw libxkbfile"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "502b14843f610af977dffc6cbf2102d5"
-SRC_URI[sha256sum] = "d2a18ab90275e8bca028773c44264d2266dab70853db4321bdbc18da75148130"
diff --git a/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.5.bb
new file mode 100644
index 0000000000..f078ad60eb
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.5.bb
@@ -0,0 +1,17 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "XKeyboard (XKB) extension to the X11 protocol"
+DESCRIPTION = " \
+xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) \
+extension to the X11 protocol. \
+It includes: \
+ xkbbell - generate XKB bell events \
+ xkbvleds - display the state of LEDs on an XKB keyboard in a window \
+ xkbwatch - reports changes in the XKB keyboard state \
+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=64322fab5239f5c8d97cf6e0e14f1c62"
+
+DEPENDS += "libxaw libxkbfile"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "f6a4a8e9c54582beb3787b1faa8168caab125c1fee0ca9cfa5b6c9c1df25eea4"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb
deleted file mode 100644
index 288bcfc8fe..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/"
-DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
-
-DEPENDS += "libxmu"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "61671fee12535347db24ec3a715032a7"
-SRC_URI[sha256sum] = "57868f958c263976727881f3078e55b86b4a109dc578d2b92f5c6d690850a382"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb
new file mode 100644
index 0000000000..ad06612d5e
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.4.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/"
+DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
+
+DEPENDS += "libxmu"
+BBCLASSEXTEND = "native"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "f4bfa15f56c066d326a5d5b292646708f25b9247506840b9047cd2687dcc71b7"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb
deleted file mode 100644
index 42bda7ea35..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/"
-DESCRIPTION = "xlsclients is a utility for listing information about the \
-client applications running on a X11 server."
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "4fa92377e0ddc137cd226a7a87b6b29a"
-SRC_URI[sha256sum] = "773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb
new file mode 100644
index 0000000000..d73a27f971
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.5.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/"
+DESCRIPTION = "xlsclients is a utility for listing information about the \
+client applications running on a X11 server."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "68baee57e70250ac4a7759fb78221831f97d88bc8e51dcc2e64eb3f8ca56bae3"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb
deleted file mode 100644
index 76b76e4b37..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "server font list displayer for X"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
-
-SRC_URI[md5sum] = "5774fd4f518b3f338f2b28f270e04bfc"
-SRC_URI[sha256sum] = "89b80b3a030006ab6cef717be286c12f2477894b227158b1e6133274f6ebd368"
diff --git a/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.7.bb b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.7.bb
new file mode 100644
index 0000000000..e5cd0ce6fb
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.7.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "server font list displayer for X"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "7b726945a967b44c35cddee5edd74802907a239ce2e2e515730b8a32c8e50465"
diff --git a/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb
deleted file mode 100644
index ab74f5bd67..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xmag_1.0.6.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "xmag is a tool to magnify parts of the screen"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
-DEPENDS += " libxaw libxt"
-
-SRC_URI[md5sum] = "8aaa41374935d697ee55d7dc9de70781"
-SRC_URI[sha256sum] = "87a2bc23b251e2d8f8370d3283a4d6c8dac98a30cb5749a04336cdb55c14e161"
diff --git a/meta-oe/recipes-graphics/xorg-app/xmag_1.0.7.bb b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.7.bb
new file mode 100644
index 0000000000..f3dac53451
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xmag_1.0.7.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xmag is a tool to magnify parts of the screen"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
+DEPENDS += " libxaw libxt"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "009936cc5a2706084079127b26cf55c713767650a34cb69e5682d60e33ce7461"
diff --git a/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb
deleted file mode 100644
index 23cfb26c7b..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "Display a message or query in a window"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
-
-DEPENDS += "libxaw"
-
-SRC_URI[md5sum] = "e50ffae17eeb3943079620cb78f5ce0b"
-SRC_URI[sha256sum] = "373dfb81e7a6f06d3d22485a12fcde6e255d58c6dee1bbaeb00c7d0caa9b2029"
diff --git a/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.7.bb b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.7.bb
new file mode 100644
index 0000000000..6682784fbf
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.7.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "Display a message or query in a window"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
+
+DEPENDS += "libxaw"
+
+SRC_URI[sha256sum] = "703fccb7a0b772d61d7e603c189b9739866aa97ba985c727275420f829a30356"
+SRC_URI_EXT = "xz"
diff --git a/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb b/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb
deleted file mode 100644
index c5e0e88ed3..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "X server resource database utility"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69"
-
-DEPENDS += "libxmu"
-
-SRC_URI[md5sum] = "34ae801ef994d192c70fcce2bdb2a1b2"
-SRC_URI[sha256sum] = "f23a65cfa1f7126040d68b6cf1e4567523edac10f8dc06f23d840d330c7c6946"
diff --git a/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.2.bb b/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.2.bb
new file mode 100644
index 0000000000..53214c8fe8
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xrdb_1.2.2.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "X server resource database utility"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69"
+
+DEPENDS += "libxmu"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "31f5fcab231b38f255b00b066cf7ea3b496df712c9eb2d0d50c670b63e5033f4"
+
+EXTRA_OECONF += "--with-cpp=${bindir}/cpp"
diff --git a/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb
deleted file mode 100644
index 99dc3b5aa8..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.6.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/"
-DESCRIPTION = "xrefresh - refresh all or part of an X screen"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf"
-
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "c56fa4adbeed1ee5173f464a4c4a61a6"
-SRC_URI[sha256sum] = "287dfb9bb7e8d780d07e672e3252150850869cb550958ed5f8401f0835cd6353"
diff --git a/meta-oe/recipes-graphics/xorg-app/xrefresh_1.1.0.bb b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.1.0.bb
new file mode 100644
index 0000000000..12d05b1307
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xrefresh_1.1.0.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/"
+DESCRIPTION = "xrefresh - refresh all or part of an X screen"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[sha256sum] = "29ed592d5ece35a3029004d8c46f3002f92970870a96c11e38baf7f1122b8b5f"
+SRC_URI_EXT = "xz"
diff --git a/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb b/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb
deleted file mode 100644
index b757329d94..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetmode/"
-DESCRIPTION = "xsetmode sets the mode of an XInput device to either absolute \
-or relative."
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9b37e00e7793b667cbc64f9df7b6d733"
-
-DEPENDS += "libxi"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "d074e79d380b031d2f60e4cd56538c93"
-SRC_URI[sha256sum] = "988b47cd922991c6e6adbce15dc386ac75690b61744b526c3af5a4eaa9afa0aa"
diff --git a/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb
deleted file mode 100644
index 30a1e089e3..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.2.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/"
-DESCRIPTION = "xsetroot is a root window parameter setting utility for X"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de"
-
-DEPENDS += "xbitmaps libxcursor"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "5fe769c8777a6e873ed1305e4ce2c353"
-SRC_URI[sha256sum] = "10c442ba23591fb5470cea477a0aa5f679371f4f879c8387a1d9d05637ae417c"
diff --git a/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb
new file mode 100644
index 0000000000..7e909f90cf
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.3.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/"
+DESCRIPTION = "xsetroot is a root window parameter setting utility for X"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de"
+
+DEPENDS += "xbitmaps libxcursor libxmu"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "6081b45a9eb4426e045d259d1e144b32417fb635e5b96aa90647365ac96638d1"
diff --git a/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb
deleted file mode 100644
index 9d523bd7b1..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap"
-DESCRIPTION = "The xstdcmap utility can be used to selectively define \
-standard colormap properties."
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
-
-DEPENDS += "libxmu"
-BBCLASSEXTEND = "native"
-
-SRC_URI[md5sum] = "da67142c128d18386ff145882e0afc66"
-SRC_URI[sha256sum] = "06898b3f1eaad0b205ff3c75bdefa3207868b889d4cb37b32b8267b2bbfe6f8b"
-
diff --git a/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb
new file mode 100644
index 0000000000..7d3aab501c
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.5.bb
@@ -0,0 +1,16 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap"
+DESCRIPTION = "The xstdcmap utility can be used to selectively define \
+standard colormap properties."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
+
+DEPENDS += "libxmu"
+BBCLASSEXTEND = "native"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "365847e379398499ec9ad9a299cc47a0d6e7feba9546dfd4e5b422204b5ac180"
+
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch b/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch
index d3beea8be1..a6cf16e4e9 100644
--- a/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch
+++ b/meta-oe/recipes-graphics/xorg-app/xterm/0001-Add-configure-time-check-for-setsid.patch
@@ -1,4 +1,4 @@
-From 3730a38efad969fb6f8227df07eb4461a078f5a3 Mon Sep 17 00:00:00 2001
+From b23d38f1216c4d70738edaa367cf9ecd2dd4b660 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 13 Dec 2019 12:59:26 -0800
Subject: [PATCH] Add configure time check for setsid
@@ -7,18 +7,19 @@ Do not assume glibc == linux
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
configure | 1 +
configure.in | 1 +
main.c | 4 ++--
xtermcfg.hin | 1 +
- 5 files changed, 6 insertions(+), 2 deletions(-)
+ 4 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
-index 0aafefc..03e8df0 100755
+index 72342c7..c2ec2ac 100755
--- a/configure
+++ b/configure
-@@ -5411,6 +5411,7 @@ for ac_func in \
+@@ -5803,6 +5803,7 @@ for ac_func in \
unsetenv \
sched_yield \
setpgid \
@@ -27,7 +28,7 @@ index 0aafefc..03e8df0 100755
tcgetattr \
waitpid \
diff --git a/configure.in b/configure.in
-index d2fee88..74d65df 100644
+index 56dbc25..0608c80 100644
--- a/configure.in
+++ b/configure.in
@@ -99,6 +99,7 @@ AC_CHECK_FUNCS( \
@@ -39,10 +40,10 @@ index d2fee88..74d65df 100644
tcgetattr \
waitpid \
diff --git a/main.c b/main.c
-index 5e60589..b81d2be 100644
+index 24da0eb..332174c 100644
--- a/main.c
+++ b/main.c
-@@ -2868,7 +2868,7 @@ main(int argc, char *argv[]ENVP_ARG)
+@@ -2956,7 +2956,7 @@ main(int argc, char *argv[]ENVP_ARG)
}
}
@@ -51,7 +52,7 @@ index 5e60589..b81d2be 100644
#define USE_OPENPTY 1
static int opened_tty = -1;
#endif
-@@ -4040,7 +4040,7 @@ spawnXTerm(XtermWidget xw, unsigned line_speed)
+@@ -4205,7 +4205,7 @@ spawnXTerm(XtermWidget xw, unsigned line_speed)
/*
* now in child process
*/
@@ -61,17 +62,14 @@ index 5e60589..b81d2be 100644
#else
int pgrp = getpid();
diff --git a/xtermcfg.hin b/xtermcfg.hin
-index 1dbc3b8..4f3ff5b 100644
+index 19048cd..e54d2cd 100644
--- a/xtermcfg.hin
+++ b/xtermcfg.hin
-@@ -96,6 +96,7 @@
- #undef HAVE_PUTENV /* AC_CHECK_FUNCS(putenv) */
+@@ -98,6 +98,7 @@
#undef HAVE_SCHED_YIELD /* AC_CHECK_FUNCS(sched_yield) */
+ #undef HAVE_SETITIMER /* CF_SETITIMER */
#undef HAVE_SETPGID /* AC_CHECK_FUNCS(setpgid) */
+#undef HAVE_SETSID /* AC_CHECK_FUNCS(setsid) */
#undef HAVE_STDINT_H /* AC_PROG_CC_STDC */
#undef HAVE_STDLIB_H /* AC_CHECK_HEADERS(stdlib.h) */
- #undef HAVE_STRFTIME /* AC_CHECK_FUNCS(strftime) */
---
-2.24.1
-
+ #undef HAVE_STDNORETURN_H /* CF_C11_NORETURN */
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_362.bb b/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
deleted file mode 100644
index 2bbcd9211c..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xterm_362.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-SUMMARY = "xterm is the standard terminal emulator for the X Window System"
-DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native"
-
-LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=996b1ce0584c0747b17b57654cc81e8e"
-
-SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
- file://0001-Add-configure-time-check-for-setsid.patch \
- "
-
-SRC_URI[md5sum] = "ee6710bbbe18000236c6e6d7b55b54d5"
-SRC_URI[sha256sum] = "1d4ffe226fa8f021859bbc3007788ff63a46a31242d9bd9a7bd7ebe24e81aca2"
-PACKAGECONFIG ?= ""
-PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
-
-# Let xterm install .desktop files
-inherit mime-xdg
-
-EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
- --x-libraries=${STAGING_LIBDIR} \
- FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
- --disable-imake \
- --disable-rpath-hack \
- --disable-setuid \
- --with-app-defaults=${datadir}/X11/app-defaults \
- "
-
-B = "${S}"
-
-do_configure() {
- gnu-configize --force
- sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
- oe_runconf
-}
-
-do_install_append() {
- oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}"
-}
-
-RPROVIDES_${PN} = "virtual/x-terminal-emulator"
-
-# busybox can supply resize too
-inherit update-alternatives
-
-ALTERNATIVE_${PN} = "resize x-terminal-emulator"
-ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm"
-# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm.
-ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9"
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_388.bb b/meta-oe/recipes-graphics/xorg-app/xterm_388.bb
new file mode 100644
index 0000000000..8578f0cc97
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xterm_388.bb
@@ -0,0 +1,50 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "xterm is the standard terminal emulator for the X Window System"
+DEPENDS = "libxaw xorgproto libxext libxau libxinerama libxpm ncurses desktop-file-utils-native"
+
+LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=9c96124b492c0c02356850c243aaeca2"
+
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
+ file://0001-Add-configure-time-check-for-setsid.patch \
+ "
+
+SRC_URI[sha256sum] = "ac429345e6f937a5945a89d425a265fee6c215fc669dbdc6a0326e21f4c5f674"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
+
+# Let xterm install .desktop files
+inherit mime-xdg
+
+EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+ FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
+ --disable-imake \
+ --disable-rpath-hack \
+ --disable-setuid \
+ --with-app-defaults=${datadir}/X11/app-defaults \
+ "
+
+B = "${S}"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+do_configure() {
+ gnu-configize --force
+ sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
+ oe_runconf
+}
+
+do_install:append() {
+ oe_runmake install-desktop DESTDIR="${D}" DESKTOP_FLAGS="--dir=${D}${DESKTOPDIR}"
+}
+
+RPROVIDES:${PN} = "virtual-x-terminal-emulator"
+
+# busybox can supply resize too
+inherit update-alternatives
+
+ALTERNATIVE:${PN} = "resize x-terminal-emulator"
+ALTERNATIVE_TARGET[x-terminal-emulator] = "${bindir}/xterm"
+# rxvt-unicode defaults to priority 10. Let's be one point lower to let it override xterm.
+ALTERNATIVE_PRIORITY[x-terminal-emulator] = "9"
diff --git a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb
deleted file mode 100644
index 1ad48b071e..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.7.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "xwd is a tool to capture an X window or screen to file"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/"
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf"
-DEPENDS = "libxmu libxkbfile"
-
-SRC_URI[md5sum] = "11794a8eba6d295a192a8975287fd947"
-SRC_URI[sha256sum] = "cd6815b8b9e0b98e284d3d732fb12162159cb9dcee4f45a7d4c0bd8b308a6794"
diff --git a/meta-oe/recipes-graphics/xorg-app/xwd_1.0.9.bb b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.9.bb
new file mode 100644
index 0000000000..4a05a4437a
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xwd_1.0.9.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xwd is a tool to capture an X window or screen to file"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf"
+DEPENDS = "libxmu libxkbfile"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "dc121b84947eb4a3d1131bff1e9844cfa2124d95b47b35f9932340fa931fbd3f"
diff --git a/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb
deleted file mode 100644
index 7cb550d276..0000000000
--- a/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "X.Org X11 X client utilities"
-HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/"
-DESCRIPTION = "xwud allows X users to display in a window an image saved \
-in a specially formatted dump file, such as produced by xwd."
-SECTION = "x11/app"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794"
-
-SRC_URI[md5sum] = "79972093bb0766fcd0223b2bd6d11932"
-SRC_URI[sha256sum] = "99997051f8a892313f22edf41dab45864e86e7062ee9012d5dbb6a40fc6b10a9"
diff --git a/meta-oe/recipes-graphics/xorg-app/xwud_1.0.6.bb b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.6.bb
new file mode 100644
index 0000000000..1be0b5cd77
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xwud_1.0.6.bb
@@ -0,0 +1,12 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/"
+DESCRIPTION = "xwud allows X users to display in a window an image saved \
+in a specially formatted dump file, such as produced by xwd."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794"
+
+SRC_URI_EXT = "xz"
+SRC_URI[sha256sum] = "64048cd15eba3cd9a3d2e3280650391259ebf6b529f2101d1a20f441038c1afe"
diff --git a/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb b/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb
deleted file mode 100644
index 4d26db6681..0000000000
--- a/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.2.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require xorg-data-common.inc
-
-SUMMARY = "Common X11 Bitmaps"
-LICENSE = "MIT"
-DEPENDS += "libxmu"
-RDEPENDS_${PN}-dev = ""
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f"
-
-SRC_URI[md5sum] = "cedeef095918aca86da79a2934e03daf"
-SRC_URI[sha256sum] = "b9f0c71563125937776c8f1f25174ae9685314cbd130fb4c2efce811981e07ee"
diff --git a/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb b/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb
new file mode 100644
index 0000000000..5f49152972
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.3.bb
@@ -0,0 +1,7 @@
+require xorg-data-common.inc
+
+SUMMARY = "Common X11 Bitmaps"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f"
+
+SRC_URI[sha256sum] = "ad6cad54887832a17d86c2ccfc5e52a1dfab090f8307b152c78b0e1529cd0f7a"
diff --git a/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb b/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb
new file mode 100644
index 0000000000..9ebd2d12fd
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-data/xcursor-themes_1.0.7.bb
@@ -0,0 +1,11 @@
+require xorg-data-common.inc
+
+SUMMARY = "Default set of cursor themes for use with libXcursor"
+
+DEPENDS:append = " libxcursor xcursorgen-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8"
+
+SRC_URI[sha256sum] = "95bae8f48823d894a05bf42dfbf453674ab7dbdeb11e2bc079e8525ad47378c8"
+
+FILES:${PN} += "${datadir}/icons"
diff --git a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
index 958fecc116..17fe00a9b8 100644
--- a/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
+++ b/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
@@ -1,11 +1,11 @@
HOMEPAGE = "http://www.x.org"
SECTION = "x11/data"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
-XORG_PN = "${BPN}"
+DEPENDS = "util-macros-native virtual/libx11"
-SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2"
-S = "${WORKDIR}/${XORG_PN}-${PV}"
+SRC_URI_EXT = "xz"
+SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.${SRC_URI_EXT}"
inherit features_check autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
index f4b8b00de5..042db48acb 100644
--- a/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
+++ b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
@@ -1,12 +1,13 @@
DESCRIPTION = "X documentation"
HOMEPAGE = "http://www.x.org"
SECTION = "x11/docs"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
-SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.bz2"
+DEPENDS = "util-macros-native"
-S = "${WORKDIR}/${BPN}-${PV}"
-
-INC_PR = "r1"
+SRC_URI_EXT = "bz2"
+SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.${SRC_URI_EXT}"
inherit autotools pkgconfig
+
+
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb b/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb
new file mode 100644
index 0000000000..4cef981bc8
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-doc/xorg-docs_1.7.2.bb
@@ -0,0 +1,7 @@
+require xorg-doc-common.inc
+
+SUMMARY = "Documentation for the X Window System"
+
+LIC_FILES_CHKSUM = "file://general/License.xml;md5=f2677c20a4066714e233e9bbd8659aa2"
+
+SRC_URI[sha256sum] = "2391b8af472626c12d3c3814b5e7a0ea43c3a96eda94255b7ed8bdff0fbf08e3"
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb
deleted file mode 100644
index 85687611e7..0000000000
--- a/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.11.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require xorg-doc-common.inc
-PE = "1"
-PR = "${INC_PR}.0"
-
-DEPENDS += "util-macros"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
-
-SRC_URI[md5sum] = "ee6dc0a8a693a908857af328b2462661"
-SRC_URI[sha256sum] = "e71ce1df82dcc51eb14be6f42171dcc6bdd11ef46c0c605d6da8af12bd73b74c"
-
-FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb
new file mode 100644
index 0000000000..21a0ed74fa
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.12.bb
@@ -0,0 +1,11 @@
+require xorg-doc-common.inc
+
+PE = "1"
+
+SUMMARY = "SGML entities and XML/CSS stylesheets used in X.Org docs"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
+
+SRC_URI[sha256sum] = "65a9fdddedc17bd5e9c0b00d904960f03f047c3a62de5458989d493c29fec806"
+
+FILES:${PN} += "${datadir}/sgml/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb
deleted file mode 100644
index 1f63047c78..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.7.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-input.inc
-SUMMARY = "X.Org X server -- tslib input driver"
-DEPENDS += "tslib"
-RRECOMMENDS_${PN} += "tslib-calibrate"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=f1524518264f7776a9707c19c8affbbf"
-
-SRC_URI = "https://github.com/merge/xf86-input-tslib/releases/download/${PV}/xf86-input-tslib-${PV}.tar.xz \
- file://99-xf86-input-tslib.rules \
-"
-
-SRC_URI[md5sum] = "c5ffb03bccccfa1c4ba11079fef0036e"
-SRC_URI[sha256sum] = "1439a9efa50eb481e6a0ab5319ab0765d457732e7da64e3c15f3c0cd13b44297"
-
-do_install_append() {
- install -d ${D}${nonarch_base_libdir}/udev/rules.d
- install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/
-}
-
-FILES_${PN} += "${nonarch_base_libdir}/udev"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb
new file mode 100644
index 0000000000..9f445ff265
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_1.1.1.bb
@@ -0,0 +1,20 @@
+require recipes-graphics/xorg-driver/xorg-driver-input.inc
+
+SUMMARY = "X.Org X server -- tslib input driver"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f1524518264f7776a9707c19c8affbbf"
+
+DEPENDS += "tslib"
+RRECOMMENDS:${PN} += "tslib-calibrate"
+
+SRC_URI = "https://github.com/merge/xf86-input-tslib/releases/download/${PV}/xf86-input-tslib-${PV}.tar.xz \
+ file://99-xf86-input-tslib.rules \
+"
+
+SRC_URI[sha256sum] = "b596168c4ed2f1023212dc828ce49cbe82a0bbd1aac3c5e2958154d78870ca88"
+
+do_install:append() {
+ install -d ${D}${nonarch_base_libdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/udev"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb
deleted file mode 100644
index 88fb4b99a1..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-input.inc
-SUMMARY = "X.Org X server -- void input driver"
-PR = "r22"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4be6a915bfbf111cd88706fc6a6f141b"
-
-SRC_URI[md5sum] = "5227013b52b3ca85d6b7ec8adea988d4"
-SRC_URI[sha256sum] = "f96e4f0a622821bf43a74bd419f2a18423343996c9d243c7e1430ba2d142339c"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb
new file mode 100644
index 0000000000..7a12272491
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.2.bb
@@ -0,0 +1,7 @@
+require recipes-graphics/xorg-driver/xorg-driver-input.inc
+SUMMARY = "X.Org X server -- void input driver"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4be6a915bfbf111cd88706fc6a6f141b"
+
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
+SRC_URI[sha256sum] = "a211d8e21ce0e2ed8af5b8a2e8d4409d70c9c7e5ee528f5e6002ad279bf07885"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-amdgpu_23.0.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-amdgpu_23.0.0.bb
new file mode 100644
index 0000000000..c417e95d0a
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-amdgpu_23.0.0.bb
@@ -0,0 +1,23 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
+
+SUMMARY = "X.Org X server -- AMD Radeon GPU display driver"
+
+DESCRIPTION = "Xorg driver for AMD Radeon GPUs using the amdgpu kernel driver"
+
+SRC_URI[sha256sum] = "08c38287d39b999fd61ecb6e7b23d5079762e2b4b2179b3567973ed9aaf71222"
+
+XORG_DRIVER_COMPRESSOR = ".tar.gz"
+DEPENDS += "virtual/libx11 libdrm virtual/libgbm xorgproto"
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+PACKAGECONFIG ??= "udev glamor"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
+PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor"
+
+RRECOMMENDS:${PN} += "linux-firmware-amdgpu"
+
+FILES:${PN}-config = "${datadir}/X11/xorg.conf.d"
+FILES:${PN} += "${datadir}/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb
index b436ef1e4a..8b4526fc5e 100644
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-armsoc_1.4.1.bb
@@ -1,14 +1,14 @@
require recipes-graphics/xorg-driver/xorg-driver-video.inc
SUMMARY = "X.Org X server -- ARM SOC display driver"
-LICENSE = "MIT-X & GPLv2+"
+LICENSE = "MIT & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602"
DEPENDS += "virtual/libx11 libdrm xorgproto"
SRCREV = "8bbdb2ae3bb8ef649999a8da33ddbe11a04763b8"
-SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc"
+SRC_URI = "git://anongit.freedesktop.org/xorg/driver/xf86-video-armsoc;branch=master"
S = "${WORKDIR}/git"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
+RDEPENDS:${PN} += "xserver-xorg-module-exa"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch
deleted file mode 100644
index 7dfa233423..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati/0001-Fix-link-failure-with-gcc-10.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From cebbeaa9d0bdc18377faef27ea9ffd38e509d180 Mon Sep 17 00:00:00 2001
-From: Adam Jackson <ajax@redhat.com>
-Date: Tue, 4 Feb 2020 16:38:06 -0500
-Subject: [PATCH] Fix link failure with gcc 10
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Without the 'extern' this looks like a definition not just a
-declaration, in every file that includes the header. gcc 10 is stricter
-about this kind of multiple definition.
-
-Upstream-Status: Backport [https://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=f223035f4ffcff2a9296d1e907a5193f8e8845a3]
-Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
----
- src/drmmode_display.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/drmmode_display.h b/src/drmmode_display.h
-index 96eaef0..8cd8a0a 100644
---- a/src/drmmode_display.h
-+++ b/src/drmmode_display.h
-@@ -262,7 +262,7 @@ Bool drmmode_wait_vblank(xf86CrtcPtr crtc, drmVBlankSeqType type,
- uint64_t *ust, uint32_t *result_seq);
-
-
--miPointerSpriteFuncRec drmmode_sprite_funcs;
-+extern miPointerSpriteFuncRec drmmode_sprite_funcs;
-
-
- #endif
---
-2.28.0
-
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
deleted file mode 100644
index d3395496af..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_19.0.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
-
-SUMMARY = "X.Org X server -- ATI Radeon video driver"
-
-DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
-
-DEPENDS += "virtual/libx11 libxvmc drm \
- virtual/libgl xorgproto libpciaccess"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-SRC_URI += "file://0001-Fix-link-failure-with-gcc-10.patch"
-
-SRC_URI[md5sum] = "47eccf71823206ade9629cba69de7ef6"
-SRC_URI[sha256sum] = "5cb6015d8664546ad1311bc9c363d7bc41ebf60e7046ceb44dd38e5b707961b0"
-
-EXTRA_OECONF += "--disable-glamor"
-
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-RRECOMMENDS_${PN} += "linux-firmware-radeon"
-
-FILES_${PN} += "${datadir}/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb
new file mode 100644
index 0000000000..57ea9d2d32
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_22.0.0.bb
@@ -0,0 +1,33 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
+
+SUMMARY = "X.Org X server -- ATI Radeon video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm \
+ virtual/libgl xorgproto libpciaccess"
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
+SRC_URI[sha256sum] = "c8c8bb56d3f6227c97e59c3a3c85a25133584ceb82ab5bc05a902a743ab7bf6d"
+
+PACKAGECONFIG ??= "udev"
+PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
+PACKAGECONFIG[glamor] = "--enable-glamor,--disable-glamor"
+
+RDEPENDS:${PN}:append = "\
+ ${@bb.utils.contains('PACKAGECONFIG', 'glamor', 'libegl', '', d)} \
+ mesa-megadriver \
+ xserver-xorg-extension-glx \
+ xserver-xorg-module-exa \
+"
+
+RRECOMMENDS:${PN} += "linux-firmware-radeon"
+
+PACKAGES =+ "${PN}-config"
+
+FILES:${PN}-config = "${datadir}/X11/xorg.conf.d"
+FILES:${PN} += "${datadir}/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch
deleted file mode 100644
index ceae6dfba2..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57606]
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From c9014a8f3c9b691b5aa7b1f3ec66cf7c84b8211b Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Thu, 29 Nov 2012 11:00:43 +0000
-Subject: [PATCH] build: dont use AC_CHECK_FILE when enabling DRI
-
-Automatically enabling or disabling a feature based on installed files isn't
-deterministic, and AC_CHECK_FILE returns an error when cross-compiling.
-
-Fix this by enabling DRI by default, and removing the explicit file checks as
-pkg-config is good enough.
-
-(#57606)
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
----
- configure.ac | 25 ++-----------------------
- 1 file changed, 2 insertions(+), 23 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index fca1a9c..d2aa2ed 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -55,9 +55,9 @@ AC_ARG_WITH(xorg-module-dir,
- [moduledir="$libdir/xorg/modules"])
-
- AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri],
-- [Disable DRI support [[default=auto]]]),
-+ [Disable DRI support [[default=enabled]]]),
- [DRI="$enableval"],
-- [DRI=auto])
-+ [DRI=yes])
- AC_ARG_ENABLE(exa,
- AS_HELP_STRING([--disable-exa],
- [Disable EXA support [[default=enabled]]]),
-@@ -76,27 +76,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
-
- # Checks for libraries.
-
--if test "x$DRI" != xno; then
-- AC_CHECK_FILE([${sdkdir}/dri.h],
-- [have_dri_h="yes"], [have_dri_h="no"])
-- AC_CHECK_FILE([${sdkdir}/sarea.h],
-- [have_sarea_h="yes"], [have_sarea_h="no"])
-- AC_CHECK_FILE([${sdkdir}/dristruct.h],
-- [have_dristruct_h="yes"], [have_dristruct_h="no"])
--fi
--
--AC_MSG_CHECKING([whether to include DRI support])
--if test "x$DRI" = xauto; then
-- if test "x$have_dri_h" = xyes && \
-- test "x$have_sarea_h" = xyes && \
-- test "x$have_dristruct_h" = xyes; then
-- DRI="yes"
-- else
-- DRI="no"
-- fi
--fi
--AC_MSG_RESULT([$DRI])
--
- AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
- if test "x$DRI" = xyes; then
- PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
---
-1.7.10.4
-
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb
deleted file mode 100644
index c113d51dcd..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-SUMMARY = "X.Org X server -- Matrox MGA display driver"
-
-DESCRIPTION = "mga is an Xorg driver for Matrox video cards"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc"
-
-SRC_URI += "file://checkfile.patch"
-
-DEPENDS += "virtual/libx11 libpciaccess"
-
-COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
-
-SRC_URI[md5sum] = "b8fc99b4adea8bfe80156b13df4b6c9c"
-SRC_URI[sha256sum] = "268946e1a13e9d80e4f724a0740df9e6e8c8bad37697fcbf456924e9fdbb5d79"
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
-PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xorgproto,xserver-xorg-extension-dri"
-
-RDEPENDS_${PN} = "xserver-xorg-module-exa"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb
new file mode 100644
index 0000000000..34b3e4cde6
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_2.0.1.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+SUMMARY = "X.Org X server -- Matrox MGA display driver"
+
+DESCRIPTION = "mga is an Xorg driver for Matrox video cards"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4aa220f495ce9be5ce4243d21ebac14f"
+
+DEPENDS += "virtual/libx11 libpciaccess"
+
+COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
+
+XORG_DRIVER_COMPRESSOR = ".tar.xz"
+SRC_URI[sha256sum] = "27a33b70837965bb4a5f27fd260be085ca5bba837a4e62907f093c2f205603ab"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
+PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xorgproto,xserver-xorg-extension-dri"
+
+RDEPENDS:${PN} = "xserver-xorg-module-exa"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch
new file mode 100644
index 0000000000..e49c99574e
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau/0001-nouveau-fixup-driver-for-new-X-server-ABI.patch
@@ -0,0 +1,66 @@
+From 7ae2f6ba4cbf29fc3f1b08579b838679a3301cb3 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Mon, 13 Jul 2020 09:20:15 +1000
+Subject: [PATCH] nouveau: fixup driver for new X server ABI
+
+Upstream-Status: Backport [https://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=e80e73ced69b15662103d0fd6837db4ce6c6eb5b]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/compat-api.h | 4 ++++
+ src/nouveau_exa.c | 2 +-
+ src/nv_driver.c | 6 +++---
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/compat-api.h b/src/compat-api.h
+index fde2f4b..8a1fcf9 100644
+--- a/src/compat-api.h
++++ b/src/compat-api.h
+@@ -102,4 +102,8 @@
+
+ #endif
+
++#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2)
++#define secondary_dst slave_dst
++#endif
++
+ #endif
+diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
+index 55df6f8..db3b112 100644
+--- a/src/nouveau_exa.c
++++ b/src/nouveau_exa.c
+@@ -157,7 +157,7 @@ nouveau_exa_destroy_pixmap(ScreenPtr pScreen, void *priv)
+
+ #ifdef NOUVEAU_PIXMAP_SHARING
+ static Bool
+-nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr slave, void **handle_p)
++nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr secondary, void **handle_p)
+ {
+ struct nouveau_bo *bo = nouveau_pixmap_bo(ppix);
+ struct nouveau_pixmap *nvpix = nouveau_pixmap(ppix);
+diff --git a/src/nv_driver.c b/src/nv_driver.c
+index e72a6b6..f9ab4af 100644
+--- a/src/nv_driver.c
++++ b/src/nv_driver.c
+@@ -559,16 +559,16 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty)
+ {
+ RegionRec pixregion;
+
+- PixmapRegionInit(&pixregion, dirty->slave_dst);
++ PixmapRegionInit(&pixregion, dirty->secondary_dst);
+
+- DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion);
++ DamageRegionAppend(&dirty->secondary_dst->drawable, &pixregion);
+ #ifdef HAS_DIRTYTRACKING_ROTATION
+ PixmapSyncDirtyHelper(dirty);
+ #else
+ PixmapSyncDirtyHelper(dirty, &pixregion);
+ #endif
+
+- DamageRegionProcessPending(&dirty->slave_dst->drawable);
++ DamageRegionProcessPending(&dirty->secondary_dst->drawable);
+ RegionUninit(&pixregion);
+ }
+
+--
+2.33.1
+
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb
deleted file mode 100644
index 5c9061a058..0000000000
--- a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.16.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require recipes-graphics/xorg-driver/xorg-driver-video.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-
-SUMMARY = "X.Org X server -- nouveau video driver"
-
-DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
-
-DEPENDS += "virtual/libx11 libxvmc drm xorgproto \
- virtual/libgl libpciaccess"
-RDEPENDS_${PN} += "xserver-xorg-module-exa"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES += "opengl"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-SRC_URI[md5sum] = "ecd9be89d853301167e3d564c49f7a8e"
-SRC_URI[sha256sum] = "304060806415579cdb5c1f71f1c54d11cacb431b5552b170decbc883ed43bf06"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.17.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.17.bb
new file mode 100644
index 0000000000..fbf6406caf
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.17.bb
@@ -0,0 +1,21 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
+
+SUMMARY = "X.Org X server -- nouveau video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm xorgproto \
+ virtual/libgl libpciaccess"
+RDEPENDS:${PN} += "xserver-xorg-module-exa"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+CFLAGS += "-Wno-error=implicit-function-declaration"
+
+SRC_URI += "file://0001-nouveau-fixup-driver-for-new-X-server-ABI.patch"
+SRC_URI[sha256sum] = "499322e27a55c8183166bf2dd1e47d085eb834143e0d7036baba8427b90c156b"
diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
index d7dd109322..36f05b7277 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
@@ -7,8 +7,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=5dfa0fdf45473b4ca0acf37d854df10e"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
+
+UPSTREAM_CHECK_REGEX = "font\-adobe\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
diff --git a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
index 5c00b4b6ad..8b83ba378f 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
@@ -7,8 +7,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=fa13e704b7241f60ef9105cc041b9732"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
+
+UPSTREAM_CHECK_REGEX = "font\-adobe\-utopia\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
index f9bdaf366a..5d321acc6e 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
@@ -7,8 +7,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=cffd5e9c4b61b3d74166ca74b99e460e"
DEPENDS += "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
+
+UPSTREAM_CHECK_REGEX = "font\-bh\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
index 872ef4d016..557eeb17bd 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
@@ -7,8 +7,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=0d221a9cd144806cb469735cc4775939"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
+
+UPSTREAM_CHECK_REGEX = "font\-bh\-lucidatypewriter\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
diff --git a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
index a4ae91a388..b280a32603 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
@@ -7,8 +7,10 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=30330812324ff9d9bd9ea645bb944427"
DEPENDS = "util-macros-native font-util-native bdftopcf-native"
-RDEPENDS_${PN} = "encodings font-util"
-RDEPENDS_${PN}_class-native = "font-util-native"
+RDEPENDS:${PN} = "encodings font-util"
+RDEPENDS:${PN}:class-native = "font-util-native"
+
+UPSTREAM_CHECK_REGEX = "font\-bitstream\-100dpi\-(?P<pver>\d+(\.\d+)+).tar.gz"
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
diff --git a/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
index ee8cb360ad..ba4575bc29 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
@@ -7,7 +7,7 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=8b32ccac3ad25e75e68478deb7780265"
DEPENDS = "util-macros-native font-util-native bdftopcf-native"
-RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS:${PN} = "encodings font-util"
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
diff --git a/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
index 355fb528f8..852f93602f 100644
--- a/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
+++ b/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
@@ -7,7 +7,7 @@ LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8"
DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
-RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS:${PN} = "encodings font-util"
inherit features_check
# depends on bdftopcf-native -> virtual/libx11
diff --git a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
index 06778b3e81..0fe1876c75 100644
--- a/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
+++ b/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
@@ -5,7 +5,7 @@ inherit packagegroup features_check
# rdepends on font recipes with this restriction
REQUIRED_DISTRO_FEATURES = "x11"
-RDEPENDS_${PN} = "\
+RDEPENDS:${PN} = "\
font-adobe-100dpi \
font-adobe-utopia-100dpi \
font-bh-100dpi \
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/0001-lbx_zlib-Mark-declration-with-extern.patch b/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/0001-lbx_zlib-Mark-declration-with-extern.patch
deleted file mode 100644
index 32a24b4be1..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/0001-lbx_zlib-Mark-declration-with-extern.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 95ed4b743f197e20f1884a326d5a7128187a7ba6 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 13 Aug 2020 17:56:30 -0700
-Subject: [PATCH] lbx_zlib: Mark declration with extern
-
-Fixes build with gcc10/-fno-common
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lbx_zlib/lbx_zlib.h | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/lbx_zlib/lbx_zlib.h b/src/lbx_zlib/lbx_zlib.h
-index 8ae8956..bec3b96 100644
---- a/src/lbx_zlib/lbx_zlib.h
-+++ b/src/lbx_zlib/lbx_zlib.h
-@@ -136,9 +136,9 @@ extern void Xfree(pointer /*ptr*/);
- #endif
-
- /* lbx_zlib.c */
--unsigned long stream_out_compressed;
--unsigned long stream_out_uncompressed;
--unsigned long stream_out_plain;
--unsigned long stream_in_compressed;
--unsigned long stream_in_uncompressed;
--unsigned long stream_in_plain;
-+extern unsigned long stream_out_compressed;
-+extern unsigned long stream_out_uncompressed;
-+extern unsigned long stream_out_plain;
-+extern unsigned long stream_in_compressed;
-+extern unsigned long stream_in_uncompressed;
-+extern unsigned long stream_in_plain;
---
-2.28.0
-
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch b/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch
deleted file mode 100644
index f9f4a6382c..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff -uNr liblbxutil-1.1.0.orig/configure.ac liblbxutil-1.1.0/configure.ac
---- liblbxutil-1.1.0.orig/configure.ac 2009-12-04 23:52:04.000000000 +0100
-+++ liblbxutil-1.1.0/configure.ac 2009-12-16 10:45:00.000000000 +0100
-@@ -50,4 +50,5 @@
-
- AC_OUTPUT([Makefile
- src/Makefile
-+ src/image/Makefile
- lbxutil.pc])
-diff -uNr liblbxutil-1.1.0.orig/src/image/Makefile.am liblbxutil-1.1.0/src/image/Makefile.am
---- liblbxutil-1.1.0.orig/src/image/Makefile.am 1970-01-01 01:00:00.000000000 +0100
-+++ liblbxutil-1.1.0/src/image/Makefile.am 2009-12-16 10:45:00.000000000 +0100
-@@ -0,0 +1,15 @@
-+# evil hack
-+CFLAGS=$(CFLAGS_FOR_BUILD)
-+CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
-+LDFLAGS=$(LDFLAGS_FOR_BUILD)
-+
-+CC=$(CC_FOR_BUILD)
-+LIBTOOL = @LIBTOOL@ --tag=CC
-+
-+noinst_PROGRAMS = mkg3states
-+
-+mkg3states_SOURCES = \
-+ mkg3states.c
-+
-+mkg3states_CFLAGS=$(CFLAGS_FOR_BUILD)
-+mkg3states_LDFLAGS=$(LDFLAGS_FOR_BUILD)
-diff -uNr liblbxutil-1.1.0.orig/src/Makefile.am liblbxutil-1.1.0/src/Makefile.am
---- liblbxutil-1.1.0.orig/src/Makefile.am 2009-12-16 10:48:11.000000000 +0100
-+++ liblbxutil-1.1.0/src/Makefile.am 2009-12-16 10:46:47.000000000 +0100
-@@ -3,10 +3,7 @@
- AM_CFLAGS = $(CWARNFLAGS) $(LBXUTIL_CFLAGS)
- INCLUDES = -I$(top_srcdir)/include
-
--noinst_PROGRAMS = mkg3states
--
--mkg3states_SOURCES = \
-- $(srcdir)/image/mkg3states.c
-+SUBDIRS = image
-
- liblbxutil_la_SOURCES = \
- $(srcdir)/lbx_zlib/reqstats.h \
-@@ -38,9 +35,8 @@
-
- $(srcdir)/image/dfaxg42d.c: g3states.h
-
--g3states.h: mkg3states
-- -rm -f g3states.h
-- $(AM_V_GEN) ./mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
-+g3states.h: image/mkg3states
-+ $(AM_V_GEN) ./image/mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
-
- liblbxutil_la_LDFLAGS = -version-number 1:0:0 -no-undefined
-
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb b/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
deleted file mode 100644
index 58b4f31b17..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require recipes-graphics/xorg-lib/xorg-lib-common.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=b0d5bdc98f7ebab3b6c3791d9bf40907"
-
-SUMMARY = "XFIXES Extension"
-DEPENDS += " xorgproto zlib"
-PE = "1"
-PR = "r11"
-
-SRC_URI += "file://mkg3states-1.1.patch \
- file://0001-lbx_zlib-Mark-declration-with-extern.patch \
- "
-SRC_URI[md5sum] = "273329a78c2e9ea189ac416c7fde94a1"
-SRC_URI[sha256sum] = "c6b6ff7858ec619cafa8205debca6bf78c5610a2844a782ed643c7fd017cf8ae"
-
-export CC_FOR_BUILD = "gcc"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb
deleted file mode 100644
index cb1ffcd8cc..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-require recipes-graphics/xorg-lib/xorg-lib-common.inc
-SUMMARY = "X Athena Widget Set"
-DEPENDS += "xorgproto virtual/libx11 libxext libxt libxmu libxpm libxau xmlto-native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=1c65719d42900bb81b83e8293c20a364"
-
-PE = "1"
-PR = "r2"
-
-SRC_URI[md5sum] = "e5e06eb14a608b58746bdd1c0bd7b8e3"
-SRC_URI[sha256sum] = "8ef8067312571292ccc2bbe94c41109dcf022ea5a4ec71656a83d8cce9edb0cd"
-
-do_install_append () {
- ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6
- ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7
- ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so
-}
-
-PACKAGES =+ "libxaw6 libxaw7 libxaw8"
-
-FILES_libxaw6 = "${libdir}/libXaw*.so.6*"
-FILES_libxaw7 = "${libdir}/libXaw*.so.7*"
-FILES_libxaw8 = "${libdir}/libXaw8.so.8*"
-
-# Avoid dependency on libxaw as it is not build
-RDEPENDS_${PN}-dev = ""
-
-XORG_PN = "libXaw"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.16.bb b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.16.bb
new file mode 100644
index 0000000000..ee14cf747d
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.16.bb
@@ -0,0 +1,26 @@
+require recipes-graphics/xorg-lib/xorg-lib-common.inc
+SUMMARY = "X Athena Widget Set"
+DEPENDS += "xorgproto virtual/libx11 libxext libxt libxmu libxpm libxau xmlto-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=1c65719d42900bb81b83e8293c20a364"
+
+PE = "1"
+
+XORG_PN = "libXaw"
+
+SRC_URI[sha256sum] = "731d572b54c708f81e197a6afa8016918e2e06dfd3025e066ca642a5b8c39c8f"
+
+do_install:append () {
+ ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6
+ ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7
+ ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so
+}
+
+PACKAGES =+ "libxaw6 libxaw7 libxaw8"
+
+FILES:libxaw6 = "${libdir}/libXaw*.so.6*"
+FILES:libxaw7 = "${libdir}/libXaw*.so.7*"
+FILES:libxaw8 = "${libdir}/libXaw8.so.8*"
+
+# Avoid dependency on libxaw as it is not build
+RDEPENDS:${PN}-dev = ""
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb b/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
deleted file mode 100644
index 103da1f085..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require recipes-graphics/xorg-lib/xorg-lib-common.inc
-SUMMARY = "X11 keyboard UI presentation library"
-LICENSE = "SGI-1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
-DEPENDS += "virtual/libx11 libxt libxkbfile"
-PE = "1"
-PR = "r10"
-
-SRC_URI[md5sum] = "1143e456f7429e18e88f2eadb2f2b6b1"
-SRC_URI[sha256sum] = "20c23101d63234ee5f6d696dfa069b29c6c58e39eff433bcd7705b50b3ffa214"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.0.bb b/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.0.bb
deleted file mode 100644
index 4fe9992f20..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.0.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-lib/xorg-lib-common.inc
-SUMMARY = "X Athena Widget Set"
-DEPENDS += "xorgproto libxfixes libxrandr"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0"
-
-SRC_URI = "http://xorg.freedesktop.org/archive/individual/lib/libXpresent-${PV}.tar.bz2"
-SRC_URI[md5sum] = "edd87ac15bb666081898dd7382fcbff5"
-SRC_URI[sha256sum] = "c11ae015141a9afbe10f4f2b8ee00b11adca6373dc1b9808d7c6c138b2da7b8a"
-
-XORG_PN = "libXpresent"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.1.bb b/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.1.bb
new file mode 100644
index 0000000000..3b15153b6b
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libxpresent_1.0.1.bb
@@ -0,0 +1,12 @@
+require recipes-graphics/xorg-lib/xorg-lib-common.inc
+SUMMARY = "X Athena Widget Set"
+DEPENDS += "xorgproto libxfixes libxrandr"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0"
+
+XORG_EXT = "tar.bz2"
+
+SRC_URI = "http://xorg.freedesktop.org/archive/individual/lib/libXpresent-${PV}.tar.xz"
+SRC_URI[sha256sum] = "b964df9e5a066daa5e08d2dc82692c57ca27d00b8cc257e8e960c9f1cf26231b"
+
+XORG_PN = "libXpresent"
diff --git a/meta-oe/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.3.bb b/meta-oe/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.3.bb
deleted file mode 100644
index f935edd6fe..0000000000
--- a/meta-oe/recipes-graphics/xorg-lib/xcb-util-cursor_0.1.3.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-graphics/xorg-lib/xcb-util.inc
-
-SUMMARY = "XCB port of libXcursor"
-
-DEPENDS += "xcb-util xcb-util-renderutil xcb-util-image"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ce469b61c70ff8d7cce0547476891974"
-
-SRC_URI[md5sum] = "6ac3b17cba51aaaa36ba035a53527214"
-SRC_URI[sha256sum] = "05a10a0706a1a789a078be297b5fb663f66a71fb7f7f1b99658264c35926394f"
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/0001-Tweak-app-defaults.patch b/meta-oe/recipes-graphics/xscreensaver/files/0001-Tweak-app-defaults.patch
new file mode 100644
index 0000000000..1d0d20da2f
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/files/0001-Tweak-app-defaults.patch
@@ -0,0 +1,304 @@
+From f2c592352360e52a7c817a1adcc8b09fd92cd941 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Jul 2022 09:58:24 -0700
+Subject: [PATCH 1/2] Tweak app defaults
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ driver/XScreenSaver.ad.in | 259 +-------------------------------------
+ 1 file changed, 6 insertions(+), 253 deletions(-)
+
+--- a/driver/XScreenSaver.ad.in
++++ b/driver/XScreenSaver.ad.in
+@@ -29,7 +29,7 @@
+ ! /* (xrdb prevention kludge: whole file)
+
+ *mode: random
+-*timeout: 0:10:00
++*timeout: 0:15:00
+ *cycle: 0:10:00
+ *lockTimeout: 0:00:00
+ *passwdTimeout: 0:00:30
+@@ -38,7 +38,7 @@
+ *dpmsStandby: 2:00:00
+ *dpmsSuspend: 2:00:00
+ *dpmsOff: 4:00:00
+-*grabDesktopImages: True
++*grabDesktopImages: False
+ *grabVideoFrames: False
+ *chooseRandomImages: @DEFAULT_IMAGES_P@
+ ! This can be a local directory name, or the URL of an RSS or Atom feed.
+@@ -47,11 +47,11 @@
+ *memoryLimit: 0
+ *lock: False
+ *verbose: False
+-*fade: True
++*fade: False
+ *unfade: True
+ *fadeSeconds: 0:00:03
+ *fadeTicks: 20
+-*splash: True
++*splash: False
+ *splashDuration: 0:00:05
+ *visualID: default
+ *installColormap: True
+@@ -324,256 +324,8 @@ XScreenSaver.bourneShell: /bin/sh
+ !=============================================================================
+
+ *programs: \
+- maze -root \n\
+-@GL_KLUDGE@ GL: superquadrics -root \n\
+- attraction -root \n\
+- blitspin -root \n\
+- greynetic -root \n\
+- helix -root \n\
+- hopalong -root \n\
+- imsmap -root \n\
+-- noseguy -root \n\
+-- pyro -root \n\
+- qix -root \n\
+-- rocks -root \n\
+- rorschach -root \n\
+- decayscreen -root \n\
+- flame -root \n\
+- halo -root \n\
+- slidescreen -root \n\
+- pedal -root \n\
+- bouboule -root \n\
+-- braid -root \n\
+- coral -root \n\
+- deco -root \n\
+- drift -root \n\
+-- fadeplot -root \n\
+- galaxy -root \n\
+- goop -root \n\
+- grav -root \n\
+- ifs -root \n\
+-@GL_KLUDGE@ GL: jigsaw -root \n\
+- julia -root \n\
+-- kaleidescope -root \n\
+-@GL_KLUDGE@ GL: moebius -root \n\
+- moire -root \n\
+-@GL_KLUDGE@ GL: morph3d -root \n\
+- mountain -root \n\
+- munch -root \n\
+- penrose -root \n\
+-@GL_KLUDGE@ GL: pipes -root \n\
+- rdbomb -root \n\
+-@GL_KLUDGE@ GL: rubik -root \n\
+-- sierpinski -root \n\
+- slip -root \n\
+-@GL_KLUDGE@ GL: sproingies -root \n\
+- starfish -root \n\
+- strange -root \n\
+- swirl -root \n\
+- triangle -root \n\
+- xjack -root \n\
+- xlyap -root \n\
+-@GL_KLUDGE@ GL: atlantis -root \n\
+- bsod -root \n\
+-@GL_KLUDGE@ GL: bubble3d -root \n\
+-@GL_KLUDGE@ GL: cage -root \n\
+-- crystal -root \n\
+- cynosure -root \n\
+- discrete -root \n\
+- distort -root \n\
+- epicycle -root \n\
+- flow -root \n\
+-@GL_KLUDGE@ GL: glplanet -root \n\
+- interference -root \n\
+- kumppa -root \n\
+-@GL_KLUDGE@ GL: lament -root \n\
+- moire2 -root \n\
+-@GL_KLUDGE@ GL: sonar -root \n\
+-@GL_KLUDGE@ GL: stairs -root \n\
+- truchet -root \n\
+-- vidwhacker -root \n\
+- blaster -root \n\
+- bumps -root \n\
+- ccurve -root \n\
+- compass -root \n\
+- deluxe -root \n\
+-- demon -root \n\
+-@GLE_KLUDGE@ GL: extrusion -root \n\
+-- loop -root \n\
+- penetrate -root \n\
+- petri -root \n\
+- phosphor -root \n\
+-@GL_KLUDGE@ GL: pulsar -root \n\
+- ripples -root \n\
+- shadebobs -root \n\
+-@GL_KLUDGE@ GL: sierpinski3d -root \n\
+- spotlight -root \n\
+- squiral -root \n\
+- wander -root \n\
+-- webcollage -root \n\
+- xflame -root \n\
+- xmatrix -root \n\
+-@GL_KLUDGE@ GL: gflux -root \n\
+-- nerverot -root \n\
+- xrayswarm -root \n\
+- xspirograph -root \n\
+-@GL_KLUDGE@ GL: circuit -root \n\
+-@GL_KLUDGE@ GL: dangerball -root \n\
+-- GL: dnalogo -root \n\
+-@GL_KLUDGE@ GL: engine -root \n\
+-@GL_KLUDGE@ GL: flipscreen3d -root \n\
+-@GL_KLUDGE@ GL: gltext -root \n\
+-@GL_KLUDGE@ GL: menger -root \n\
+-@GL_KLUDGE@ GL: molecule -root \n\
+- rotzoomer -root \n\
+- scooter -root \n\
+- speedmine -root \n\
+-@GL_KLUDGE@ GL: starwars -root \n\
+-@GL_KLUDGE@ GL: stonerview -root \n\
+- vermiculate -root \n\
+- whirlwindwarp -root \n\
+- zoom -root \n\
+- anemone -root \n\
+- apollonian -root \n\
+-@GL_KLUDGE@ GL: boxed -root \n\
+-@GL_KLUDGE@ GL: cubenetic -root \n\
+-@GL_KLUDGE@ GL: endgame -root \n\
+- euler2d -root \n\
+- fluidballs -root \n\
+-@GL_KLUDGE@ GL: flurry -root \n\
+-- GL: glblur -root \n\
+-@GL_KLUDGE@ GL: glsnake -root \n\
+- halftone -root \n\
+-@GL_KLUDGE@ GL: juggler3d -root \n\
+-@GL_KLUDGE@ GL: lavalite -root \n\
+-- polyominoes -root \n\
+-@GL_KLUDGE@ GL: queens -root \n\
+-- GL: sballs -root \n\
+-@GL_KLUDGE@ GL: spheremonics -root \n\
+-- thornbird -root \n\
+- twang -root \n\
+-- GL: antspotlight -root \n\
+- apple2 -root \n\
+-@GL_KLUDGE@ GL: atunnel -root \n\
+- barcode -root \n\
+-@GL_KLUDGE@ GL: blinkbox -root \n\
+-@GL_KLUDGE@ GL: blocktube -root \n\
+-@GL_KLUDGE@ GL: bouncingcow -root \n\
+- cloudlife -root \n\
+-@GL_KLUDGE@ GL: cubestorm -root \n\
+- eruption -root \n\
+-@GL_KLUDGE@ GL: flipflop -root \n\
+-@GL_KLUDGE@ GL: flyingtoasters -root \n\
+- fontglide -root \n\
+-@GL_KLUDGE@ GL: gleidescope -root \n\
+-@GL_KLUDGE@ GL: glknots -root \n\
+-@GL_KLUDGE@ GL: glmatrix -root \n\
+-- GL: glslideshow -root \n\
+-@GL_KLUDGE@ GL: hypertorus -root \n\
+-- GL: jigglypuff -root \n\
+- metaballs -root \n\
+-@GL_KLUDGE@ GL: mirrorblob -root \n\
+- piecewise -root \n\
+-@GL_KLUDGE@ GL: polytopes -root \n\
+- pong -root \n\
+- popsquares -root \n\
+-@GL_KLUDGE@ GL: surfaces -root \n\
+- xanalogtv -root \n\
+- abstractile -root \n\
+- anemotaxis -root \n\
+-- GL: antinspect -root \n\
+- fireworkx -root \n\
+- fuzzyflakes -root \n\
+- interaggregate -root \n\
+- intermomentary -root \n\
+- memscroller -root \n\
+-@GL_KLUDGE@ GL: noof -root \n\
+- pacman -root \n\
+-@GL_KLUDGE@ GL: pinion -root \n\
+-@GL_KLUDGE@ GL: polyhedra -root \n\
+-- GL: providence -root \n\
+- substrate -root \n\
+- wormhole -root \n\
+-- GL: antmaze -root \n\
+-@GL_KLUDGE@ GL: boing -root \n\
+- boxfit -root \n\
+-@GL_KLUDGE@ GL: carousel -root \n\
+- celtic -root \n\
+-@GL_KLUDGE@ GL: crackberg -root \n\
+-@GL_KLUDGE@ GL: cube21 -root \n\
+- fiberlamp -root \n\
+-@GL_KLUDGE@ GL: fliptext -root \n\
+-@GL_KLUDGE@ GL: glhanoi -root \n\
+-@GL_KLUDGE@ GL: tangram -root \n\
+-@GL_KLUDGE@ GL: timetunnel -root \n\
+-@GL_KLUDGE@ GL: glschool -root \n\
+-@GL_KLUDGE@ GL: topblock -root \n\
+-@GL_KLUDGE@ GL: cubicgrid -root \n\
+- cwaves -root \n\
+-@GL_KLUDGE@ GL: gears -root \n\
+-@GL_KLUDGE@ GL: glcells -root \n\
+-@GL_KLUDGE@ GL: lockward -root \n\
+- m6502 -root \n\
+-@GL_KLUDGE@ GL: moebiusgears -root \n\
+-@GL_KLUDGE@ GL: voronoi -root \n\
+-@GL_KLUDGE@ GL: hypnowheel -root \n\
+-@GL_KLUDGE@ GL: klein -root \n\
+-- lcdscrub -root \n\
+-@GL_KLUDGE@ GL: photopile -root \n\
+-@GL_KLUDGE@ GL: skytentacles -root \n\
+-@GL_KLUDGE@ GL: rubikblocks -root \n\
+-@GL_KLUDGE@ GL: companioncube -root \n\
+-@GL_KLUDGE@ GL: hilbert -root \n\
+-@GL_KLUDGE@ GL: tronbit -root \n\
+-@GL_KLUDGE@ GL: geodesic -root \n\
+- hexadrop -root \n\
+-@GL_KLUDGE@ GL: kaleidocycle -root \n\
+-@GL_KLUDGE@ GL: quasicrystal -root \n\
+-@GL_KLUDGE@ GL: unknownpleasures -root \n\
+- binaryring -root \n\
+-@GL_KLUDGE@ GL: cityflow -root \n\
+-@GL_KLUDGE@ GL: geodesicgears -root \n\
+-@GL_KLUDGE@ GL: projectiveplane -root \n\
+-@GL_KLUDGE@ GL: romanboy -root \n\
+- tessellimage -root \n\
+-@GL_KLUDGE@ GL: winduprobot -root \n\
+-@GL_KLUDGE@ GL: splitflap -root \n\
+-@GL_KLUDGE@ GL: cubestack -root \n\
+-@GL_KLUDGE@ GL: cubetwist -root \n\
+-@GL_KLUDGE@ GL: discoball -root \n\
+-@GL_KLUDGE@ GL: dymaxionmap -root \n\
+-@GL_KLUDGE@ GL: energystream -root \n\
+-@GL_KLUDGE@ GL: hexstrut -root \n\
+-@GL_KLUDGE@ GL: hydrostat -root \n\
+-@GL_KLUDGE@ GL: raverhoop -root \n\
+-@GL_KLUDGE@ GL: splodesic -root \n\
+-@GL_KLUDGE@ GL: unicrud -root \n\
+-@GL_KLUDGE@ GL: esper -root \n\
+-@GL_KLUDGE@ GL: vigilance -root \n\
+-@GL_KLUDGE@ GL: crumbler -root \n\
+- filmleader -root \n\
+- glitchpeg -root \n\
+-@GL_KLUDGE@ GL: handsy -root \n\
+-@GL_KLUDGE@ GL: maze3d -root \n\
+-@GL_KLUDGE@ GL: peepers -root \n\
+-@GL_KLUDGE@ GL: razzledazzle -root \n\
+- vfeedback -root \n\
+-@GL_KLUDGE@ GL: deepstars -root \n\
+-@GL_KLUDGE@ GL: gravitywell -root \n\
+-@GL_KLUDGE@ GL: beats -root \n\
+-@GL_KLUDGE@ GL: covid19 -root \n\
+-@GL_KLUDGE@ GL: etruscanvenus -root \n\
+-@GL_KLUDGE@ GL: gibson -root \n\
+-@GL_KLUDGE@ GL: headroom -root \n\
+-@GL_KLUDGE@ GL: sphereeversion -root \n\
+- binaryhorizon -root \n\
+- marbling -root \n\
+-@GL_KLUDGE@ GL: chompytower -root \n\
+-@GL_KLUDGE@ GL: mapscroller -root \n\
+-@GL_KLUDGE@ GL: nakagin -root \n\
+-@GL_KLUDGE@ GL: squirtorus -root \n
+-
+-
++- fontglide -root -program "date +'%F %H:%M %z'"
++ gifview --window $XSCREENSAVER_WINDOW /usr/share/logo/bosch-black.gif
+
+ !=============================================================================
+ !
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch b/meta-oe/recipes-graphics/xscreensaver/files/0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch
new file mode 100644
index 0000000000..ea3f25a2f2
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/files/0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch
@@ -0,0 +1,47 @@
+From 516fbcdcfe6343b1d64d35957ddb768346713ff6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 17 Jul 2022 09:47:35 -0700
+Subject: [PATCH] configure: Ignore CONF_STATUS for gtk and openGL needs
+
+These are just warnings
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c4fd38f..d7463cf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -4522,7 +4522,6 @@ fi
+ if test "$gtk_halfassed" != no ; then
+ warnL "GTK was found, but $gtk_halfassed_lib was not, so GTK"
+ warn2 "can't be used."
+- CONF_STATUS=1
+
+ if ( echo $gtk_halfassed_lib | grep -qi pixbuf-xlib ); then
+ echo ''
+@@ -4549,7 +4548,6 @@ if test "$have_motif" = no -a "$have_gtk" = no; then
+ else
+ warnL "The GTK libraries do not seem to be available; the"
+ warn2 "\`xscreensaver-settings' program requires them."
+- CONF_STATUS=1
+ # echo ''
+ # warn2 'You can use Motif or Lesstif instead of GTK (use the'
+ # warn2 "\`--with-motif' option) but that is NOT recommended."
+@@ -4735,10 +4733,8 @@ if test "$have_gl" = no ; then
+ CONF_STATUS=1
+ elif test "$with_gl_req" = no ; then
+ noteL 'The OpenGL 3D library is not being used.'
+- CONF_STATUS=1
+ else
+ noteL 'The OpenGL 3D library was not found.'
+- CONF_STATUS=1
+ fi
+
+ if test "$gl_halfassed" = yes ; then
+--
+2.37.1
+
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/0002-build-Do-not-build-po-files.patch b/meta-oe/recipes-graphics/xscreensaver/files/0002-build-Do-not-build-po-files.patch
new file mode 100644
index 0000000000..0ceba7be02
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/files/0002-build-Do-not-build-po-files.patch
@@ -0,0 +1,53 @@
+From 6b5d022f6dd9848a2d5ca08a1968929b8c140981 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Jul 2022 09:59:40 -0700
+Subject: [PATCH 2/2] build: Do not build po files
+
+Fixes
+| make[1]: Entering directory '/mnt/b/yoe/master/build/tmp/work/cortexa57-yoe-linux/xscreensaver/6.01-r0/xscreensaver-6.01/po'
+| make[1]: *** No rule to make target 'default'. Stop.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.in | 5 ++---
+ driver/Makefile.in | 2 +-
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 9de79b2..1c1d16c 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -6,8 +6,8 @@ srcdir = @srcdir@
+ VPATH = @srcdir@
+
+ SHELL = /bin/sh
+-SUBDIRS = utils jwxyz hacks/images hacks hacks/glx hacks/fonts \
+- driver po
++SUBDIRS = utils jwxyz hacks/images hacks hacks/fonts \
++ driver
+ SUBDIRS2 = $(SUBDIRS) OSX android
+ TARFILES = README README.hacking INSTALL \
+ configure configure.ac Makefile.in config.h.in \
+@@ -461,4 +461,3 @@ cerebrum::
+ --include 'ad2c' \
+ --include '*/' \
+ --exclude '*'
+-
+diff --git a/driver/Makefile.in b/driver/Makefile.in
+index e1fa1b2..feca6fc 100644
+--- a/driver/Makefile.in
++++ b/driver/Makefile.in
+@@ -211,7 +211,7 @@ TEST_EXES = test-passwd test-uid test-xdpms test-grab \
+ xdpyinfo test-screens test-yarandom test-xinput \
+ test-xkb
+
+-EXES = xscreensaver xscreensaver-command xscreensaver-settings
++EXES = xscreensaver xscreensaver-command
+ UTIL_EXES = xscreensaver-gfx @EXES_SYSTEMD@
+ SETUID_EXES = xscreensaver-auth
+ DEMO_EXES = @ALL_DEMO_PROGRAMS@
+--
+2.37.1
+
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch b/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch
deleted file mode 100644
index afc8bc8e74..0000000000
--- a/meta-oe/recipes-graphics/xscreensaver/files/fix-buildscripts.patch
+++ /dev/null
@@ -1,100 +0,0 @@
---- xscreensaver-5.44.orig/configure.in 2020-06-16 12:49:55.384675395 +0000
-+++ xscreensaver-5.44/configure.in 2020-06-16 12:51:49.451826729 +0000
-@@ -14,6 +14,9 @@
- #
- ###############################################################################
-
-+includedir=''
-+libdir=''
-+
- AH_TOP([
- /* config.h.in --- xscreensaver, Copyright (c) 1991-2014 Jamie Zawinski.
- *
-diff -Naur xscreensaver-5.44.orig/driver/Makefile.in xscreensaver-5.44/driver/Makefile.in
---- xscreensaver-5.44.orig/driver/Makefile.in 2020-06-16 12:49:55.388675365 +0000
-+++ xscreensaver-5.44/driver/Makefile.in 2020-06-16 12:53:36.331038333 +0000
-@@ -10,7 +10,7 @@
- top_srcdir = @top_srcdir@
- top_builddir = ..
-
--install_prefix =
-+install_prefix = ${DESTDIR}
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-@@ -228,7 +228,7 @@
- SCRIPTS_1 = xscreensaver-getimage-file xscreensaver-getimage-video \
- xscreensaver-text
- SCRIPTS_OSX = xscreensaver-getimage-desktop
--SCRIPTS = $(SCRIPTS_1) @SCRIPTS_OSX@
-+#SCRIPTS = $(SCRIPTS_1) @SCRIPTS_OSX@
-
- HDRS = XScreenSaver_ad.h XScreenSaver_Xm_ad.h \
- xscreensaver.h prefs.h remote.h exec.h \
-diff -Naur xscreensaver-5.44.orig/hacks/Makefile.in xscreensaver-5.44/hacks/Makefile.in
---- xscreensaver-5.44.orig/hacks/Makefile.in 2020-06-16 12:49:55.532674285 +0000
-+++ xscreensaver-5.44/hacks/Makefile.in 2020-06-16 12:58:54.364719996 +0000
-@@ -10,7 +10,7 @@
- top_srcdir = @top_srcdir@
- top_builddir = ..
-
--install_prefix =
-+install_prefix = ${DESTDIR}
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- bindir = @bindir@
-@@ -124,7 +124,7 @@
- tessellimage.c delaunay.c recanim.c binaryring.c \
- glitchpeg.c vfeedback.c scooter.c webcollage-cocoa.m \
- webcollage-helper-cocoa.m testx11.c
--SCRIPTS = vidwhacker webcollage ljlatest
-+#SCRIPTS = vidwhacker webcollage ljlatest
-
- # Programs that are mentioned in XScreenSaver.ad, and that have XML files,
- # but that are not shipped with xscreensaver itself.
-@@ -166,7 +166,13 @@
- tessellimage.o delaunay.o recanim.o binaryring.o \
- glitchpeg.o vfeedback.o scooter.o testx11.o
-
--EXES = attraction blitspin bouboule braid decayscreen deco \
-+EXES = fontglide
-+JPEG_EXES = webcollage-helper
-+
-+RETIRED_EXES = ant bubbles critical flag forest hyperball hypercube laser \
-+ lightning lisa lissie lmorph rotor sphere spiral t3d vines \
-+ whirlygig worm xsublim juggle testx11 \
-+ attraction blitspin bouboule braid decayscreen deco \
- drift flame galaxy grav greynetic halo \
- helix hopalong ifs imsmap julia kaleidescope \
- maze moire noseguy pedal \
-@@ -182,17 +188,12 @@
- speedmine vermiculate twang apollonian euler2d \
- polyominoes thornbird fluidballs anemone halftone \
- metaballs eruption popsquares barcode piecewise cloudlife \
-- fontglide apple2 xanalogtv pong filmleader wormhole \
-+ apple2 xanalogtv pong filmleader wormhole \
- pacman fuzzyflakes anemotaxis memscroller substrate \
- intermomentary fireworkx fiberlamp boxfit interaggregate \
- celtic cwaves m6502 abstractile lcdscrub hexadrop \
- tessellimage binaryring glitchpeg vfeedback scooter \
- @JPEG_EXES@
--JPEG_EXES = webcollage-helper
--
--RETIRED_EXES = ant bubbles critical flag forest hyperball hypercube laser \
-- lightning lisa lissie lmorph rotor sphere spiral t3d vines \
-- whirlygig worm xsublim juggle testx11
-
- HACK_OBJS_1 = fps.o $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
- $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o \
-diff -Naur xscreensaver-5.44.orig/Makefile.in xscreensaver-5.44/Makefile.in
---- xscreensaver-5.44.orig/Makefile.in 2020-06-16 12:49:55.384675395 +0000
-+++ xscreensaver-5.44/Makefile.in 2020-06-16 12:52:49.395383836 +0000
-@@ -6,7 +6,7 @@
- VPATH = @srcdir@
-
- SHELL = /bin/sh
--SUBDIRS = utils jwxyz hacks/images hacks hacks/glx driver po
-+SUBDIRS = utils jwxyz hacks/images hacks driver
- SUBDIRS2 = $(SUBDIRS) OSX android
- TARFILES = README README.hacking README.VMS INSTALL \
- configure configure.in Makefile.in config.h.in \
diff --git a/meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch b/meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch
deleted file mode 100644
index 0f2e09aec7..0000000000
--- a/meta-oe/recipes-graphics/xscreensaver/files/tweak-app-defaults.patch
+++ /dev/null
@@ -1,283 +0,0 @@
---- xscreensaver-5.44.orig/driver/XScreenSaver.ad.in 2020-06-16 13:13:14.950970569 +0000
-+++ xscreensaver-5.44/driver/XScreenSaver.ad.in 2020-06-16 13:19:35.777000937 +0000
-@@ -29,7 +29,7 @@
- ! /* (xrdb prevention kludge: whole file)
-
- *mode: random
--*timeout: 0:10:00
-+*timeout: 0:15:00
- *cycle: 0:10:00
- *lockTimeout: 0:00:00
- *passwdTimeout: 0:00:30
-@@ -38,7 +38,7 @@
- *dpmsStandby: 2:00:00
- *dpmsSuspend: 2:00:00
- *dpmsOff: 4:00:00
--*grabDesktopImages: True
-+*grabDesktopImages: False
- *grabVideoFrames: False
- *chooseRandomImages: @DEFAULT_IMAGES_P@
- ! This can be a local directory name, or the URL of an RSS or Atom feed.
-@@ -48,11 +48,11 @@
- *lock: False
- *verbose: False
- *timestamp: True
--*fade: True
-+*fade: False
- *unfade: False
- *fadeSeconds: 0:00:03
- *fadeTicks: 20
--*splash: True
-+*splash: False
- *splashDuration: 0:00:05
- *visualID: default
- *installColormap: True
-@@ -343,246 +343,8 @@
- !=============================================================================
-
- *programs: \
-- maze -root \n\
--@GL_KLUDGE@ GL: superquadrics -root \n\
-- attraction -root \n\
-- blitspin -root \n\
-- greynetic -root \n\
-- helix -root \n\
-- hopalong -root \n\
-- imsmap -root \n\
--- noseguy -root \n\
--- pyro -root \n\
-- qix -root \n\
--- rocks -root \n\
-- rorschach -root \n\
-- decayscreen -root \n\
-- flame -root \n\
-- halo -root \n\
-- slidescreen -root \n\
-- pedal -root \n\
-- bouboule -root \n\
--- braid -root \n\
-- coral -root \n\
-- deco -root \n\
-- drift -root \n\
--- fadeplot -root \n\
-- galaxy -root \n\
-- goop -root \n\
-- grav -root \n\
-- ifs -root \n\
--@GL_KLUDGE@ GL: jigsaw -root \n\
-- julia -root \n\
--- kaleidescope -root \n\
--@GL_KLUDGE@ GL: moebius -root \n\
-- moire -root \n\
--@GL_KLUDGE@ GL: morph3d -root \n\
-- mountain -root \n\
-- munch -root \n\
-- penrose -root \n\
--@GL_KLUDGE@ GL: pipes -root \n\
-- rd-bomb -root \n\
--@GL_KLUDGE@ GL: rubik -root \n\
--- sierpinski -root \n\
-- slip -root \n\
--@GL_KLUDGE@ GL: sproingies -root \n\
-- starfish -root \n\
-- strange -root \n\
-- swirl -root \n\
-- triangle -root \n\
-- xjack -root \n\
-- xlyap -root \n\
--@GL_KLUDGE@ GL: atlantis -root \n\
-- bsod -root \n\
--@GL_KLUDGE@ GL: bubble3d -root \n\
--@GL_KLUDGE@ GL: cage -root \n\
--- crystal -root \n\
-- cynosure -root \n\
-- discrete -root \n\
-- distort -root \n\
-- epicycle -root \n\
-- flow -root \n\
--@GL_KLUDGE@ GL: glplanet -root \n\
-- interference -root \n\
-- kumppa -root \n\
--@GL_KLUDGE@ GL: lament -root \n\
-- moire2 -root \n\
--@GL_KLUDGE@ GL: sonar -root \n\
--@GL_KLUDGE@ GL: stairs -root \n\
-- truchet -root \n\
--- vidwhacker -root \n\
-- blaster -root \n\
-- bumps -root \n\
-- ccurve -root \n\
-- compass -root \n\
-- deluxe -root \n\
--- demon -root \n\
--@GLE_KLUDGE@ GL: extrusion -root \n\
--- loop -root \n\
-- penetrate -root \n\
-- petri -root \n\
-- phosphor -root \n\
--@GL_KLUDGE@ GL: pulsar -root \n\
-- ripples -root \n\
-- shadebobs -root \n\
--@GL_KLUDGE@ GL: sierpinski3d -root \n\
-- spotlight -root \n\
-- squiral -root \n\
-- wander -root \n\
--- webcollage -root \n\
-- xflame -root \n\
-- xmatrix -root \n\
--@GL_KLUDGE@ GL: gflux -root \n\
--- nerverot -root \n\
-- xrayswarm -root \n\
-- xspirograph -root \n\
--@GL_KLUDGE@ GL: circuit -root \n\
--@GL_KLUDGE@ GL: dangerball -root \n\
--- GL: dnalogo -root \n\
--@GL_KLUDGE@ GL: engine -root \n\
--@GL_KLUDGE@ GL: flipscreen3d -root \n\
--@GL_KLUDGE@ GL: gltext -root \n\
--@GL_KLUDGE@ GL: menger -root \n\
--@GL_KLUDGE@ GL: molecule -root \n\
-- rotzoomer -root \n\
-- scooter -root \n\
-- speedmine -root \n\
--@GL_KLUDGE@ GL: starwars -root \n\
--@GL_KLUDGE@ GL: stonerview -root \n\
-- vermiculate -root \n\
-- whirlwindwarp -root \n\
-- zoom -root \n\
-- anemone -root \n\
-- apollonian -root \n\
--@GL_KLUDGE@ GL: boxed -root \n\
--@GL_KLUDGE@ GL: cubenetic -root \n\
--@GL_KLUDGE@ GL: endgame -root \n\
-- euler2d -root \n\
-- fluidballs -root \n\
--@GL_KLUDGE@ GL: flurry -root \n\
--- GL: glblur -root \n\
--@GL_KLUDGE@ GL: glsnake -root \n\
-- halftone -root \n\
--@GL_KLUDGE@ GL: juggler3d -root \n\
--@GL_KLUDGE@ GL: lavalite -root \n\
--- polyominoes -root \n\
--@GL_KLUDGE@ GL: queens -root \n\
--- GL: sballs -root \n\
--@GL_KLUDGE@ GL: spheremonics -root \n\
--- thornbird -root \n\
-- twang -root \n\
--- GL: antspotlight -root \n\
-- apple2 -root \n\
--@GL_KLUDGE@ GL: atunnel -root \n\
-- barcode -root \n\
--@GL_KLUDGE@ GL: blinkbox -root \n\
--@GL_KLUDGE@ GL: blocktube -root \n\
--@GL_KLUDGE@ GL: bouncingcow -root \n\
-- cloudlife -root \n\
--@GL_KLUDGE@ GL: cubestorm -root \n\
-- eruption -root \n\
--@GL_KLUDGE@ GL: flipflop -root \n\
--@GL_KLUDGE@ GL: flyingtoasters -root \n\
-- fontglide -root \n\
--@GL_KLUDGE@ GL: gleidescope -root \n\
--@GL_KLUDGE@ GL: glknots -root \n\
--@GL_KLUDGE@ GL: glmatrix -root \n\
--- GL: glslideshow -root \n\
--@GL_KLUDGE@ GL: hypertorus -root \n\
--- GL: jigglypuff -root \n\
-- metaballs -root \n\
--@GL_KLUDGE@ GL: mirrorblob -root \n\
-- piecewise -root \n\
--@GL_KLUDGE@ GL: polytopes -root \n\
-- pong -root \n\
-- popsquares -root \n\
--@GL_KLUDGE@ GL: surfaces -root \n\
-- xanalogtv -root \n\
-- abstractile -root \n\
-- anemotaxis -root \n\
--- GL: antinspect -root \n\
-- fireworkx -root \n\
-- fuzzyflakes -root \n\
-- interaggregate -root \n\
-- intermomentary -root \n\
-- memscroller -root \n\
--@GL_KLUDGE@ GL: noof -root \n\
-- pacman -root \n\
--@GL_KLUDGE@ GL: pinion -root \n\
--@GL_KLUDGE@ GL: polyhedra -root \n\
--- GL: providence -root \n\
-- substrate -root \n\
-- wormhole -root \n\
--- GL: antmaze -root \n\
--@GL_KLUDGE@ GL: boing -root \n\
-- boxfit -root \n\
--@GL_KLUDGE@ GL: carousel -root \n\
-- celtic -root \n\
--@GL_KLUDGE@ GL: crackberg -root \n\
--@GL_KLUDGE@ GL: cube21 -root \n\
-- fiberlamp -root \n\
--@GL_KLUDGE@ GL: fliptext -root \n\
--@GL_KLUDGE@ GL: glhanoi -root \n\
--@GL_KLUDGE@ GL: tangram -root \n\
--@GL_KLUDGE@ GL: timetunnel -root \n\
--@GL_KLUDGE@ GL: glschool -root \n\
--@GL_KLUDGE@ GL: topblock -root \n\
--@GL_KLUDGE@ GL: cubicgrid -root \n\
-- cwaves -root \n\
--@GL_KLUDGE@ GL: gears -root \n\
--@GL_KLUDGE@ GL: glcells -root \n\
--@GL_KLUDGE@ GL: lockward -root \n\
-- m6502 -root \n\
--@GL_KLUDGE@ GL: moebiusgears -root \n\
--@GL_KLUDGE@ GL: voronoi -root \n\
--@GL_KLUDGE@ GL: hypnowheel -root \n\
--@GL_KLUDGE@ GL: klein -root \n\
--- lcdscrub -root \n\
--@GL_KLUDGE@ GL: photopile -root \n\
--@GL_KLUDGE@ GL: skytentacles -root \n\
--@GL_KLUDGE@ GL: rubikblocks -root \n\
--@GL_KLUDGE@ GL: companioncube -root \n\
--@GL_KLUDGE@ GL: hilbert -root \n\
--@GL_KLUDGE@ GL: tronbit -root \n\
--@GL_KLUDGE@ GL: geodesic -root \n\
-- hexadrop -root \n\
--@GL_KLUDGE@ GL: kaleidocycle -root \n\
--@GL_KLUDGE@ GL: quasicrystal -root \n\
--@GL_KLUDGE@ GL: unknownpleasures -root \n\
-- binaryring -root \n\
--@GL_KLUDGE@ GL: cityflow -root \n\
--@GL_KLUDGE@ GL: geodesicgears -root \n\
--@GL_KLUDGE@ GL: projectiveplane -root \n\
--@GL_KLUDGE@ GL: romanboy -root \n\
-- tessellimage -root \n\
--@GL_KLUDGE@ GL: winduprobot -root \n\
--@GL_KLUDGE@ GL: splitflap -root \n\
--@GL_KLUDGE@ GL: cubestack -root \n\
--@GL_KLUDGE@ GL: cubetwist -root \n\
--@GL_KLUDGE@ GL: discoball -root \n\
--@GL_KLUDGE@ GL: dymaxionmap -root \n\
--@GL_KLUDGE@ GL: energystream -root \n\
--@GL_KLUDGE@ GL: hexstrut -root \n\
--@GL_KLUDGE@ GL: hydrostat -root \n\
--@GL_KLUDGE@ GL: raverhoop -root \n\
--@GL_KLUDGE@ GL: splodesic -root \n\
--@GL_KLUDGE@ GL: unicrud -root \n\
--@GL_KLUDGE@ GL: esper -root \n\
--@GL_KLUDGE@ GL: vigilance -root \n\
--@GL_KLUDGE@ GL: crumbler -root \n\
-- filmleader -root \n\
-- glitchpeg -root \n\
--@GL_KLUDGE@ GL: handsy -root \n\
--@GL_KLUDGE@ GL: maze3d -root \n\
--@GL_KLUDGE@ GL: peepers -root \n\
--@GL_KLUDGE@ GL: razzledazzle -root \n\
-- vfeedback -root \n\
--@GL_KLUDGE@ GL: deepstars -root \n\
--@GL_KLUDGE@ GL: gravitywell -root \n\
--@GL_KLUDGE@ GL: etruscanvenus -root \n\
--@GL_KLUDGE@ GL: gibson -root \n
--
--
-+- fontglide -root -program "date +'%F %H:%M %z'"
-+ gifview --window $XSCREENSAVER_WINDOW /usr/share/logo/bosch-black.gif
-
- !=============================================================================
- !
diff --git a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.44.bb b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.44.bb
deleted file mode 100644
index 9131c754d5..0000000000
--- a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.44.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "X screen saver and locker"
-HOMEPAGE = "https://www.jwz.org/xscreensaver/"
-LICENSE = "BSD-0-Clause"
-LIC_FILES_CHKSUM = "file://driver/xscreensaver.h;endline=10;md5=2b97002f72fbfc9329b4336e798f2463"
-
-SRC_URI = "https://www.jwz.org/${BPN}/${BP}.tar.gz"
-SRC_URI[md5sum] = "9f764e561f9939f8684a66ec98b27cba"
-SRC_URI[sha256sum] = "73d8089cfc7d7363b5dac99b5b01dffb3429d0a855e6af16ce9a4b7777017b95"
-
-SRC_URI += " \
- file://xscreensaver.service \
- file://fix-buildscripts.patch \
- file://tweak-app-defaults.patch \
-"
-
-DEPENDS = "intltool-native libx11 libxext libxt libxft glib-2.0-native bc-native"
-# These are only needed as part of the stopgap screensaver implementation:
-RDEPENDS_${PN} = " \
- liberation-fonts \
- xuser-account \
-"
-
-inherit systemd perlnative pkgconfig gettext autotools-brokensep features_check
-
-EXTRA_OECONF += "--with-x-app-defaults=${datadir}/X11/app-defaults"
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_install_append() {
- install -D ${WORKDIR}/xscreensaver.service ${D}${systemd_unitdir}/system/xscreensaver.service
-}
-
-FILES_${PN} += "${datadir}/X11/app-defaults/XScreenSaver"
-SYSTEMD_SERVICE_${PN} = "xscreensaver.service"
-
-CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb
new file mode 100644
index 0000000000..dc909ed78c
--- /dev/null
+++ b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb
@@ -0,0 +1,62 @@
+SUMMARY = "X screen saver and locker"
+HOMEPAGE = "https://www.jwz.org/xscreensaver/"
+LICENSE = "0BSD"
+LIC_FILES_CHKSUM = "file://driver/xscreensaver.h;endline=10;md5=c3ce41cdff745eb1dc9d4fcfbffb4d51"
+
+SRC_URI = "https://www.jwz.org/${BPN}/${BP}.tar.gz \
+ file://xscreensaver.service \
+ file://0001-Tweak-app-defaults.patch \
+ file://0002-build-Do-not-build-po-files.patch \
+ file://0001-configure-Ignore-CONF_STATUS-for-gtk-and-openGL-need.patch \
+"
+MIRRORS += "https://www.jwz.org/${BPN} https://ftp.osuosl.org/pub/blfs/conglomeration/${BPN}"
+
+SRC_URI[sha256sum] = "787014b29f0c5793ecc2d93e1109a049ff48ab0c29b851dab34f683ceef6b152"
+
+DEPENDS = "intltool-native libx11 libxext libxt libxft libxi glib-2.0-native bc-native libpam jpeg"
+# These are only needed as part of the stopgap screensaver implementation:
+RDEPENDS:${PN} = " \
+ liberation-fonts \
+ xuser-account \
+"
+
+inherit systemd perlnative pkgconfig gettext autotools-brokensep features_check
+
+
+EXTRA_OECONF += "--with-app-defaults=${datadir}/X11/app-defaults --libdir=${STAGING_LIBDIR} \
+ --includedir=${STAGING_INCDIR} --with-pam --with-login-manager"
+
+EXTRA_OEMAKE += "install_prefix=${D} GTK_DATADIR=${datadir}"
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+PACKAGECONFIG = "png ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+
+PACKAGECONFIG[systemd] = "--with-systemd=yes,--with-systemd=no,systemd"
+PACKAGECONFIG[png] = "--with-png=yes,--with-png=no,libpng"
+
+CONFIGUREOPTS:remove = "--disable-silent-rules --disable-dependency-tracking ${@append_libtool_sysroot(d)}"
+EXTRA_OECONF:remove = "--disable-static"
+
+do_install:append() {
+ install -D ${WORKDIR}/xscreensaver.service ${D}${systemd_unitdir}/system/xscreensaver.service
+ for f in xscreensaver-getimage-file xscreensaver-getimage-video webcollage xscreensaver-text vidwhacker
+ do
+ sed -i -e "s|${STAGING_BINDIR_NATIVE}/perl-native/perl|/usr/bin/perl|g" ${D}/${libexecdir}/${PN}/$f
+ done
+}
+
+PACKAGES =+ "${PN}-perl"
+
+FILES:${PN}-perl = "\
+ ${libexecdir}/${PN}/xscreensaver-getimage-file \
+ ${libexecdir}/${PN}/xscreensaver-getimage-video \
+ ${libexecdir}/${PN}/webcollage \
+ ${libexecdir}/${PN}/xscreensaver-text \
+ ${libexecdir}/${PN}/vidwhacker \
+ "
+FILES:${PN} += "${datadir}/X11/app-defaults/XScreenSaver ${datadir}/fonts"
+SYSTEMD_SERVICE:${PN} = "xscreensaver.service"
+
+RDEPENDS:${PN}-perl = "perl"
+
+CLEANBROKEN = "1"
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
index 2bfe85b285..6f738e7376 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
@@ -11,6 +11,8 @@ Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
COPYING | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 339 insertions(+)
create mode 100644 COPYING
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
index 0ed12d106f..ea7c7d6a94 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
@@ -10,6 +10,8 @@ be used as before.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
+Upstream-Status: Pending
+
Makefile | 2 --
1 file changed, 2 deletions(-)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
index 0be3fa5b39..b408234ecb 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] add setdpi Xinit.d script
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/Xinit.d/50setdpi | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
create mode 100644 X11/Xinit.d/50setdpi
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
index 53a283feae..4a9342c934 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] add support for /etc/X11/xserver-system
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
index 94a35407af..ba35d1cf6c 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
@@ -8,6 +8,8 @@ Subject: [PATCH] use own functions file instead /etc/init.d/functions
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
Makefile | 1 +
X11/Xinit.d/11zaurus | 2 +-
X11/Xinit.d/12keymap | 2 +-
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
index 90d0f25843..a04e563f82 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
@@ -7,6 +7,8 @@ Subject: [PATCH] xserver-common: add dpi and nocursor params for gta01 and
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
index 8fb69b3561..993b320154 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for n900 alias nokia_rx-51_board
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
index d30c7bbdcb..2948cd611b 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for nexus S alias herring
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
index 23e17f0988..342d49becd 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for nexus one alias mahimahi
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
index 5e794f6b31..94f9d2ca6f 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for gta04 alias OpenPhoenux
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
index 78d2e40297..c023b583b0 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] xserver-common: add support for tuna alias Galaxy Nexus
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
+Upstream-Status: Pending
+
X11/xserver-common | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
index 2c09a4853c..3f577bfa05 100644
--- a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
@@ -1,8 +1,7 @@
SUMMARY = "Common X11 scripts and support files"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-PR = "r9"
# we are using a gpe-style Makefile
inherit features_check gpe
@@ -12,7 +11,7 @@ REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14"
SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210"
-SRC_URI_append = " \
+SRC_URI:append = " \
file://0001-COPYING-add-GPLv2-license-file.patch \
file://0002-add-setdpi-Xinit.d-script.patch \
file://0006-add-support-for-etc-X11-xserver-system.patch \
@@ -27,7 +26,7 @@ SRC_URI_append = " \
file://0001-Don-t-install-Xsession-or-Xserver.patch \
"
-do_install_append() {
+do_install:append() {
sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common
# Rename all Xsession files not ending with .sh
# Unfortunatelly when xinput-calibrator was moved to oe-core
@@ -38,8 +37,8 @@ do_install_append() {
done
}
-RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo fbset xinput-calibrator"
+RDEPENDS:${PN} = "xmodmap xrandr xdpyinfo fbset xinput-calibrator"
-RCONFLICTS_${PN} = "xserver-kdrive-common x11-common"
-RREPLACES_${PN} = "xserver-kdrive-common x11-common"
+RCONFLICTS:${PN} = "xserver-kdrive-common x11-common"
+RREPLACES:${PN} = "xserver-kdrive-common x11-common"
diff --git a/meta-oe/recipes-graphics/yad/yad_6.0.bb b/meta-oe/recipes-graphics/yad/yad_6.0.bb
index 3760a37d31..9e46215fd8 100644
--- a/meta-oe/recipes-graphics/yad/yad_6.0.bb
+++ b/meta-oe/recipes-graphics/yad/yad_6.0.bb
@@ -1,14 +1,13 @@
SUMMARY = "Yet Another Dialog"
DESCRIPTION = "Program allowing you to display GTK+ dialog boxes from command line or shell scripts."
-AUTHOR = "Victor Ananjevsky"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI = "git://github.com/v1cont/yad.git"
+SRC_URI = "git://github.com/v1cont/yad.git;branch=master;protocol=https"
SRCREV = "a5b1a7a3867bc7dffbbc539f586f301687b6ec02"
-inherit autotools gsettings features_check
+inherit autotools gsettings features_check pkgconfig
REQUIRED_DISTRO_FEATURES = "x11"
@@ -16,4 +15,4 @@ DEPENDS = "gtk+3 glib-2.0-native intltool-native"
S = "${WORKDIR}/git"
-FILES_${PN} += "${datadir}/icons/"
+FILES:${PN} += "${datadir}/icons/"
diff --git a/meta-oe/recipes-graphics/ydotool/ydotool_git.bb b/meta-oe/recipes-graphics/ydotool/ydotool_git.bb
new file mode 100644
index 0000000000..3acf70235e
--- /dev/null
+++ b/meta-oe/recipes-graphics/ydotool/ydotool_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Generic Linux command-line automation tool (no X!)"
+DESCRIPTION = "ydotool is not limited to Wayland. You can use it on anything as long as it accepts keyboard/mouse/whatever input."
+LICENSE = "AGPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb1e647870add0502f8f010b19de32af"
+
+PV = "1.0.4+git"
+
+SRC_URI = "git://github.com/ReimuNotMoe/ydotool;protocol=https;branch=master"
+SRCREV = "0c295346d55afcc6aebaaee564333b3e1efabcbd"
+
+S = "${WORKDIR}/git"
+
+inherit cmake systemd
+
+EXTRA_OECMAKE = "\
+ -DBUILD_DOCS=OFF \
+"
+
+do_install:append() {
+ if ! ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ rm -rf ${D}${systemd_user_unitdir}
+ rmdir ${D}${nonarch_libdir}/systemd ${D}${nonarch_libdir}
+ fi
+}
+SYSTEMD_SERVICE:${PN} = "ydotoold.service"
+SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb b/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb
index 2eb19206d3..0e17800c4b 100644
--- a/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb
+++ b/meta-oe/recipes-kernel/agent-proxy/agent-proxy_1.97.bb
@@ -1,7 +1,7 @@
SUMMARY = "Proxy for UDP/TCP debug connections"
DESCRIPTION = "The agent-proxy will forward tcp or udp connections as well as allow for script multiplexing of terminal sessions."
HOMEPAGE = "http://kgdb.wiki.kernel.org/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
SECTION = "devel"
@@ -10,7 +10,7 @@ EXTRA_OEMAKE = "'CC=${CC}'"
SRCREV = "468fe4c31e6c62c9bbb328b06ba71eaf7be0b76a"
-SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git;protocol=git \
+SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/kgdb/agent-proxy.git;protocol=git;branch=master \
file://0001-Makefile-Add-LDFLAGS-variable.patch \
"
diff --git a/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-oe/recipes-kernel/bpftool/bpftool.bb
index 1758430bc8..b22334fe90 100644
--- a/meta-oe/recipes-kernel/bpftool/bpftool.bb
+++ b/meta-oe/recipes-kernel/bpftool/bpftool.bb
@@ -1,21 +1,33 @@
SUMMARY = "Inspect and manipulate eBPF programs and maps"
DESCRIPTION = "bpftool is a kernel tool for inspection and simple manipulation \
of eBPF programs and maps."
-LICENSE = "GPLv2"
-DEPENDS = "binutils elfutils"
+LICENSE = "GPL-2.0-only"
+DEPENDS = "binutils elfutils elfutils-native"
PROVIDES = "virtual/bpftool"
inherit bash-completion kernelsrc kernel-arch
-do_populate_lic[depends] += "virtual/kernel:do_patch"
-
-EXTRA_OEMAKE = "V=1 -C ${S}/tools/bpf/bpftool O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
+do_populate_lic[depends] += "virtual/kernel:do_shared_workdir"
+
+EXTRA_OEMAKE = "\
+ V=1 \
+ -C ${S}/tools/bpf/bpftool \
+ O=${B} \
+ CROSS=${TARGET_PREFIX} \
+ CC="${CC} ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH}" \
+ HOSTCC="${BUILD_CC} ${BUILD_CFLAGS}" \
+ LD="${LD}" \
+ AR=${AR} \
+ ARCH=${ARCH} \
+ bash_compdir=${prefix}/share/bash-completion \
+"
SECURITY_CFLAGS = ""
do_configure[depends] += "virtual/kernel:do_shared_workdir"
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST = "(x86_64|aarch64).*-linux"
+COMPATIBLE_HOST:libc-musl = 'null'
do_compile() {
oe_runmake
@@ -27,9 +39,12 @@ do_install() {
PACKAGE_ARCH = "${MACHINE_ARCH}"
-python do_package_prepend() {
+python do_package:prepend() {
d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
}
B = "${WORKDIR}/${BPN}-${PV}"
-PNBLACKLIST[bpftool] ?= "Needs forward porting to kernel 5.2+"
+
+FILES:${PN} += "${exec_prefix}/sbin/*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p2.bb b/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p2.bb
deleted file mode 100644
index e861ddb723..0000000000
--- a/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p2.bb
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright (C) 2018 Krzysztof Kozlowski <krzk@kernel.org>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-SUMMARY = "Broadcom Bluetooth firmware files"
-DESCRIPTION = "Firmware for Broadcom Bluetooth devices. Note that in case of BT+WiFi devices, separate WiFi firmware might be needed."
-HOMEPAGE = "https://github.com/winterheart/broadcom-bt-firmware"
-
-LICENSE = "Firmware-Broadcom-WIDCOMM"
-NO_GENERIC_LICENSE[Firmware-Broadcom-WIDCOMM] = "LICENSE.broadcom_bcm20702"
-
-LIC_FILES_CHKSUM = "file://LICENSE.broadcom_bcm20702;md5=c0d5ea0502b00df74173d0f8a48b619d"
-SRC_URI = "git://github.com/winterheart/broadcom-bt-firmware.git"
-SRCREV = "1af1116f73782951bd7bbe2139928e497c3a634b"
-
-PE = "1"
-
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-CLEANBROKEN = "1"
-
-do_compile() {
- :
-}
-
-do_install() {
- install -d ${D}${nonarch_base_libdir}/firmware/brcm/
- cp brcm/*.hcd ${D}${nonarch_base_libdir}/firmware/brcm/
-
- # For license package:
- install -m 0644 LICENSE.broadcom_bcm20702 ${D}${nonarch_base_libdir}/firmware/brcm/
-
- # For main package:
- install -m 0644 DEVICES.md ${D}${nonarch_base_libdir}/firmware/brcm/
-}
-
-PACKAGES =+ " \
- ${PN}-bcm20702a1 \
- ${PN}-bcm20702b0 \
- ${PN}-bcm20703a1 \
- ${PN}-bcm43142a0 \
- ${PN}-bcm4335c0 \
- ${PN}-bcm4350c5 \
- ${PN}-bcm4356a2 \
- ${PN}-bcm4371c2 \
- ${PN}-license \
-"
-
-RDEPENDS_${PN}-bcm20702a1 = "${PN}-license"
-RDEPENDS_${PN}-bcm20702b0 = "${PN}-license"
-RDEPENDS_${PN}-bcm20703a1 = "${PN}-license"
-RDEPENDS_${PN}-bcm43142a0 = "${PN}-license"
-RDEPENDS_${PN}-bcm4335c0 = "${PN}-license"
-RDEPENDS_${PN}-bcm4350c5 = "${PN}-license"
-RDEPENDS_${PN}-bcm4356a2 = "${PN}-license"
-RDEPENDS_${PN}-bcm4371c2 = "${PN}-license"
-
-FILES_${PN}-bcm20702a1 = "${nonarch_base_libdir}/firmware/brcm/BCM20702A1*hcd"
-FILES_${PN}-bcm20702b0 = "${nonarch_base_libdir}/firmware/brcm/BCM20702B0*hcd"
-FILES_${PN}-bcm20703a1 = "${nonarch_base_libdir}/firmware/brcm/BCM20703A1*hcd"
-FILES_${PN}-bcm43142a0 = "${nonarch_base_libdir}/firmware/brcm/BCM43142A0*hcd"
-FILES_${PN}-bcm4335c0 = "${nonarch_base_libdir}/firmware/brcm/BCM4335C0*hcd"
-FILES_${PN}-bcm4350c5 = "${nonarch_base_libdir}/firmware/brcm/BCM4350C5*hcd"
-FILES_${PN}-bcm4356a2 = "${nonarch_base_libdir}/firmware/brcm/BCM4356A2*hcd"
-FILES_${PN}-bcm4371c2 = "${nonarch_base_libdir}/firmware/brcm/BCM4371C2*hcd"
-FILES_${PN}-license += "${nonarch_base_libdir}/firmware/brcm/LICENSE.broadcom_bcm20702"
-
-FILES_${PN} += "${nonarch_base_libdir}/firmware/brcm/*"
-RDEPENDS_${PN} += "${PN}-license"
-
-# Make broadcom-bt-firmware depend on all of the split-out packages.
-python populate_packages_prepend () {
- firmware_pkgs = oe.utils.packages_filter_out_system(d)
- d.appendVar('RDEPENDS_broadcom-bt-firmware', ' ' + ' '.join(firmware_pkgs))
-}
diff --git a/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p3.bb b/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p3.bb
new file mode 100644
index 0000000000..4b6026ebc0
--- /dev/null
+++ b/meta-oe/recipes-kernel/broadcom-bt-firmware/broadcom-bt-firmware_12.0.1.1105_p3.bb
@@ -0,0 +1,76 @@
+# Copyright (C) 2018 Krzysztof Kozlowski <krzk@kernel.org>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Broadcom Bluetooth firmware files"
+DESCRIPTION = "Firmware for Broadcom Bluetooth devices. Note that in case of BT+WiFi devices, separate WiFi firmware might be needed."
+HOMEPAGE = "https://github.com/winterheart/broadcom-bt-firmware"
+
+LICENSE = "Firmware-Broadcom-WIDCOMM"
+NO_GENERIC_LICENSE[Firmware-Broadcom-WIDCOMM] = "LICENSE.broadcom_bcm20702"
+
+LIC_FILES_CHKSUM = "file://LICENSE.broadcom_bcm20702;md5=c0d5ea0502b00df74173d0f8a48b619d"
+SRC_URI = "git://github.com/winterheart/broadcom-bt-firmware.git;branch=master;protocol=https"
+SRCREV = "a0eb4805dbb232f02f156b9351a23790c1a4cec7"
+
+PE = "1"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+CLEANBROKEN = "1"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/brcm/
+ cp brcm/*.hcd ${D}${nonarch_base_libdir}/firmware/brcm/
+
+ # For license package:
+ install -m 0644 LICENSE.broadcom_bcm20702 ${D}${nonarch_base_libdir}/firmware/brcm/
+
+ # For main package:
+ install -m 0644 DEVICES.md ${D}${nonarch_base_libdir}/firmware/brcm/
+}
+
+PACKAGES =+ " \
+ ${PN}-bcm20702a1 \
+ ${PN}-bcm20702b0 \
+ ${PN}-bcm20703a1 \
+ ${PN}-bcm43142a0 \
+ ${PN}-bcm4335c0 \
+ ${PN}-bcm4350c5 \
+ ${PN}-bcm4356a2 \
+ ${PN}-bcm4371c2 \
+ ${PN}-license \
+"
+
+RDEPENDS:${PN}-bcm20702a1 = "${PN}-license"
+RDEPENDS:${PN}-bcm20702b0 = "${PN}-license"
+RDEPENDS:${PN}-bcm20703a1 = "${PN}-license"
+RDEPENDS:${PN}-bcm43142a0 = "${PN}-license"
+RDEPENDS:${PN}-bcm4335c0 = "${PN}-license"
+RDEPENDS:${PN}-bcm4350c5 = "${PN}-license"
+RDEPENDS:${PN}-bcm4356a2 = "${PN}-license"
+RDEPENDS:${PN}-bcm4371c2 = "${PN}-license"
+
+FILES:${PN}-bcm20702a1 = "${nonarch_base_libdir}/firmware/brcm/BCM20702A1*hcd"
+FILES:${PN}-bcm20702b0 = "${nonarch_base_libdir}/firmware/brcm/BCM20702B0*hcd"
+FILES:${PN}-bcm20703a1 = "${nonarch_base_libdir}/firmware/brcm/BCM20703A1*hcd"
+FILES:${PN}-bcm43142a0 = "${nonarch_base_libdir}/firmware/brcm/BCM43142A0*hcd"
+FILES:${PN}-bcm4335c0 = "${nonarch_base_libdir}/firmware/brcm/BCM4335C0*hcd"
+FILES:${PN}-bcm4350c5 = "${nonarch_base_libdir}/firmware/brcm/BCM4350C5*hcd"
+FILES:${PN}-bcm4356a2 = "${nonarch_base_libdir}/firmware/brcm/BCM4356A2*hcd"
+FILES:${PN}-bcm4371c2 = "${nonarch_base_libdir}/firmware/brcm/BCM4371C2*hcd"
+FILES:${PN}-license += "${nonarch_base_libdir}/firmware/brcm/LICENSE.broadcom_bcm20702"
+
+FILES:${PN} += "${nonarch_base_libdir}/firmware/brcm/*"
+RDEPENDS:${PN} += "${PN}-license"
+
+# Make broadcom-bt-firmware depend on all of the split-out packages.
+python populate_packages:prepend () {
+ firmware_pkgs = oe.utils.packages_filter_out_system(d)
+ d.appendVar('RDEPENDS:broadcom-bt-firmware', ' ' + ' '.join(firmware_pkgs))
+}
diff --git a/meta-oe/recipes-kernel/cpupower/cpupower.bb b/meta-oe/recipes-kernel/cpupower/cpupower.bb
index cf70eb2c87..18e3638052 100644
--- a/meta-oe/recipes-kernel/cpupower/cpupower.bb
+++ b/meta-oe/recipes-kernel/cpupower/cpupower.bb
@@ -1,7 +1,7 @@
SUMMARY = "Shows and sets processor power related values"
DESCRIPTION = "cpupower is a collection of tools to examine and tune power \
saving related features of your processor."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
DEPENDS = "pciutils gettext-native"
PROVIDES = "virtual/cpupower"
@@ -26,9 +26,9 @@ do_install() {
PACKAGE_ARCH = "${MACHINE_ARCH}"
-RDEPENDS_${PN} = "bash"
+RDEPENDS:${PN} = "bash"
-python do_package_prepend() {
+python do_package:prepend() {
d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
}
diff --git a/meta-oe/recipes-kernel/crash/crash-cross-canadian_8.0.4.bb b/meta-oe/recipes-kernel/crash/crash-cross-canadian_8.0.4.bb
new file mode 100644
index 0000000000..54883cef38
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash-cross-canadian_8.0.4.bb
@@ -0,0 +1,52 @@
+inherit cross-canadian
+
+SUMMARY = "crash utility (cross-canadian crash for ${TARGET_ARCH} target)"
+PN = "crash-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+BPN = "crash"
+
+require crash.inc
+
+
+DEPENDS = "\
+ nativesdk-ncurses \
+ nativesdk-expat \
+ nativesdk-gettext \
+ nativesdk-gmp \
+ nativesdk-mpfr \
+ nativesdk-readline \
+ nativesdk-zlib \
+ virtual/${HOST_PREFIX}gcc \
+ virtual/${HOST_PREFIX}binutils \
+ virtual/nativesdk-${HOST_PREFIX}compilerlibs \
+ virtual/nativesdk-libc"
+
+RDEPENDS:${PN} = "nativesdk-liblzma"
+
+EXTRA_OEMAKE:class-cross-canadian = 'RPMPKG="${PV}" \
+ GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \
+ GDB_HOST="${HOST_SYS}" \
+ GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+ LDFLAGS="${LDFLAGS}" \
+ '
+
+# To ship crash into your sdk, you should create/update a packagegroup-cross-canadian.bbappend and
+# add the following
+# CRASH = "crash-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+# RDEPENDS:${PN} += "${@all_multilib_tune_values(d, 'CRASH')}"
+#
+# You should also add some kernel packages in your sdk, add the followng in your conf/local.conf:
+#
+# TOOLCHAIN_TARGET_TASK += "\
+# kernel-vmlinux \
+# kernel-dbg \
+# kernel-dev \
+# "
+#
+# After sourcing the sdk environment script, you can analyze a kernel panic dump with
+#
+# crash $OECORE_TARGET_SYSROOT/boot/<vmlinux file> $OECORE_TARGET_SYSROOT/boot/<System.map file> <your vmcore>
+
+do_install:class-cross-canadian () {
+ install -m 0755 ${S}/crash ${D}/${bindir}
+ cross_canadian_bindirlinks
+}
diff --git a/meta-oe/recipes-kernel/crash/crash.inc b/meta-oe/recipes-kernel/crash/crash.inc
new file mode 100644
index 0000000000..04318b1505
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash.inc
@@ -0,0 +1,91 @@
+SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
+DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
+investigate either live systems, kernel core dumps created from the\
+netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
+offered by Mission Critical Linux, or the LKCD kernel patch."
+
+HOMEPAGE = "http://people.redhat.com/anderson"
+SECTION = "devel"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "zlib readline coreutils-native ncurses-native"
+
+INC_PR = "r1"
+
+S = "${WORKDIR}/git"
+SRC_URI = "git://github.com/crash-utility/${BPN}.git;branch=master;protocol=https \
+ ${GNU_MIRROR}/gdb/gdb-10.2.tar.gz;name=gdb;subdir=git \
+ file://7001force_define_architecture.patch \
+ file://7003cross_ranlib.patch \
+ file://0001-cross_add_configure_option.patch \
+ file://donnot-extract-gdb-during-do-compile.patch \
+ file://gdb_build_jobs_and_not_write_crash_target.patch \
+ "
+SRCREV = "a6832f608cb5d473739cf33bbf84ab1df8d98fd5"
+
+SRC_URI[gdb.sha256sum] = "b33ad58d687487a821ec8d878daab0f716be60d0936f2e3ac5cf08419ce70350"
+
+UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
+
+inherit gettext
+
+TARGET_CC_ARCH:append = " ${SELECTED_OPTIMIZATION}"
+
+# crash 7.1.3 and before don't support mips64/riscv64
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:mipsarchn64 = "null"
+COMPATIBLE_HOST:mipsarchn32 = "null"
+
+
+EXTRA_OEMAKE = 'RPMPKG="${PV}" \
+ GDB_TARGET="${TARGET_SYS}" \
+ GDB_HOST="${BUILD_SYS}" \
+ GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+ LDFLAGS="${LDFLAGS}" \
+ '
+
+do_configure() {
+ :
+}
+
+do_compile:prepend() {
+ case ${TARGET_ARCH} in
+ aarch64*) ARCH=ARM64 ;;
+ arm*) ARCH=ARM ;;
+ i*86*) ARCH=X86 ;;
+ x86_64*) ARCH=X86_64 ;;
+ powerpc64*) ARCH=PPC64 ;;
+ powerpc*) ARCH=PPC ;;
+ mips*) ARCH=MIPS ;;
+ esac
+
+ sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
+ sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
+ sed -i -e 's/#define TARGET_CFLAGS_MIPS_ON_X86_64.*/#define TARGET_CFLAGS_MIPS_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
+ sed -i 's/&gt;/>/g' ${S}/Makefile
+}
+
+do_compile() {
+ oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
+}
+
+do_install:prepend () {
+ install -d ${D}${bindir}
+ install -d ${D}/${mandir}/man8
+ install -d ${D}${includedir}/crash
+
+ install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
+ install -m 0644 ${S}/defs.h ${D}${includedir}/crash
+}
+
+RDEPENDS:${PN} += "liblzma"
+
+# Causes gcc to get stuck and eat all available memory in qemuarm builds
+# jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
+ARM_INSTRUCTION_SET = "arm"
+
+# http://errors.yoctoproject.org/Errors/Details/186964/
+COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch b/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
index 26a34e5c16..fc99ff5187 100644
--- a/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
+++ b/meta-oe/recipes-kernel/crash/crash/0001-cross_add_configure_option.patch
@@ -1,27 +1,29 @@
-From 73269df4d8196abe81112acaa2613155b308a8b8 Mon Sep 17 00:00:00 2001
+From e3ba432243d9be4e845daabc78a0ae7c03c680f5 Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@cn.fujitsu.com>
Date: Fri, 9 Jan 2015 11:51:18 +0900
-Subject: [PATCH 1/9] cross_add_configure_option
+Subject: [PATCH] cross_add_configure_option
+
-%% original patch: 0001-cross_add_configure_option.patch
---
+Upstream-Status: Pending
+
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
-index a2baec1..f1972c8 100644
+index 7266e305..390fc0ef 100644
--- a/Makefile
+++ b/Makefile
-@@ -232,7 +232,7 @@ gdb_merge: force
+@@ -260,7 +260,7 @@ gdb_merge: force
@echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj
@rm -f ${PROGRAM}
@if [ ! -f ${GDB}/config.status ]; then \
- (cd ${GDB}; ./configure ${GDB_CONF_FLAGS} --with-separate-debug-dir=/usr/lib/debug \
+ (cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \
--with-bugurl="" --with-expat=no --with-python=no --disable-sim; \
- make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
- else make --no-print-directory rebuild; fi
-@@ -283,7 +283,7 @@ force:
+ $(MAKE) CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
+ else $(MAKE) rebuild; fi
+@@ -306,7 +306,7 @@ force:
make_configure: force
@rm -f configure
@@ -30,6 +32,3 @@ index a2baec1..f1972c8 100644
clean: make_configure
@./configure ${CONF_TARGET_FLAG} -q -b
---
-2.8.1
-
diff --git a/meta-oe/recipes-kernel/crash/crash/0001-printk-add-support-for-lockless-ringbuffer.patch b/meta-oe/recipes-kernel/crash/crash/0001-printk-add-support-for-lockless-ringbuffer.patch
deleted file mode 100644
index 1aaf1e6b07..0000000000
--- a/meta-oe/recipes-kernel/crash/crash/0001-printk-add-support-for-lockless-ringbuffer.patch
+++ /dev/null
@@ -1,445 +0,0 @@
-From a5531b24750e7949c35640d996ea14c0587938bc Mon Sep 17 00:00:00 2001
-From: John Ogness <john.ogness@linutronix.de>
-Date: Fri, 20 Nov 2020 05:56:59 +0000
-Subject: [PATCH 1/2] printk: add support for lockless ringbuffer
-
-Linux 5.10 introduces a new lockless ringbuffer. The new ringbuffer
-is structured completely different to the previous iterations.
-Add support for dumping the ringbuffer with the "log" command.
-The new ringbuffer is detected based on the availability of
-the "prb" symbol.
-
-Upstream-Status: Backport [https://github.com/crash-utility/crash/commit/a5531b24750e7949c35640d996ea14c0587938bc]
-
-Signed-off-by: John Ogness <john.ogness@linutronix.de>
-Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- Makefile | 5 ++
- defs.h | 30 +++++++
- kernel.c | 7 +-
- printk.c | 256 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
- symbols.c | 27 ++++++
- 5 files changed, 324 insertions(+), 1 deletion(-)
- create mode 100644 printk.c
-
-diff --git a/Makefile b/Makefile
-index d185719..f66eba7 100644
---- a/Makefile
-+++ b/Makefile
-@@ -61,6 +61,7 @@ VMWARE_HFILES=vmware_vmss.h
-
- CFILES=main.c tools.c global_data.c memory.c filesys.c help.c task.c \
- kernel.c test.c gdb_interface.c configure.c net.c dev.c bpf.c \
-+ printk.c \
- alpha.c x86.c ppc.c ia64.c s390.c s390x.c s390dbf.c ppc64.c x86_64.c \
- arm.c arm64.c mips.c sparc64.c \
- extensions.c remote.c va_server.c va_server_v1.c symbols.c cmdline.c \
-@@ -80,6 +81,7 @@ SOURCE_FILES=${CFILES} ${GENERIC_HFILES} ${MCORE_HFILES} \
-
- OBJECT_FILES=main.o tools.o global_data.o memory.o filesys.o help.o task.o \
- build_data.o kernel.o test.o gdb_interface.o net.o dev.o bpf.o \
-+ printk.o \
- alpha.o x86.o ppc.o ia64.o s390.o s390x.o s390dbf.o ppc64.o x86_64.o \
- arm.o arm64.o mips.o sparc64.o \
- extensions.o remote.o va_server.o va_server_v1.o symbols.o cmdline.o \
-@@ -363,6 +365,9 @@ task.o: ${GENERIC_HFILES} task.c
- kernel.o: ${GENERIC_HFILES} kernel.c
- ${CC} -c ${CRASH_CFLAGS} kernel.c ${WARNING_OPTIONS} ${WARNING_ERROR}
-
-+printk.o: ${GENERIC_HFILES} printk.c
-+ ${CC} -c ${CRASH_CFLAGS} printk.c ${WARNING_OPTIONS} ${WARNING_ERROR}
-+
- gdb_interface.o: ${GENERIC_HFILES} gdb_interface.c
- ${CC} -c ${CRASH_CFLAGS} gdb_interface.c ${WARNING_OPTIONS} ${WARNING_ERROR}
-
-diff --git a/defs.h b/defs.h
-index 9594950..e1a18e9 100644
---- a/defs.h
-+++ b/defs.h
-@@ -2106,6 +2106,28 @@ struct offset_table { /* stash of commonly-used offsets */
- long irq_common_data_affinity;
- long irq_desc_irq_common_data;
- long uts_namespace_name;
-+ long printk_info_seq;
-+ long printk_info_ts_nsec;
-+ long printk_info_text_len;
-+ long printk_info_level;
-+ long printk_info_caller_id;
-+ long printk_info_dev_info;
-+ long dev_printk_info_subsystem;
-+ long dev_printk_info_device;
-+ long prb_desc_ring;
-+ long prb_text_data_ring;
-+ long prb_desc_ring_count_bits;
-+ long prb_desc_ring_descs;
-+ long prb_desc_ring_infos;
-+ long prb_desc_ring_head_id;
-+ long prb_desc_ring_tail_id;
-+ long prb_desc_state_var;
-+ long prb_desc_text_blk_lpos;
-+ long prb_data_blk_lpos_begin;
-+ long prb_data_blk_lpos_next;
-+ long prb_data_ring_size_bits;
-+ long prb_data_ring_data;
-+ long atomic_long_t_counter;
- };
-
- struct size_table { /* stash of commonly-used sizes */
-@@ -2265,6 +2287,9 @@ struct size_table { /* stash of commonly-used sizes */
- long xa_node;
- long zram_table_entry;
- long irq_common_data;
-+ long printk_info;
-+ long printk_ringbuffer;
-+ long prb_desc;
- };
-
- struct array_table {
-@@ -6696,6 +6721,11 @@ int vmware_guestdump_memory_dump(FILE *);
- */
- int calc_kaslr_offset(ulong *, ulong *);
-
-+/*
-+ * printk.c
-+ */
-+void dump_lockless_record_log(int);
-+
- /*
- * gnu_binutils.c
- */
-diff --git a/kernel.c b/kernel.c
-index 9871637..e722ff9 100644
---- a/kernel.c
-+++ b/kernel.c
-@@ -5042,6 +5042,11 @@ dump_log(int msg_flags)
- struct syment *nsp;
- int log_wrap, loglevel, log_buf_len;
-
-+ if (kernel_symbol_exists("prb")) {
-+ dump_lockless_record_log(msg_flags);
-+ return;
-+ }
-+
- if (kernel_symbol_exists("log_first_idx") &&
- kernel_symbol_exists("log_next_idx")) {
- dump_variable_length_record_log(msg_flags);
-@@ -5289,7 +5294,7 @@ dump_log_entry(char *logptr, int msg_flags)
- }
-
- /*
-- * Handle the new variable-length-record log_buf.
-+ * Handle the variable-length-record log_buf.
- */
- static void
- dump_variable_length_record_log(int msg_flags)
-diff --git a/printk.c b/printk.c
-new file mode 100644
-index 0000000..f6d54ce
---- /dev/null
-+++ b/printk.c
-@@ -0,0 +1,256 @@
-+#include "defs.h"
-+#include <ctype.h>
-+
-+#define DESC_SV_BITS (sizeof(unsigned long) * 8)
-+#define DESC_COMMITTED_MASK (1UL << (DESC_SV_BITS - 1))
-+#define DESC_REUSE_MASK (1UL << (DESC_SV_BITS - 2))
-+#define DESC_FLAGS_MASK (DESC_COMMITTED_MASK | DESC_REUSE_MASK)
-+#define DESC_ID_MASK (~DESC_FLAGS_MASK)
-+
-+/* convenience struct for passing many values to helper functions */
-+struct prb_map {
-+ char *prb;
-+
-+ char *desc_ring;
-+ unsigned long desc_ring_count;
-+ char *descs;
-+ char *infos;
-+
-+ char *text_data_ring;
-+ unsigned long text_data_ring_size;
-+ char *text_data;
-+};
-+
-+static void
-+init_offsets(void)
-+{
-+ char *n;
-+
-+ n = "printk_info";
-+ STRUCT_SIZE_INIT(printk_info, n);
-+ MEMBER_OFFSET_INIT(printk_info_seq, n, "seq");
-+ MEMBER_OFFSET_INIT(printk_info_ts_nsec, n, "ts_nsec");
-+ MEMBER_OFFSET_INIT(printk_info_text_len, n, "text_len");
-+ MEMBER_OFFSET_INIT(printk_info_level, n, "level");
-+ MEMBER_OFFSET_INIT(printk_info_caller_id, n, "caller_id");
-+ MEMBER_OFFSET_INIT(printk_info_dev_info, n, "dev_info");
-+
-+ n = "dev_printk_info";
-+ MEMBER_OFFSET_INIT(dev_printk_info_subsystem, n, "subsystem");
-+ MEMBER_OFFSET_INIT(dev_printk_info_device, n, "device");
-+
-+ n = "printk_ringbuffer";
-+ STRUCT_SIZE_INIT(printk_ringbuffer, n);
-+ MEMBER_OFFSET_INIT(prb_desc_ring, n, "desc_ring");
-+ MEMBER_OFFSET_INIT(prb_text_data_ring, n, "text_data_ring");
-+
-+ n = "prb_desc_ring";
-+ MEMBER_OFFSET_INIT(prb_desc_ring_count_bits, n, "count_bits");
-+ MEMBER_OFFSET_INIT(prb_desc_ring_descs, n, "descs");
-+ MEMBER_OFFSET_INIT(prb_desc_ring_infos, n, "infos");
-+ MEMBER_OFFSET_INIT(prb_desc_ring_head_id, n, "head_id");
-+ MEMBER_OFFSET_INIT(prb_desc_ring_tail_id, n, "tail_id");
-+
-+ n = "prb_desc";
-+ STRUCT_SIZE_INIT(prb_desc, n);
-+ MEMBER_OFFSET_INIT(prb_desc_state_var, n, "state_var");
-+ MEMBER_OFFSET_INIT(prb_desc_text_blk_lpos, n, "text_blk_lpos");
-+
-+ n = "prb_data_blk_lpos";
-+ MEMBER_OFFSET_INIT(prb_data_blk_lpos_begin, n, "begin");
-+ MEMBER_OFFSET_INIT(prb_data_blk_lpos_next, n, "next");
-+
-+ n = "prb_data_ring";
-+ MEMBER_OFFSET_INIT(prb_data_ring_size_bits, n, "size_bits");
-+ MEMBER_OFFSET_INIT(prb_data_ring_data, n, "data");
-+
-+ n = "atomic_long_t";
-+ MEMBER_OFFSET_INIT(atomic_long_t_counter, n, "counter");
-+}
-+
-+static void
-+dump_record(struct prb_map *m, unsigned long id, int msg_flags)
-+{
-+ unsigned short text_len;
-+ unsigned long state_var;
-+ unsigned int caller_id;
-+ unsigned char level;
-+ unsigned long begin;
-+ unsigned long next;
-+ char buf[BUFSIZE];
-+ uint64_t ts_nsec;
-+ ulonglong nanos;
-+ ulonglong seq;
-+ int ilen = 0, i;
-+ char *desc, *info, *text, *p;
-+ ulong rem;
-+
-+ desc = m->descs + ((id % m->desc_ring_count) * SIZE(prb_desc));
-+
-+ /* skip non-committed record */
-+ state_var = ULONG(desc + OFFSET(prb_desc_state_var) +
-+ OFFSET(atomic_long_t_counter));
-+ if ((state_var & DESC_FLAGS_MASK) != DESC_COMMITTED_MASK)
-+ return;
-+
-+ info = m->infos + ((id % m->desc_ring_count) * SIZE(printk_info));
-+
-+ seq = ULONGLONG(info + OFFSET(printk_info_seq));
-+ caller_id = UINT(info + OFFSET(printk_info_caller_id));
-+ if (CRASHDEBUG(1))
-+ fprintf(fp, "seq: %llu caller_id: %x (%s: %u)\n", seq, caller_id,
-+ caller_id & 0x80000000 ? "cpu" : "pid", caller_id & ~0x80000000);
-+
-+ text_len = USHORT(info + OFFSET(printk_info_text_len));
-+
-+ begin = ULONG(desc + OFFSET(prb_desc_text_blk_lpos) +
-+ OFFSET(prb_data_blk_lpos_begin)) %
-+ m->text_data_ring_size;
-+ next = ULONG(desc + OFFSET(prb_desc_text_blk_lpos) +
-+ OFFSET(prb_data_blk_lpos_next)) %
-+ m->text_data_ring_size;
-+
-+ /* skip data-less text blocks */
-+ if (begin == next)
-+ goto out;
-+
-+ if ((msg_flags & SHOW_LOG_TEXT) == 0) {
-+ ts_nsec = ULONGLONG(info + OFFSET(printk_info_ts_nsec));
-+ nanos = (ulonglong)ts_nsec / (ulonglong)1000000000;
-+ rem = (ulonglong)ts_nsec % (ulonglong)1000000000;
-+ if (msg_flags & SHOW_LOG_CTIME) {
-+ time_t t = kt->boot_date.tv_sec + nanos;
-+ sprintf(buf, "[%s] ", ctime_tz(&t));
-+ } else
-+ sprintf(buf, "[%5lld.%06ld] ", nanos, rem/1000);
-+
-+ ilen += strlen(buf);
-+ fprintf(fp, "%s", buf);
-+ }
-+
-+ if (msg_flags & SHOW_LOG_LEVEL) {
-+ level = UCHAR(info + OFFSET(printk_info_level)) >> 5;
-+ sprintf(buf, "<%x>", level);
-+ ilen += strlen(buf);
-+ fprintf(fp, "%s", buf);
-+ }
-+
-+ /* handle wrapping data block */
-+ if (begin > next)
-+ begin = 0;
-+
-+ /* skip over descriptor ID */
-+ begin += sizeof(unsigned long);
-+
-+ /* handle truncated messages */
-+ if (next - begin < text_len)
-+ text_len = next - begin;
-+
-+ text = m->text_data + begin;
-+
-+ for (i = 0, p = text; i < text_len; i++, p++) {
-+ if (*p == '\n')
-+ fprintf(fp, "\n%s", space(ilen));
-+ else if (isprint(*p) || isspace(*p))
-+ fputc(*p, fp);
-+ else
-+ fputc('.', fp);
-+ }
-+
-+ if (msg_flags & SHOW_LOG_DICT) {
-+ text = info + OFFSET(printk_info_dev_info) +
-+ OFFSET(dev_printk_info_subsystem);
-+ if (strlen(text))
-+ fprintf(fp, "\n%sSUBSYSTEM=%s", space(ilen), text);
-+
-+ text = info + OFFSET(printk_info_dev_info) +
-+ OFFSET(dev_printk_info_device);
-+ if (strlen(text))
-+ fprintf(fp, "\n%sDEVICE=%s", space(ilen), text);
-+ }
-+out:
-+ fprintf(fp, "\n");
-+}
-+
-+/*
-+ * Handle the lockless printk_ringbuffer.
-+ */
-+void
-+dump_lockless_record_log(int msg_flags)
-+{
-+ unsigned long head_id;
-+ unsigned long tail_id;
-+ unsigned long kaddr;
-+ unsigned long id;
-+ struct prb_map m;
-+
-+ if (INVALID_SIZE(printk_info))
-+ init_offsets();
-+
-+ /* setup printk_ringbuffer */
-+ get_symbol_data("prb", sizeof(char *), &kaddr);
-+ m.prb = GETBUF(SIZE(printk_ringbuffer));
-+ if (!readmem(kaddr, KVADDR, m.prb, SIZE(printk_ringbuffer),
-+ "printk_ringbuffer contents", RETURN_ON_ERROR|QUIET)) {
-+ error(WARNING, "\ncannot read printk_ringbuffer contents\n");
-+ goto out_prb;
-+ }
-+
-+ /* setup descriptor ring */
-+ m.desc_ring = m.prb + OFFSET(prb_desc_ring);
-+ m.desc_ring_count = 1 << UINT(m.desc_ring + OFFSET(prb_desc_ring_count_bits));
-+
-+ kaddr = ULONG(m.desc_ring + OFFSET(prb_desc_ring_descs));
-+ m.descs = GETBUF(SIZE(prb_desc) * m.desc_ring_count);
-+ if (!readmem(kaddr, KVADDR, m.descs, SIZE(prb_desc) * m.desc_ring_count,
-+ "prb_desc_ring contents", RETURN_ON_ERROR|QUIET)) {
-+ error(WARNING, "\ncannot read prb_desc_ring contents\n");
-+ goto out_descs;
-+ }
-+
-+ kaddr = ULONG(m.desc_ring + OFFSET(prb_desc_ring_infos));
-+ m.infos = GETBUF(SIZE(printk_info) * m.desc_ring_count);
-+ if (!readmem(kaddr, KVADDR, m.infos, SIZE(printk_info) * m.desc_ring_count,
-+ "prb_info_ring contents", RETURN_ON_ERROR|QUIET)) {
-+ error(WARNING, "\ncannot read prb_info_ring contents\n");
-+ goto out_infos;
-+ }
-+
-+ /* setup text data ring */
-+ m.text_data_ring = m.prb + OFFSET(prb_text_data_ring);
-+ m.text_data_ring_size = 1 << UINT(m.text_data_ring + OFFSET(prb_data_ring_size_bits));
-+
-+ kaddr = ULONG(m.text_data_ring + OFFSET(prb_data_ring_data));
-+ m.text_data = GETBUF(m.text_data_ring_size);
-+ if (!readmem(kaddr, KVADDR, m.text_data, m.text_data_ring_size,
-+ "prb_text_data_ring contents", RETURN_ON_ERROR|QUIET)) {
-+ error(WARNING, "\ncannot read prb_text_data_ring contents\n");
-+ goto out_text_data;
-+ }
-+
-+ /* ready to go */
-+
-+ tail_id = ULONG(m.desc_ring + OFFSET(prb_desc_ring_tail_id) +
-+ OFFSET(atomic_long_t_counter));
-+ head_id = ULONG(m.desc_ring + OFFSET(prb_desc_ring_head_id) +
-+ OFFSET(atomic_long_t_counter));
-+
-+ hq_open();
-+
-+ for (id = tail_id; id != head_id; id = (id + 1) & DESC_ID_MASK)
-+ dump_record(&m, id, msg_flags);
-+
-+ /* dump head record */
-+ dump_record(&m, id, msg_flags);
-+
-+ hq_close();
-+
-+out_text_data:
-+ FREEBUF(m.text_data);
-+out_infos:
-+ FREEBUF(m.infos);
-+out_descs:
-+ FREEBUF(m.descs);
-+out_prb:
-+ FREEBUF(m.prb);
-+}
-diff --git a/symbols.c b/symbols.c
-index b2f4eb5..a51078d 100644
---- a/symbols.c
-+++ b/symbols.c
-@@ -10426,6 +10426,30 @@ dump_offset_table(char *spec, ulong makestruct)
- OFFSET(log_level));
- fprintf(fp, " log_flags_level: %ld\n",
- OFFSET(log_flags_level));
-+
-+ fprintf(fp, " printk_info_seq: %ld\n", OFFSET(printk_info_seq));
-+ fprintf(fp, " printk_info_ts_nseq: %ld\n", OFFSET(printk_info_ts_nsec));
-+ fprintf(fp, " printk_info_text_len: %ld\n", OFFSET(printk_info_text_len));
-+ fprintf(fp, " printk_info_level: %ld\n", OFFSET(printk_info_level));
-+ fprintf(fp, " printk_info_caller_id: %ld\n", OFFSET(printk_info_caller_id));
-+ fprintf(fp, " printk_info_dev_info: %ld\n", OFFSET(printk_info_dev_info));
-+ fprintf(fp, " dev_printk_info_subsystem: %ld\n", OFFSET(dev_printk_info_subsystem));
-+ fprintf(fp, " dev_printk_info_device: %ld\n", OFFSET(dev_printk_info_device));
-+ fprintf(fp, " prb_desc_ring: %ld\n", OFFSET(prb_desc_ring));
-+ fprintf(fp, " prb_text_data_ring: %ld\n", OFFSET(prb_text_data_ring));
-+ fprintf(fp, " prb_desc_ring_count_bits: %ld\n", OFFSET(prb_desc_ring_count_bits));
-+ fprintf(fp, " prb_desc_ring_descs: %ld\n", OFFSET(prb_desc_ring_descs));
-+ fprintf(fp, " prb_desc_ring_infos: %ld\n", OFFSET(prb_desc_ring_infos));
-+ fprintf(fp, " prb_desc_ring_head_id: %ld\n", OFFSET(prb_desc_ring_head_id));
-+ fprintf(fp, " prb_desc_ring_tail_id: %ld\n", OFFSET(prb_desc_ring_tail_id));
-+ fprintf(fp, " prb_desc_state_var: %ld\n", OFFSET(prb_desc_state_var));
-+ fprintf(fp, " prb_desc_text_blk_lpos: %ld\n", OFFSET(prb_desc_text_blk_lpos));
-+ fprintf(fp, " prb_data_blk_lpos_begin: %ld\n", OFFSET(prb_data_blk_lpos_begin));
-+ fprintf(fp, " prb_data_blk_lpos_next: %ld\n", OFFSET(prb_data_blk_lpos_next));
-+ fprintf(fp, " prb_data_ring_size_bits: %ld\n", OFFSET(prb_data_ring_size_bits));
-+ fprintf(fp, " prb_data_ring_data: %ld\n", OFFSET(prb_data_ring_data));
-+ fprintf(fp, " atomit_long_t_counter: %ld\n", OFFSET(atomic_long_t_counter));
-+
- fprintf(fp, " sched_rt_entity_my_q: %ld\n",
- OFFSET(sched_rt_entity_my_q));
- fprintf(fp, " task_group_parent: %ld\n",
-@@ -10850,6 +10874,9 @@ dump_offset_table(char *spec, ulong makestruct)
- SIZE(xarray));
- fprintf(fp, " xa_node: %ld\n",
- SIZE(xa_node));
-+ fprintf(fp, " printk_info: %ld\n", SIZE(printk_info));
-+ fprintf(fp, " printk_ringbuffer: %ld\n", SIZE(printk_ringbuffer));
-+ fprintf(fp, " prb_desc: %ld\n", SIZE(prb_desc));
-
-
- fprintf(fp, "\n array_table:\n");
---
-2.17.1
-
diff --git a/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch b/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch
deleted file mode 100644
index 8355fe44ea..0000000000
--- a/meta-oe/recipes-kernel/crash/crash/0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 52fc1a7c17768fd52c3577d21dad84e8babb94b5 Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 6 Apr 2017 23:01:14 -0400
-Subject: [PATCH 2/3] crash: fix build error unknown type name 'gdb_fpregset_t'
-
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- gdb-7.6/gdb/gdb_proc_service.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/gdb-7.6/gdb/gdb_proc_service.h b/gdb-7.6/gdb/gdb_proc_service.h
-index 8bc6088..99c6496 100644
---- a/gdb-7.6/gdb/gdb_proc_service.h
-+++ b/gdb-7.6/gdb/gdb_proc_service.h
-@@ -20,6 +20,7 @@
- #define GDB_PROC_SERVICE_H
-
- #include <sys/types.h>
-+#include "gregset.h"
-
- #ifdef HAVE_PROC_SERVICE_H
- #include <proc_service.h>
-@@ -53,8 +54,6 @@
- #include <sys/procfs.h>
- #endif
-
--#include "gregset.h"
--
- /* Functions in this interface return one of these status codes. */
- typedef enum
- {
---
-2.8.1
-
diff --git a/meta-oe/recipes-kernel/crash/crash/0002-printk-use-committed-finalized-state-values.patch b/meta-oe/recipes-kernel/crash/crash/0002-printk-use-committed-finalized-state-values.patch
deleted file mode 100644
index 5213195c7d..0000000000
--- a/meta-oe/recipes-kernel/crash/crash/0002-printk-use-committed-finalized-state-values.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 71e159c64000467e94e08aefc144f5e1cdaa4aa0 Mon Sep 17 00:00:00 2001
-From: John Ogness <john.ogness@linutronix.de>
-Date: Wed, 25 Nov 2020 05:27:53 +0106
-Subject: [PATCH 2/2] printk: use committed/finalized state values
-
-An addendum to the previous crash commit a5531b24750e.
-The ringbuffer entries use 2 state values (committed and finalized)
-rather than a single flag to represent being available for reading.
-Copy the definitions and state lookup function directly from the
-kernel source and use the new states.
-
-Upstream-Status: Backport [https://github.com/crash-utility/crash/commit/71e159c64000467e94e08aefc144f5e1cdaa4aa0]
-
-Signed-off-by: John Ogness <john.ogness@linutronix.de>
-Signed-off-by: Nikolay Borisov <nborisov@suse.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- printk.c | 48 +++++++++++++++++++++++++++++++++++++++++-------
- 1 file changed, 41 insertions(+), 7 deletions(-)
-
-diff --git a/printk.c b/printk.c
-index f6d54ce..8658016 100644
---- a/printk.c
-+++ b/printk.c
-@@ -1,12 +1,6 @@
- #include "defs.h"
- #include <ctype.h>
-
--#define DESC_SV_BITS (sizeof(unsigned long) * 8)
--#define DESC_COMMITTED_MASK (1UL << (DESC_SV_BITS - 1))
--#define DESC_REUSE_MASK (1UL << (DESC_SV_BITS - 2))
--#define DESC_FLAGS_MASK (DESC_COMMITTED_MASK | DESC_REUSE_MASK)
--#define DESC_ID_MASK (~DESC_FLAGS_MASK)
--
- /* convenience struct for passing many values to helper functions */
- struct prb_map {
- char *prb;
-@@ -21,6 +15,44 @@ struct prb_map {
- char *text_data;
- };
-
-+/*
-+ * desc_state and DESC_* definitions taken from kernel source:
-+ *
-+ * kernel/printk/printk_ringbuffer.h
-+ */
-+
-+/* The possible responses of a descriptor state-query. */
-+enum desc_state {
-+ desc_miss = -1, /* ID mismatch (pseudo state) */
-+ desc_reserved = 0x0, /* reserved, in use by writer */
-+ desc_committed = 0x1, /* committed by writer, could get reopened */
-+ desc_finalized = 0x2, /* committed, no further modification allowed */
-+ desc_reusable = 0x3, /* free, not yet used by any writer */
-+};
-+
-+#define DESC_SV_BITS (sizeof(unsigned long) * 8)
-+#define DESC_FLAGS_SHIFT (DESC_SV_BITS - 2)
-+#define DESC_FLAGS_MASK (3UL << DESC_FLAGS_SHIFT)
-+#define DESC_STATE(sv) (3UL & (sv >> DESC_FLAGS_SHIFT))
-+#define DESC_ID_MASK (~DESC_FLAGS_MASK)
-+#define DESC_ID(sv) ((sv) & DESC_ID_MASK)
-+
-+/*
-+ * get_desc_state() taken from kernel source:
-+ *
-+ * kernel/printk/printk_ringbuffer.c
-+ */
-+
-+/* Query the state of a descriptor. */
-+static enum desc_state get_desc_state(unsigned long id,
-+ unsigned long state_val)
-+{
-+ if (id != DESC_ID(state_val))
-+ return desc_miss;
-+
-+ return DESC_STATE(state_val);
-+}
-+
- static void
- init_offsets(void)
- {
-@@ -74,6 +106,7 @@ dump_record(struct prb_map *m, unsigned long id, int msg_flags)
- unsigned short text_len;
- unsigned long state_var;
- unsigned int caller_id;
-+ enum desc_state state;
- unsigned char level;
- unsigned long begin;
- unsigned long next;
-@@ -90,7 +123,8 @@ dump_record(struct prb_map *m, unsigned long id, int msg_flags)
- /* skip non-committed record */
- state_var = ULONG(desc + OFFSET(prb_desc_state_var) +
- OFFSET(atomic_long_t_counter));
-- if ((state_var & DESC_FLAGS_MASK) != DESC_COMMITTED_MASK)
-+ state = get_desc_state(id, state_var);
-+ if (state != desc_committed && state != desc_finalized)
- return;
-
- info = m->infos + ((id % m->desc_ring_count) * SIZE(printk_info));
---
-2.17.1
-
diff --git a/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch b/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch
deleted file mode 100644
index 1f4bd01da4..0000000000
--- a/meta-oe/recipes-kernel/crash/crash/0003-crash-detect-the-sysroot-s-glibc-header-file.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From c7950ef5228adc52a500b4fc67d7e48c3c09c1df Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Thu, 6 Apr 2017 23:02:44 -0400
-Subject: [PATCH 3/3] crash: detect the sysroot's glibc header file
-
-This is cross compile, so let the Makefile detect the sysroot's glibc
-header file, not the host's glibc header file.
-
-Upstream-Status: Pending
-
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index b6b7e80..94f21a5 100644
---- a/Makefile
-+++ b/Makefile
-@@ -264,8 +264,8 @@ gdb_patch:
- if [ "${ARCH}" = "x86_64" ] && [ "${TARGET}" = "PPC64" ] && [ -f ${GDB}-ppc64le-support.patch ]; then \
- patch -d ${GDB} -p1 -F0 < ${GDB}-ppc64le-support.patch ; \
- fi
-- if [ -f /usr/include/proc_service.h ]; then \
-- grep 'extern ps_err_e ps_get_thread_area (struct' /usr/include/proc_service.h; \
-+ if [ -f ${RECIPE_SYSROOT}/usr/include/proc_service.h ]; then \
-+ grep 'extern ps_err_e ps_get_thread_area (struct' ${RECIPE_SYSROOT}/usr/include/proc_service.h; \
- if [ $$? -eq 0 ]; then \
- patch -p0 < ${GDB}-proc_service.h.patch; \
- fi; \
---
-2.8.1
-
diff --git a/meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch b/meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch
index 0d44c7f176..b5f97228de 100644
--- a/meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch
+++ b/meta-oe/recipes-kernel/crash/crash/7001force_define_architecture.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -uprN crash-5.1.8.org/configure.c crash-5.1.8/configure.c
--- crash-5.1.8.org/configure.c 2011-09-17 04:01:12.000000000 +0900
+++ crash-5.1.8/configure.c 2012-09-13 13:28:45.393344108 +0900
diff --git a/meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch b/meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch
index d567fa0a82..2d01453059 100644
--- a/meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch
+++ b/meta-oe/recipes-kernel/crash/crash/7003cross_ranlib.patch
@@ -1,8 +1,21 @@
---- crash-5.1.8/Makefile.orig 2011-12-27 11:21:58.220652105 +0900
-+++ crash-5.1.8/Makefile 2011-12-27 11:22:29.563651593 +0900
-@@ -285,6 +285,7 @@
+From 2f200ceed289f935b5e7ec230454a22dd76e42b0 Mon Sep 17 00:00:00 2001
+From: leimaohui <leimaohui@cn.fujitsu.com>
+Date: Mon, 12 Jan 2015 11:52:35 +0800
+Subject: [PATCH] crash: add new recipe
+
+---
+Upstream-Status: Pending
+
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index 79aef176..7266e305 100644
+--- a/Makefile
++++ b/Makefile
+@@ -295,6 +295,7 @@ gdb_patch:
- library: make_build_data ${OBJECT_FILES}
+ library: ${OBJECT_FILES}
ar -rs ${PROGRAM}lib.a ${OBJECT_FILES}
+ ${RANLIB} ${PROGRAM}lib.a
diff --git a/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9 b/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9
deleted file mode 100644
index d6fc22fb34..0000000000
--- a/meta-oe/recipes-kernel/crash/crash/config-site.crash-7.0.9
+++ /dev/null
@@ -1 +0,0 @@
-bash_cv_have_mbstate_t=yes
diff --git a/meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch b/meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch
index e254fe8772..16382877d0 100644
--- a/meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch
+++ b/meta-oe/recipes-kernel/crash/crash/donnot-extract-gdb-during-do-compile.patch
@@ -1,32 +1,45 @@
+From 8b882650b730cb6e025d47d65574f43549b7a1a3 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 9 Mar 2023 10:28:28 +0800
+Subject: [PATCH] Makefile: Put gdb source tarball in SRC_URI
+
Put gdb source tarball in SRC_URI and don't fetch and extract it during
do_compile.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Kai Kang <kai.kang@windriver.com>
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
+ Makefile | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
diff --git a/Makefile b/Makefile
-index bb0a34e..5eb7604 100644
+index 79aef17..146da6a 100644
--- a/Makefile
+++ b/Makefile
-@@ -226,7 +226,7 @@ all: make_configure
- # @make --no-print-directory extensions
+@@ -254,7 +254,7 @@ all: make_configure
+ # @$(MAKE) extensions
gdb_merge: force
- @if [ ! -f ${GDB}/README ]; then \
+ @if [ ! -f ${GDB}/${GDB}.patch ]; then \
- make --no-print-directory gdb_unzip; fi
+ $(MAKE) gdb_unzip; fi
@echo "${LDFLAGS} -lz -ldl -rdynamic" > ${GDB}/gdb/mergelibs
@echo "../../${PROGRAM} ../../${PROGRAM}lib.a" > ${GDB}/gdb/mergeobj
-@@ -253,11 +253,6 @@ gdb_unzip:
+@@ -281,12 +281,6 @@ gdb_unzip:
@rm -f gdb.files
@for FILE in ${GDB_FILES} dummy; do\
echo $$FILE >> gdb.files; done
- @if [ ! -f ${GDB}.tar.gz ] && [ ! -f /usr/bin/wget ]; then \
- echo /usr/bin/wget is required to download ${GDB}.tar.gz; echo; exit 1; fi
- @if [ ! -f ${GDB}.tar.gz ] && [ -f /usr/bin/wget ]; then \
-- wget http://ftp.gnu.org/gnu/gdb/${GDB}.tar.gz; fi
-- @tar --exclude-from gdb.files -xvzmf ${GDB}.tar.gz
- @make --no-print-directory gdb_patch
+- [ ! -t 2 ] && WGET_OPTS="--progress=dot:mega"; \
+- wget $$WGET_OPTS http://ftp.gnu.org/gnu/gdb/${GDB}.tar.gz; fi
+- @tar --exclude-from gdb.files -xzmf ${GDB}.tar.gz
+ @$(MAKE) gdb_patch
gdb_patch:
+--
+2.25.1
+
diff --git a/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch b/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch
index aa5f44dd42..257b4dd2bf 100644
--- a/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch
+++ b/meta-oe/recipes-kernel/crash/crash/gdb_build_jobs_and_not_write_crash_target.patch
@@ -1,3 +1,8 @@
+From af49d8df559aa18f97d14ab7971f211238a16041 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 9 Mar 2023 10:50:10 +0800
+Subject: [PATCH] Makefile: Don't write ${TARGET} to crash.target
+
This enables parallel building (multiple jobs in gdb) by reading the
value from GDB_MAKE_JOBS.
@@ -8,19 +13,26 @@ Upstream-Status: Pending
Don't write ${TARGET} to crash.target which causes rebuild fails.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
diff --git a/Makefile b/Makefile
-index 27a1d47..bcf2d2f 100644
+index cd25c7d..d61c4c5 100644
--- a/Makefile
+++ b/Makefile
-@@ -232,8 +232,8 @@ gdb_merge: force
+@@ -262,8 +262,8 @@ gdb_merge: force
@if [ ! -f ${GDB}/config.status ]; then \
(cd ${GDB}; ./configure --host=${GDB_TARGET} --build=${GDB_HOST} --with-separate-debug-dir=/usr/lib/debug \
--with-bugurl="" --with-expat=no --with-python=no --disable-sim; \
-- make --no-print-directory CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
-- else make --no-print-directory rebuild; fi
-+ make --no-print-directory CRASH_TARGET=${TARGET} ${GDB_MAKE_JOBS}; ) \
-+ else make --no-print-directory ${GDB_MAKE_JOBS} rebuild; fi
+- $(MAKE) CRASH_TARGET=${TARGET}; echo ${TARGET} > crash.target) \
+- else $(MAKE) rebuild; fi
++ $(MAKE) CRASH_TARGET=${TARGET} ${GDB_MAKE_JOBS}; ) \
++ else $(MAKE) ${GDB_MAKE_JOBS} rebuild; fi
@if [ ! -f ${PROGRAM} ]; then \
echo; echo "${PROGRAM} build failed"; \
echo; exit 1; fi
+--
+2.25.1
+
diff --git a/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch b/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch
deleted file mode 100644
index 905b4c2cd0..0000000000
--- a/meta-oe/recipes-kernel/crash/crash/remove-unrecognized-gcc-option-m32-for-mips.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Pending
-
-It fails to build crash for mips with error:
-
-| mips-wrs-linux-gcc: error: unrecognized command line option '-m32'
-| Makefile:291: recipe for target 'make_build_data' failed
-
-So remove the unrecognized option '-m32' for mips.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-diff --git a/configure.c b/configure.c
-index cf1973b..71e97b3 100644
---- a/configure.c
-+++ b/configure.c
-@@ -151,7 +151,7 @@ void add_extra_lib(char *);
- #define TARGET_CFLAGS_PPC64_ON_X86_64 "TARGET_CFLAGS="
- #define TARGET_CFLAGS_MIPS "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
- #define TARGET_CFLAGS_MIPS_ON_X86 "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
--#define TARGET_CFLAGS_MIPS_ON_X86_64 "TARGET_CFLAGS=-m32 -D_FILE_OFFSET_BITS=64"
-+#define TARGET_CFLAGS_MIPS_ON_X86_64 "TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64"
- #define TARGET_CFLAGS_SPARC64 "TARGET_CFLAGS="
-
- #define GDB_TARGET_DEFAULT "GDB_CONF_FLAGS="
-@@ -162,7 +162,7 @@ void add_extra_lib(char *);
- #define GDB_TARGET_ARM64_ON_X86_64 "GDB_CONF_FLAGS=--target=aarch64-elf-linux" /* TBD */
- #define GDB_TARGET_PPC64_ON_X86_64 "GDB_CONF_FLAGS=--target=powerpc64le-unknown-linux-gnu"
- #define GDB_TARGET_MIPS_ON_X86 "GDB_CONF_FLAGS=--target=mipsel-elf-linux"
--#define GDB_TARGET_MIPS_ON_X86_64 "GDB_CONF_FLAGS=--target=mipsel-elf-linux CFLAGS=-m32"
-+#define GDB_TARGET_MIPS_ON_X86_64 "GDB_CONF_FLAGS=--target=mipsel-elf-linux"
-
- /*
- * The original plan was to allow the use of a particular version
diff --git a/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch b/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch
deleted file mode 100644
index 0185b57045..0000000000
--- a/meta-oe/recipes-kernel/crash/crash/sim-common-sim-arange-fix-extern-inline-handling.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Upstream-Status: Backport
-
-https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=92fc615
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
-From 92fc6153a6fdf2a027d9780f5945712aafad4a9e Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 29 Mar 2015 15:59:01 -0400
-Subject: [PATCH] sim: common: sim-arange: fix extern inline handling
-
-With newer versions of gcc (5.x), the extern inline we're using with the
-sim-arange module no longer works. Since this code really wants the gnu
-inline semantics, use that attribute explicitly.
-
-Reported-by: DJ Delorie <dj@redhat.com>
-Reported-by: Joel Sherrill <joel.sherrill@oarcorp.com>
----
- gdb-7.6/sim/common/sim-arange.h | 20 ++++++++++++--------
- gdb-7.6/sim/common/sim-inline.h | 4 +++-
- 2 files changed, 15 insertions(+), 9 deletions(-)
-
-diff --git a/gdb-7.6/sim/common/sim-arange.h b/gdb-7.6/sim/common/sim-arange.h
-index 73117f3..de842c9 100644
---- a/gdb-7.6/sim/common/sim-arange.h
-+++ b/gdb-7.6/sim/common/sim-arange.h
-@@ -60,22 +60,26 @@ extern void sim_addr_range_delete (ADDR_RANGE * /*ar*/,
- address_word /*start*/,
- address_word /*end*/);
-
-+/* TODO: This should get moved into sim-inline.h. */
-+#ifdef HAVE_INLINE
-+#ifdef SIM_ARANGE_C
-+#define SIM_ARANGE_INLINE INLINE
-+#else
-+#define SIM_ARANGE_INLINE EXTERN_INLINE
-+#endif
-+#else
-+#define SIM_ARANGE_INLINE EXTERN
-+#endif
-+
- /* Return non-zero if ADDR is in range AR, traversing the entire tree.
- If no range is specified, that is defined to mean "everything". */
--extern INLINE int
-+SIM_ARANGE_INLINE int
- sim_addr_range_hit_p (ADDR_RANGE * /*ar*/, address_word /*addr*/);
- #define ADDR_RANGE_HIT_P(ar, addr) \
- ((ar)->range_tree == NULL || sim_addr_range_hit_p ((ar), (addr)))
-
- #ifdef HAVE_INLINE
--#ifdef SIM_ARANGE_C
--#define SIM_ARANGE_INLINE INLINE
--#else
--#define SIM_ARANGE_INLINE EXTERN_INLINE
--#endif
- #include "sim-arange.c"
--#else
--#define SIM_ARANGE_INLINE
- #endif
- #define SIM_ARANGE_C_INCLUDED
-
-diff --git a/gdb-7.6/sim/common/sim-inline.h b/gdb-7.6/sim/common/sim-inline.h
-index af75562..8a9c286 100644
---- a/gdb-7.6/sim/common/sim-inline.h
-+++ b/gdb-7.6/sim/common/sim-inline.h
-@@ -303,7 +303,9 @@
- /* ??? Temporary, pending decision to always use extern inline and do a vast
- cleanup of inline support. */
- #ifndef INLINE2
--#if defined (__GNUC__)
-+#if defined (__GNUC_GNU_INLINE__) || defined (__GNUC_STDC_INLINE__)
-+#define INLINE2 __inline__ __attribute__ ((__gnu_inline__))
-+#elif defined (__GNUC__)
- #define INLINE2 __inline__
- #else
- #define INLINE2 /*inline*/
---
-2.6.1
-
diff --git a/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch b/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch
deleted file mode 100644
index 77a287f146..0000000000
--- a/meta-oe/recipes-kernel/crash/crash/sim-ppc-drop-LIBS-from-psim-dependency.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Upstream-Status: Backport
-
-https://sourceware.org/git/?p=binutils-gdb.git;h=0d8a6ab
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From 0d8a6ab7d39d28fb1557e2a62e9e4b336341ab34 Mon Sep 17 00:00:00 2001
-From: Aaro Koskinen <aaro.koskinen@iki.fi>
-Date: Mon, 17 Feb 2014 17:12:59 -0500
-Subject: [PATCH] sim: ppc: drop $(LIBS) from psim dependency
-
-When cross-compiling GDB for PPC, there's a prerequisite "-lz" for psim
-that results in a build failure. With such prerequisite, GNU Make will
-try to search the library from build machine's /usr/lib which is wrong.
-On 64-bit Linux build machines the compilation will fail because of this.
-
-URL: https://sourceware.org/bugzilla/show_bug.cgi?id=12202
----
- sim/ppc/Makefile.in | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/gdb-7.6/sim/ppc/Makefile.in b/gdb-7.6/sim/ppc/Makefile.in
-index b811f6f..740bdb0 100644
---- a/gdb-7.6/sim/ppc/Makefile.in
-+++ b/gdb-7.6/sim/ppc/Makefile.in
-@@ -552,7 +552,7 @@ PACKAGE_SRC = @sim_pk_src@
- PACKAGE_OBJ = @sim_pk_obj@
-
-
--psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBS) $(LIBINTL_DEP)
-+psim: $(TARGETLIB) main.o $(LIBIBERTY_LIB) $(BFD_LIB) $(LIBINTL_DEP)
- $(CC) $(CFLAGS) $(SIM_CFLAGS) $(LDFLAGS) -o psim$(EXEEXT) main.o $(TARGETLIB) $(BFD_LIB) $(LIBINTL) $(LIBIBERTY_LIB) $(LIBS)
-
- run: psim
---
-1.9.4
-
diff --git a/meta-oe/recipes-kernel/crash/crash_7.2.9.bb b/meta-oe/recipes-kernel/crash/crash_7.2.9.bb
deleted file mode 100644
index 0b6883a49a..0000000000
--- a/meta-oe/recipes-kernel/crash/crash_7.2.9.bb
+++ /dev/null
@@ -1,120 +0,0 @@
-SUMMARY = "Kernel analysis utility for live systems, netdump, diskdump, kdump, LKCD or mcore dumpfiles"
-DESCRIPTION = "The core analysis suite is a self-contained tool that can be used to\
-investigate either live systems, kernel core dumps created from the\
-netdump, diskdump and kdump packages from Red Hat Linux, the mcore kernel patch\
-offered by Mission Critical Linux, or the LKCD kernel patch."
-
-HOMEPAGE = "http://people.redhat.com/anderson"
-SECTION = "devel"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING3;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "zlib readline coreutils-native ncurses-native"
-
-S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/crash-utility/${BPN}.git \
- ${GNU_MIRROR}/gdb/gdb-7.6.tar.gz;name=gdb;subdir=git \
- file://7001force_define_architecture.patch \
- file://7003cross_ranlib.patch \
- file://0001-cross_add_configure_option.patch \
- file://sim-ppc-drop-LIBS-from-psim-dependency.patch \
- file://sim-common-sim-arange-fix-extern-inline-handling.patch \
- file://donnot-extract-gdb-during-do-compile.patch \
- file://gdb_build_jobs_and_not_write_crash_target.patch \
- file://remove-unrecognized-gcc-option-m32-for-mips.patch \
- file://0002-crash-fix-build-error-unknown-type-name-gdb_fpregset.patch \
- file://0003-crash-detect-the-sysroot-s-glibc-header-file.patch \
- file://0001-printk-add-support-for-lockless-ringbuffer.patch \
- file://0002-printk-use-committed-finalized-state-values.patch \
- "
-SRCREV = "a25aa4b649d339dd25c20d5413d81b851a77e0b2"
-
-SRC_URI[gdb.md5sum] = "a9836707337e5f7bf76a009a8904f470"
-SRC_URI[gdb.sha256sum] = "8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36"
-
-UPSTREAM_CHECK_URI = "https://github.com/crash-utility/crash/releases"
-
-inherit gettext
-
-BBCLASSEXTEND = "native cross"
-TARGET_CC_ARCH_append = " ${SELECTED_OPTIMIZATION}"
-
-# crash 7.1.3 and before don't support mips64/riscv64
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
-COMPATIBLE_HOST_mipsarchn64 = "null"
-COMPATIBLE_HOST_mipsarchn32 = "null"
-
-
-EXTRA_OEMAKE = 'RPMPKG="${PV}" \
- GDB_TARGET="${TARGET_SYS}" \
- GDB_HOST="${BUILD_SYS}" \
- GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
- LDFLAGS="${LDFLAGS}" \
- '
-
-EXTRA_OEMAKE_class-cross = 'RPMPKG="${PV}" \
- GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \
- GDB_HOST="${BUILD_SYS}" \
- GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
- '
-
-EXTRA_OEMAKE_append_class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
-EXTRA_OEMAKE_append_class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
-
-do_configure() {
- :
-}
-
-do_compile_prepend() {
- case ${TARGET_ARCH} in
- aarch64*) ARCH=ARM64 ;;
- arm*) ARCH=ARM ;;
- i*86*) ARCH=X86 ;;
- x86_64*) ARCH=X86_64 ;;
- powerpc64*) ARCH=PPC64 ;;
- powerpc*) ARCH=PPC ;;
- mips*) ARCH=MIPS ;;
- esac
-
- sed -i s/FORCE_DEFINE_ARCH/"${ARCH}"/g ${S}/configure.c
- sed -i -e 's/#define TARGET_CFLAGS_ARM_ON_X86_64.*/#define TARGET_CFLAGS_ARM_ON_X86_64\t\"TARGET_CFLAGS=-D_FILE_OFFSET_BITS=64\"/g' ${S}/configure.c
- sed -i 's/&gt;/>/g' ${S}/Makefile
-}
-
-do_compile() {
- oe_runmake ${EXTRA_OEMAKE} RECIPE_SYSROOT=${RECIPE_SYSROOT}
-}
-
-do_install_prepend () {
- install -d ${D}${bindir}
- install -d ${D}/${mandir}/man8
- install -d ${D}${includedir}/crash
-
- install -m 0644 ${S}/crash.8 ${D}/${mandir}/man8/
- install -m 0644 ${S}/defs.h ${D}${includedir}/crash
-}
-
-do_install_class-target () {
- oe_runmake DESTDIR=${D} install
-}
-
-do_install_class-native () {
- oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
-}
-
-do_install_class-cross () {
- install -m 0755 ${S}/crash ${D}/${bindir}
-}
-
-RDEPENDS_${PN} += "liblzma"
-RDEPENDS_${PN}_class-native = ""
-RDEPENDS_${PN}_class-cross = ""
-
-# Causes gcc to get stuck and eat all available memory in qemuarm builds
-# jenkins 15161 100 12.5 10389596 10321284 ? R 11:40 28:17 /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.9.2/cc1 -quiet -I . -I . -I ./common -I ./config -I ./../include/opcode -I ./../opcodes/.. -I ./../readline/.. -I ../bfd -I ./../bfd -I ./../include -I ../libdecnumber -I ./../libdecnumber -I ./gnulib/import -I build-gnulib/import -isysroot /home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/qemuarm -MMD eval.d -MF .deps/eval.Tpo -MP -MT eval.o -D LOCALEDIR="/usr/local/share/locale" -D CRASH_MERGE -D HAVE_CONFIG_H -D TUI=1 eval.c -quiet -dumpbase eval.c -march=armv5te -mthumb -mthumb-interwork -mtls-dialect=gnu -auxbase-strip eval.o -g -O2 -Wall -Wpointer-arith -Wformat-nonliteral -Wno-pointer-sign -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wmissing-prototypes -Wdeclaration-after-statement -Wempty-body -feliminate-unused-debug-types -o -
-ARM_INSTRUCTION_SET = "arm"
-
-# http://errors.yoctoproject.org/Errors/Details/186964/
-COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-oe/recipes-kernel/crash/crash_8.0.4.bb b/meta-oe/recipes-kernel/crash/crash_8.0.4.bb
new file mode 100644
index 0000000000..1af90978e0
--- /dev/null
+++ b/meta-oe/recipes-kernel/crash/crash_8.0.4.bb
@@ -0,0 +1,28 @@
+require crash.inc
+
+
+BBCLASSEXTEND = "native cross"
+
+EXTRA_OEMAKE:class-cross = 'RPMPKG="${PV}" \
+ GDB_TARGET="${BUILD_SYS} --target=${TARGET_SYS}" \
+ GDB_HOST="${BUILD_SYS}" \
+ GDB_MAKE_JOBS="${PARALLEL_MAKE}" \
+ '
+
+EXTRA_OEMAKE:append:class-native = " LDFLAGS='${BUILD_LDFLAGS}'"
+EXTRA_OEMAKE:append:class-cross = " LDFLAGS='${BUILD_LDFLAGS}'"
+
+do_install:class-target () {
+ oe_runmake DESTDIR=${D} install
+}
+
+do_install:class-native () {
+ oe_runmake DESTDIR=${D}${STAGING_DIR_NATIVE} install
+}
+
+do_install:class-cross () {
+ install -m 0755 ${S}/crash ${D}/${bindir}
+}
+
+RDEPENDS:${PN}:class-native = ""
+RDEPENDS:${PN}:class-cross = ""
diff --git a/meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb b/meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb
index 53f6de1068..23ea0d8aae 100644
--- a/meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb
+++ b/meta-oe/recipes-kernel/intel-speed-select/intel-speed-select.bb
@@ -4,17 +4,20 @@ DESCRIPTION = "The Intel Speed Select Technology (Intel SST) is a powerful new \
collection of features giving you more granular control over CPU performance \
for optimized total cost of ownership."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
inherit kernelsrc
COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
+
+DEPENDS = "libnl"
do_populate_lic[depends] += "virtual/kernel:do_patch"
B = "${WORKDIR}/${BPN}-${PV}"
+CFLAGS += "-I${STAGING_INCDIR}/libnl3"
EXTRA_OEMAKE = "-C ${S}/tools/power/x86/intel-speed-select O=${B} CROSS=${TARGET_PREFIX} CC="${CC}" LD="${LD}" AR=${AR} ARCH=${ARCH}"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-oe/recipes-kernel/ipmitool/files/0001-csv-revision-Drop-the-git-revision-info.patch b/meta-oe/recipes-kernel/ipmitool/files/0001-csv-revision-Drop-the-git-revision-info.patch
new file mode 100644
index 0000000000..98a820bd9e
--- /dev/null
+++ b/meta-oe/recipes-kernel/ipmitool/files/0001-csv-revision-Drop-the-git-revision-info.patch
@@ -0,0 +1,42 @@
+From 0a1af74ed3fae9a9a08b8b1ab89e88c02427ae06 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 10 Jan 2024 05:57:00 +0000
+Subject: [PATCH] csv-revision: Drop the git revision info
+
+The git revison info is added [1] to make the version more descriptive
+to produce an incremental revision number like 1.8.18.13 or 1.8.18.14
+and etc and more clear in terms of "what codebase was used" like
+`1.8.18.13.gee01aa5`. But it also introduces the below version
+inconsistence.
+ root@qemux86-64:~# ipmitool -V
+ ipmitool version 1.8.19.19.gab5ce5b
+ root@qemux86-64:~# rpm -qa | grep ipmitool
+ ipmitool-1.8.19-r0.core2_64
+
+Considering the version we acutally used in oe is a release version,
+the git revision info as [1] is meaningness. So drop the git revsion
+info to remove the above version inconsitence.
+
+[1] https://github.com/ipmitool/ipmitool/commit/ba01dc84b4e225c86eac3f562e629662d752040f
+
+Upstream-Status: Inappropriate [OE-Specific as we use a release version in oe]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ csv-revision | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/csv-revision b/csv-revision
+index 289c133..3fa9f1c 100755
+--- a/csv-revision
++++ b/csv-revision
+@@ -1,5 +1,6 @@
+ #!/bin/sh
+
++exit 0
+ git describe --first-parent --tags 2>/dev/null | (
+ IFS=- read tag rev hash
+ if [ $? ] && [ -n "$rev" ]; then
+--
+2.35.5
+
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-Migrate-to-openssl-1.1.patch b/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-Migrate-to-openssl-1.1.patch
deleted file mode 100644
index 394aa16adc..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-Migrate-to-openssl-1.1.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From c9dcb6afef9c343d070aaff208d11a997a45a105 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 5 Sep 2018 22:19:38 -0700
-Subject: [PATCH] Migrate to openssl 1.1
-
-Upstream-Status: Backport [https://sourceforge.net/p/ipmitool/source/ci/1664902525a1c3771b4d8b3ccab7ea1ba6b2bdd1/]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/plugins/lanplus/lanplus_crypt_impl.c | 50 ++++++++++++++----------
- 1 file changed, 29 insertions(+), 21 deletions(-)
-
-diff --git a/src/plugins/lanplus/lanplus_crypt_impl.c b/src/plugins/lanplus/lanplus_crypt_impl.c
-index d5fac37..9652a5e 100644
---- a/src/plugins/lanplus/lanplus_crypt_impl.c
-+++ b/src/plugins/lanplus/lanplus_crypt_impl.c
-@@ -164,11 +164,7 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv,
- uint8_t * output,
- uint32_t * bytes_written)
- {
-- EVP_CIPHER_CTX ctx;
-- EVP_CIPHER_CTX_init(&ctx);
-- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv);
-- EVP_CIPHER_CTX_set_padding(&ctx, 0);
--
-+ EVP_CIPHER_CTX *ctx = NULL;
-
- *bytes_written = 0;
-
-@@ -182,6 +178,14 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv,
- printbuf(input, input_length, "encrypting this data");
- }
-
-+ ctx = EVP_CIPHER_CTX_new();
-+ if (ctx == NULL) {
-+ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed");
-+ return;
-+ }
-+ EVP_CIPHER_CTX_init(ctx);
-+ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
-+ EVP_CIPHER_CTX_set_padding(ctx, 0);
-
- /*
- * The default implementation adds a whole block of padding if the input
-@@ -191,28 +195,28 @@ lanplus_encrypt_aes_cbc_128(const uint8_t * iv,
- assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0);
-
-
-- if(!EVP_EncryptUpdate(&ctx, output, (int *)bytes_written, input, input_length))
-+ if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, input_length))
- {
- /* Error */
- *bytes_written = 0;
-- return;
- }
- else
- {
- uint32_t tmplen;
-
-- if(!EVP_EncryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen))
-+ if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen))
- {
-+ /* Error */
- *bytes_written = 0;
-- return; /* Error */
- }
- else
- {
- /* Success */
- *bytes_written += tmplen;
-- EVP_CIPHER_CTX_cleanup(&ctx);
- }
- }
-+ /* performs cleanup and free */
-+ EVP_CIPHER_CTX_free(ctx);
- }
-
-
-@@ -239,11 +243,7 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv,
- uint8_t * output,
- uint32_t * bytes_written)
- {
-- EVP_CIPHER_CTX ctx;
-- EVP_CIPHER_CTX_init(&ctx);
-- EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv);
-- EVP_CIPHER_CTX_set_padding(&ctx, 0);
--
-+ EVP_CIPHER_CTX *ctx = NULL;
-
- if (verbose >= 5)
- {
-@@ -252,12 +252,20 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv,
- printbuf(input, input_length, "decrypting this data");
- }
-
--
- *bytes_written = 0;
-
- if (input_length == 0)
- return;
-
-+ ctx = EVP_CIPHER_CTX_new();
-+ if (ctx == NULL) {
-+ lprintf(LOG_DEBUG, "ERROR: EVP_CIPHER_CTX_new() failed");
-+ return;
-+ }
-+ EVP_CIPHER_CTX_init(ctx);
-+ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
-+ EVP_CIPHER_CTX_set_padding(ctx, 0);
-+
- /*
- * The default implementation adds a whole block of padding if the input
- * data is perfectly aligned. We would like to keep that from happening.
-@@ -266,33 +274,33 @@ lanplus_decrypt_aes_cbc_128(const uint8_t * iv,
- assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0);
-
-
-- if (!EVP_DecryptUpdate(&ctx, output, (int *)bytes_written, input, input_length))
-+ if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, input_length))
- {
- /* Error */
- lprintf(LOG_DEBUG, "ERROR: decrypt update failed");
- *bytes_written = 0;
-- return;
- }
- else
- {
- uint32_t tmplen;
-
-- if (!EVP_DecryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen))
-+ if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen))
- {
-+ /* Error */
- char buffer[1000];
- ERR_error_string(ERR_get_error(), buffer);
- lprintf(LOG_DEBUG, "the ERR error %s", buffer);
- lprintf(LOG_DEBUG, "ERROR: decrypt final failed");
- *bytes_written = 0;
-- return; /* Error */
- }
- else
- {
- /* Success */
- *bytes_written += tmplen;
-- EVP_CIPHER_CTX_cleanup(&ctx);
- }
- }
-+ /* performs cleanup and free */
-+ EVP_CIPHER_CTX_free(ctx);
-
- if (verbose >= 5)
- {
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch b/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch
deleted file mode 100644
index eadfb7ead3..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 24aed93efb30a8f557aedc2f03b6ccec758ccbf4 Mon Sep 17 00:00:00 2001
-From: Chrostoper Ertl <chertl@microsoft.com>
-Date: Thu, 28 Nov 2019 16:44:18 +0000
-Subject: [PATCH 1/5] fru: Fix buffer overflow in ipmi_spd_print_fru
-
-Partial fix for CVE-2020-5208, see
-https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
-
-The `ipmi_spd_print_fru` function has a similar issue as the one fixed
-by the previous commit in `read_fru_area_section`. An initial request is
-made to get the `fru.size`, which is used as the size for the allocation
-of `spd_data`. Inside a loop, further requests are performed to get the
-copy sizes which are not checked before being used as the size for a
-copy into the buffer.
-
-Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/840fb1cbb4fb365cb9797300e3374d4faefcdb10]
-CVE: CVE-2020-5208
-
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
----
- lib/dimm_spd.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/lib/dimm_spd.c b/lib/dimm_spd.c
-index 91ae117..4c9c21d 100644
---- a/lib/dimm_spd.c
-+++ b/lib/dimm_spd.c
-@@ -1014,7 +1014,7 @@ ipmi_spd_print_fru(struct ipmi_intf * intf, uint8_t id)
- struct ipmi_rq req;
- struct fru_info fru;
- uint8_t *spd_data, msg_data[4];
-- int len, offset;
-+ uint32_t len, offset;
-
- msg_data[0] = id;
-
-@@ -1091,6 +1091,13 @@ ipmi_spd_print_fru(struct ipmi_intf * intf, uint8_t id)
- }
-
- len = rsp->data[0];
-+ if(rsp->data_len < 1
-+ || len > rsp->data_len - 1
-+ || len > fru.size - offset)
-+ {
-+ printf(" Not enough buffer size");
-+ return -1;
-+ }
- memcpy(&spd_data[offset], rsp->data + 1, len);
- offset += len;
- } while (offset < fru.size);
---
-1.9.1
-
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-vulnerabilities.patch b/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-vulnerabilities.patch
deleted file mode 100644
index b65e3ef1a6..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-fru-Fix-buffer-overflow-vulnerabilities.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From e824c23316ae50beb7f7488f2055ac65e8b341f2 Mon Sep 17 00:00:00 2001
-From: Chrostoper Ertl <chertl@microsoft.com>
-Date: Thu, 28 Nov 2019 16:33:59 +0000
-Subject: [PATCH] fru: Fix buffer overflow vulnerabilities
-
-Partial fix for CVE-2020-5208, see
-https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
-
-The `read_fru_area_section` function only performs size validation of
-requested read size, and falsely assumes that the IPMI message will not
-respond with more than the requested amount of data; it uses the
-unvalidated response size to copy into `frubuf`. If the response is
-larger than the request, this can result in overflowing the buffer.
-
-The same issue affects the `read_fru_area` function.
-
-Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/e824c23316ae50beb7f7488f2055ac65e8b341f2]
-CVE: CVE-2020-5208
-
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
----
- lib/ipmi_fru.c | 33 +++++++++++++++++++++++++++++++--
- 1 file changed, 31 insertions(+), 2 deletions(-)
-
-diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c
-index c2a139d..2e323ff 100644
---- a/lib/ipmi_fru.c
-+++ b/lib/ipmi_fru.c
-@@ -663,7 +663,10 @@ int
- read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
- uint32_t offset, uint32_t length, uint8_t *frubuf)
- {
-- uint32_t off = offset, tmp, finish;
-+ uint32_t off = offset;
-+ uint32_t tmp;
-+ uint32_t finish;
-+ uint32_t size_left_in_buffer;
- struct ipmi_rs * rsp;
- struct ipmi_rq req;
- uint8_t msg_data[4];
-@@ -676,10 +679,12 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
-
- finish = offset + length;
- if (finish > fru->size) {
-+ memset(frubuf + fru->size, 0, length - fru->size);
- finish = fru->size;
- lprintf(LOG_NOTICE, "Read FRU Area length %d too large, "
- "Adjusting to %d",
- offset + length, finish - offset);
-+ length = finish - offset;
- }
-
- memset(&req, 0, sizeof(req));
-@@ -715,6 +720,7 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
- }
- }
-
-+ size_left_in_buffer = length;
- do {
- tmp = fru->access ? off >> 1 : off;
- msg_data[0] = id;
-@@ -756,9 +762,18 @@ read_fru_area(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
- }
-
- tmp = fru->access ? rsp->data[0] << 1 : rsp->data[0];
-+ if(rsp->data_len < 1
-+ || tmp > rsp->data_len - 1
-+ || tmp > size_left_in_buffer)
-+ {
-+ printf(" Not enough buffer size");
-+ return -1;
-+ }
-+
- memcpy(frubuf, rsp->data + 1, tmp);
- off += tmp;
- frubuf += tmp;
-+ size_left_in_buffer -= tmp;
- /* sometimes the size returned in the Info command
- * is too large. return 0 so higher level function
- * still attempts to parse what was returned */
-@@ -791,7 +806,9 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
- uint32_t offset, uint32_t length, uint8_t *frubuf)
- {
- static uint32_t fru_data_rqst_size = 20;
-- uint32_t off = offset, tmp, finish;
-+ uint32_t off = offset;
-+ uint32_t tmp, finish;
-+ uint32_t size_left_in_buffer;
- struct ipmi_rs * rsp;
- struct ipmi_rq req;
- uint8_t msg_data[4];
-@@ -804,10 +821,12 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
-
- finish = offset + length;
- if (finish > fru->size) {
-+ memset(frubuf + fru->size, 0, length - fru->size);
- finish = fru->size;
- lprintf(LOG_NOTICE, "Read FRU Area length %d too large, "
- "Adjusting to %d",
- offset + length, finish - offset);
-+ length = finish - offset;
- }
-
- memset(&req, 0, sizeof(req));
-@@ -822,6 +841,8 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
- if (fru->access && fru_data_rqst_size > 16)
- #endif
- fru_data_rqst_size = 16;
-+
-+ size_left_in_buffer = length;
- do {
- tmp = fru->access ? off >> 1 : off;
- msg_data[0] = id;
-@@ -853,8 +874,16 @@ read_fru_area_section(struct ipmi_intf * intf, struct fru_info *fru, uint8_t id,
- }
-
- tmp = fru->access ? rsp->data[0] << 1 : rsp->data[0];
-+ if(rsp->data_len < 1
-+ || tmp > rsp->data_len - 1
-+ || tmp > size_left_in_buffer)
-+ {
-+ printf(" Not enough buffer size");
-+ return -1;
-+ }
- memcpy((frubuf + off)-offset, rsp->data + 1, tmp);
- off += tmp;
-+ size_left_in_buffer -= tmp;
-
- /* sometimes the size returned in the Info command
- * is too large. return 0 so higher level function
---
-2.17.1
-
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-hpmfwupg-move-variable-definition-to-.c-file.patch b/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-hpmfwupg-move-variable-definition-to-.c-file.patch
deleted file mode 100644
index a765c3ab2f..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool/0001-hpmfwupg-move-variable-definition-to-.c-file.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 3f7bb7218181745ca7762c1b4832cbb1c9e692f5 Mon Sep 17 00:00:00 2001
-From: Vaclav Dolezal <vdolezal@redhat.com>
-Date: Thu, 23 Jan 2020 11:26:32 +0100
-Subject: [PATCH] hpmfwupg: move variable definition to .c file
-
-Upstream-Status: Pending
-Signed-off-by: Vaclav Dolezal <vdolezal@redhat.com>
----
- include/ipmitool/ipmi_hpmfwupg.h | 2 +-
- lib/ipmi_hpmfwupg.c | 2 ++
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/include/ipmitool/ipmi_hpmfwupg.h b/include/ipmitool/ipmi_hpmfwupg.h
-index de65292..07f597b 100644
---- a/include/ipmitool/ipmi_hpmfwupg.h
-+++ b/include/ipmitool/ipmi_hpmfwupg.h
-@@ -800,7 +800,7 @@ typedef struct _VERSIONINFO {
- char descString[HPMFWUPG_DESC_STRING_LENGTH + 1];
- }VERSIONINFO, *PVERSIONINFO;
-
--VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
-+extern VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
-
- #define TARGET_VER (0x01)
- #define ROLLBACK_VER (0x02)
-diff --git a/lib/ipmi_hpmfwupg.c b/lib/ipmi_hpmfwupg.c
-index bbcffc0..d7cdcd6 100644
---- a/lib/ipmi_hpmfwupg.c
-+++ b/lib/ipmi_hpmfwupg.c
-@@ -58,6 +58,8 @@ ipmi_intf_get_max_request_data_size(struct ipmi_intf * intf);
-
- extern int verbose;
-
-+VERSIONINFO gVersionInfo[HPMFWUPG_COMPONENT_ID_MAX];
-+
- int HpmfwupgUpgrade(struct ipmi_intf *intf, char *imageFilename,
- int activate, int, int);
- int HpmfwupgValidateImageIntegrity(struct HpmfwupgUpgradeCtx *pFwupgCtx);
---
-2.28.0
-
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool/0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch b/meta-oe/recipes-kernel/ipmitool/ipmitool/0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch
deleted file mode 100644
index b8742b1a81..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool/0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 81144cfba131b4ddbfcf9c530274b23bfc7e0ea8 Mon Sep 17 00:00:00 2001
-From: Chrostoper Ertl <chertl@microsoft.com>
-Date: Thu, 28 Nov 2019 16:51:49 +0000
-Subject: [PATCH 2/5] session: Fix buffer overflow in ipmi_get_session_info
-
-Partial fix for CVE-2020-5208, see
-https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
-
-The `ipmi_get_session_info` function does not properly check the
-response `data_len`, which is used as a copy size, allowing stack buffer
-overflow.
-
-Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/41d7026946fafbd4d1ec0bcaca3ea30a6e8eed22]
-CVE: CVE-2020-5208
-
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
----
- lib/ipmi_session.c | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/lib/ipmi_session.c b/lib/ipmi_session.c
-index 4855bc4..71bef4c 100644
---- a/lib/ipmi_session.c
-+++ b/lib/ipmi_session.c
-@@ -319,8 +319,10 @@ ipmi_get_session_info(struct ipmi_intf * intf,
- }
- else
- {
-- memcpy(&session_info, rsp->data, rsp->data_len);
-- print_session_info(&session_info, rsp->data_len);
-+ memcpy(&session_info, rsp->data,
-+ __min(rsp->data_len, sizeof(session_info)));
-+ print_session_info(&session_info,
-+ __min(rsp->data_len, sizeof(session_info)));
- }
- break;
-
-@@ -351,8 +353,10 @@ ipmi_get_session_info(struct ipmi_intf * intf,
- break;
- }
-
-- memcpy(&session_info, rsp->data, rsp->data_len);
-- print_session_info(&session_info, rsp->data_len);
-+ memcpy(&session_info, rsp->data,
-+ __min(rsp->data_len, sizeof(session_info)));
-+ print_session_info(&session_info,
-+ __min(rsp->data_len, sizeof(session_info)));
-
- } while (i <= session_info.session_slot_count);
- break;
---
-1.9.1
-
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool/0003-channel-Fix-buffer-overflow.patch b/meta-oe/recipes-kernel/ipmitool/ipmitool/0003-channel-Fix-buffer-overflow.patch
deleted file mode 100644
index deebd356a7..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool/0003-channel-Fix-buffer-overflow.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 5057761e30e3a7682edab60f98f631616392ddc6 Mon Sep 17 00:00:00 2001
-From: Chrostoper Ertl <chertl@microsoft.com>
-Date: Thu, 28 Nov 2019 16:56:38 +0000
-Subject: [PATCH 3/3] channel: Fix buffer overflow
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Partial fix for CVE-2020-5208, see
-https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
-
-The `ipmi_get_channel_cipher_suites` function does not properly check
-the final response’s `data_len`, which can lead to stack buffer overflow
-on the final copy.
-
-Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/9452be87181a6e83cfcc768b3ed8321763db50e4]
-CVE: CVE-2020-5208
-
-[Make some changes to apply it]
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
----
- include/ipmitool/ipmi_channel.h | 2 ++
- lib/ipmi_channel.c | 10 ++++++++--
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/include/ipmitool/ipmi_channel.h b/include/ipmitool/ipmi_channel.h
-index b138c26..d7cce5e 100644
---- a/include/ipmitool/ipmi_channel.h
-+++ b/include/ipmitool/ipmi_channel.h
-@@ -77,6 +77,8 @@ struct channel_access_t {
- uint8_t user_level_auth;
- };
-
-+#define MAX_CIPHER_SUITE_DATA_LEN 0x10
-+
- /*
- * The Get Authentication Capabilities response structure
- * From table 22-15 of the IPMI v2.0 spec
-diff --git a/lib/ipmi_channel.c b/lib/ipmi_channel.c
-index fab2e54..76ecdcd 100644
---- a/lib/ipmi_channel.c
-+++ b/lib/ipmi_channel.c
-@@ -378,7 +378,10 @@ ipmi_get_channel_cipher_suites(struct ipmi_intf *intf, const char *payload_type,
- lprintf(LOG_ERR, "Unable to Get Channel Cipher Suites");
- return -1;
- }
-- if (rsp->ccode > 0) {
-+ if (rsp->ccode
-+ || rsp->data_len < 1
-+ || rsp->data_len > sizeof(uint8_t) + MAX_CIPHER_SUITE_DATA_LEN)
-+ {
- lprintf(LOG_ERR, "Get Channel Cipher Suites failed: %s",
- val2str(rsp->ccode, completion_code_vals));
- return -1;
-@@ -413,7 +416,10 @@ ipmi_get_channel_cipher_suites(struct ipmi_intf *intf, const char *payload_type,
- lprintf(LOG_ERR, "Unable to Get Channel Cipher Suites");
- return -1;
- }
-- if (rsp->ccode > 0) {
-+ if (rsp->ccode
-+ || rsp->data_len < 1
-+ || rsp->data_len > sizeof(uint8_t) + MAX_CIPHER_SUITE_DATA_LEN)
-+ {
- lprintf(LOG_ERR, "Get Channel Cipher Suites failed: %s",
- val2str(rsp->ccode, completion_code_vals));
- return -1;
---
-2.18.1
-
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool/0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch b/meta-oe/recipes-kernel/ipmitool/ipmitool/0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch
deleted file mode 100644
index b5ce9e92ec..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool/0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From e6aa6076f65e71544bd6450d20d943d7baaccb9f Mon Sep 17 00:00:00 2001
-From: Chrostoper Ertl <chertl@microsoft.com>
-Date: Thu, 28 Nov 2019 17:06:39 +0000
-Subject: [PATCH 4/5] lanp: Fix buffer overflows in get_lan_param_select
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Partial fix for CVE-2020-5208, see
-https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
-
-The `get_lan_param_select` function is missing a validation check on the
-response’s `data_len`, which it then returns to caller functions, where
-stack buffer overflow can occur.
-
-Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/d45572d71e70840e0d4c50bf48218492b79c1a10]
-CVE: CVE-2020-5208
-
-[Make some changes to apply it]
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
----
- lib/ipmi_lanp.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/lib/ipmi_lanp.c b/lib/ipmi_lanp.c
-index 060e753..dee21ee 100644
---- a/lib/ipmi_lanp.c
-+++ b/lib/ipmi_lanp.c
-@@ -1917,7 +1917,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
- if (p == NULL) {
- return (-1);
- }
-- memcpy(data, p->data, p->data_len);
-+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
- /* set new ipaddr */
- memcpy(data+3, temp, 4);
- printf("Setting LAN Alert %d IP Address to %d.%d.%d.%d\n", alert,
-@@ -1932,7 +1932,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
- if (p == NULL) {
- return (-1);
- }
-- memcpy(data, p->data, p->data_len);
-+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
- /* set new macaddr */
- memcpy(data+7, temp, 6);
- printf("Setting LAN Alert %d MAC Address to "
-@@ -1947,7 +1947,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
- if (p == NULL) {
- return (-1);
- }
-- memcpy(data, p->data, p->data_len);
-+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
-
- if (strncasecmp(argv[1], "def", 3) == 0 ||
- strncasecmp(argv[1], "default", 7) == 0) {
-@@ -1973,7 +1973,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
- if (p == NULL) {
- return (-1);
- }
-- memcpy(data, p->data, p->data_len);
-+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
-
- if (strncasecmp(argv[1], "on", 2) == 0 ||
- strncasecmp(argv[1], "yes", 3) == 0) {
-@@ -1998,7 +1998,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
- if (p == NULL) {
- return (-1);
- }
-- memcpy(data, p->data, p->data_len);
-+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
-
- if (strncasecmp(argv[1], "pet", 3) == 0) {
- printf("Setting LAN Alert %d destination to PET Trap\n", alert);
-@@ -2026,7 +2026,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
- if (p == NULL) {
- return (-1);
- }
-- memcpy(data, p->data, p->data_len);
-+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
-
- if (str2uchar(argv[1], &data[2]) != 0) {
- lprintf(LOG_ERR, "Invalid time: %s", argv[1]);
-@@ -2042,7 +2042,7 @@ ipmi_lan_alert_set(struct ipmi_intf * intf, uint8_t chan, uint8_t alert,
- if (p == NULL) {
- return (-1);
- }
-- memcpy(data, p->data, p->data_len);
-+ memcpy(data, p->data, __min(p->data_len, sizeof(data)));
-
- if (str2uchar(argv[1], &data[3]) != 0) {
- lprintf(LOG_ERR, "Invalid retry: %s", argv[1]);
---
-1.9.1
-
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool/0005-fru-sdr-Fix-id_string-buffer-overflows.patch b/meta-oe/recipes-kernel/ipmitool/ipmitool/0005-fru-sdr-Fix-id_string-buffer-overflows.patch
deleted file mode 100644
index cf8b9254c8..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool/0005-fru-sdr-Fix-id_string-buffer-overflows.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 26e64ca78ae844c5ceedde89531e2924d7d4594c Mon Sep 17 00:00:00 2001
-From: Chrostoper Ertl <chertl@microsoft.com>
-Date: Thu, 28 Nov 2019 17:13:45 +0000
-Subject: [PATCH 5/5] fru, sdr: Fix id_string buffer overflows
-
-Final part of the fixes for CVE-2020-5208, see
-https://github.com/ipmitool/ipmitool/security/advisories/GHSA-g659-9qxw-p7cp
-
-9 variants of stack buffer overflow when parsing `id_string` field of
-SDR records returned from `CMD_GET_SDR` command.
-
-SDR record structs have an `id_code` field, and an `id_string` `char`
-array.
-
-The length of `id_string` is calculated as `(id_code & 0x1f) + 1`,
-which can be larger than expected 16 characters (if `id_code = 0xff`,
-then length will be `(0xff & 0x1f) + 1 = 32`).
-
-In numerous places, this can cause stack buffer overflow when copying
-into fixed buffer of size `17` bytes from this calculated length.
-
-Upstream-Status: Backport[https://github.com/ipmitool/ipmitool/commit/7ccea283dd62a05a320c1921e3d8d71a87772637]
-CVE: CVE-2020-5208
-
-Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
----
- lib/ipmi_fru.c | 2 +-
- lib/ipmi_sdr.c | 40 ++++++++++++++++++++++++----------------
- 2 files changed, 25 insertions(+), 17 deletions(-)
-
-diff --git a/lib/ipmi_fru.c b/lib/ipmi_fru.c
-index b71ea23..1decea2 100644
---- a/lib/ipmi_fru.c
-+++ b/lib/ipmi_fru.c
-@@ -3038,7 +3038,7 @@ ipmi_fru_print(struct ipmi_intf * intf, struct sdr_record_fru_locator * fru)
- return 0;
-
- memset(desc, 0, sizeof(desc));
-- memcpy(desc, fru->id_string, fru->id_code & 0x01f);
-+ memcpy(desc, fru->id_string, __min(fru->id_code & 0x01f, sizeof(desc)));
- desc[fru->id_code & 0x01f] = 0;
- printf("FRU Device Description : %s (ID %d)\n", desc, fru->device_id);
-
-diff --git a/lib/ipmi_sdr.c b/lib/ipmi_sdr.c
-index fa7b082..175a86f 100644
---- a/lib/ipmi_sdr.c
-+++ b/lib/ipmi_sdr.c
-@@ -2113,7 +2113,7 @@ ipmi_sdr_print_sensor_eventonly(struct ipmi_intf *intf,
- return -1;
-
- memset(desc, 0, sizeof (desc));
-- snprintf(desc, (sensor->id_code & 0x1f) + 1, "%s", sensor->id_string);
-+ snprintf(desc, sizeof(desc), "%.*s", (sensor->id_code & 0x1f) + 1, sensor->id_string);
-
- if (verbose) {
- printf("Sensor ID : %s (0x%x)\n",
-@@ -2164,7 +2164,7 @@ ipmi_sdr_print_sensor_mc_locator(struct ipmi_intf *intf,
- return -1;
-
- memset(desc, 0, sizeof (desc));
-- snprintf(desc, (mc->id_code & 0x1f) + 1, "%s", mc->id_string);
-+ snprintf(desc, sizeof(desc), "%.*s", (mc->id_code & 0x1f) + 1, mc->id_string);
-
- if (verbose == 0) {
- if (csv_output)
-@@ -2257,7 +2257,7 @@ ipmi_sdr_print_sensor_generic_locator(struct ipmi_intf *intf,
- char desc[17];
-
- memset(desc, 0, sizeof (desc));
-- snprintf(desc, (dev->id_code & 0x1f) + 1, "%s", dev->id_string);
-+ snprintf(desc, sizeof(desc), "%.*s", (dev->id_code & 0x1f) + 1, dev->id_string);
-
- if (!verbose) {
- if (csv_output)
-@@ -2314,7 +2314,7 @@ ipmi_sdr_print_sensor_fru_locator(struct ipmi_intf *intf,
- char desc[17];
-
- memset(desc, 0, sizeof (desc));
-- snprintf(desc, (fru->id_code & 0x1f) + 1, "%s", fru->id_string);
-+ snprintf(desc, sizeof(desc), "%.*s", (fru->id_code & 0x1f) + 1, fru->id_string);
-
- if (!verbose) {
- if (csv_output)
-@@ -2518,35 +2518,43 @@ ipmi_sdr_print_name_from_rawentry(struct ipmi_intf *intf,uint16_t id,
-
- int rc =0;
- char desc[17];
-+ const char *id_string;
-+ uint8_t id_code;
- memset(desc, ' ', sizeof (desc));
-
- switch ( type) {
- case SDR_RECORD_TYPE_FULL_SENSOR:
- record.full = (struct sdr_record_full_sensor *) raw;
-- snprintf(desc, (record.full->id_code & 0x1f) +1, "%s",
-- (const char *)record.full->id_string);
-+ id_code = record.full->id_code;
-+ id_string = record.full->id_string;
- break;
-+
- case SDR_RECORD_TYPE_COMPACT_SENSOR:
- record.compact = (struct sdr_record_compact_sensor *) raw ;
-- snprintf(desc, (record.compact->id_code & 0x1f) +1, "%s",
-- (const char *)record.compact->id_string);
-+ id_code = record.compact->id_code;
-+ id_string = record.compact->id_string;
- break;
-+
- case SDR_RECORD_TYPE_EVENTONLY_SENSOR:
- record.eventonly = (struct sdr_record_eventonly_sensor *) raw ;
-- snprintf(desc, (record.eventonly->id_code & 0x1f) +1, "%s",
-- (const char *)record.eventonly->id_string);
-- break;
-+ id_code = record.eventonly->id_code;
-+ id_string = record.eventonly->id_string;
-+ break;
-+
- case SDR_RECORD_TYPE_MC_DEVICE_LOCATOR:
- record.mcloc = (struct sdr_record_mc_locator *) raw ;
-- snprintf(desc, (record.mcloc->id_code & 0x1f) +1, "%s",
-- (const char *)record.mcloc->id_string);
-+ id_code = record.mcloc->id_code;
-+ id_string = record.mcloc->id_string;
- break;
-+
- default:
- rc = -1;
-- break;
-- }
-+ }
-+ if (!rc) {
-+ snprintf(desc, sizeof(desc), "%.*s", (id_code & 0x1f) + 1, id_string);
-+ }
-
-- lprintf(LOG_INFO, "ID: 0x%04x , NAME: %-16s", id, desc);
-+ lprintf(LOG_INFO, "ID: 0x%04x , NAME: %-16s", id, desc);
- return rc;
- }
-
---
-1.9.1
-
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb b/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
deleted file mode 100644
index e3c74a5162..0000000000
--- a/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.18.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-SUMMARY = "Utility for IPMI control"
-DESCRIPTION = "This package contains a utility for interfacing with devices that support \
-the Intelligent Platform Management Interface specification. IPMI is \
-an open standard for machine health, inventory, and remote power control. \
-\
-This utility can communicate with IPMI-enabled devices through either a \
-kernel driver such as OpenIPMI or over the RMCP LAN protocol defined in \
-the IPMI specification. IPMIv2 adds support for encrypted LAN \
-communications and remote Serial-over-LAN functionality. \
-\
-It provides commands for reading the Sensor Data Repository (SDR) and \
-displaying sensor values, displaying the contents of the System Event \
-Log (SEL), printing Field Replaceable Unit (FRU) information, reading and \
-setting LAN configuration, and chassis power control. \
-"
-
-HOMEPAGE = "http://ipmitool.sourceforge.net/"
-SECTION = "kernel/userland"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9aa91e13d644326bf281924212862184"
-
-DEPENDS = "openssl readline ncurses"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/ipmitool/ipmitool-${PV}.tar.bz2 \
- file://0001-Migrate-to-openssl-1.1.patch \
- file://0001-fru-Fix-buffer-overflow-vulnerabilities.patch \
- file://0001-fru-Fix-buffer-overflow-in-ipmi_spd_print_fru.patch \
- file://0002-session-Fix-buffer-overflow-in-ipmi_get_session_info.patch \
- file://0003-channel-Fix-buffer-overflow.patch \
- file://0004-lanp-Fix-buffer-overflows-in-get_lan_param_select.patch \
- file://0005-fru-sdr-Fix-id_string-buffer-overflows.patch \
- file://0001-hpmfwupg-move-variable-definition-to-.c-file.patch \
- "
-SRC_URI[md5sum] = "bab7ea104c7b85529c3ef65c54427aa3"
-SRC_URI[sha256sum] = "0c1ba3b1555edefb7c32ae8cd6a3e04322056bc087918f07189eeedfc8b81e01"
-
-inherit autotools
-
-# --disable-dependency-tracking speeds up the build
-# --enable-file-security adds some security checks
-# --disable-intf-free disables FreeIPMI support - we don't want to depend on
-# FreeIPMI libraries, FreeIPMI has its own ipmitoool-like utility.
-#
-EXTRA_OECONF = "--disable-dependency-tracking --enable-file-security --disable-intf-free"
diff --git a/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb b/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb
new file mode 100644
index 0000000000..0f1c8846b4
--- /dev/null
+++ b/meta-oe/recipes-kernel/ipmitool/ipmitool_1.8.19.bb
@@ -0,0 +1,59 @@
+SUMMARY = "Utility for IPMI control"
+DESCRIPTION = "This package contains a utility for interfacing with devices that support \
+the Intelligent Platform Management Interface specification. IPMI is \
+an open standard for machine health, inventory, and remote power control. \
+\
+This utility can communicate with IPMI-enabled devices through either a \
+kernel driver such as OpenIPMI or over the RMCP LAN protocol defined in \
+the IPMI specification. IPMIv2 adds support for encrypted LAN \
+communications and remote Serial-over-LAN functionality. \
+\
+It provides commands for reading the Sensor Data Repository (SDR) and \
+displaying sensor values, displaying the contents of the System Event \
+Log (SEL), printing Field Replaceable Unit (FRU) information, reading and \
+setting LAN configuration, and chassis power control. \
+"
+
+HOMEPAGE = "http://codeberg.org/IPMITool/ipmitool"
+SECTION = "kernel/userland"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9aa91e13d644326bf281924212862184"
+
+DEPENDS = "openssl readline ncurses"
+SRCREV = "ab5ce5baff097ebb6e2a17a171858be213ee68d3"
+SRC_URI = "git://codeberg.org/ipmitool/ipmitool;protocol=https;branch=master \
+ ${IANA_ENTERPRISE_NUMBERS} \
+ file://0001-csv-revision-Drop-the-git-revision-info.patch \
+ "
+IANA_ENTERPRISE_NUMBERS ?= ""
+
+# Add these via bbappend if this database is needed by the system
+#IANA_ENTERPRISE_NUMBERS = "http://www.iana.org/assignments/enterprise-numbers.txt;name=iana-enterprise-numbers;downloadfilename=iana-enterprise-numbers"
+#SRC_URI[iana-enterprise-numbers.sha256sum] = "cdd97fc08325667434b805eb589104ae63f7a9eb720ecea73cb55110b383934c"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+do_install:append() {
+ if [ -e ${WORKDIR}/iana-enterprise-numbers ]; then
+ install -Dm 0755 ${WORKDIR}/iana-enterprise-numbers ${D}${datadir}/misc/enterprise-numbers
+ fi
+}
+
+PACKAGES =+ "${PN}-ipmievd"
+FILES:${PN}-ipmievd += "${sbindir}/ipmievd"
+FILES:${PN} += "${datadir}/misc"
+
+# --disable-dependency-tracking speeds up the build
+# --enable-file-security adds some security checks
+# --disable-intf-free disables FreeIPMI support - we don't want to depend on
+# FreeIPMI libraries, FreeIPMI has its own ipmitoool-like utility.
+# --disable-registry-download prevents the IANA numbers from being fetched
+# at build time, as it is not repeatable.
+#
+EXTRA_OECONF = "--disable-dependency-tracking --enable-file-security --disable-intf-free \
+ --disable-registry-download \
+ "
+
diff --git a/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-Prevent-access-times-from-changing-resulting-gzip-md.patch b/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-Prevent-access-times-from-changing-resulting-gzip-md.patch
deleted file mode 100644
index 78c05ef32c..0000000000
--- a/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-Prevent-access-times-from-changing-resulting-gzip-md.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From da668e5bf1a721797361ab866d09913ee8e157c4 Mon Sep 17 00:00:00 2001
-From: Jeremy Puhlman <jpuhlman@mvista.com>
-Date: Sat, 22 Feb 2020 04:37:04 +0000
-Subject: [PATCH] Prevent access times from changing resulting gzip md5sum
-
-Upstream-Status: Pending
-https://github.com/ipmitool/ipmitool/pull/186
----
- doc/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/doc/Makefile.am b/doc/Makefile.am
-index b792762..2c52ce6 100644
---- a/doc/Makefile.am
-+++ b/doc/Makefile.am
-@@ -59,5 +59,5 @@ install:
- ${INSTALL_DATA_SH} iuser.8 ${manto}
- ${INSTALL_DATA_SH} iseltime.8 ${manto}
- ${INSTALL_DATA_SH} bmclanpet.mib ${datato}
-- cd ${manto}; gzip -f *.8
-+ cd ${manto}; gzip -nf *.8
-
---
-2.13.3
-
diff --git a/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-ihpm-Include-stdlib.h-for-malloc-free-atoi-functions.patch b/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-ihpm-Include-stdlib.h-for-malloc-free-atoi-functions.patch
new file mode 100644
index 0000000000..1ed6472f6d
--- /dev/null
+++ b/meta-oe/recipes-kernel/ipmiutil/ipmiutil/0001-ihpm-Include-stdlib.h-for-malloc-free-atoi-functions.patch
@@ -0,0 +1,26 @@
+From 097e108b81f2571c4c51871044adf409b6954649 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 3 Sep 2022 00:44:52 -0700
+Subject: [PATCH] ihpm: Include stdlib.h for malloc/free/atoi functions
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ util/ihpm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/util/ihpm.c b/util/ihpm.c
+index 740ab74..5ad9ef6 100644
+--- a/util/ihpm.c
++++ b/util/ihpm.c
+@@ -68,6 +68,7 @@ typedef uint32_t socklen_t;
+ #endif
+ #include <stdio.h>
+ #include <stdarg.h>
++#include <stdlib.h> /* malloc/free/atoi */
+ #include <string.h>
+ #include <time.h>
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-kernel/ipmiutil/ipmiutil/fix_systemd_path.patch b/meta-oe/recipes-kernel/ipmiutil/ipmiutil/fix_systemd_path.patch
index 33116b3c06..2862793b05 100644
--- a/meta-oe/recipes-kernel/ipmiutil/ipmiutil/fix_systemd_path.patch
+++ b/meta-oe/recipes-kernel/ipmiutil/ipmiutil/fix_systemd_path.patch
@@ -2,15 +2,13 @@ allow systemd path to be defined by configure option.
The configure probes the host for systemd path information.
-Upstream Status: Inappropriate [Embedded]
+Upstream-Status: Inappropriate [Embedded]
-Signed-off-By: Armin Kuster <akuster@mvista.com>
+Signed-off-by: Armin Kuster <akuster@mvista.com>
-Index: ipmiutil-3.0.5/configure.ac
-===================================================================
---- ipmiutil-3.0.5.orig/configure.ac
-+++ ipmiutil-3.0.5/configure.ac
-@@ -149,7 +149,6 @@ CROSS_LFLAGS=""
+--- a/configure.ac
++++ b/configure.ac
+@@ -151,7 +151,6 @@ CROSS_LFLAGS=""
CROSS_CFLAGS=""
LIBSENSORS=""
SAM2OBJ="isensor2.o ievents2.o"
@@ -18,7 +16,7 @@ Index: ipmiutil-3.0.5/configure.ac
AC_ARG_ENABLE([useflags],
[ --enable-useflags include environment CFLAGS and LDFLAGS.],
-@@ -200,29 +199,42 @@ AC_ARG_ENABLE([gpl],
+@@ -211,29 +210,42 @@ AC_ARG_ENABLE([gpl],
dnl Does this Linux have systemd enabled? Otherwise use sysv init.
AC_ARG_ENABLE([systemd],
@@ -83,7 +81,7 @@ Index: ipmiutil-3.0.5/configure.ac
fi
dnl start main logic
-@@ -528,7 +540,7 @@ AC_SUBST(INS_LIB)
+@@ -563,7 +575,7 @@ AC_SUBST(INS_LIB)
AC_SUBST(SUBDIR_S)
AC_SUBST(CROSS_CFLAGS)
AC_SUBST(CROSS_LFLAGS)
@@ -92,10 +90,8 @@ Index: ipmiutil-3.0.5/configure.ac
AC_SUBST(SHR_LINK)
AC_SUBST(pkgconfigdir)
-Index: ipmiutil-3.0.5/scripts/Makefile.am
-===================================================================
---- ipmiutil-3.0.5.orig/scripts/Makefile.am
-+++ ipmiutil-3.0.5/scripts/Makefile.am
+--- a/scripts/Makefile.am
++++ b/scripts/Makefile.am
@@ -17,7 +17,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily
sbinto = ${DESTDIR}${sbindir}
varto = ${DESTDIR}/var/lib/ipmiutil
@@ -106,7 +102,7 @@ Index: ipmiutil-3.0.5/scripts/Makefile.am
sysvinit = ${datato}
sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm iuser
-@@ -47,10 +48,14 @@ install:
+@@ -47,10 +48,13 @@ install:
${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port
${INSTALL_SCRIPT_SH} ipmi_info ${sysvinit}/ipmi_info
${INSTALL_SCRIPT_SH} checksel ${datato}
@@ -114,7 +110,6 @@ Index: ipmiutil-3.0.5/scripts/Makefile.am
- ${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto}
- ${INSTALL_DATA_SH} ipmiutil_evt.service ${sysdto}
- ${INSTALL_DATA_SH} ipmi_port.service ${sysdto}
-+
+ if [ ! -z "${systemddir}" ]; then \
+ $(MKDIR) ${sysdto}; \
+ ${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto}; \
@@ -122,6 +117,6 @@ Index: ipmiutil-3.0.5/scripts/Makefile.am
+ ${INSTALL_DATA_SH} ipmiutil_evt.service ${sysdto}; \
+ ${INSTALL_DATA_SH} ipmi_port.service ${sysdto}; \
+ fi
- ${INSTALL_SCRIPT_SH} ipmiutil.env ${datato}
+ ${INSTALL_SCRIPT_SH} ipmiutil.env.template ${datato}
+ ${INSTALL_SCRIPT_SH} ipmiutil.env.template ${datato}/ipmiutil.env
${INSTALL_SCRIPT_SH} ipmiutil.pre ${datato}
- ${INSTALL_SCRIPT_SH} ipmiutil.setup ${datato}
diff --git a/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb b/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb
deleted file mode 100644
index d0f3688a25..0000000000
--- a/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.5.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\
-It can get/set sensor thresholds, automate SEL management, do SOL console, etc."
-
-DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \
-support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\
-locally, or remotely via IPMI LAN, even when the OS or main CPU is not\
-functional.\n \
-The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \
-(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \
-Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \
-can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \
-is detected."
-
-HOMEPAGE = "http://ipmiutil.sourceforge.net"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=626a5970304daa1fcb87f757fb42b795"
-
-DEPENDS += "openssl"
-
-PARALLEL_MAKE = ""
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \
- file://fix_systemd_path.patch \
- file://0001-Prevent-access-times-from-changing-resulting-gzip-md.patch \
- "
-SRC_URI[md5sum] = "292d6df25cad678bb27e5c8cdc6748f9"
-SRC_URI[sha256sum] = "58ccdbd5755d7dd72478756715af09e9c73330dfad2b91dbf03d2ac504b301a3"
-
-inherit autotools-brokensep pkgconfig systemd
-
-PACKAGECONFIG ?= "lanplus gpl"
-PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no"
-PACKAGECONFIG[sha256] = "--enable-sha256, --enable-sha256=no, openssl-native, openssl"
-PACKAGECONFIG[lanplus] = "--enable-lanplus, --enable-lanplus=no, openssl-native, openssl"
-PACKAGECONFIG[landesk] = "--enable-landesk, --enable-landesk=no"
-PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no"
-
-#build with some GPL code
-PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no"
-#no GPL or LanPlus libs
-PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no"
-
-CFLAGS += "-I${STAGING_INCDIR}"
-LDFLAGS += "-L${STAGING_LIBDIR}"
-
-COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
diff --git a/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.9.bb b/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.9.bb
new file mode 100644
index 0000000000..c85bfc13af
--- /dev/null
+++ b/meta-oe/recipes-kernel/ipmiutil/ipmiutil_3.1.9.bb
@@ -0,0 +1,47 @@
+SUMMARY = "ipmiutil is an easy-to-use set of IPMI server management utilities.\
+It can get/set sensor thresholds, automate SEL management, do SOL console, etc."
+
+DESCRIPTION = "The IPMI Management Utilities currently work with platforms that \
+support the IPMI 1.5 or 2.0 specification. IPMI servers can be managed\
+locally, or remotely via IPMI LAN, even when the OS or main CPU is not\
+functional.\n \
+The ipmiutil utilities will use an IPMI Driver, either the Intel IPMI package \
+(ipmidrvr, /dev/imb), MontaVista OpenIPMI (/dev/ipmi0), the valinux IPMI \
+Driver (/dev/ipmikcs), or the LANDesk ldipmi daemon. The ipmiutil utilities \
+can also use direct user-space I/Os in Linux or FreeBSD if no IPMI driver \
+is detected."
+
+HOMEPAGE = "http://ipmiutil.sourceforge.net"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=626a5970304daa1fcb87f757fb42b795"
+
+DEPENDS += "openssl"
+
+PARALLEL_MAKE = ""
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/ipmiutil/ipmiutil-${PV}.tar.gz \
+ file://fix_systemd_path.patch \
+ file://0001-ihpm-Include-stdlib.h-for-malloc-free-atoi-functions.patch \
+ "
+SRC_URI[sha256sum] = "5ae99bdd1296a8e25cea839784ec39ebca57b0e3701b2d440b8e02e22dc4bc95"
+
+inherit autotools-brokensep pkgconfig systemd
+
+PACKAGECONFIG ?= "lanplus gpl"
+PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = "--enable-systemd=${datadir}/${BPN}, --enable-systemd=no"
+PACKAGECONFIG[sha256] = "--enable-sha256, --enable-sha256=no, openssl-native, openssl"
+PACKAGECONFIG[lanplus] = "--enable-lanplus, --enable-lanplus=no, openssl-native, openssl"
+PACKAGECONFIG[landesk] = "--enable-landesk, --enable-landesk=no"
+PACKAGECONFIG[sensors] = "--enable-libsensors, --enable-libsensors=no"
+
+#build with some GPL code
+PACKAGECONFIG[gpl] = "--enable-gpl, --enable-gpl=no"
+#no GPL or LanPlus libs
+PACKAGECONFIG[standalone] = "--enable-standalone, --enable-standalone=no"
+
+CFLAGS += "-I${STAGING_INCDIR}"
+LDFLAGS += "-L${STAGING_LIBDIR}"
+
+EXTRA_OECONF += "--enable-useflags"
+COMPATIBLE_HOST = '(x86_64|i.86).*-linux'
diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
index 4caf217c24..01f185adba 100644
--- a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
+++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest.bb
@@ -1,13 +1,13 @@
SUMMARY = "Kernel selftest for Linux"
DESCRIPTION = "Kernel selftest for Linux"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://../COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
DEPENDS = "rsync-native llvm-native"
# for musl libc
-SRC_URI_append_libc-musl = "\
+SRC_URI:append:libc-musl = "\
file://userfaultfd.patch \
"
SRC_URI += "file://run-ptest \
@@ -18,44 +18,55 @@ SRC_URI += "file://run-ptest \
# we will append other kernel selftest in the future
# bpf was added in 4.10 with: https://github.com/torvalds/linux/commit/5aa5bd14c5f8660c64ceedf14a549781be47e53d
# if you have older kernel than that you need to remove it from PACKAGECONFIG
-PACKAGECONFIG ??= "firmware vm"
-PACKAGECONFIG_remove_x86 = "bpf"
-PACKAGECONFIG_remove_arm = "bpf vm"
+PACKAGECONFIG ??= "firmware"
+# bpf needs working clang compiler anyway
+PACKAGECONFIG:append:toolchain-clang:x86-64 = " bpf"
+PACKAGECONFIG:remove:x86 = "bpf"
+PACKAGECONFIG:remove:arm = "bpf vm"
# host ptrace.h is used to compile BPF target but mips ptrace.h is needed
# progs/loop1.c:21:9: error: incomplete definition of type 'struct user_pt_regs'
# m = PT_REGS_RC(ctx);
# vm tests need libhugetlbfs starting 5.8+ (https://lkml.org/lkml/2020/4/22/1654)
-PACKAGECONFIG_remove_qemumips = "bpf vm"
+PACKAGECONFIG:remove:qemumips = "bpf vm"
# riscv does not support libhugetlbfs yet
-PACKAGECONFIG_remove_riscv64 = "vm"
-PACKAGECONFIG_remove_riscv32 = "vm"
+PACKAGECONFIG:remove:riscv64 = "bpf vm"
+PACKAGECONFIG:remove:riscv32 = "bpf vm"
-PACKAGECONFIG[bpf] = ",,elfutils libcap libcap-ng rsync-native,"
+PACKAGECONFIG[bpf] = ",,elfutils elfutils-native libcap libcap-ng rsync-native python3-docutils-native,"
PACKAGECONFIG[firmware] = ",,libcap, bash"
PACKAGECONFIG[vm] = ",,libcap libhugetlbfs,libgcc bash"
do_patch[depends] += "virtual/kernel:do_shared_workdir"
+do_compile[depends] += "virtual/kernel:do_install"
-inherit linux-kernel-base kernel-arch ptest
+inherit linux-kernel-base module-base kernel-arch ptest siteinfo
S = "${WORKDIR}/${BP}"
+DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
+
TEST_LIST = "\
${@bb.utils.filter('PACKAGECONFIG', 'bpf firmware vm', d)} \
rtc \
+ ptp \
+ timers \
"
-
EXTRA_OEMAKE = '\
CROSS_COMPILE=${TARGET_PREFIX} \
ARCH=${ARCH} \
CC="${CC}" \
- CLANG="clang -fno-stack-protector -target ${TARGET_ARCH} ${TOOLCHAIN_OPTIONS}" \
AR="${AR}" \
LD="${LD}" \
+ CLANG="clang -fno-stack-protector -target ${TARGET_ARCH} ${TOOLCHAIN_OPTIONS} -isystem ${S} -D__WORDSIZE=\'64\' -Wno-error=unused-command-line-argument" \
DESTDIR="${D}" \
- MACHINE="${ARCH}" \
+ V=1 \
'
+EXTRA_OEMAKE:append:toolchain-clang = "\
+ LLVM=1 CONFIG_CC_IS_GCC= CONFIG_CC_IS_CLANG=y CONFIG_CC_IMPLICIT_FALLTHROUGH= \
+ HOSTCC="clang -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++ ${BUILD_CFLAGS} ${BUILD_LDFLAGS} -Wno-error=unused-command-line-argument" \
+ HOSTLD="clang ${BUILD_LDFLAGS} -unwindlib=libgcc -rtlib=libgcc -stdlib=libstdc++" \
+"
KERNEL_SELFTEST_SRC ?= "Makefile \
include \
@@ -66,7 +77,6 @@ KERNEL_SELFTEST_SRC ?= "Makefile \
arch \
LICENSES \
"
-
do_compile() {
if [ ${@bb.utils.contains('PACKAGECONFIG', 'bpf', 'True', 'False', d)} = 'True' ]; then
if [ ${@bb.utils.contains('DEPENDS', 'clang-native', 'True', 'False', d)} = 'False' ]; then
@@ -74,7 +84,18 @@ do_compile() {
either install it and add it to HOSTTOOLS, or add clang-native from meta-clang to dependency"
fi
fi
-
+ mkdir -p ${S}/include/config ${S}/bits
+ install -Dm 0644 ${STAGING_KERNEL_BUILDDIR}/.config ${S}/include/config/auto.conf
+ if [ "${SITEINFO_BITS}" != "32" ]; then
+ for f in long-double endianness floatn struct_rwlock; do
+ cp ${RECIPE_SYSROOT}${includedir}/bits/$f-64.h ${S}/bits/$f-32.h
+ done
+ fi
+ oe_runmake -C ${S} headers
+ sed -i -e 's|^all: docs|all:|' ${S}/tools/testing/selftests/bpf/Makefile
+ sed -i -e '/mrecord-mcount/d' ${S}/Makefile
+ sed -i -e '/Wno-alloc-size-larger-than/d' ${S}/Makefile
+ sed -i -e '/Wno-alloc-size-larger-than/d' ${S}/scripts/Makefile.*
for i in ${TEST_LIST}
do
oe_runmake -C ${S}/tools/testing/selftests/${i}
@@ -85,7 +106,13 @@ do_install() {
for i in ${TEST_LIST}
do
oe_runmake -C ${S}/tools/testing/selftests/${i} INSTALL_PATH=${D}/usr/kernel-selftest/${i} install
+ # Install kselftest-list.txt that required by kselftest runner.
+ oe_runmake -s --no-print-directory COLLECTION=${i} -C ${S}/tools/testing/selftests/${i} emit_tests \
+ >> ${D}/usr/kernel-selftest/kselftest-list.txt
done
+ # Install kselftest runner.
+ install -m 0755 ${S}/tools/testing/selftests/run_kselftest.sh ${D}/usr/kernel-selftest/
+ cp -R --no-dereference --preserve=mode,links -v ${S}/tools/testing/selftests/kselftest ${D}/usr/kernel-selftest/
if [ -e ${D}/usr/kernel-selftest/bpf/test_offload.py ]; then
sed -i -e '1s,#!.*python3,#! /usr/bin/env python3,' ${D}/usr/kernel-selftest/bpf/test_offload.py
fi
@@ -125,16 +152,15 @@ remove_unrelated() {
PACKAGE_ARCH = "${MACHINE_ARCH}"
INHIBIT_PACKAGE_DEBUG_SPLIT="1"
-FILES_${PN} += "/usr/kernel-selftest"
+FILES:${PN} += "/usr/kernel-selftest"
-RDEPENDS_${PN} += "python3"
-# tools/testing/selftests/vm/Makefile doesn't respect LDFLAGS and tools/testing/selftests/Makefile explicitly overrides to empty
-INSANE_SKIP_${PN} += "ldflags"
+RDEPENDS:${PN} += "python3 perl perl-module-io-handle"
+
+INSANE_SKIP:${PN} += "libdir"
SECURITY_CFLAGS = ""
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
# It has native clang/llvm dependency, poky distro is reluctant to include them as deps
# this helps with world builds on AB
EXCLUDE_FROM_WORLD = "1"
-
diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest
index d40b9576d8..0903d097e1 100755
--- a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest
+++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/run-ptest
@@ -1,11 +1,7 @@
#!/bin/sh
-export PATH=$PATH:/usr/kernel-selftest/bpf
-
-# test_align
-test_align | grep "12 pass" &> /dev/null
+/usr/kernel-selftest/run_kselftest.sh -s
if [ $? == 0 ]; then
- echo "[PASS]: test_align"
+ echo "PASS: kernel-selftest"
else
- echo "[FAIL]: test_align"
+ echo "[FAIL]: kernel-selftest"
fi
-
diff --git a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/userfaultfd.patch b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/userfaultfd.patch
index bed20510e8..d34c54754e 100644
--- a/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/userfaultfd.patch
+++ b/meta-oe/recipes-kernel/kernel-selftest/kernel-selftest/userfaultfd.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] vm: add some funtions to support musl libc
Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
---
+Upstream-Status: Pending
+
tools/testing/selftests/vm/userfaultfd.c | 298 +++++++++++++++++++++++++++++++
1 file changed, 298 insertions(+)
diff --git a/meta-oe/recipes-kernel/kpatch/kpatch.inc b/meta-oe/recipes-kernel/kpatch/kpatch.inc
index 1f70f72054..4d187200ec 100644
--- a/meta-oe/recipes-kernel/kpatch/kpatch.inc
+++ b/meta-oe/recipes-kernel/kpatch/kpatch.inc
@@ -1,9 +1,9 @@
SUMMARY = "Linux dynamic kernel patching infrastructure"
DESCRIPTION = "kpatch is a Linux dynamic kernel patching infrastructure which allows you to patch a running kernel without rebooting or restarting any processes."
-LICENSE = "GPLv2 & LGPLv2"
+LICENSE = "GPL-2.0-only & LGPL-2.0-only"
DEPENDS = "elfutils bash"
-SRC_URI = "git://github.com/dynup/kpatch.git;protocol=https \
+SRC_URI = "git://github.com/dynup/kpatch.git;protocol=https;branch=master \
file://0001-kpatch-build-add-cross-compilation-support.patch \
file://0002-kpatch-build-allow-overriding-of-distro-name.patch \
"
@@ -32,22 +32,22 @@ PACKAGES =+ "kpatch-build"
PROVIDES += "kpatch-build"
COMPATIBLE_HOST = "(x86_64).*-linux"
-COMPATIBLE_HOST_libc-musl = "null"
+COMPATIBLE_HOST:libc-musl = "null"
-RDEPENDS_${PN} = "bash binutils"
-RDEPENDS_kpatch-build = "bash glibc-utils"
+RDEPENDS:${PN} = "bash binutils"
+RDEPENDS:kpatch-build = "bash glibc-utils"
-FILES_${PN} = " \
+FILES:${PN} = " \
${sbindir}/kpatch \
${systemd_system_unitdir}/kpatch.service \
${mandir}/man1/kpatch.1.gz \
${sysconfdir}/init/kpatch.conf \
"
-FILES_kpatch-build = " \
+FILES:kpatch-build = " \
${bindir}/kpatch-build \
${libexecdir}/* \
${datadir}/kpatch \
${mandir}/man1/kpatch-build.1.gz \
"
-SYSTEMD_SERVICE_${PN} = "kpatch.service"
+SYSTEMD_SERVICE:${PN} = "kpatch.service"
diff --git a/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch b/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
deleted file mode 100644
index 9423141962..0000000000
--- a/meta-oe/recipes-kernel/libbpf/libbpf/0001-install-don-t-preserve-file-owner.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7df10d91db6f533cc0f6c09f4ae8ad92918c6160 Mon Sep 17 00:00:00 2001
-From: Matteo Croce <mcroce@microsoft.com>
-Date: Tue, 26 Jan 2021 12:41:47 +0100
-Subject: [PATCH] install: don't preserve file owner
-
-'cp -p' preserve file ownership, this may leave files owned by the
-current in user in /lib .
-
-Upstream-status: Submitted (0.4 release) [https://github.com/libbpf/libbpf/commit/767d82caab7e54238f2fc6f40ab1e4af285f2abe]
-
-Signed-off-by: Matteo Croce <mcroce@microsoft.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index da33613..ab66edc 100644
---- a/Makefile
-+++ b/Makefile
-@@ -130,7 +130,7 @@ define do_s_install
- $(Q)if [ ! -d '$(DESTDIR)$2' ]; then \
- $(INSTALL) -d -m 755 '$(DESTDIR)$2'; \
- fi;
-- $(Q)cp -fpR $1 '$(DESTDIR)$2'
-+ $(Q)cp -fR $1 '$(DESTDIR)$2'
- endef
-
- install: all install_headers install_pkgconfig
---
-2.29.2
-
diff --git a/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb b/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb
deleted file mode 100644
index 5714ddb612..0000000000
--- a/meta-oe/recipes-kernel/libbpf/libbpf_0.3.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "Library for BPF handling"
-DESCRIPTION = "Library for BPF handling"
-HOMEPAGE = "https://github.com/libbpf/libbpf"
-SECTION = "libs"
-LICENSE = "LGPLv2.1+"
-
-# There is a typo in the filename, LPGL should really be LGPL.
-# Keep this until the correct name is set upstream.
-LIC_FILES_CHKSUM = "file://../LICENSE.LPGL-2.1;md5=b370887980db5dd40659b50909238dbd"
-
-DEPENDS = "zlib elfutils"
-
-SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https"
-SRCREV = "051a4009f94d5633a8f734ca4235f0a78ee90469"
-
-# Backported from version 0.4
-SRC_URI += "file://0001-install-don-t-preserve-file-owner.patch"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64).*-linux"
-
-S = "${WORKDIR}/git/src"
-
-EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir}"
-
-do_compile() {
- if grep -q "CONFIG_BPF_SYSCALL=y" ${STAGING_KERNEL_BUILDDIR}/.config
- then
- oe_runmake
- else
- bbnote "BFP syscall is not enabled"
- fi
-}
-
-do_install() {
- if grep -q "CONFIG_BPF_SYSCALL=y" ${STAGING_KERNEL_BUILDDIR}/.config
- then
- oe_runmake install
- else
- bbnote "no files to install"
- fi
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-kernel/libbpf/libbpf_1.4.0.bb b/meta-oe/recipes-kernel/libbpf/libbpf_1.4.0.bb
new file mode 100644
index 0000000000..f2ec48f390
--- /dev/null
+++ b/meta-oe/recipes-kernel/libbpf/libbpf_1.4.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Library for BPF handling"
+DESCRIPTION = "Library for BPF handling"
+HOMEPAGE = "https://github.com/libbpf/libbpf"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-or-later"
+
+LIC_FILES_CHKSUM = "file://../LICENSE.LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
+
+DEPENDS = "zlib elfutils"
+
+SRC_URI = "git://github.com/libbpf/libbpf.git;protocol=https;branch=master"
+SRCREV = "20ea95b4505c477af3b6ff6ce9d19cee868ddc5d"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64|riscv64|powerpc|powerpc64|mips64).*-linux"
+
+S = "${WORKDIR}/git/src"
+
+EXTRA_OEMAKE += "DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir}"
+EXTRA_OEMAKE:append:class-native = " UAPIDIR=${includedir}"
+
+inherit pkgconfig
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install
+}
+
+do_install:append:class-native() {
+ oe_runmake install_uapi_headers
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-kernel/libpfm/libpfm4/0002-perf_examples-Remove-unused-sum-variable.patch b/meta-oe/recipes-kernel/libpfm/libpfm4/0002-perf_examples-Remove-unused-sum-variable.patch
new file mode 100644
index 0000000000..e85ca96fc3
--- /dev/null
+++ b/meta-oe/recipes-kernel/libpfm/libpfm4/0002-perf_examples-Remove-unused-sum-variable.patch
@@ -0,0 +1,44 @@
+From 0b2f611a95f3c93454453892bbe021ad2815925d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Jun 2021 17:35:26 -0700
+Subject: [PATCH] perf_examples: Remove unused 'sum' variable
+
+Fixes
+self_smpl_multi.c:144:19: error: variable 'sum' set but not used [-Werror,-Wunused-but-set-variable]
+ unsigned long x, sum;
+ ^
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ perf_examples/self_smpl_multi.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/perf_examples/self_smpl_multi.c b/perf_examples/self_smpl_multi.c
+index 391fa61..75b45e0 100644
+--- a/perf_examples/self_smpl_multi.c
++++ b/perf_examples/self_smpl_multi.c
+@@ -141,7 +141,7 @@ void
+ do_cycles(void)
+ {
+ struct timeval start, last, now;
+- unsigned long x, sum;
++ unsigned long x;
+
+ gettimeofday(&start, NULL);
+ last = start;
+@@ -150,15 +150,12 @@ do_cycles(void)
+ iter[myid] = 0;
+
+ do {
+-
+- sum = 1;
+ for (x = 1; x < 250000; x++) {
+ /* signal pending to private queue because of
+ * pthread_kill(), i.e., tkill()
+ */
+ if ((x % 5000) == 0)
+ pthread_kill(pthread_self(), SIGUSR1);
+- sum += x;
+ }
+ iter[myid]++;
+
diff --git a/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb b/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb
deleted file mode 100644
index ff56d48043..0000000000
--- a/meta-oe/recipes-kernel/libpfm/libpfm4_4.10.1.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Monitoring tools exploiting the performance monitoring events"
-DESCRIPTION = "This package provides a library, called libpfm4 which is used to develop \
-monitoring tools exploiting the performance monitoring events such as those \
-provided by the Performance Monitoring Unit (PMU) of modern processors."
-HOMEPAGE = "http://perfmon2.sourceforge.net/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=144822&atid=759953&source=navbar"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0de488f3bd4424e308e2e399cb99c788"
-
-SECTION = "devel"
-
-COMPATIBLE_HOST = "powerpc64"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/perfmon2/${BPN}/libpfm-${PV}.tar.gz \
- file://0001-Include-poll.h-instead-of-sys-poll.h.patch \
- "
-SRC_URI[md5sum] = "d8f66cb9bfa7e1434434e0de6409db5b"
-SRC_URI[sha256sum] = "c61c575378b5c17ccfc5806761e4038828610de76e2e34fac9f7fa73ba844b49"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/perfmon2/files/libpfm4/"
-
-EXTRA_OEMAKE = "DESTDIR=\"${D}\" PREFIX=\"${prefix}\" LIBDIR=\"${libdir}\" LDCONFIG=\"true\""
-EXTRA_OEMAKE_append_powerpc = " ARCH=\"powerpc\""
-EXTRA_OEMAKE_append_powerpc64 = " ARCH=\"powerpc\" BITMODE=\"64\""
-EXTRA_OEMAKE_append_powerpc64le = " ARCH=\"powerpc\" BITMODE=\"64\""
-
-S = "${WORKDIR}/libpfm-${PV}"
-
-do_install () {
- oe_runmake install
-}
diff --git a/meta-oe/recipes-kernel/libpfm/libpfm4_4.13.0.bb b/meta-oe/recipes-kernel/libpfm/libpfm4_4.13.0.bb
new file mode 100644
index 0000000000..be0659ad2a
--- /dev/null
+++ b/meta-oe/recipes-kernel/libpfm/libpfm4_4.13.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Monitoring tools exploiting the performance monitoring events"
+DESCRIPTION = "This package provides a library, called libpfm4 which is used to develop \
+monitoring tools exploiting the performance monitoring events such as those \
+provided by the Performance Monitoring Unit (PMU) of modern processors."
+HOMEPAGE = "http://perfmon2.sourceforge.net/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=144822&atid=759953&source=navbar"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0de488f3bd4424e308e2e399cb99c788"
+
+SECTION = "devel"
+
+COMPATIBLE_HOST = "powerpc64|aarch64"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/perfmon2/${BPN}/libpfm-${PV}.tar.gz \
+ file://0001-Include-poll.h-instead-of-sys-poll.h.patch \
+ file://0002-perf_examples-Remove-unused-sum-variable.patch \
+ "
+SRC_URI[sha256sum] = "d18b97764c755528c1051d376e33545d0eb60c6ebf85680436813fa5b04cc3d1"
+
+UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/perfmon2/files/libpfm4/"
+
+EXTRA_OEMAKE = "DESTDIR=\"${D}\" PREFIX=\"${prefix}\" LIBDIR=\"${libdir}\" LDCONFIG=\"true\" DBG='-g -Wall -Wextra -Wno-unused-parameter'"
+EXTRA_OEMAKE:append:powerpc = " ARCH=\"powerpc\""
+EXTRA_OEMAKE:append:powerpc64 = " ARCH=\"powerpc\" BITMODE=\"64\""
+EXTRA_OEMAKE:append:powerpc64le = " ARCH=\"powerpc\" BITMODE=\"64\""
+EXTRA_OEMAKE:append:aarch64 = " ARCH=\"arm64\""
+
+S = "${WORKDIR}/libpfm-${PV}"
+
+do_install () {
+ oe_runmake install
+}
diff --git a/meta-oe/recipes-kernel/libtracefs/libtracefs/0001-makefile-Do-not-preserve-ownership-in-cp-command.patch b/meta-oe/recipes-kernel/libtracefs/libtracefs/0001-makefile-Do-not-preserve-ownership-in-cp-command.patch
new file mode 100644
index 0000000000..7ae0856f85
--- /dev/null
+++ b/meta-oe/recipes-kernel/libtracefs/libtracefs/0001-makefile-Do-not-preserve-ownership-in-cp-command.patch
@@ -0,0 +1,31 @@
+From 6650d0e79eea330b53635574885208a138fef97e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 21 Dec 2022 22:50:56 -0800
+Subject: [PATCH] makefile: Do not preserve ownership in cp command
+
+Fixes
+ERROR: libtracefs-1.6.3-r0 do_package_qa: QA Issue: libtracefs: /usr/lib/libtracefs.so is owned by uid 1000, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 27d425c..3aea142 100644
+--- a/Makefile
++++ b/Makefile
+@@ -273,7 +273,7 @@ endif # DESTDIR = ""
+
+ install_libs: libs install_pkgconfig
+ $(Q)$(call do_install,$(LIBTRACEFS_SHARED),$(libdir_SQ)); \
+- cp -fpR $(LIB_INSTALL) $(DESTDIR)$(libdir_SQ)
++ cp --no-preserve=ownership --recursive $(LIB_INSTALL) $(DESTDIR)$(libdir_SQ)
+ $(Q)$(call do_install,$(src)/include/tracefs.h,$(includedir_SQ),644)
+ $(Q)$(call install_ld_config)
+
+--
+2.39.0
+
diff --git a/meta-oe/recipes-kernel/libtracefs/libtracefs/0001-tracefs-perf-Add-missing-headers-for-syscall-and-SYS.patch b/meta-oe/recipes-kernel/libtracefs/libtracefs/0001-tracefs-perf-Add-missing-headers-for-syscall-and-SYS.patch
new file mode 100644
index 0000000000..a24dd1315b
--- /dev/null
+++ b/meta-oe/recipes-kernel/libtracefs/libtracefs/0001-tracefs-perf-Add-missing-headers-for-syscall-and-SYS.patch
@@ -0,0 +1,31 @@
+From f539d96ef4a34ad23d33c552d1770ab429b0220e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 14 Jun 2023 00:24:36 -0700
+Subject: [PATCH] tracefs-perf: Add missing headers for syscall() and SYS_*
+ defines
+
+These headers are needed to provide prototype definitions for functions
+e.g. close(), syscall(), getpagesize(), getpid()
+
+The issue is observed with clang-16+ compiler on musl systems
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-trace-devel/20230614072759.316154-1-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/tracefs-perf.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/tracefs-perf.c b/src/tracefs-perf.c
+index 96d12cd..62c1508 100644
+--- a/src/tracefs-perf.c
++++ b/src/tracefs-perf.c
+@@ -1,4 +1,5 @@
+-#include <asm/unistd.h>
++#include <unistd.h>
++#include <sys/syscall.h>
+ #include <sys/mman.h>
+ #include <signal.h>
+ #include <linux/perf_event.h>
+--
+2.41.0
+
diff --git a/meta-oe/recipes-kernel/libtracefs/libtracefs_1.7.0.bb b/meta-oe/recipes-kernel/libtracefs/libtracefs_1.7.0.bb
new file mode 100644
index 0000000000..9a408ba13c
--- /dev/null
+++ b/meta-oe/recipes-kernel/libtracefs/libtracefs_1.7.0.bb
@@ -0,0 +1,23 @@
+# Copyright (C) 2022 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Library to parse raw trace event formats "
+HOMEPAGE = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/"
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \
+ file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
+SECTION = "libs"
+DEPENDS = "libtraceevent bison-native flex-native"
+
+SRCREV = "aebab37379d0fbadc702d64aca0fe5cf18676404"
+SRC_URI = "git://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git;branch=${BPN};protocol=https \
+ file://0001-makefile-Do-not-preserve-ownership-in-cp-command.patch \
+ file://0001-tracefs-perf-Add-missing-headers-for-syscall-and-SYS.patch \
+ "
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+do_install() {
+ oe_runmake install DESTDIR=${D} pkgconfig_dir=${libdir}/pkgconfig
+}
diff --git a/meta-oe/recipes-kernel/linux/linux.inc b/meta-oe/recipes-kernel/linux/linux.inc
index 9f14370cd8..b4b0661225 100644
--- a/meta-oe/recipes-kernel/linux/linux.inc
+++ b/meta-oe/recipes-kernel/linux/linux.inc
@@ -1,6 +1,6 @@
DESCRIPTION = "Linux Kernel"
SECTION = "kernel"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
INC_PR = "r0"
@@ -34,7 +34,7 @@ kernel_conf_variable() {
fi
}
-do_configure_prepend() {
+do_configure:prepend() {
echo "" > ${B}/.config
CONF_SED_SCRIPT=""
@@ -117,15 +117,15 @@ do_configure_prepend() {
yes '' | oe_runmake -C ${S} O=${B} oldconfig
}
-do_configure_append() {
+do_configure:append() {
if test -e scripts/Makefile.fwinst ; then
sed -i -e "s:-m0644:-m 0644:g" scripts/Makefile.fwinst
fi
}
-do_install_append() {
+do_install:append() {
oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix}/src/linux-${KERNEL_VERSION} ARCH=$ARCH
}
PACKAGES =+ "kernel-headers"
-FILES_kernel-headers = "${exec_prefix}/src/linux*"
+FILES:kernel-headers = "${exec_prefix}/src/linux*"
diff --git a/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch b/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
index 270cc35625..96a996f616 100644
--- a/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
+++ b/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0001-makedumpfile-replace-hardcode-CFLAGS.patch
@@ -1,6 +1,6 @@
-From af97e2ad643334b4c7c3d66f971ce9ebb2b596af Mon Sep 17 00:00:00 2001
+From 6d16911316cb576db0239f607e60918a222e4436 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
-Date: Thu, 21 Jul 2016 18:06:21 +0800
+Date: Sun, 24 Apr 2022 17:25:33 +0800
Subject: [PATCH] makedumpfile: replace hardcode CFLAGS
* Create alias for target such as powerpc as powerpc32
@@ -10,17 +10,23 @@ Subject: [PATCH] makedumpfile: replace hardcode CFLAGS
* Forcibly to link dynamic library as the poky build
system doesn't build static library by default
-Upstream-Status: Inappropriate[oe specific]
+Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
+[2021-11-18] Patch updated to use CFLAGS_COMMON for zstd
+Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
+
+Rebase to 1.7.1
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
- Makefile | 45 +++++++++++++++++++++++----------------------
- 1 file changed, 23 insertions(+), 22 deletions(-)
+ Makefile | 40 +++++++++++++++++++++-------------------
+ 1 file changed, 21 insertions(+), 19 deletions(-)
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
+diff --git a/Makefile b/Makefile
+index 71d8548..22acdd5 100644
+--- a/Makefile
++++ b/Makefile
@@ -8,12 +8,6 @@ ifeq ($(strip $CC),)
CC = gcc
endif
@@ -34,19 +40,13 @@ Index: git/Makefile
HOST_ARCH := $(shell uname -m)
# Use TARGET as the target architecture if specified.
# Defaults to uname -m
-@@ -21,29 +15,36 @@ ifeq ($(strip($TARGET)),)
- TARGET := $(HOST_ARCH)
- endif
-
--ARCH := $(shell echo ${TARGET} | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
-- -e s/arm.*/arm/ -e s/sa110/arm/ \
-- -e s/s390x/s390/ -e s/parisc64/parisc/ \
+@@ -24,26 +18,34 @@ endif
+ ARCH := $(shell echo ${TARGET} | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
+ -e s/arm.*/arm/ -e s/sa110/arm/ \
+ -e s/s390x/s390/ -e s/parisc64/parisc/ \
- -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/)
-+ARCH := $(shell echo __${TARGET}__ | sed -e s/i.86/x86/ -e s/sun4u/sparc64/ \
-+ -e s/arm.*/arm/ -e s/sa110/arm/ \
-+ -e s/s390x/s390/ -e s/parisc64/parisc/ \
-+ -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/ \
-+ -e s/_powerpc_/_powerpc32_/)
++ -e s/ppc64/powerpc64/ -e s/ppc/powerpc32/ \
++ -e s/_powerpc_/_powerpc32_/)
CROSS :=
ifneq ($(TARGET), $(HOST_ARCH))
@@ -54,8 +54,7 @@ Index: git/Makefile
endif
-CFLAGS += -D__$(ARCH)__ $(CROSS)
--CFLAGS_ARCH += -D__$(ARCH)__ $(CROSS)
-+CFLAGS_ARCH += -D$(ARCH) $(CROSS)
+ CFLAGS_ARCH += -D__$(ARCH)__ $(CROSS)
-ifeq ($(ARCH), powerpc64)
-CFLAGS += -m64
@@ -78,10 +77,11 @@ Index: git/Makefile
+ -DVERSION='"$(VERSION)"' \
+ -DRELEASE_DATE='"$(DATE)"'
+
++
SRC_BASE = makedumpfile.c makedumpfile.h diskdump_mod.h sadump_mod.h sadump_info.h
- SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c tools.c
+ SRC_PART = print_info.c dwarf_info.c elf_info.c erase_info.c sadump_info.c cache.c tools.c printk.c detect_cycle.c
OBJ_PART=$(patsubst %.c,%.o,$(SRC_PART))
-@@ -52,12 +53,12 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
+@@ -52,12 +54,12 @@ OBJ_ARCH=$(patsubst %.c,%.o,$(SRC_ARCH))
LIBS = -ldw -lbz2 -ldl -lelf -lz
ifneq ($(LINKTYPE), dynamic)
@@ -96,7 +96,7 @@ Index: git/Makefile
endif
ifeq ($(USESNAPPY), on)
-@@ -65,7 +66,7 @@ LIBS := -lsnappy $(LIBS)
+@@ -65,12 +67,12 @@ LIBS := -lsnappy $(LIBS)
ifneq ($(LINKTYPE), dynamic)
LIBS := $(LIBS) -lstdc++
endif
@@ -104,8 +104,14 @@ Index: git/Makefile
+CFLAGS_COMMON += -DUSESNAPPY
endif
- LIBS := -lpthread $(LIBS)
-@@ -90,14 +91,14 @@ LIBS := $(LIBS) $(call try-run,\
+ ifeq ($(USEZSTD), on)
+ LIBS := -lzstd $(LIBS)
+-CFLAGS += -DUSEZSTD
++CFLAGS_COMMON += -DUSEZSTD
+ endif
+
+ ifeq ($(DEBUG), on)
+@@ -104,14 +106,14 @@ LIBS := $(LIBS) $(call try-run,\
all: makedumpfile
$(OBJ_PART): $(SRC_PART)
@@ -119,15 +125,15 @@ Index: git/Makefile
makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
- $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS)
+ $(CC) $(CFLAGS_COMMON) $(LDFLAGS) $(OBJ_PART) $(OBJ_ARCH) -rdynamic -o $@ $< $(LIBS)
- echo .TH MAKEDUMPFILE 8 \"$(DATE)\" \"makedumpfile v$(VERSION)\" \"Linux System Administrator\'s Manual\" > temp.8
- grep -v "^.TH MAKEDUMPFILE 8" $(VPATH)makedumpfile.8 >> temp.8
- mv temp.8 makedumpfile.8
-@@ -108,7 +109,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(
- gzip -c ./makedumpfile.conf.5 > ./makedumpfile.conf.5.gz
+ @sed -e "s/@DATE@/$(DATE)/" \
+ -e "s/@VERSION@/$(VERSION)/" \
+ $(VPATH)makedumpfile.8.in > $(VPATH)makedumpfile.8
+@@ -120,7 +122,7 @@ makedumpfile: $(SRC_BASE) $(OBJ_PART) $(OBJ_ARCH)
+ $(VPATH)makedumpfile.conf.5.in > $(VPATH)makedumpfile.conf.5
eppic_makedumpfile.so: extension_eppic.c
- $(CC) $(CFLAGS) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
+ $(CC) $(CFLAGS_COMMON) $(LDFLAGS) -shared -rdynamic -o $@ extension_eppic.c -fPIC -leppic -ltinfo
clean:
- rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8.gz makedumpfile.conf.5.gz
+ rm -f $(OBJ) $(OBJ_PART) $(OBJ_ARCH) makedumpfile makedumpfile.8 makedumpfile.conf.5
diff --git a/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch b/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
deleted file mode 100644
index 85d8833657..0000000000
--- a/meta-oe/recipes-kernel/makedumpfile/makedumpfile/0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 9045b72bdb703bf58a6586d77461eea8f59f50f7 Mon Sep 17 00:00:00 2001
-From: Alexandru Moise <alexandru.moise@windriver.com>
-Date: Fri, 29 Apr 2016 07:40:46 +0000
-Subject: [PATCH] mem_section: Support only 46 bit for MAX_PHYSMEM_BITS on
- PPC64
-
-Related to change:
-http://lists.infradead.org/pipermail/kexec/2013-January/007849.html
-
-Linux on PPC64 has supported only 46 bit MAX_PHYSMEM_BITS since commit:
-048ee0993ec8360abb0b51bdf8f8721e9ed62ec4
-
-Also remove set_ppc64_max_physmem_bits and set info->max_physmem_bits in
-get_machdep_info_ppc64 instead. set_ppc64_max_physmem_bits is broken
-for all kernels compiled with CONFIG_SPARSEMEM=n. makedumpfile is
-unable to get mem_section field from powerpc kernel since commit:
-fd59d231f81cb02870b9cf15f456a897f3669b4e
-
-Upstream-Status: Pending
-
-Signed-off-by: Alexandru Moise <alexandru.moise@windriver.com>
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
-
-[hqBai: adjusted patch for context, no logical change]
-Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- arch/ppc64.c | 38 ++------------------------------------
- 1 file changed, 2 insertions(+), 36 deletions(-)
-
-Index: git/arch/ppc64.c
-===================================================================
---- git.orig/arch/ppc64.c
-+++ git/arch/ppc64.c
-@@ -462,44 +462,6 @@ ppc64_vtop_level4(unsigned long vaddr)
- return paddr;
- }
-
--int
--set_ppc64_max_physmem_bits(void)
--{
-- long array_len = ARRAY_LENGTH(mem_section);
--
-- /* Check if we can get MAX_PHYSMEM_BITS from vmcoreinfo */
-- if (NUMBER(MAX_PHYSMEM_BITS) != NOT_FOUND_NUMBER) {
-- info->max_physmem_bits = NUMBER(MAX_PHYSMEM_BITS);
-- return TRUE;
-- }
--
-- /*
-- * The older ppc64 kernels uses _MAX_PHYSMEM_BITS as 42 and the
-- * newer kernels 3.7 onwards uses 46 bits.
-- */
--
-- info->max_physmem_bits = _MAX_PHYSMEM_BITS_ORIG ;
-- if ((array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT_EXTREME()))
-- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
-- return TRUE;
--
-- info->max_physmem_bits = _MAX_PHYSMEM_BITS_3_7;
-- if ((array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT_EXTREME()))
-- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
-- return TRUE;
--
-- info->max_physmem_bits = _MAX_PHYSMEM_BITS_4_19;
-- if ((array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT_EXTREME()))
-- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
-- return TRUE;
--
-- info->max_physmem_bits = _MAX_PHYSMEM_BITS_4_20;
-- if ((array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT_EXTREME()))
-- || (array_len == (NR_MEM_SECTIONS() / _SECTIONS_PER_ROOT())))
-- return TRUE;
--
-- return FALSE;
--}
-
- int
- get_machdep_info_ppc64(void)
-@@ -507,10 +469,8 @@ get_machdep_info_ppc64(void)
- unsigned long vmlist, vmap_area_list, vmalloc_start;
-
- info->section_size_bits = _SECTION_SIZE_BITS;
-- if (!set_ppc64_max_physmem_bits()) {
-- ERRMSG("Can't detect max_physmem_bits.\n");
-- return FALSE;
-- }
-+ info->max_physmem_bits = _MAX_PHYSMEM_BITS_3_7;
-+
- info->page_offset = __PAGE_OFFSET;
-
- if (SYMBOL(_stext) == NOT_FOUND_SYMBOL) {
diff --git a/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.8.bb b/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.8.bb
deleted file mode 100644
index 4754651247..0000000000
--- a/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.6.8.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SUMMARY = "VMcore extraction tool"
-DESCRIPTION = "\
- This program is used to extract a subset of the memory available either \
- via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \
- images without extra uneeded information (zero pages, userspace programs, \
- etc). \
-"
-HOMEPAGE = "https://github.com/makedumpfile/makedumpfile"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-LICENSE = "GPLv2.0"
-
-SRCBRANCH ?= "master"
-SRCREV = "18e0cdba48feeccea2429b3b0b2691f4314d1062"
-
-DEPENDS = "bzip2 zlib elfutils xz"
-RDEPENDS_${PN}-tools = "perl ${PN}"
-
-# arm and aarch64 would compile but has never been tested upstream. mips would not compile.
-#
-COMPATIBLE_HOST = "(x86_64|i.86|powerpc|arm|aarch64).*-linux"
-
-PACKAGES =+ "${PN}-tools"
-FILES_${PN}-tools = "${bindir}/*.pl"
-
-SRC_URI = "\
- git://github.com/makedumpfile/makedumpfile;branch=${SRCBRANCH} \
- file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
- file://0002-mem_section-Support-only-46-bit-for-MAX_PHYSMEM_BITS.patch \
-"
-
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-
-SECTION = "base"
-
-# If we do not specify TARGET, makedumpfile will build for the host but use the
-# target gcc.
-#
-EXTRA_OEMAKE = "\
- LINKTYPE=static \
- TARGET=${TARGET_ARCH} \
- ${PACKAGECONFIG_CONFARGS} \
-"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[lzo] = "USELZO=on,USELZO=off,lzo"
-PACKAGECONFIG[snappy] = "USESNAPPY=on,USESNAPPY=off,snappy"
-
-do_install () {
- mkdir -p ${D}/usr/bin
- install -m 755 ${S}/makedumpfile ${D}/usr/bin
- install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
-
- mkdir -p ${D}/usr/share/man/man8
- install -m 644 ${S}/makedumpfile.8.gz ${D}/usr/share/man/man8
-
- mkdir -p ${D}/usr/share/man/man5
- install -m 644 ${S}/makedumpfile.conf.5.gz ${D}/usr/share/man/man5
-
- mkdir -p ${D}/etc/
- install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
-}
diff --git a/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.5.bb b/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.5.bb
new file mode 100644
index 0000000000..85b44c4941
--- /dev/null
+++ b/meta-oe/recipes-kernel/makedumpfile/makedumpfile_1.7.5.bb
@@ -0,0 +1,62 @@
+SUMMARY = "VMcore extraction tool"
+DESCRIPTION = "\
+ This program is used to extract a subset of the memory available either \
+ via /dev/mem or /proc/vmcore (for crashdumps). It is used to get memory \
+ images without extra uneeded information (zero pages, userspace programs, \
+ etc). \
+"
+HOMEPAGE = "https://github.com/makedumpfile/makedumpfile"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+LICENSE = "GPL-2.0-only"
+
+SRCBRANCH ?= "master"
+SRCREV = "c266469347d49287be38059d45e7aaa454db9cb2"
+
+DEPENDS = "bzip2 zlib elfutils xz"
+RDEPENDS:${PN}-tools = "perl ${PN}"
+
+# mips/rv32 would not compile.
+COMPATIBLE_HOST:mipsarcho32 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+
+PACKAGES =+ "${PN}-tools"
+FILES:${PN}-tools = "${bindir}/*.pl"
+
+SRC_URI = "\
+ git://github.com/makedumpfile/makedumpfile;branch=${SRCBRANCH};protocol=https \
+ file://0001-makedumpfile-replace-hardcode-CFLAGS.patch \
+"
+
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
+
+SECTION = "base"
+
+# If we do not specify TARGET, makedumpfile will build for the host but use the
+# target gcc.
+#
+
+MAKEDUMPFILE_TARGET ?= "${TARGET_ARCH}"
+MAKEDUMPFILE_TARGET:powerpc = "ppc"
+
+EXTRA_OEMAKE = "\
+ LINKTYPE=static \
+ TARGET=${MAKEDUMPFILE_TARGET} \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[lzo] = "USELZO=on,USELZO=off,lzo"
+PACKAGECONFIG[snappy] = "USESNAPPY=on,USESNAPPY=off,snappy"
+PACKAGECONFIG[zstd] = "USEZSTD=on,USEZSTD=off,zstd"
+
+do_install () {
+ mkdir -p ${D}/usr/bin
+ install -m 755 ${S}/makedumpfile ${D}/usr/bin
+ install -m 755 ${S}/makedumpfile-R.pl ${D}/usr/bin
+
+ mkdir -p ${D}/etc/
+ install -m 644 ${S}/makedumpfile.conf ${D}/etc/makedumpfile.conf.sample
+}
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/0001-corestripper-Fix-uninitialized-warning.patch b/meta-oe/recipes-kernel/minicoredumper/files/0001-corestripper-Fix-uninitialized-warning.patch
new file mode 100644
index 0000000000..8b90d33e1b
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/files/0001-corestripper-Fix-uninitialized-warning.patch
@@ -0,0 +1,53 @@
+From bb44bb643cd2a2f937331b4d1a76b03556b718a2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 23 Jan 2024 11:36:41 -0800
+Subject: [PATCH] corestripper: Fix uninitialized warning
+
+Clang finds more open paths where ret can be uninitialized
+
+Fixes
+| ../../../git/src/minicoredumper/corestripper.c:2768:13: error: variable 'ret' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
+| 2768 | } else if (di->core_fd >= 0) {
+| | ^~~~~~~~~~~~~~~~
+| ../../../git/src/minicoredumper/corestripper.c:2773:9: note: uninitialized use occurs here
+| 2773 | return ret;
+| | ^~~
+| ../../../git/src/minicoredumper/corestripper.c:2768:9: note: remove the 'if' if its condition is always true
+| 2768 | } else if (di->core_fd >= 0) {
+| | ^~~~~~~~~~~~~~~~~~~~~
+| ../../../git/src/minicoredumper/corestripper.c:2763:9: note: initialize the variable 'ret' to silence this warning
+| 2763 | int ret;
+| | ^
+| | = 0
+
+Upstream-Status: Submitted [https://github.com/diamon/minicoredumper/pull/15]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/minicoredumper/corestripper.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c
+index 3eb9089..e9e3936 100644
+--- a/src/minicoredumper/corestripper.c
++++ b/src/minicoredumper/corestripper.c
+@@ -2707,7 +2707,7 @@ static int dump_data_content_file(struct dump_info *di,
+ char *tmp_path;
+ FILE *file;
+ int len;
+- int ret;
++ int ret = -1;
+
+ len = strlen(di->dst_dir) + strlen("/dumps/") + 32 +
+ strlen(dd->ident) + 1;
+@@ -2760,7 +2760,7 @@ out:
+ static int dump_data_content(struct dump_info *di, struct mcd_dump_data *dd,
+ const char *symname)
+ {
+- int ret;
++ int ret = -1;
+
+ if (dd->ident) {
+ /* dump to external file */
+--
+2.43.0
+
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch b/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch
deleted file mode 100644
index ad255fae06..0000000000
--- a/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-Initialize-pointer-to-config-struct-t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 6181d9c3c407ee030b4c3a94045318b9e3a3cc89 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 25 Jul 2017 14:08:54 -0700
-Subject: [PATCH] minicoredumper: Initialize pointer to config struct to null
-
-Fixes
-corestripper.c:3632:13: error: variable 'cfg' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/minicoredumper/corestripper.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c
-index a764073..ddb0d25 100644
---- a/src/minicoredumper/corestripper.c
-+++ b/src/minicoredumper/corestripper.c
-@@ -3605,7 +3605,7 @@ out:
-
- static int do_all_dumps(struct dump_info *di, int argc, char *argv[])
- {
-- struct config *cfg;
-+ struct config *cfg = 0;
- const char *recept;
- bool live_dumper;
- char *comm_base;
---
-2.13.3
-
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/run-ptest b/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
new file mode 100644
index 0000000000..6746132ce6
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/files/run-ptest
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+echo minicoredumper_demo
+echo expecting Segmentation fault with core dump ...
+
+minicoredumper_demo 6 & sleep 3 && minicoredumper_demo
+
+if ls /var/crash/ | grep minicoredumper; then
+ echo "PASS: minicoredumper"
+else
+ echo "FAIL: minicoredumper"
+fi
diff --git a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
deleted file mode 100644
index d381c83ae8..0000000000
--- a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "minicoredumper provides an alternate core dump facility for Linux \
-to allow minimal and customized crash dumps"
-LICENSE = " LGPLv2.1 & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=71827c617ec7b45a0dd23658347cc1e9 \
- file://COPYING.BSD;md5=b915ac80d5236d6aa659cb986daf00e5 \
- file://COPYING.LGPLv2.1;md5=321bf41f280cf805086dd5a720b37785 \
- "
-DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux json-c"
-
-inherit autotools pkgconfig systemd update-rc.d
-
-SRCREV = "16a0d44f1725eaa93096eaa0e086f42ef4c2712c"
-
-PR .= "+git${SRCPV}"
-
-SRC_URI = "git://github.com/diamon/minicoredumper;protocol=https \
- file://minicoredumper.service \
- file://minicoredumper.init \
- "
-
-S = "${WORKDIR}/git"
-
-SYSTEMD_SERVICE_${PN} = "minicoredumper.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "minicoredumper"
-INITSCRIPT_PARAMS_${PN} = "defaults 89"
-
-do_install_append() {
- rmdir ${D}${localstatedir}/run
- install -d ${D}/${sysconfdir}/minicoredumper
- cp -rf ${S}/etc/* ${D}/${sysconfdir}/
-
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/minicoredumper.service ${D}${systemd_system_unitdir}
- install -d ${D}${sysconfdir}/init.d
- install -m 0644 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper
-
- # correct path of minicoredumper
- sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${sysconfdir}/init.d/minicoredumper
- sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${systemd_system_unitdir}/minicoredumper.service
-}
-
-# http://errors.yoctoproject.org/Errors/Details/186966/
-COMPATIBLE_HOST_libc-musl = 'null'
diff --git a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.7.bb b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.7.bb
new file mode 100644
index 0000000000..726aa60ce7
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.7.bb
@@ -0,0 +1,49 @@
+SUMMARY = "minicoredumper provides an alternate core dump facility for Linux \
+to allow minimal and customized crash dumps"
+LICENSE = " LGPL-2.1-only & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=71827c617ec7b45a0dd23658347cc1e9 \
+ file://COPYING.BSD;md5=b915ac80d5236d6aa659cb986daf00e5 \
+ file://COPYING.LGPLv2.1;md5=321bf41f280cf805086dd5a720b37785 \
+ "
+DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux json-c"
+
+inherit autotools pkgconfig ptest systemd update-rc.d
+
+SRCREV = "ca6e7ad62b4cf984de84aa081024c4e45632cecb"
+
+SRC_URI = "git://github.com/diamon/minicoredumper;protocol=https;branch=master \
+ file://minicoredumper.service \
+ file://minicoredumper.init \
+ file://run-ptest \
+ file://0001-corestripper-Fix-uninitialized-warning.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+SYSTEMD_SERVICE:${PN} = "minicoredumper.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME:${PN} = "minicoredumper"
+INITSCRIPT_PARAMS:${PN} = "defaults 89"
+
+EXTRA_OECONF:append = " \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', '--with-minicoredumper_demo', '--without-libminicoredumper', d)} \
+"
+do_install:append() {
+ rmdir ${D}${localstatedir}/run
+ install -d ${D}/${sysconfdir}/minicoredumper
+ cp -rf ${S}/etc/* ${D}/${sysconfdir}/
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/minicoredumper.service ${D}${systemd_system_unitdir}
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/minicoredumper.init ${D}${sysconfdir}/init.d/minicoredumper
+
+ # correct path of minicoredumper
+ sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${sysconfdir}/init.d/minicoredumper
+ sed -i -e s:/usr/bin/minicoredumper:${sbindir}/minicoredumper:g ${D}${systemd_system_unitdir}/minicoredumper.service
+}
+
+# http://errors.yoctoproject.org/Errors/Details/186966/
+COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile.inc b/meta-oe/recipes-kernel/oprofile/oprofile.inc
deleted file mode 100644
index 0e1e2ed8c9..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile.inc
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "System-Wide Profiler"
-DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
-of profiling all running code at low overhead."
-HOMEPAGE = "http://oprofile.sourceforge.net/news/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=16191&atid=116191"
-
-LICENSE = "LGPLv2.1+ & GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
- file://libopagent/opagent.h;beginline=5;endline=26;md5=4f16f72c7a493d8a4704aa18d03d15c6 \
- "
-SECTION = "devel"
-
-DEPENDS = "popt binutils"
-RDEPENDS_${PN} = "binutils-symlinks"
-
-FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
-FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
-FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
- file://acinclude.m4 \
- file://automake-foreign.patch \
- file://oprofile-cross-compile-tests.patch \
- file://run-ptest \
- file://root-home-dir.patch \
- file://0001-Add-rmb-definition-for-NIOS2-architecture.patch \
- file://0001-replace-sym_iterator-0-with-sym_iterator.patch \
- file://0001-Use-new-bfd-APIs-from-2.34.patch \
-"
-UPSTREAM_CHECK_REGEX = "oprofile-(?P<pver>\d+(\.\d+)+)/"
-UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/"
-
-SRC_URI_append_libc-musl = " file://musl.patch \
-"
-
-inherit autotools pkgconfig ptest
-
-EXTRA_OECONF = "--with-kernel=${STAGING_DIR_HOST}${prefix} --without-x ac_cv_prog_XSLTPROC="
-do_configure () {
- cp ${WORKDIR}/acinclude.m4 ${S}/
- autotools_do_configure
-}
-
-EXTRA_OEMAKE = "SRCDIR=${PTEST_PATH}/libutil++/tests"
-do_compile_ptest() {
- oe_runmake check
-}
-
-do_install_ptest() {
- subdirs="libdb/tests libutil++/tests libregex/tests libutil/tests libop/tests libdb/tests "
- for tooltest in ${subdirs}
- do
- find ${tooltest} -perm /u=x -type f| cpio -pvdu ${D}${PTEST_PATH}
- done
-
- # needed by some libop tests
- cp -r events ${D}${PTEST_PATH}
-
- # needed by libregex regex_test
- cp libregex/stl.pat ${D}${PTEST_PATH}/libregex
- cp libregex/tests/mangled-name ${D}${PTEST_PATH}/libregex/tests
-
- # needed by litutil++ file_manip_tests
- cp ${S}/libutil++/tests/file_manip_tests.cpp \
- libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests
-}
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch
deleted file mode 100644
index ae8562a231..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile/0001-Add-rmb-definition-for-NIOS2-architecture.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 34b0d9b1a32fb404a30327a7ae8931c7c75583bf Mon Sep 17 00:00:00 2001
-From: Marek Vasut <marex@denx.de>
-Date: Tue, 9 Feb 2016 02:00:29 +0100
-Subject: [PATCH] Add rmb() definition for NIOS2 architecture
-
-Signed-off-by: Marek Vasut <marex@denx.de>
-Upstream-Status: Submitted [ http://marc.info/?l=oprofile-list&m=145501915931874&w=2 ]
----
- libperf_events/operf_utils.h | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h
-index 32954cc..8270e53 100644
---- a/libperf_events/operf_utils.h
-+++ b/libperf_events/operf_utils.h
-@@ -178,6 +178,11 @@ void op_release_resources(void);
- #define cpu_relax() asm volatile("" ::: "memory")
- #endif
-
-+#ifdef __nios2__
-+#define rmb() asm volatile("" ::: "memory")
-+#define cpu_relax() asm volatile("" ::: "memory")
-+#endif
-+
- #ifdef __tile__
- #include <asm/unistd.h>
- #define rmb() __insn_mf()
---
-2.7.0
-
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch
new file mode 100644
index 0000000000..61191220e2
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0001-Fix-build-with-musl.patch
@@ -0,0 +1,55 @@
+From 5ed9bda8baf7465172a99ff86ed7f46397b06c7f Mon Sep 17 00:00:00 2001
+From: Andrew Savchenko <bircoph@gmail.com>
+Date: Sat, 5 Sep 2020 14:41:30 +0300
+Subject: [PATCH 01/10] Fix build with musl
+
+--Signature=_Sat__5_Sep_2020_14_41_30_+0300_B.qpPPwu83bbA.32
+Content-Type: text/plain; charset=US-ASCII
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+When musl is used instead of glibc, oprofile build fails because it
+uses glibc-specific FTW extension: FTW_ACTIONRETVAL for custom
+__delete_old_previous_sample_data return codes and FTW_STOP,
+FTW_CONTINUE for such return codes. Musl supports only POSIX ftw, so
+build fails.
+
+However, this extension is not really needed by oprofile, because
+FTW_SKIP_* are not used and {FTW_STOP,FTW_CONTINUE} can be handled
+by standard return codes {1,0} (more precisely standard defines
+{!0,0}, but in glibc FTW_STOP = 1, so I keep this value).
+
+Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/5ed9bda8baf7465172a99ff86ed7f46397b06c7f/]
+Signed-off-by: Andrew Savchenko <bircoph@gmail.com>
+---
+ pe_profiling/operf.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/pe_profiling/operf.cpp b/pe_profiling/operf.cpp
+index 06a0ea3c..00834409 100644
+--- a/pe_profiling/operf.cpp
++++ b/pe_profiling/operf.cpp
+@@ -860,9 +860,9 @@ static int __delete_old_previous_sample_data(const char *fpath,
+ {
+ if (remove(fpath)) {
+ perror("sample data removal error");
+- return FTW_STOP;
++ return 1;
+ } else {
+- return FTW_CONTINUE;
++ return 0;
+ }
+ }
+
+@@ -897,7 +897,7 @@ static void convert_sample_data(void)
+ return;
+
+ if (!operf_options::append) {
+- int flags = FTW_DEPTH | FTW_ACTIONRETVAL;
++ int flags = FTW_DEPTH;
+ errno = 0;
+ if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 &&
+ errno != ENOENT) {
+--
+2.31.0
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0001-Replace-std-bind2nd-with-generic-lambda.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0001-Replace-std-bind2nd-with-generic-lambda.patch
new file mode 100644
index 0000000000..930b90e289
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0001-Replace-std-bind2nd-with-generic-lambda.patch
@@ -0,0 +1,34 @@
+From 5d879cb4f23c613e16b3f479ab09bbb5ff340201 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Feb 2023 17:02:41 -0800
+Subject: [PATCH] Replace std::bind2nd with generic lambda
+
+std::bind2nd is gone in c++17, therefore stop using it and replace it
+with generic lambda from c++14 onwards
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libutil++/growable_vector.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libutil++/growable_vector.h b/libutil++/growable_vector.h
+index 350246a..9846e1e 100644
+--- a/libutil++/growable_vector.h
++++ b/libutil++/growable_vector.h
+@@ -93,9 +93,9 @@ public:
+
+ /// return true if all elements have the default constructed value
+ bool zero() const {
+- return std::find_if(container.begin(), container.end(),
+- std::bind2nd(std::not_equal_to<T>(), T()))
+- == container.end();
++ return std::find_if(begin(container), end(container),
++ [&](auto const& elem) {return elem != T();})
++ == end(container);
+ }
+
+ private:
+--
+2.39.1
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch
deleted file mode 100644
index faf56d1168..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile/0001-Use-new-bfd-APIs-from-2.34.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 34745fb066a266ae6bbb15d08466d4d2cb6a2110 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 20 Feb 2020 08:11:04 -0800
-Subject: [PATCH] Use new bfd APIs from 2.34+
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libutil++/bfd_support.cpp | 10 +++++-----
- opjitconv/create_bfd.c | 6 +++---
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/libutil++/bfd_support.cpp b/libutil++/bfd_support.cpp
-index fa904839..e53a1530 100644
---- a/libutil++/bfd_support.cpp
-+++ b/libutil++/bfd_support.cpp
-@@ -137,7 +137,7 @@ static bool get_build_id(bfd * ibfd, unsigned char * build_id)
- }
- }
-
-- bfd_size_type buildid_sect_size = bfd_section_size(ibfd, sect);
-+ bfd_size_type buildid_sect_size = bfd_section_size(sect);
- char * contents = (char *) xmalloc(buildid_sect_size);
- errno = 0;
- if (!bfd_get_section_contents(ibfd, sect,
-@@ -188,7 +188,7 @@ bool get_debug_link_info(bfd * ibfd, string & filename, unsigned long & crc32)
- if (sect == NULL)
- return false;
-
-- bfd_size_type debuglink_size = bfd_section_size(ibfd, sect);
-+ bfd_size_type debuglink_size = bfd_section_size(sect);
- char * contents = (char *) xmalloc(debuglink_size);
- cverb << vbfd
- << ".gnu_debuglink section has size " << debuglink_size << endl;
-@@ -346,7 +346,7 @@ void fixup_linenr(bfd * abfd, asection * section, asymbol ** syms,
- // first restrict the search on a sensible range of vma, 16 is
- // an intuitive value based on epilog code look
- size_t max_search = 16;
-- size_t section_size = bfd_section_size(abfd, section);
-+ size_t section_size = bfd_section_size(section);
- if (pc + max_search > section_size)
- max_search = section_size - pc;
-
-@@ -819,10 +819,10 @@ find_nearest_line(bfd_info const & b, op_bfd_symbol const & sym,
- else
- pc = (sym.value() + offset) - sym.filepos();
-
-- if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
-+ if ((bfd_section_flags(section) & SEC_ALLOC) == 0)
- goto fail;
-
-- if (pc >= bfd_section_size(abfd, section))
-+ if (pc >= bfd_section_size(section))
- goto fail;
-
- ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename,
-diff --git a/opjitconv/create_bfd.c b/opjitconv/create_bfd.c
-index 48db143b..5c0e9152 100644
---- a/opjitconv/create_bfd.c
-+++ b/opjitconv/create_bfd.c
-@@ -86,12 +86,12 @@ asection * create_section(bfd * abfd, char const * section_name,
- bfd_perror("bfd_make_section");
- goto error;
- }
-- bfd_set_section_vma(abfd, section, vma);
-- if (bfd_set_section_size(abfd, section, size) == FALSE) {
-+ bfd_set_section_vma(section, vma);
-+ if (bfd_set_section_size(section, size) == FALSE) {
- bfd_perror("bfd_set_section_size");
- goto error;
- }
-- if (bfd_set_section_flags(abfd, section, flags) == FALSE) {
-+ if (bfd_set_section_flags(section, flags) == FALSE) {
- bfd_perror("bfd_set_section_flags");
- goto error;
- }
---
-2.25.1
-
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0001-configure-Include-unistd.h-for-getpid-API.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0001-configure-Include-unistd.h-for-getpid-API.patch
new file mode 100644
index 0000000000..0ac03bde50
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0001-configure-Include-unistd.h-for-getpid-API.patch
@@ -0,0 +1,28 @@
+From 46f0aadf80d5e28f587149b6e90c3ba005971f6e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 19:22:17 -0700
+Subject: [PATCH] configure: Include unistd.h for getpid API
+
+This fixes the check for perf events support in configure
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index e4f4024..3384628 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -119,6 +119,7 @@ if test "$kernel_may_have_perf_events_support" = "yes"; then
+ #include <asm/unistd.h>
+ #include <sys/types.h>
+ #include <string.h>
++ #include <unistd.h>
+ ]],
+ [[struct perf_event_attr attr;
+ pid_t pid;
+--
+2.37.3
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch
deleted file mode 100644
index 5fd23f809a..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile/0001-replace-sym_iterator-0-with-sym_iterator.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From b7c1a2e2b0f4657fe291324ca409224f3321c9ff Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 12 Feb 2019 11:58:34 -0800
-Subject: [PATCH] replace (sym_iterator)0 with sym_iterator()
-
-clang/libc++ find this error
-
-libpp/xml_utils.cpp:409:43: error: calling a private constructor of class 'std::__1::__wrap_iter<const sym
-bol_entry *const *>'
-| { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;}
-| ^
-|
-
-default constructed iterator isn't supposed to be used for anything
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libpp/xml_utils.cpp | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/libpp/xml_utils.cpp b/libpp/xml_utils.cpp
-index 3de41e5..f45d3ae 100644
---- a/libpp/xml_utils.cpp
-+++ b/libpp/xml_utils.cpp
-@@ -73,7 +73,7 @@ void dump_symbol(string const & prefix, sym_iterator it, bool want_nl = true)
-
- void dump_symbols(string const & prefix, sym_iterator b, sym_iterator e)
- {
-- if (b == (sym_iterator)0)
-+ if (b == sym_iterator())
- return;
-
- for (sym_iterator it = b; it != e; ++it)
-@@ -167,7 +167,7 @@ string xml_utils::get_profile_header(string cpu_name, double const speed)
- }
-
- str << init_attr(CPU_NAME, cpu_type) << endl;
-- if (processor.size() > 0)
-+ if (processor.size() > 0)
- str << init_attr(PROCESSOR, string(processor)) << endl;
- if (nr_cpus > 1) str << init_attr(SEPARATED_CPUS, nr_cpus) << endl;
- str << init_attr(MHZ, speed) << endl;
-@@ -320,11 +320,11 @@ void xml_utils::build_subclasses(ostream & out)
- (*sc_ptr)[new_index].subclass_name = subclass_name;
- out << open_element(CLASS, true);
- out << init_attr(NAME, subclass_name);
-- if (nr_cpus > 1)
-+ if (nr_cpus > 1)
- out << init_attr(CPU_NUM, pclass.ptemplate.cpu);
-- if (nr_events > 1)
-+ if (nr_events > 1)
- out << init_attr(EVENT_NUM, event);
-- if (has_nonzero_masks)
-+ if (has_nonzero_masks)
- out << init_attr(EVENT_MASK, pclass.ptemplate.unitmask);
- out << close_element();
- }
-@@ -406,7 +406,7 @@ xml_utils::output_summary_data(ostream & out, count_array_t const & summary, siz
- class module_info {
- public:
- module_info()
-- { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;}
-+ { lo = hi = 0; name = ""; begin = end = sym_iterator();}
- void dump();
- void build_module(string const & n, sym_iterator it,
- size_t l, size_t h);
-@@ -540,21 +540,21 @@ void module_info::add_to_summary(count_array_t const & counts)
-
- void module_info::set_begin(sym_iterator b)
- {
-- if (begin == (sym_iterator)0)
-+ if (begin == sym_iterator())
- begin = b;
- }
-
-
- void module_info::set_end(sym_iterator e)
- {
-- if (end == (sym_iterator)0)
-+ if (end == sym_iterator())
- end = e;
- }
-
-
- bool module_info::is_closed(string const & n)
- {
-- return (name == n) && end != (sym_iterator)0;
-+ return (name == n) && end != sym_iterator();
- }
-
-
-@@ -585,7 +585,7 @@ void module_info::output_summary(ostream & out)
-
- void module_info::output_symbols(ostream & out, bool is_module)
- {
-- if (begin == (sym_iterator)0)
-+ if (begin == sym_iterator())
- return;
-
- for (sym_iterator it = begin; it != end; ++it)
-@@ -606,7 +606,7 @@ void binary_info::close_binary(sym_iterator it)
- void binary_info::dump()
- {
- cverb << vxml << "app_name=" << name << endl;
-- if (begin != (sym_iterator)0)
-+ if (begin != sym_iterator())
- dump_symbols(" ", begin, end);
-
- for (size_t i = 0; i < nr_modules; ++i)
-@@ -648,7 +648,7 @@ add_module_symbol(string const & module, string const & app,
- // mark end of enclosing binary symbols if there have been any
- // NOTE: it is possible for the binary's symbols to follow its
- // module symbols
-- if (begin != (sym_iterator)0 && end == (sym_iterator)0)
-+ if (begin != sym_iterator() && end == sym_iterator())
- set_end(it);
-
- // build the new module
-@@ -718,7 +718,7 @@ summarize_processes(extra_images const & extra_found_images)
- {
- // add modules to the appropriate threads in the process hierarchy
- for (sym_iterator it = symbols_begin ; it != symbols_end; ++it) {
-- string binary = get_image_name((*it)->app_name,
-+ string binary = get_image_name((*it)->app_name,
- image_name_storage::int_filename, extra_found_images);
- string module = get_image_name((*it)->image_name,
- image_name_storage::int_filename, extra_found_images);
---
-2.20.1
-
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch
new file mode 100644
index 0000000000..2ffdc8ae53
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0002-Fix-configure-when-bin-sh-is-not-bash.patch
@@ -0,0 +1,40 @@
+From 91bedd280b8a3fb4665db627559abba960be4212 Mon Sep 17 00:00:00 2001
+From: Andrew Savchenko <bircoph@gmail.com>
+Date: Sat, 5 Sep 2020 14:40:07 +0300
+Subject: [PATCH 02/10] Fix configure when /bin/sh is not bash
+
+--Signature=_Sat__5_Sep_2020_14_40_08_+0300_w+XY/NnD8_G.Kd1s
+Content-Type: text/plain; charset=US-ASCII
+Content-Disposition: inline
+Content-Transfer-Encoding: quoted-printable
+
+When /bin/sh used by autoconf is not bash, e.g. dash, configure
+fails because it uses bash-specific equality operator "==".
+
+Fix this problem by replacing "==" with POSIX "=" which is
+sufficient for test where it is being used.
+
+Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/91bedd280b8a3fb4665db627559abba960be4212/]
+Signed-off-by: Andrew Savchenko <bircoph@gmail.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 05609f6e..f5fcd17d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -466,8 +466,8 @@ AX_COPY_IF_CHANGE(doc/xsl/catalog-1.xml, doc/xsl/catalog.xml)
+
+ if ! test "x$enable_account_check" = "xyes"; then
+ :
+-elif test "`getent passwd oprofile 2>/dev/null`" == "" || \
+- test "`getent group oprofile 2>/dev/null`" == ""; then
++elif test "`getent passwd oprofile 2>/dev/null`" = "" || \
++ test "`getent group oprofile 2>/dev/null`" = ""; then
+ if test `id -u` != "0"; then
+ echo "Warning: The user account 'oprofile:oprofile' does not exist on the system."
+ echo " To profile JITed code, this special user account must exist."
+--
+2.31.0
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch
new file mode 100644
index 0000000000..923c39ae1b
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch
@@ -0,0 +1,30 @@
+From 864e02eab12cdc523b2dcd3f7b87a27abc16eefc Mon Sep 17 00:00:00 2001
+From: Viktor Kleinik <vkleinik@cisco.com>
+Date: Sun, 7 Mar 2021 17:07:44 +0000
+Subject: [PATCH 03/10] Define the C preprocessor variable to improve reproducibility
+
+Define the C preprocessor variable BUILD_DATE, which can be used
+as source for reproducible build date in case when
+SOURCE_DATE_EPOCH environment variable is set.
+
+Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/864e02eab12cdc523b2dcd3f7b87a27abc16eefc/]
+Signed-off-by: Viktor Kleinik <vkleinik@cisco.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index f5fcd17d..dc447f89 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,6 +31,7 @@ if test -n "$SOURCE_DATE_EPOCH" ; then
+ fi
+ dnl for the man page
+ DATE="`date $dateopt '+%a %d %B %Y'`"
++AC_DEFINE_UNQUOTED([BUILD_DATE], ["$DATE"], [Use reproducible build date])
+ AC_SUBST(DATE)
+
+ # Since we should not permanently alter user environment variables, we'll
+--
+2.31.0
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch
new file mode 100644
index 0000000000..0fcca2b689
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0004-Use-BUILD_DATE-to-improve-reproducibility.patch
@@ -0,0 +1,63 @@
+From 7bef5b905abe36adfd4e4cc16bc830376f50e8f6 Mon Sep 17 00:00:00 2001
+From: Viktor Kleinik <vkleinik@cisco.com>
+Date: Sun, 7 Mar 2021 17:22:26 +0000
+Subject: [PATCH 04/10] Use BUILD_DATE to improve reproducibility
+
+The C preprocessor variable BUILD_DATE contains the actual
+build date or some reproducible value. It depends on whether
+SOURCE_DATE_EPOCH environment variable was set previously or not.
+In this way, reproducibility can be improved when needed.
+
+Upstream-Status: Backport [https://sourceforge.net/p/oprofile/oprofile/ci/864e02eab12cdc523b2dcd3f7b87a27abc16eefc/]
+Signed-off-by: Viktor Kleinik <vkleinik@cisco.com>
+---
+ libutil/op_version.c | 2 +-
+ pe_counting/ocount.cpp | 4 ++--
+ pe_profiling/operf.cpp | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/libutil/op_version.c b/libutil/op_version.c
+index 99a844e4..a257e9c4 100644
+--- a/libutil/op_version.c
++++ b/libutil/op_version.c
+@@ -19,6 +19,6 @@ void show_version(char const * app_name)
+ {
+ /* Do not change the version format: it is documented in html doc */
+ printf("%s: " PACKAGE " " VERSION " compiled on "
+- __DATE__ " " __TIME__ "\n", app_name);
++ BUILD_DATE "\n", app_name);
+ exit(EXIT_SUCCESS);
+ }
+diff --git a/pe_counting/ocount.cpp b/pe_counting/ocount.cpp
+index 2470745d..ae89fe61 100644
+--- a/pe_counting/ocount.cpp
++++ b/pe_counting/ocount.cpp
+@@ -660,8 +660,8 @@ static int _process_ocount_and_app_args(int argc, char * const argv[])
+ __print_usage_and_exit(NULL);
+ break;
+ case 'v':
+- cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on " << __DATE__
+- << " " << __TIME__ << endl;
++ cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on "
++ << BUILD_DATE << endl;
+ exit(EXIT_SUCCESS);
+ break;
+ default:
+diff --git a/pe_profiling/operf.cpp b/pe_profiling/operf.cpp
+index 00834409..f0f9c209 100644
+--- a/pe_profiling/operf.cpp
++++ b/pe_profiling/operf.cpp
+@@ -1342,8 +1342,8 @@ static int _process_operf_and_app_args(int argc, char * const argv[])
+ __print_usage_and_exit(NULL);
+ break;
+ case 'v':
+- cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on " << __DATE__
+- << " " << __TIME__ << endl;
++ cout << argv[0] << ": " << PACKAGE << " " << VERSION << " compiled on "
++ << BUILD_DATE << endl;
+ exit(EXIT_SUCCESS);
+ break;
+ default:
+--
+2.31.0
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch
new file mode 100644
index 0000000000..0fd850ff20
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0005-Add-rmb-definition-for-NIOS2-architecture.patch
@@ -0,0 +1,31 @@
+From 3539d2ab392d3a3eecffeddac989016063b23713 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Tue, 9 Feb 2016 02:00:29 +0100
+Subject: [PATCH 05/10] Add rmb() definition for NIOS2 architecture
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Upstream-Status: Submitted [ http://marc.info/?l=oprofile-list&m=145501915931874&w=2 ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libperf_events/operf_utils.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/libperf_events/operf_utils.h b/libperf_events/operf_utils.h
+index 8afdbc22..8e17213e 100644
+--- a/libperf_events/operf_utils.h
++++ b/libperf_events/operf_utils.h
+@@ -173,6 +173,11 @@ void op_release_resources(void);
+ #define cpu_relax() asm volatile("" ::: "memory")
+ #endif
+
++#ifdef __nios2__
++#define rmb() asm volatile("" ::: "memory")
++#define cpu_relax() asm volatile("" ::: "memory")
++#endif
++
+ #ifdef __tile__
+ #include <asm/unistd.h>
+ #define rmb() __insn_mf()
+--
+2.31.0
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch
new file mode 100644
index 0000000000..a8371f0af1
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0006-replace-sym_iterator-0-with-sym_iterator.patch
@@ -0,0 +1,131 @@
+From b126134f68f4a5bd826141be68337ac15a7c2c04 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Feb 2019 11:58:34 -0800
+Subject: [PATCH 06/10] replace (sym_iterator)0 with sym_iterator()
+
+clang/libc++ find this error
+
+libpp/xml_utils.cpp:409:43: error: calling a private constructor of class 'std::__1::__wrap_iter<const sym
+bol_entry *const *>'
+| { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;}
+| ^
+|
+
+default constructed iterator isn't supposed to be used for anything
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libpp/xml_utils.cpp | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/libpp/xml_utils.cpp b/libpp/xml_utils.cpp
+index 3de41e58..f45d3ae2 100644
+--- a/libpp/xml_utils.cpp
++++ b/libpp/xml_utils.cpp
+@@ -73,7 +73,7 @@ void dump_symbol(string const & prefix, sym_iterator it, bool want_nl = true)
+
+ void dump_symbols(string const & prefix, sym_iterator b, sym_iterator e)
+ {
+- if (b == (sym_iterator)0)
++ if (b == sym_iterator())
+ return;
+
+ for (sym_iterator it = b; it != e; ++it)
+@@ -167,7 +167,7 @@ string xml_utils::get_profile_header(string cpu_name, double const speed)
+ }
+
+ str << init_attr(CPU_NAME, cpu_type) << endl;
+- if (processor.size() > 0)
++ if (processor.size() > 0)
+ str << init_attr(PROCESSOR, string(processor)) << endl;
+ if (nr_cpus > 1) str << init_attr(SEPARATED_CPUS, nr_cpus) << endl;
+ str << init_attr(MHZ, speed) << endl;
+@@ -320,11 +320,11 @@ void xml_utils::build_subclasses(ostream & out)
+ (*sc_ptr)[new_index].subclass_name = subclass_name;
+ out << open_element(CLASS, true);
+ out << init_attr(NAME, subclass_name);
+- if (nr_cpus > 1)
++ if (nr_cpus > 1)
+ out << init_attr(CPU_NUM, pclass.ptemplate.cpu);
+- if (nr_events > 1)
++ if (nr_events > 1)
+ out << init_attr(EVENT_NUM, event);
+- if (has_nonzero_masks)
++ if (has_nonzero_masks)
+ out << init_attr(EVENT_MASK, pclass.ptemplate.unitmask);
+ out << close_element();
+ }
+@@ -406,7 +406,7 @@ xml_utils::output_summary_data(ostream & out, count_array_t const & summary, siz
+ class module_info {
+ public:
+ module_info()
+- { lo = hi = 0; name = ""; begin = end = (sym_iterator)0;}
++ { lo = hi = 0; name = ""; begin = end = sym_iterator();}
+ void dump();
+ void build_module(string const & n, sym_iterator it,
+ size_t l, size_t h);
+@@ -540,21 +540,21 @@ void module_info::add_to_summary(count_array_t const & counts)
+
+ void module_info::set_begin(sym_iterator b)
+ {
+- if (begin == (sym_iterator)0)
++ if (begin == sym_iterator())
+ begin = b;
+ }
+
+
+ void module_info::set_end(sym_iterator e)
+ {
+- if (end == (sym_iterator)0)
++ if (end == sym_iterator())
+ end = e;
+ }
+
+
+ bool module_info::is_closed(string const & n)
+ {
+- return (name == n) && end != (sym_iterator)0;
++ return (name == n) && end != sym_iterator();
+ }
+
+
+@@ -585,7 +585,7 @@ void module_info::output_summary(ostream & out)
+
+ void module_info::output_symbols(ostream & out, bool is_module)
+ {
+- if (begin == (sym_iterator)0)
++ if (begin == sym_iterator())
+ return;
+
+ for (sym_iterator it = begin; it != end; ++it)
+@@ -606,7 +606,7 @@ void binary_info::close_binary(sym_iterator it)
+ void binary_info::dump()
+ {
+ cverb << vxml << "app_name=" << name << endl;
+- if (begin != (sym_iterator)0)
++ if (begin != sym_iterator())
+ dump_symbols(" ", begin, end);
+
+ for (size_t i = 0; i < nr_modules; ++i)
+@@ -648,7 +648,7 @@ add_module_symbol(string const & module, string const & app,
+ // mark end of enclosing binary symbols if there have been any
+ // NOTE: it is possible for the binary's symbols to follow its
+ // module symbols
+- if (begin != (sym_iterator)0 && end == (sym_iterator)0)
++ if (begin != sym_iterator() && end == sym_iterator())
+ set_end(it);
+
+ // build the new module
+@@ -718,7 +718,7 @@ summarize_processes(extra_images const & extra_found_images)
+ {
+ // add modules to the appropriate threads in the process hierarchy
+ for (sym_iterator it = symbols_begin ; it != symbols_end; ++it) {
+- string binary = get_image_name((*it)->app_name,
++ string binary = get_image_name((*it)->app_name,
+ image_name_storage::int_filename, extra_found_images);
+ string module = get_image_name((*it)->image_name,
+ image_name_storage::int_filename, extra_found_images);
+--
+2.31.0
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch
new file mode 100644
index 0000000000..5f9ff1b962
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch
@@ -0,0 +1,23 @@
+From fd35c343e67ca47f76d0769fce2881d5f7a027a9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Mar 2021 00:48:34 -0700
+Subject: [PATCH 07/10] oprofile doesn't want GNU-levels of automake strictness
+ so tell it to be "foreign".
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -13,7 +13,7 @@ AC_PREREQ(2.13)
+
+ AC_INIT([OProfile], [1.4.0])
+ AC_CONFIG_SRCDIR([libop/op_config.h])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_HEADERS(config.h)
+
+ AC_CHECK_DECLS([basename], [], [], [[#include <libgen.h>]])
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch
new file mode 100644
index 0000000000..32e79a0a45
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0008-include-linux-limits.h-for-MAX_INPUT.patch
@@ -0,0 +1,30 @@
+From 33e945f31fee2d74a392eb79025c9477e12b590d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Mar 2021 00:49:48 -0700
+Subject: [PATCH 08/10] include linux/limits.h for MAX_INPUT
+
+Fixes
+op_pe_utils.cpp:533:19: error: 'MAX_INPUT' was not declared in this scope
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libpe_utils/op_pe_utils.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libpe_utils/op_pe_utils.cpp b/libpe_utils/op_pe_utils.cpp
+index 1ca4ce3a..c5d16a56 100644
+--- a/libpe_utils/op_pe_utils.cpp
++++ b/libpe_utils/op_pe_utils.cpp
+@@ -11,6 +11,7 @@
+ *
+ */
+
++#include <linux/limits.h>
+ #include <linux/perf_event.h>
+ #include <dirent.h>
+ #include <stdio.h>
+--
+2.31.0
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch
new file mode 100644
index 0000000000..e47882c9f3
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0009-Prevent-running-check-tests-on-host-if-cross-compili.patch
@@ -0,0 +1,113 @@
+From 3a942cfd7d2e92667313e189930f7d1733cf40d4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Mar 2021 00:59:20 -0700
+Subject: [PATCH 09/10] Prevent running check tests on host if cross compiling
+
+This patch enables running the 'make check' tests on the target
+in a cross-compiled environment. If not cross-compiling, then 'make
+ check' builds and executes the tests; no change from this patch.
+In a cross-compiling environment, the make variable CROSS_COMPILE is
+set which bypasses assiging tests to the makekfile variable TESTS.
+Since TESTS is empty, the 'make check' process never tries to run the
+tests on the hosts. On the target, the tests must be run manually.
+
+Also, in the libutil++ tests, a makefile variable SRCDIR is passed into
+the compilation phase, pointing to the runtime location of the test
+'file-manip-tests'. The mechanism used for a host test, based on
+'topdir' doesn't work. Instead, if CROSS_COMPILE is set, the
+makefile takes the path of SRCDIR from the build environment and not
+from an expression based on the host path 'topdir'.
+
+Upstream-Status: Pending
+
+Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 +
+ libdb/tests/Makefile.am | 2 ++
+ libop/tests/Makefile.am | 2 ++
+ libregex/tests/Makefile.am | 2 ++
+ libutil++/tests/Makefile.am | 4 ++++
+ libutil/tests/Makefile.am | 2 ++
+ 6 files changed, 13 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 520b18ed..108a84e4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -386,6 +386,7 @@ AC_ARG_ENABLE(account-check,
+ enable_account_check=$enableval, enable_account_check=yes)
+
+ AM_CONDITIONAL(CHECK_ACCOUNT, test "x$enable_account_check" = "xyes")
++AM_CONDITIONAL(CROSS_COMPILE, test "x$cross_compiling" = "xyes")
+
+ AC_SUBST(OP_CFLAGS)
+ AC_SUBST(OP_CXXFLAGS)
+diff --git a/libdb/tests/Makefile.am b/libdb/tests/Makefile.am
+index 8a69003f..c933baf6 100644
+--- a/libdb/tests/Makefile.am
++++ b/libdb/tests/Makefile.am
+@@ -13,4 +13,6 @@ check_PROGRAMS = db_test
+ db_test_SOURCES = db_test.c
+ db_test_LDADD = ../libodb.a ../../libutil/libutil.a
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS}
++endif
+diff --git a/libop/tests/Makefile.am b/libop/tests/Makefile.am
+index 8a79eb5d..6b90e997 100644
+--- a/libop/tests/Makefile.am
++++ b/libop/tests/Makefile.am
+@@ -33,4 +33,6 @@ load_events_files_tests_LDADD = ${COMMON_LIBS}
+ mangle_tests_SOURCES = mangle_tests.c
+ mangle_tests_LDADD = ${COMMON_LIBS}
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS} utf8_checker.sh
++endif
+diff --git a/libregex/tests/Makefile.am b/libregex/tests/Makefile.am
+index 6f19838f..43e84946 100644
+--- a/libregex/tests/Makefile.am
++++ b/libregex/tests/Makefile.am
+@@ -18,4 +18,6 @@ java_test_LDADD = \
+
+ EXTRA_DIST = mangled-name.in
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS}
++endif
+diff --git a/libutil++/tests/Makefile.am b/libutil++/tests/Makefile.am
+index 51af0313..dd63fbe2 100644
+--- a/libutil++/tests/Makefile.am
++++ b/libutil++/tests/Makefile.am
+@@ -1,7 +1,9 @@
+
+ REALPATH= readlink -f
+
++if ! CROSS_COMPILE
+ SRCDIR := $(shell $(REALPATH) $(topdir)/libutil++/tests/ )
++endif
+
+ AM_CPPFLAGS = \
+ -I ${top_srcdir}/libutil++ -D SRCDIR="\"$(SRCDIR)/\"" @OP_CPPFLAGS@
+@@ -46,4 +48,6 @@ cached_value_tests_LDADD = ${COMMON_LIBS}
+ utility_tests_SOURCES = utility_tests.cpp
+ utility_tests_LDADD = ${COMMON_LIBS}
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS}
++endif
+diff --git a/libutil/tests/Makefile.am b/libutil/tests/Makefile.am
+index dfcd6eca..d8b51892 100644
+--- a/libutil/tests/Makefile.am
++++ b/libutil/tests/Makefile.am
+@@ -12,4 +12,6 @@ file_tests_LDADD = ../libutil.a
+ string_tests_SOURCES = string_tests.c
+ string_tests_LDADD = ../libutil.a
+
++if ! CROSS_COMPILE
+ TESTS = ${check_PROGRAMS}
++endif
+--
+2.31.0
+
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch b/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch
new file mode 100644
index 0000000000..03ee5155c2
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile/0010-oprofile-Determine-the-root-home-directory-dynamical.patch
@@ -0,0 +1,46 @@
+From 60fb7579bac738809b1776dbcd95ccacf7413c57 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 18 Mar 2021 01:02:49 -0700
+Subject: [PATCH 10/10] oprofile: Determine the root home directory dynamically
+
+This commit detects the root home directory dynamically with changes to
+the oprofile gui app source.
+
+The commit replaces an earlier fix that detected and adjusted a
+'non-standard' root home directory at build time. The advantage of this
+patch is that the oprofile tools are adjusted to the current run-time
+path to ~root, not the build time path.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
+---
+ doc/oprofile.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/doc/oprofile.xml
++++ b/doc/oprofile.xml
+@@ -647,8 +647,8 @@ Following is a description of the <comma
+ <emphasis>must</emphasis> stop it in a controlled manner in order to process
+ the profile data it has collected. Use <code>kill -SIGINT &lt;operf-PID&gt;</code>
+ for this purpose. It is recommended that when running <command>operf</command>
+- with this option, your current working directory should be <filename>/root</filename> or a subdirectory
+- of <filename>/root</filename> to avoid storing sample data files in locations accessible by regular users.
++ with this option, your current working directory should be <filename>~root</filename> or a subdirectory
++ of <filename>~root</filename> to avoid storing sample data files in locations accessible by regular users.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+--- a/doc/oprofile.html
++++ b/doc/oprofile.html
+@@ -1552,8 +1552,8 @@ Following is a description of the <span
+ <span class="emphasis"><em>must</em></span> stop it in a controlled manner in order to process
+ the profile data it has collected. Use <code class="code">kill -SIGINT &lt;operf-PID&gt;</code>
+ for this purpose. It is recommended that when running <span class="command"><strong>operf</strong></span>
+- with this option, your current working directory should be <code class="filename">/root</code> or a subdirectory
+- of <code class="filename">/root</code> to avoid storing sample data files in locations accessible by regular users.
++ with this option, your current working directory should be <code class="filename">~root</code> or a subdirectory
++ of <code class="filename">~root</code> to avoid storing sample data files in locations accessible by regular users.
+ </p>
+ </dd>
+ <dt>
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch b/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch
deleted file mode 100644
index b9bb6c5779..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile/automake-foreign.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-oprofile doesn't want GNU-levels of automake strictness so tell it to be "foreign".
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/configure.ac b/configure.ac
-index 5740585..cf6c316 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -16 +16 @@ AC_CONFIG_SRCDIR([libop/op_config.h])
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch b/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch
deleted file mode 100644
index 51db408454..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile/musl.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Fix glibc-isms so that oprofile builds with musl.
-
-Patch taken from openwrt (https://github.com/openwrt-mirror/openwrt/blob/master/package/devel/oprofile/patches/100-musl.patch)
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
---- a/pe_profiling/operf.cpp
-+++ b/pe_profiling/operf.cpp
-@@ -857,11 +857,14 @@ static int __delete_old_previous_sample_
- int tflag __attribute__((unused)),
- struct FTW *ftwbuf __attribute__((unused)))
- {
-+ int err;
-+
- if (remove(fpath)) {
-+ err = errno;
- perror("sample data removal error");
-- return FTW_STOP;
-+ return err;
- } else {
-- return FTW_CONTINUE;
-+ return 0;
- }
- }
-
-@@ -896,7 +899,7 @@ static void convert_sample_data(void)
- return;
-
- if (!operf_options::append) {
-- int flags = FTW_DEPTH | FTW_ACTIONRETVAL;
-+ int flags = FTW_DEPTH;
- errno = 0;
- if (nftw(previous_sampledir.c_str(), __delete_old_previous_sample_data, 32, flags) !=0 &&
- errno != ENOENT) {
---- a/libop/op_events.c
-+++ b/libop/op_events.c
-@@ -83,7 +83,7 @@ static int parse_hex(char const * str)
- static u64 parse_long_hex(char const * str)
- {
- u64 value;
-- if (sscanf(str, "%Lx", &value) != 1)
-+ if (sscanf(str, "0x%llx", &value) != 1)
- parse_error("expected long hexadecimal value");
-
- fflush(stderr);
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch b/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch
deleted file mode 100644
index aefa9548e1..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile/oprofile-cross-compile-tests.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-Prevent running check tests on host if cross compiling
-
-This patch enables running the 'make check' tests on the target
-in a cross-compiled environment. If not cross-compiling, then 'make
- check' builds and executes the tests; no change from this patch.
-In a cross-compiling environment, the make variable CROSS_COMPILE is
-set which bypasses assiging tests to the makekfile variable TESTS.
-Since TESTS is empty, the 'make check' process never tries to run the
-tests on the hosts. On the target, the tests must be run manually.
-
-Also, in the libutil++ tests, a makefile variable SRCDIR is passed into
-the compilation phase, pointing to the runtime location of the test
-'file-manip-tests'. The mechanism used for a host test, based on
-'topdir' doesn't work. Instead, if CROSS_COMPILE is set, the
-makefile takes the path of SRCDIR from the build environment and not
-from an expression based on the host path 'topdir'.
-
-Upstream-Status: Pending
-
-Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
-
-diff --git a/configure.ac b/configure.ac
-index 41ece64..ce5a16f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -392,6 +392,7 @@ AC_ARG_ENABLE(account-check,
- enable_account_check=$enableval, enable_account_check=yes)
-
- AM_CONDITIONAL(CHECK_ACCOUNT, test "x$enable_account_check" = "xyes")
-+AM_CONDITIONAL(CROSS_COMPILE, test "x$cross_compiling" = "xyes")
-
- AC_SUBST(OP_CFLAGS)
- AC_SUBST(OP_CXXFLAGS)
-diff --git a/libdb/tests/Makefile.am b/libdb/tests/Makefile.am
-index 8a69003..d820090 100644
---- a/libdb/tests/Makefile.am
-+++ b/libdb/tests/Makefile.am
-@@ -13,4 +13,6 @@ check_PROGRAMS = db_test
- db_test_SOURCES = db_test.c
- db_test_LDADD = ../libodb.a ../../libutil/libutil.a
-
-+if ! CROSS_COMPILE
- TESTS = ${check_PROGRAMS}
-+endif
-diff --git a/libop/tests/Makefile.am b/libop/tests/Makefile.am
-index 8a79eb5..6d417c4 100644
---- a/libop/tests/Makefile.am
-+++ b/libop/tests/Makefile.am
-@@ -33,4 +33,6 @@ load_events_files_tests_LDADD = ${COMMON_LIBS}
- mangle_tests_SOURCES = mangle_tests.c
- mangle_tests_LDADD = ${COMMON_LIBS}
-
-+if ! CROSS_COMPILE
- TESTS = ${check_PROGRAMS} utf8_checker.sh
-+endif
-diff --git a/libregex/tests/Makefile.am b/libregex/tests/Makefile.am
-index 6f19838..1d176f9 100644
---- a/libregex/tests/Makefile.am
-+++ b/libregex/tests/Makefile.am
-@@ -18,4 +18,6 @@ java_test_LDADD = \
-
- EXTRA_DIST = mangled-name.in
-
-+if ! CROSS_COMPILE
- TESTS = ${check_PROGRAMS}
-+endif
-diff --git a/libutil++/tests/Makefile.am b/libutil++/tests/Makefile.am
-index 51af031..a01ea2d 100644
---- a/libutil++/tests/Makefile.am
-+++ b/libutil++/tests/Makefile.am
-@@ -1,7 +1,9 @@
-
- REALPATH= readlink -f
-
-+if ! CROSS_COMPILE
- SRCDIR := $(shell $(REALPATH) $(topdir)/libutil++/tests/ )
-+endif
-
- AM_CPPFLAGS = \
- -I ${top_srcdir}/libutil++ -D SRCDIR="\"$(SRCDIR)/\"" @OP_CPPFLAGS@
-@@ -46,4 +48,6 @@ cached_value_tests_LDADD = ${COMMON_LIBS}
- utility_tests_SOURCES = utility_tests.cpp
- utility_tests_LDADD = ${COMMON_LIBS}
-
-+if ! CROSS_COMPILE
- TESTS = ${check_PROGRAMS}
-+endif
-diff --git a/libutil/tests/Makefile.am b/libutil/tests/Makefile.am
-index dfcd6ec..e8831b5 100644
---- a/libutil/tests/Makefile.am
-+++ b/libutil/tests/Makefile.am
-@@ -12,4 +12,6 @@ file_tests_LDADD = ../libutil.a
- string_tests_SOURCES = string_tests.c
- string_tests_LDADD = ../libutil.a
-
-+if ! CROSS_COMPILE
- TESTS = ${check_PROGRAMS}
-+endif
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch b/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch
deleted file mode 100644
index 3eaf6a794a..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile/root-home-dir.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-oprofile: Determine the root home directory dynamically
-
-This commit detects the root home directory dynamically with changes to
-the oprofile gui app source.
-
-The commit replaces an earlier fix that detected and adjusted a
-'non-standard' root home directory at build time. The advantage of this
-patch is that the oprofile tools are adjusted to the current run-time
-path to ~root, not the build time path.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
-
-Index: oprofile-1.0.0/doc/oprofile.html
-===================================================================
---- oprofile-1.0.0.orig/doc/oprofile.html 2014-11-03 17:55:31.511034857 +0000
-+++ oprofile-1.0.0/doc/oprofile.html 2014-11-03 17:57:26.415037988 +0000
-@@ -1563,8 +1563,8 @@
- <span class="emphasis"><em>must</em></span> stop it in a controlled manner in order to process
- the profile data it has collected. Use <code class="code">kill -SIGINT &lt;operf-PID&gt;</code>
- for this purpose. It is recommended that when running <span class="command"><strong>operf</strong></span>
-- with this option, your current working directory should be <code class="filename">/root</code> or a subdirectory
-- of <code class="filename">/root</code> to avoid storing sample data files in locations accessible by regular users.
-+ with this option, your current working directory should be <code class="filename">~root</code> or a subdirectory
-+ of <code class="filename">~root</code> to avoid storing sample data files in locations accessible by regular users.
- </p>
- </dd>
- <dt>
-Index: oprofile-1.0.0/doc/oprofile.xml
-===================================================================
---- oprofile-1.0.0.orig/doc/oprofile.xml 2014-11-03 17:55:31.515034857 +0000
-+++ oprofile-1.0.0/doc/oprofile.xml 2014-11-03 17:58:03.719039005 +0000
-@@ -654,8 +654,8 @@
- <emphasis>must</emphasis> stop it in a controlled manner in order to process
- the profile data it has collected. Use <code>kill -SIGINT &lt;operf-PID&gt;</code>
- for this purpose. It is recommended that when running <command>operf</command>
-- with this option, your current working directory should be <filename>/root</filename> or a subdirectory
-- of <filename>/root</filename> to avoid storing sample data files in locations accessible by regular users.
-+ with this option, your current working directory should be <filename>~root</filename> or a subdirectory
-+ of <filename>~root</filename> to avoid storing sample data files in locations accessible by regular users.
- </para></listitem>
- </varlistentry>
- <varlistentry>
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb b/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
deleted file mode 100644
index 8242a835f4..0000000000
--- a/meta-oe/recipes-kernel/oprofile/oprofile_1.3.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-require oprofile.inc
-
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
-
-DEPENDS_append_powerpc64 = " libpfm4"
-DEPENDS_append_powerpc64le = " libpfm4"
-
-SRC_URI[md5sum] = "bd998df5521ebedae31e71cd3fb6200b"
-SRC_URI[sha256sum] = "95ded8bde1ec39922f0af015981a67aec63e025a501e4dc04cd65d38f73647e6"
-
-S = "${WORKDIR}/oprofile-${PV}"
-
diff --git a/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb b/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb
new file mode 100644
index 0000000000..092d22746a
--- /dev/null
+++ b/meta-oe/recipes-kernel/oprofile/oprofile_1.4.0.bb
@@ -0,0 +1,80 @@
+SUMMARY = "System-Wide Profiler"
+DESCRIPTION = "OProfile is a system-wide profiler for Linux systems, capable \
+of profiling all running code at low overhead."
+HOMEPAGE = "http://oprofile.sourceforge.net/news/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=16191&atid=116191"
+
+LICENSE = "LGPL-2.1-or-later & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://libopagent/opagent.h;beginline=5;endline=26;md5=4f16f72c7a493d8a4704aa18d03d15c6 \
+ "
+SECTION = "devel"
+
+DEPENDS = "popt binutils"
+DEPENDS:append:powerpc64 = " libpfm4"
+DEPENDS:append:powerpc64le = " libpfm4"
+
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
+ file://acinclude.m4 \
+ file://run-ptest \
+ file://0001-Fix-build-with-musl.patch \
+ file://0002-Fix-configure-when-bin-sh-is-not-bash.patch \
+ file://0003-Define-the-C-preprocessor-variable-to-improve-reprod.patch \
+ file://0004-Use-BUILD_DATE-to-improve-reproducibility.patch \
+ file://0005-Add-rmb-definition-for-NIOS2-architecture.patch \
+ file://0006-replace-sym_iterator-0-with-sym_iterator.patch \
+ file://0007-oprofile-doesn-t-want-GNU-levels-of-automake-strictn.patch \
+ file://0008-include-linux-limits.h-for-MAX_INPUT.patch \
+ file://0009-Prevent-running-check-tests-on-host-if-cross-compili.patch \
+ file://0010-oprofile-Determine-the-root-home-directory-dynamical.patch \
+ file://0001-configure-Include-unistd.h-for-getpid-API.patch \
+ file://0001-Replace-std-bind2nd-with-generic-lambda.patch \
+"
+SRC_URI[sha256sum] = "7ba06f99d7c188389d20d1d5e53ee690c7733f87aa9af62bd664fa0ca235a412"
+
+UPSTREAM_CHECK_REGEX = "oprofile-(?P<pver>\d+(\.\d+)+)/"
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/oprofile/files/oprofile/"
+
+inherit autotools pkgconfig ptest
+
+EXTRA_OECONF = "--with-kernel=${STAGING_DIR_HOST}${prefix} --without-x ac_cv_prog_XSLTPROC="
+do_configure () {
+ cp ${WORKDIR}/acinclude.m4 ${S}/
+ autotools_do_configure
+}
+
+EXTRA_OEMAKE = "SRCDIR=${PTEST_PATH}/libutil++/tests"
+do_compile_ptest() {
+ oe_runmake check
+}
+
+do_install_ptest() {
+ subdirs="libdb/tests libutil++/tests libregex/tests libutil/tests libop/tests libdb/tests "
+ for tooltest in ${subdirs}
+ do
+ find ${tooltest} -perm /u=x -type f| cpio -pvdu ${D}${PTEST_PATH}
+ done
+
+ install -d ${D}${PTEST_PATH}/../${BP}/events ${D}${PTEST_PATH}/../${BP}/libutil++/tests
+ # needed by libregex regex_test
+ cp libregex/stl.pat ${D}${PTEST_PATH}/libregex
+ cp libregex/tests/mangled-name ${D}${PTEST_PATH}/libregex/tests
+
+ # needed by litutil++ file_manip_tests
+ cp ${S}/libutil++/tests/file_manip_tests.cpp \
+ libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/../${BP}/libutil++/tests
+ cp ${S}/libutil++/tests/file_manip_tests.cpp \
+ libutil++/tests/file_manip_tests.o ${D}${PTEST_PATH}/libutil++/tests
+ # needed by some libop tests
+ cp -R --no-dereference --preserve=mode,links -v ${S}/events ${D}${PTEST_PATH}/../${BP}
+}
+
+RDEPENDS:${PN} = "binutils-symlinks"
+
+FILES:${PN} = "${bindir} ${libdir}/${BPN}/lib*${SOLIBS} ${datadir}/${BPN}"
+FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/lib*.la"
+FILES:${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
+FILES:${PN}-ptest += "${libdir}/${BPN}/${BP}"
diff --git a/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch b/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch
new file mode 100644
index 0000000000..fc5991d464
--- /dev/null
+++ b/meta-oe/recipes-kernel/pm-graph/pm-graph/0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch
@@ -0,0 +1,51 @@
+From 9bbc991a927722439cad38c892fc9f57207089d3 Mon Sep 17 00:00:00 2001
+From: Liwei Song <liwei.song@windriver.com>
+Date: Mon, 24 May 2021 08:27:28 +0000
+Subject: [PATCH] sleepgraph.py: parse unfished cpu exec line
+
+exist the below case in ftrace file:
+sleepgraph-6508 [003] .... 18197.824037: tracing_mark_write: ps - xxx..., lock_torture_wr-94 169,lock_torture_wr-95 143,lock_tort
+sleepgraph-6508 [003] .... 18197.824043: tracing_mark_write: ure_wr-96 189,lock_torture_wr-97 174,lock_torture_wr-98 160,lock_torture_st-99 1
+
+lock_torture_wr-96 was split to different line due to limited buffer
+size(1k) set in kernel, check this case and re-parse the unfinished
+line.
+
+Upstream-Status: Submitted [https://github.com/intel/pm-graph/pull/20]
+
+Signed-off-by: Liwei Song <liwei.song@windriver.com>
+---
+ sleepgraph.py | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/sleepgraph.py b/sleepgraph.py
+index e340d5b3f03b..38b4439db8eb 100755
+--- a/sleepgraph.py
++++ b/sleepgraph.py
+@@ -3365,8 +3365,21 @@ def parseTraceLog(live=False):
+ val = ps.split()
+ if not val:
+ continue
+- name = val[0].replace('--', '-')
+- proclist[name] = int(val[1])
++ if not len(val) < 2:
++ name = val[0].replace('--', '-')
++ proclist[name] = int(val[1])
++ else:
++ proclist = dict()
++ nextline = next(tf)
++ mcont = re.match(tp.ftrace_line_fmt, nextline)
++ n = m.group('ps') + mcont.group('msg').split(': ')[1]
++ for pscont in n.split(','):
++ val = pscont.split()
++ if not val:
++ continue
++ if not len(val) < 2:
++ name = val[0].replace('--', '-')
++ proclist[name] = int(val[1])
+ data.pstl[t.time] = proclist
+ continue
+ # find the end of resume
+--
+2.29.2
+
diff --git a/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb b/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb
index 4526eeed3f..6e52a58de5 100644
--- a/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb
+++ b/meta-oe/recipes-kernel/pm-graph/pm-graph_5.5.bb
@@ -2,14 +2,15 @@ SUMMARY = "Timing analysis tools for suspend/resume/boot"
DESCRIPTION = "This tool suite is designed to assist kernel and OS developers \
in optimizing their linux stack's suspend/resume & boot time."
HOMEPAGE = "https://01.org/pm-graph"
-LICENSE = "GPL-2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
SRCREV = "cf59527dc24fdd2f314ae4dcaeb3d68a117988f6"
-SRC_URI = "git://github.com/intel/pm-graph.git \
+SRC_URI = "git://github.com/intel/pm-graph.git;branch=master;protocol=https \
file://0001-Makefile-fix-multilib-build-failure.patch \
file://0001-sleepgraph.py-use-python3.patch \
file://0001-sleepgraph-add-support-for-RT-kernel-ftrace-flags.patch \
+ file://0001-sleepgraph.py-parse-unfished-cpu-exec-line.patch \
"
S = "${WORKDIR}/git"
@@ -29,6 +30,6 @@ do_install() {
install -Dm 0755 ${S}/analyze_suspend.py ${D}${bindir}/analyze_suspend.py
}
-RDEPENDS_${PN} += "python3-core python3-threading python3-datetime python3-compression"
-RPROVIDES_${PN} = "analyze-suspend"
+RDEPENDS:${PN} += "python3-core python3-threading python3-datetime python3-compression"
+RPROVIDES:${PN} = "analyze-suspend"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-kernel/spidev-test/spidev-test.bb b/meta-oe/recipes-kernel/spidev-test/spidev-test.bb
index 6626302919..2e8c5cbb8d 100644
--- a/meta-oe/recipes-kernel/spidev-test/spidev-test.bb
+++ b/meta-oe/recipes-kernel/spidev-test/spidev-test.bb
@@ -1,7 +1,7 @@
SUMMARY = "Test SPI devices"
DESCRIPTION = "SPI testing utility using the spidev driver"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
PROVIDES = "virtual/spidev-test"
inherit bash-completion kernelsrc kernel-arch
@@ -22,8 +22,8 @@ do_install() {
PACKAGE_ARCH = "${MACHINE_ARCH}"
-python do_package_prepend() {
- d.setVar('PKGV', d.getVar("KERNEL_VERSION", True).split("-")[0])
+python do_package:prepend() {
+ d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
}
B = "${WORKDIR}/${BPN}-${PV}"
diff --git a/meta-oe/recipes-kernel/trace-cmd/files/0001-Do-not-emit-useless-rpath.patch b/meta-oe/recipes-kernel/trace-cmd/files/0001-Do-not-emit-useless-rpath.patch
new file mode 100644
index 0000000000..13a86e65d1
--- /dev/null
+++ b/meta-oe/recipes-kernel/trace-cmd/files/0001-Do-not-emit-useless-rpath.patch
@@ -0,0 +1,34 @@
+From 90fbc3423b5ccdbd54b5851c32b9f92c6658d634 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 6 Jan 2023 17:30:24 -0800
+Subject: [PATCH] Do not emit useless rpath
+
+rpath is pointing to standard libdir which is un-used and yocto build QA
+flag it, there is no need to set rpaths when building in this
+environment
+
+Fixes
+do_package_qa: QA Issue: trace-cmd: /usr/bin/trace-cmd contains probably-redundant RPATH /usr/lib [useless-rpaths]
+
+Upstream-Status: Inappropriate [OE-Specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ scripts/utils.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/utils.mk b/scripts/utils.mk
+index 3fc2d74f..309a8599 100644
+--- a/scripts/utils.mk
++++ b/scripts/utils.mk
+@@ -64,7 +64,7 @@ do_compile = \
+
+ do_app_build = \
+ ($(print_app_build) \
+- $(CC) $^ -rdynamic -Wl,-rpath=$(libdir) -o $@ $(LDFLAGS) $(CONFIG_LIBS) $(LIBS))
++ $(CC) $^ -rdynamic -o $@ $(LDFLAGS) $(CONFIG_LIBS) $(LIBS))
+
+ do_build_static_lib = \
+ ($(print_static_lib_build) \
+--
+2.39.0
+
diff --git a/meta-oe/recipes-kernel/trace-cmd/files/0001-Replace-LFS64-interfaces-off64_t-and-lseek64.patch b/meta-oe/recipes-kernel/trace-cmd/files/0001-Replace-LFS64-interfaces-off64_t-and-lseek64.patch
new file mode 100644
index 0000000000..1e5415ef6a
--- /dev/null
+++ b/meta-oe/recipes-kernel/trace-cmd/files/0001-Replace-LFS64-interfaces-off64_t-and-lseek64.patch
@@ -0,0 +1,1136 @@
+From 9c3213a3b64e049c1aa065300b01ee751699b01f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 6 Jan 2023 16:53:06 -0800
+Subject: [PATCH 1/2] Replace LFS64 interfaces off64_t and lseek64
+
+Musl does not define these interfaces unless -D_LARGEFILE64_SOURCE is
+defined and that too it is transitional until apps switch to using 64-bit
+off_t. We pass -D_FILE_OFFSET_BITS=64 in makefiles already therefore
+original lseek and off_t are already 64bit
+
+This fixes build with latest musl which has dropped LFS64 interfaces [1]
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4i
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-trace-devel/20230109225315.1284538-1-raj.khem@gmail.com/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ .../include/private/trace-cmd-private.h | 12 +-
+ lib/trace-cmd/include/trace-cmd-local.h | 4 +-
+ lib/trace-cmd/trace-compress.c | 30 ++---
+ lib/trace-cmd/trace-input.c | 110 +++++++++---------
+ lib/trace-cmd/trace-msg.c | 20 ++--
+ lib/trace-cmd/trace-output.c | 64 +++++-----
+ lib/trace-cmd/trace-recorder.c | 8 +-
+ tracecmd/trace-dump.c | 34 +++---
+ tracecmd/trace-read.c | 2 +-
+ 9 files changed, 142 insertions(+), 142 deletions(-)
+
+diff --git a/lib/trace-cmd/include/private/trace-cmd-private.h b/lib/trace-cmd/include/private/trace-cmd-private.h
+index 05c084ce..f2cf8dc8 100644
+--- a/lib/trace-cmd/include/private/trace-cmd-private.h
++++ b/lib/trace-cmd/include/private/trace-cmd-private.h
+@@ -106,7 +106,7 @@ const char *tracecmd_get_trace_clock(struct tracecmd_input *handle);
+ const char *tracecmd_get_cpustats(struct tracecmd_input *handle);
+ const char *tracecmd_get_uname(struct tracecmd_input *handle);
+ const char *tracecmd_get_version(struct tracecmd_input *handle);
+-off64_t tracecmd_get_cpu_file_size(struct tracecmd_input *handle, int cpu);
++off_t tracecmd_get_cpu_file_size(struct tracecmd_input *handle, int cpu);
+
+ static inline int tracecmd_host_bigendian(void)
+ {
+@@ -336,7 +336,7 @@ int tracecmd_write_buffer_info(struct tracecmd_output *handle);
+
+ int tracecmd_write_cpus(struct tracecmd_output *handle, int cpus);
+ int tracecmd_write_cmdlines(struct tracecmd_output *handle);
+-int tracecmd_prepare_options(struct tracecmd_output *handle, off64_t offset, int whence);
++int tracecmd_prepare_options(struct tracecmd_output *handle, off_t offset, int whence);
+ int tracecmd_write_options(struct tracecmd_output *handle);
+ int tracecmd_write_meta_strings(struct tracecmd_output *handle);
+ int tracecmd_append_options(struct tracecmd_output *handle);
+@@ -394,7 +394,7 @@ struct tracecmd_msg_handle {
+ short cpu_count;
+ short version; /* Current protocol version */
+ unsigned long flags;
+- off64_t cache_start_offset;
++ off_t cache_start_offset;
+ bool done;
+ bool cache;
+ int cfd;
+@@ -543,8 +543,8 @@ int tracecmd_write_guest_time_shift(struct tracecmd_output *handle,
+ struct tracecmd_compress_chunk {
+ unsigned int size;
+ unsigned int zsize;
+- off64_t zoffset;
+- off64_t offset;
++ off_t zoffset;
++ off_t offset;
+ };
+ struct tracecmd_compression;
+ struct tracecmd_compression_proto {
+@@ -570,7 +570,7 @@ int tracecmd_compress_buffer_read(struct tracecmd_compression *handle, char *dst
+ int tracecmd_compress_pread(struct tracecmd_compression *handle, char *dst, int len, off_t offset);
+ int tracecmd_compress_buffer_write(struct tracecmd_compression *handle,
+ const void *data, unsigned long long size);
+-off64_t tracecmd_compress_lseek(struct tracecmd_compression *handle, off64_t offset, int whence);
++off_t tracecmd_compress_lseek(struct tracecmd_compression *handle, off_t offset, int whence);
+ int tracecmd_compress_proto_get_name(struct tracecmd_compression *compress,
+ const char **name, const char **version);
+ bool tracecmd_compress_is_supported(const char *name, const char *version);
+diff --git a/lib/trace-cmd/include/trace-cmd-local.h b/lib/trace-cmd/include/trace-cmd-local.h
+index db0b2c21..ebd6f152 100644
+--- a/lib/trace-cmd/include/trace-cmd-local.h
++++ b/lib/trace-cmd/include/trace-cmd-local.h
+@@ -94,13 +94,13 @@ out_add_buffer_option(struct tracecmd_output *handle, const char *name,
+ struct cpu_data_source {
+ int fd;
+ int size;
+- off64_t offset;
++ off_t offset;
+ };
+
+ int out_write_cpu_data(struct tracecmd_output *handle, int cpus,
+ struct cpu_data_source *data, const char *buff_name);
+ int out_write_emty_cpu_data(struct tracecmd_output *handle, int cpus);
+-off64_t msg_lseek(struct tracecmd_msg_handle *msg_handle, off64_t offset, int whence);
++off_t msg_lseek(struct tracecmd_msg_handle *msg_handle, off_t offset, int whence);
+ unsigned long long get_last_option_offset(struct tracecmd_input *handle);
+ unsigned int get_meta_strings_size(struct tracecmd_input *handle);
+ int trace_append_options(struct tracecmd_output *handle, void *buf, size_t len);
+diff --git a/lib/trace-cmd/trace-compress.c b/lib/trace-cmd/trace-compress.c
+index 461de8d0..1b852f18 100644
+--- a/lib/trace-cmd/trace-compress.c
++++ b/lib/trace-cmd/trace-compress.c
+@@ -117,12 +117,12 @@ static inline int buffer_extend(struct tracecmd_compression *handle, unsigned in
+ *
+ * Returns the new file pointer on success, or -1 in case of an error.
+ */
+-off64_t tracecmd_compress_lseek(struct tracecmd_compression *handle, off64_t offset, int whence)
++off_t tracecmd_compress_lseek(struct tracecmd_compression *handle, off_t offset, int whence)
+ {
+ unsigned long p;
+
+ if (!handle || !handle->buffer)
+- return (off64_t)-1;
++ return (off_t)-1;
+
+ switch (whence) {
+ case SEEK_CUR:
+@@ -135,11 +135,11 @@ off64_t tracecmd_compress_lseek(struct tracecmd_compression *handle, off64_t off
+ p = offset;
+ break;
+ default:
+- return (off64_t)-1;
++ return (off_t)-1;
+ }
+
+ if (buffer_extend(handle, p))
+- return (off64_t)-1;
++ return (off_t)-1;
+
+ handle->pointer = p;
+
+@@ -678,7 +678,7 @@ int tracecmd_compress_copy_from(struct tracecmd_compression *handle, int fd, int
+ unsigned int size;
+ unsigned int all;
+ unsigned int r;
+- off64_t offset;
++ off_t offset;
+ char *buf_from;
+ char *buf_to;
+ int endian4;
+@@ -700,7 +700,7 @@ int tracecmd_compress_copy_from(struct tracecmd_compression *handle, int fd, int
+ return -1;
+
+ /* save the initial offset and write 0 as initial chunk count */
+- offset = lseek64(handle->fd, 0, SEEK_CUR);
++ offset = lseek(handle->fd, 0, SEEK_CUR);
+ write_fd(handle->fd, &chunks, 4);
+
+ do {
+@@ -760,13 +760,13 @@ int tracecmd_compress_copy_from(struct tracecmd_compression *handle, int fd, int
+ if (all)
+ return -1;
+
+- if (lseek64(handle->fd, offset, SEEK_SET) == (off_t)-1)
++ if (lseek(handle->fd, offset, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ endian4 = tep_read_number(handle->tep, &chunks, 4);
+ /* write chunks count*/
+ write_fd(handle->fd, &chunks, 4);
+- if (lseek64(handle->fd, 0, SEEK_END) == (off_t)-1)
++ if (lseek(handle->fd, 0, SEEK_END) == (off_t)-1)
+ return -1;
+
+ if (read_size)
+@@ -796,7 +796,7 @@ int tracecmd_load_chunks_info(struct tracecmd_compression *handle,
+ struct tracecmd_compress_chunk *chunks = NULL;
+ unsigned long long size = 0;
+ unsigned int count = 0;
+- off64_t offset;
++ off_t offset;
+ int ret = -1;
+ char buf[4];
+ int i;
+@@ -804,8 +804,8 @@ int tracecmd_load_chunks_info(struct tracecmd_compression *handle,
+ if (!handle)
+ return -1;
+
+- offset = lseek64(handle->fd, 0, SEEK_CUR);
+- if (offset == (off64_t)-1)
++ offset = lseek(handle->fd, 0, SEEK_CUR);
++ if (offset == (off_t)-1)
+ return -1;
+
+ if (read(handle->fd, buf, 4) != 4)
+@@ -822,7 +822,7 @@ int tracecmd_load_chunks_info(struct tracecmd_compression *handle,
+ goto out;
+
+ for (i = 0; i < count; i++) {
+- chunks[i].zoffset = lseek64(handle->fd, 0, SEEK_CUR);
++ chunks[i].zoffset = lseek(handle->fd, 0, SEEK_CUR);
+ if (chunks[i].zoffset == (off_t)-1)
+ goto out;
+ if (read(handle->fd, buf, 4) != 4)
+@@ -833,13 +833,13 @@ int tracecmd_load_chunks_info(struct tracecmd_compression *handle,
+ goto out;
+ chunks[i].size = tep_read_number(handle->tep, buf, 4);
+ size += chunks[i].size;
+- if (lseek64(handle->fd, chunks[i].zsize, SEEK_CUR) == (off64_t)-1)
++ if (lseek(handle->fd, chunks[i].zsize, SEEK_CUR) == (off_t)-1)
+ goto out;
+ }
+
+ ret = count;
+ out:
+- if (lseek64(handle->fd, offset, SEEK_SET) == (off64_t)-1)
++ if (lseek(handle->fd, offset, SEEK_SET) == (off_t)-1)
+ ret = -1;
+
+ if (ret > 0 && chunks_info)
+@@ -872,7 +872,7 @@ int tracecmd_uncompress_chunk(struct tracecmd_compression *handle,
+ if (!handle || !handle->proto || !handle->proto->uncompress_block || !chunk || !data)
+ return -1;
+
+- if (lseek64(handle->fd, chunk->zoffset + 8, SEEK_SET) == (off_t)-1)
++ if (lseek(handle->fd, chunk->zoffset + 8, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ bytes_in = malloc(chunk->zsize);
+diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c
+index 594eb74a..9b128403 100644
+--- a/lib/trace-cmd/trace-input.c
++++ b/lib/trace-cmd/trace-input.c
+@@ -37,8 +37,8 @@ static int force_read = 0;
+
+ struct page_map {
+ struct list_head list;
+- off64_t offset;
+- off64_t size;
++ off_t offset;
++ off_t size;
+ void *map;
+ int ref_count;
+ };
+@@ -54,7 +54,7 @@ struct follow_event {
+
+ struct page {
+ struct list_head list;
+- off64_t offset;
++ off_t offset;
+ struct tracecmd_input *handle;
+ struct page_map *page_map;
+ void *map;
+@@ -541,7 +541,7 @@ static struct file_section *section_open(struct tracecmd_input *handle, int id)
+ if (!sec)
+ return NULL;
+
+- if (lseek64(handle->fd, sec->data_offset, SEEK_SET) == (off64_t)-1)
++ if (lseek(handle->fd, sec->data_offset, SEEK_SET) == (off_t)-1)
+ return NULL;
+
+ if ((sec->flags & TRACECMD_SEC_FL_COMPRESS) && in_uncompress_block(handle))
+@@ -593,7 +593,7 @@ static int read_header_files(struct tracecmd_input *handle)
+
+ if (!HAS_SECTIONS(handle))
+ section_add_or_update(handle, TRACECMD_OPTION_HEADER_INFO, 0, 0,
+- lseek64(handle->fd, 0, SEEK_CUR));
++ lseek(handle->fd, 0, SEEK_CUR));
+
+ if (do_read_check(handle, buf, 12))
+ return -1;
+@@ -800,7 +800,7 @@ static int read_ftrace_files(struct tracecmd_input *handle, const char *regex)
+
+ if (!HAS_SECTIONS(handle))
+ section_add_or_update(handle, TRACECMD_OPTION_FTRACE_EVENTS, 0, 0,
+- lseek64(handle->fd, 0, SEEK_CUR));
++ lseek(handle->fd, 0, SEEK_CUR));
+
+ if (regex) {
+ sreg = &spreg;
+@@ -875,7 +875,7 @@ static int read_event_files(struct tracecmd_input *handle, const char *regex)
+
+ if (!HAS_SECTIONS(handle))
+ section_add_or_update(handle, TRACECMD_OPTION_EVENT_FORMATS, 0, 0,
+- lseek64(handle->fd, 0, SEEK_CUR));
++ lseek(handle->fd, 0, SEEK_CUR));
+
+ if (regex) {
+ sreg = &spreg;
+@@ -962,7 +962,7 @@ static int read_proc_kallsyms(struct tracecmd_input *handle)
+ return 0;
+ if (!HAS_SECTIONS(handle))
+ section_add_or_update(handle, TRACECMD_OPTION_KALLSYMS, 0, 0,
+- lseek64(handle->fd, 0, SEEK_CUR));
++ lseek(handle->fd, 0, SEEK_CUR));
+
+ if (read4(handle, &size) < 0)
+ return -1;
+@@ -999,7 +999,7 @@ static int read_ftrace_printk(struct tracecmd_input *handle)
+
+ if (!HAS_SECTIONS(handle))
+ section_add_or_update(handle, TRACECMD_OPTION_PRINTK, 0, 0,
+- lseek64(handle->fd, 0, SEEK_CUR));
++ lseek(handle->fd, 0, SEEK_CUR));
+
+ if (read4(handle, &size) < 0)
+ return -1;
+@@ -1173,7 +1173,7 @@ static int handle_section(struct tracecmd_input *handle, struct file_section *se
+ unsigned long long size;
+ int ret;
+
+- if (lseek64(handle->fd, section->section_offset, SEEK_SET) == (off_t)-1)
++ if (lseek(handle->fd, section->section_offset, SEEK_SET) == (off_t)-1)
+ return -1;
+ if (read_section_header(handle, &id, &flags, &size, NULL))
+ return -1;
+@@ -1181,7 +1181,7 @@ static int handle_section(struct tracecmd_input *handle, struct file_section *se
+ if (id != section->id)
+ return -1;
+
+- section->data_offset = lseek64(handle->fd, 0, SEEK_CUR);
++ section->data_offset = lseek(handle->fd, 0, SEEK_CUR);
+ if ((section->flags & TRACECMD_SEC_FL_COMPRESS) && in_uncompress_block(handle))
+ return -1;
+
+@@ -1225,7 +1225,7 @@ static int read_headers(struct tracecmd_input *handle, const char *regex)
+ if (!handle->options_start)
+ return -1;
+
+- if (lseek64(handle->fd, handle->options_start, SEEK_SET) == (off64_t)-1) {
++ if (lseek(handle->fd, handle->options_start, SEEK_SET) == (off_t)-1) {
+ tracecmd_warning("Filed to goto options offset %lld", handle->options_start);
+ return -1;
+ }
+@@ -1269,11 +1269,11 @@ static unsigned long long calc_page_offset(struct tracecmd_input *handle,
+ return offset & ~(handle->page_size - 1);
+ }
+
+-static int read_page(struct tracecmd_input *handle, off64_t offset,
++static int read_page(struct tracecmd_input *handle, off_t offset,
+ int cpu, void *map)
+ {
+- off64_t save_seek;
+- off64_t ret;
++ off_t save_seek;
++ off_t ret;
+
+ if (handle->use_pipe) {
+ ret = read(handle->cpu_data[cpu].pipe_fd, map, handle->page_size);
+@@ -1291,9 +1291,9 @@ static int read_page(struct tracecmd_input *handle, off64_t offset,
+ }
+
+ /* other parts of the code may expect the pointer to not move */
+- save_seek = lseek64(handle->fd, 0, SEEK_CUR);
++ save_seek = lseek(handle->fd, 0, SEEK_CUR);
+
+- ret = lseek64(handle->fd, offset, SEEK_SET);
++ ret = lseek(handle->fd, offset, SEEK_SET);
+ if (ret < 0)
+ return -1;
+ ret = read(handle->fd, map, handle->page_size);
+@@ -1301,7 +1301,7 @@ static int read_page(struct tracecmd_input *handle, off64_t offset,
+ return -1;
+
+ /* reset the file pointer back */
+- lseek64(handle->fd, save_seek, SEEK_SET);
++ lseek(handle->fd, save_seek, SEEK_SET);
+
+ return 0;
+ }
+@@ -1348,7 +1348,7 @@ static int chunk_cmp(const void *A, const void *B)
+ return 1;
+ }
+
+-static struct tracecmd_compress_chunk *get_zchunk(struct cpu_data *cpu, off64_t offset)
++static struct tracecmd_compress_chunk *get_zchunk(struct cpu_data *cpu, off_t offset)
+ {
+ struct cpu_zdata *cpuz = &cpu->compress;
+ struct tracecmd_compress_chunk *chunk;
+@@ -1398,7 +1398,7 @@ found:
+ free(cache);
+ }
+
+-static void *read_zpage(struct tracecmd_input *handle, int cpu, off64_t offset)
++static void *read_zpage(struct tracecmd_input *handle, int cpu, off_t offset)
+ {
+ struct cpu_data *cpu_data = &handle->cpu_data[cpu];
+ struct tracecmd_compress_chunk *chunk;
+@@ -1448,12 +1448,12 @@ error:
+ }
+
+ static void *allocate_page_map(struct tracecmd_input *handle,
+- struct page *page, int cpu, off64_t offset)
++ struct page *page, int cpu, off_t offset)
+ {
+ struct cpu_data *cpu_data = &handle->cpu_data[cpu];
+ struct page_map *page_map;
+- off64_t map_size;
+- off64_t map_offset;
++ off_t map_size;
++ off_t map_offset;
+ void *map;
+ int ret;
+ int fd;
+@@ -1544,7 +1544,7 @@ static void *allocate_page_map(struct tracecmd_input *handle,
+ }
+
+ static struct page *allocate_page(struct tracecmd_input *handle,
+- int cpu, off64_t offset)
++ int cpu, off_t offset)
+ {
+ struct cpu_data *cpu_data = &handle->cpu_data[cpu];
+ struct page **pages;
+@@ -1851,7 +1851,7 @@ static int update_page_info(struct tracecmd_input *handle, int cpu)
+ * -1 on error
+ */
+ static int get_page(struct tracecmd_input *handle, int cpu,
+- off64_t offset)
++ off_t offset)
+ {
+ /* Don't map if the page is already where we want */
+ if (handle->cpu_data[cpu].offset == offset &&
+@@ -1895,7 +1895,7 @@ static int get_page(struct tracecmd_input *handle, int cpu,
+
+ static int get_next_page(struct tracecmd_input *handle, int cpu)
+ {
+- off64_t offset;
++ off_t offset;
+
+ if (!handle->cpu_data[cpu].page && !handle->use_pipe)
+ return 0;
+@@ -2122,7 +2122,7 @@ struct tep_record *
+ tracecmd_read_cpu_last(struct tracecmd_input *handle, int cpu)
+ {
+ struct tep_record *record = NULL;
+- off64_t offset, page_offset;
++ off_t offset, page_offset;
+
+ offset = handle->cpu_data[cpu].file_offset +
+ handle->cpu_data[cpu].file_size;
+@@ -2183,7 +2183,7 @@ tracecmd_set_cpu_to_timestamp(struct tracecmd_input *handle, int cpu,
+ unsigned long long ts)
+ {
+ struct cpu_data *cpu_data = &handle->cpu_data[cpu];
+- off64_t start, end, next;
++ off_t start, end, next;
+
+ if (cpu < 0 || cpu >= handle->cpus) {
+ errno = -EINVAL;
+@@ -3064,11 +3064,11 @@ static int init_cpu_zfile(struct tracecmd_input *handle, int cpu)
+ {
+ struct cpu_data *cpu_data;
+ unsigned long long size;
+- off64_t offset;
++ off_t offset;
+
+ cpu_data = &handle->cpu_data[cpu];
+- offset = lseek64(handle->fd, 0, SEEK_CUR);
+- if (lseek64(handle->fd, cpu_data->file_offset, SEEK_SET) == (off_t)-1)
++ offset = lseek(handle->fd, 0, SEEK_CUR);
++ if (lseek(handle->fd, cpu_data->file_offset, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ strcpy(cpu_data->compress.file, COMPR_TEMP_FILE);
+@@ -3079,7 +3079,7 @@ static int init_cpu_zfile(struct tracecmd_input *handle, int cpu)
+ if (tracecmd_uncompress_copy_to(handle->compress, cpu_data->compress.fd, NULL, &size))
+ return -1;
+
+- if (lseek64(handle->fd, offset, SEEK_SET) == (off_t)-1)
++ if (lseek(handle->fd, offset, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ cpu_data->file_offset = handle->next_offset;
+@@ -3098,7 +3098,7 @@ static int init_cpu_zpage(struct tracecmd_input *handle, int cpu)
+ int count;
+ int i;
+
+- if (lseek64(handle->fd, cpu_data->file_offset, SEEK_SET) == (off_t)-1)
++ if (lseek(handle->fd, cpu_data->file_offset, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ count = tracecmd_load_chunks_info(handle->compress, &cpu_data->compress.chunks);
+@@ -3576,7 +3576,7 @@ static int handle_option_done(struct tracecmd_input *handle, char *buf, int size
+ if (size < 8)
+ return -1;
+
+- offset = lseek64(handle->fd, 0, SEEK_CUR);
++ offset = lseek(handle->fd, 0, SEEK_CUR);
+ if (offset >= size)
+ handle->options_last_offset = offset - size;
+
+@@ -3584,7 +3584,7 @@ static int handle_option_done(struct tracecmd_input *handle, char *buf, int size
+ if (!offset)
+ return 0;
+
+- if (lseek64(handle->fd, offset, SEEK_SET) == (off_t)-1)
++ if (lseek(handle->fd, offset, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ return handle_options(handle);
+@@ -3741,7 +3741,7 @@ static int handle_options(struct tracecmd_input *handle)
+ int ret;
+
+ if (!HAS_SECTIONS(handle)) {
+- handle->options_start = lseek64(handle->fd, 0, SEEK_CUR);
++ handle->options_start = lseek(handle->fd, 0, SEEK_CUR);
+ } else {
+ if (read_section_header(handle, &id, &flags, NULL, NULL))
+ return -1;
+@@ -4102,7 +4102,7 @@ int init_latency_data(struct tracecmd_input *handle)
+ if (ret)
+ return -1;
+
+- lseek64(handle->latz.fd, 0, SEEK_SET);
++ lseek(handle->latz.fd, 0, SEEK_SET);
+ }
+
+ return 0;
+@@ -4118,7 +4118,7 @@ static int init_buffer_cpu_data(struct tracecmd_input *handle, struct input_buff
+ if (handle->cpu_data)
+ return -1;
+
+- if (lseek64(handle->fd, buffer->offset, SEEK_SET) == (off_t)-1)
++ if (lseek(handle->fd, buffer->offset, SEEK_SET) == (off_t)-1)
+ return -1;
+ if (read_section_header(handle, &id, &flags, NULL, NULL))
+ return -1;
+@@ -4246,7 +4246,7 @@ static int read_and_parse_cmdlines(struct tracecmd_input *handle)
+
+ if (!HAS_SECTIONS(handle))
+ section_add_or_update(handle, TRACECMD_OPTION_CMDLINES, 0, 0,
+- lseek64(handle->fd, 0, SEEK_CUR));
++ lseek(handle->fd, 0, SEEK_CUR));
+
+
+ if (read_data_and_size(handle, &cmdlines, &size) < 0)
+@@ -4554,9 +4554,9 @@ static int read_metadata_strings(struct tracecmd_input *handle)
+ unsigned short id;
+ unsigned int csize, rsize;
+ unsigned long long size;
+- off64_t offset;
++ off_t offset;
+
+- offset = lseek64(handle->fd, 0, SEEK_CUR);
++ offset = lseek(handle->fd, 0, SEEK_CUR);
+ do {
+ if (read_section_header(handle, &id, &flags, &size, NULL))
+ break;
+@@ -4575,12 +4575,12 @@ static int read_metadata_strings(struct tracecmd_input *handle)
+ if (flags & TRACECMD_SEC_FL_COMPRESS)
+ in_uncompress_reset(handle);
+ } else {
+- if (lseek64(handle->fd, size, SEEK_CUR) == (off_t)-1)
++ if (lseek(handle->fd, size, SEEK_CUR) == (off_t)-1)
+ break;
+ }
+ } while (1);
+
+- if (lseek64(handle->fd, offset, SEEK_SET) == (off_t)-1)
++ if (lseek(handle->fd, offset, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ return found ? 0 : -1;
+@@ -4683,9 +4683,9 @@ struct tracecmd_input *tracecmd_alloc_fd(int fd, int flags)
+ handle->page_size = page_size;
+ handle->next_offset = page_size;
+
+- offset = lseek64(handle->fd, 0, SEEK_CUR);
+- handle->total_file_size = lseek64(handle->fd, 0, SEEK_END);
+- lseek64(handle->fd, offset, SEEK_SET);
++ offset = lseek(handle->fd, 0, SEEK_CUR);
++ handle->total_file_size = lseek(handle->fd, 0, SEEK_END);
++ lseek(handle->fd, offset, SEEK_SET);
+
+ if (HAS_COMPRESSION(handle)) {
+ zname = read_string(handle);
+@@ -5533,7 +5533,7 @@ static int copy_options_recursive(struct tracecmd_input *in_handle,
+ if (!next)
+ break;
+
+- if (do_lseek(in_handle, next, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(in_handle, next, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ if (read_section_header(in_handle, &id, &flags, NULL, NULL))
+@@ -5648,7 +5648,7 @@ int tracecmd_copy_options(struct tracecmd_input *in_handle,
+ if (!in_handle->options_start)
+ return 0;
+
+- if (lseek64(in_handle->fd, in_handle->options_start, SEEK_SET) == (off64_t)-1)
++ if (lseek(in_handle->fd, in_handle->options_start, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ if (copy_options(in_handle, out_handle) < 0)
+@@ -5980,10 +5980,10 @@ tracecmd_buffer_instance_handle(struct tracecmd_input *handle, int indx)
+ new_handle->pid_maps = NULL;
+ if (!HAS_SECTIONS(handle)) {
+ /* Save where we currently are */
+- offset = lseek64(handle->fd, 0, SEEK_CUR);
++ offset = lseek(handle->fd, 0, SEEK_CUR);
+
+- ret = lseek64(handle->fd, buffer->offset, SEEK_SET);
+- if (ret == (off64_t)-1) {
++ ret = lseek(handle->fd, buffer->offset, SEEK_SET);
++ if (ret == (off_t)-1) {
+ tracecmd_warning("could not seek to buffer %s offset %ld",
+ buffer->name, buffer->offset);
+ goto error;
+@@ -6001,7 +6001,7 @@ tracecmd_buffer_instance_handle(struct tracecmd_input *handle, int indx)
+ tracecmd_warning("failed to read sub buffer %s", buffer->name);
+ goto error;
+ }
+- ret = lseek64(handle->fd, offset, SEEK_SET);
++ ret = lseek(handle->fd, offset, SEEK_SET);
+ if (ret < 0) {
+ tracecmd_warning("could not seek to back to offset %ld", offset);
+ goto error;
+@@ -6171,13 +6171,13 @@ const char *tracecmd_get_version(struct tracecmd_input *handle)
+ *
+ * Provides a method to extract the cpu file size saved in @handle.
+ *
+- * Returns the cpu file size saved in trace.dat file or (off64_t)-1 for
++ * Returns the cpu file size saved in trace.dat file or (off_t)-1 for
+ * invalid cpu index.
+ */
+-off64_t tracecmd_get_cpu_file_size(struct tracecmd_input *handle, int cpu)
++off_t tracecmd_get_cpu_file_size(struct tracecmd_input *handle, int cpu)
+ {
+ if (cpu < 0 || cpu >= handle->cpus)
+- return (off64_t)-1;
++ return (off_t)-1;
+ return handle->cpu_data[cpu].file_size;
+ }
+
+diff --git a/lib/trace-cmd/trace-msg.c b/lib/trace-cmd/trace-msg.c
+index 0b2de710..3a555c36 100644
+--- a/lib/trace-cmd/trace-msg.c
++++ b/lib/trace-cmd/trace-msg.c
+@@ -183,26 +183,26 @@ static int __msg_write(int fd, struct tracecmd_msg *msg, bool network)
+ return __do_write_check(fd, msg->buf, data_size);
+ }
+
+-__hidden off64_t msg_lseek(struct tracecmd_msg_handle *msg_handle, off64_t offset, int whence)
++__hidden off_t msg_lseek(struct tracecmd_msg_handle *msg_handle, off_t offset, int whence)
+ {
+- off64_t cache_offset = msg_handle->cache_start_offset;
+- off64_t ret;
++ off_t cache_offset = msg_handle->cache_start_offset;
++ off_t ret;
+
+ /*
+ * lseek works only if the handle is in cache mode,
+ * cannot seek on a network socket
+ */
+ if (!msg_handle->cache || msg_handle->cfd < 0)
+- return (off64_t)-1;
++ return (off_t)-1;
+
+ if (whence == SEEK_SET) {
+ if (offset < cache_offset)
+- return (off64_t)-1;
++ return (off_t)-1;
+ offset -= cache_offset;
+ }
+
+- ret = lseek64(msg_handle->cfd, offset, whence);
+- if (ret == (off64_t)-1)
++ ret = lseek(msg_handle->cfd, offset, whence);
++ if (ret == (off_t)-1)
+ return ret;
+
+ return ret + cache_offset;
+@@ -639,7 +639,7 @@ static int flush_cache(struct tracecmd_msg_handle *msg_handle)
+ if (!msg_handle->cache || fd < 0)
+ return 0;
+ msg_handle->cache = false;
+- if (lseek64(fd, 0, SEEK_SET) == (off64_t)-1)
++ if (lseek(fd, 0, SEEK_SET) == (off_t)-1)
+ return -1;
+ do {
+ ret = read(fd, buf, MSG_MAX_DATA_LEN);
+@@ -650,8 +650,8 @@ static int flush_cache(struct tracecmd_msg_handle *msg_handle)
+ break;
+ } while (ret >= 0);
+
+- msg_handle->cache_start_offset = lseek64(fd, 0, SEEK_CUR);
+- if (msg_handle->cache_start_offset == (off64_t)-1)
++ msg_handle->cache_start_offset = lseek(fd, 0, SEEK_CUR);
++ if (msg_handle->cache_start_offset == (off_t)-1)
+ return -1;
+
+ close(fd);
+diff --git a/lib/trace-cmd/trace-output.c b/lib/trace-cmd/trace-output.c
+index 1c0f7b77..ad740d65 100644
+--- a/lib/trace-cmd/trace-output.c
++++ b/lib/trace-cmd/trace-output.c
+@@ -112,7 +112,7 @@ do_write_check(struct tracecmd_output *handle, const void *data, long long size)
+ return __do_write_check(handle->fd, data, size);
+ }
+
+-static inline off64_t do_lseek(struct tracecmd_output *handle, off_t offset, int whence)
++static inline off_t do_lseek(struct tracecmd_output *handle, off_t offset, int whence)
+ {
+ if (handle->do_compress)
+ return tracecmd_compress_lseek(handle->compress, offset, whence);
+@@ -120,7 +120,7 @@ static inline off64_t do_lseek(struct tracecmd_output *handle, off_t offset, int
+ if (handle->msg_handle)
+ return msg_lseek(handle->msg_handle, offset, whence);
+
+- return lseek64(handle->fd, offset, whence);
++ return lseek(handle->fd, offset, whence);
+ }
+
+ static inline int do_preed(struct tracecmd_output *handle, void *dst, int len, off_t offset)
+@@ -526,12 +526,12 @@ out_write_section_header(struct tracecmd_output *handle, unsigned short header_i
+ /* Section ID */
+ endian2 = convert_endian_2(handle, header_id);
+ if (do_write_check(handle, &endian2, 2))
+- return (off64_t)-1;
++ return (off_t)-1;
+
+ /* Section flags */
+ endian2 = convert_endian_2(handle, flags);
+ if (do_write_check(handle, &endian2, 2))
+- return (off64_t)-1;
++ return (off_t)-1;
+
+ /* Section description */
+ if (description)
+@@ -540,13 +540,13 @@ out_write_section_header(struct tracecmd_output *handle, unsigned short header_i
+ desc = -1;
+ endian4 = convert_endian_4(handle, desc);
+ if (do_write_check(handle, &endian4, 4))
+- return (off64_t)-1;
++ return (off_t)-1;
+
+ offset = do_lseek(handle, 0, SEEK_CUR);
+ size = 0;
+ /* Reserve for section size */
+ if (do_write_check(handle, &size, 8))
+- return (off64_t)-1;
++ return (off_t)-1;
+ return offset;
+ }
+
+@@ -567,13 +567,13 @@ __hidden int out_update_section_header(struct tracecmd_output *handle, tsize_t o
+ if (size < 8)
+ return -1;
+ size -= 8;
+- if (do_lseek(handle, offset, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(handle, offset, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ endian8 = convert_endian_8(handle, size);
+ if (do_write_check(handle, &endian8, 8))
+ return -1;
+- if (do_lseek(handle, current, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(handle, current, SEEK_SET) == (off_t)-1)
+ return -1;
+ return 0;
+ }
+@@ -595,7 +595,7 @@ static int save_string_section(struct tracecmd_output *handle, bool compress)
+ if (compress)
+ flags |= TRACECMD_SEC_FL_COMPRESS;
+ offset = out_write_section_header(handle, TRACECMD_OPTION_STRINGS, "strings", flags, false);
+- if (offset == (off64_t)-1)
++ if (offset == (off_t)-1)
+ return -1;
+
+ out_compression_start(handle, compress);
+@@ -645,7 +645,7 @@ static int read_header_files(struct tracecmd_output *handle, bool compress)
+ flags |= TRACECMD_SEC_FL_COMPRESS;
+ offset = out_write_section_header(handle, TRACECMD_OPTION_HEADER_INFO,
+ "headers", flags, true);
+- if (offset == (off64_t)-1)
++ if (offset == (off_t)-1)
+ return -1;
+
+ out_compression_start(handle, compress);
+@@ -973,7 +973,7 @@ static int read_ftrace_files(struct tracecmd_output *handle, bool compress)
+ flags |= TRACECMD_SEC_FL_COMPRESS;
+ offset = out_write_section_header(handle, TRACECMD_OPTION_FTRACE_EVENTS,
+ "ftrace events", flags, true);
+- if (offset == (off64_t)-1)
++ if (offset == (off_t)-1)
+ return -1;
+
+ create_event_list_item(handle, &systems, &list);
+@@ -1032,7 +1032,7 @@ static int read_event_files(struct tracecmd_output *handle,
+ flags |= TRACECMD_SEC_FL_COMPRESS;
+ offset = out_write_section_header(handle, TRACECMD_OPTION_EVENT_FORMATS,
+ "events format", flags, true);
+- if (offset == (off64_t)-1)
++ if (offset == (off_t)-1)
+ return -1;
+ /*
+ * If any of the list is the special keyword "all" then
+@@ -1146,7 +1146,7 @@ static int read_proc_kallsyms(struct tracecmd_output *handle, bool compress)
+ flags |= TRACECMD_SEC_FL_COMPRESS;
+ offset = out_write_section_header(handle, TRACECMD_OPTION_KALLSYMS,
+ "kallsyms", flags, true);
+- if (offset == (off64_t)-1)
++ if (offset == (off_t)-1)
+ return -1;
+
+ out_compression_start(handle, compress);
+@@ -1210,7 +1210,7 @@ static int read_ftrace_printk(struct tracecmd_output *handle, bool compress)
+ if (compress)
+ flags |= TRACECMD_SEC_FL_COMPRESS;
+ offset = out_write_section_header(handle, TRACECMD_OPTION_PRINTK, "printk", flags, true);
+- if (offset == (off64_t)-1)
++ if (offset == (off_t)-1)
+ return -1;
+
+ out_compression_start(handle, compress);
+@@ -1255,8 +1255,8 @@ static int save_tracing_file_data(struct tracecmd_output *handle,
+ unsigned long long endian8;
+ char *file = NULL;
+ struct stat st;
+- off64_t check_size;
+- off64_t size;
++ off_t check_size;
++ off_t size;
+ int ret = -1;
+
+ file = get_tracing_file(handle, filename);
+@@ -1850,9 +1850,9 @@ static int write_options_v6(struct tracecmd_output *handle)
+ return 0;
+ }
+
+-static int update_options_start(struct tracecmd_output *handle, off64_t offset)
++static int update_options_start(struct tracecmd_output *handle, off_t offset)
+ {
+- if (do_lseek(handle, handle->options_start, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(handle, handle->options_start, SEEK_SET) == (off_t)-1)
+ return -1;
+ offset = convert_endian_8(handle, offset);
+ if (do_write_check(handle, &offset, 8))
+@@ -1875,7 +1875,7 @@ static int update_options_start(struct tracecmd_output *handle, off64_t offset)
+ *
+ * Returns zero on success and -1 on error.
+ */
+-int tracecmd_prepare_options(struct tracecmd_output *handle, off64_t offset, int whence)
++int tracecmd_prepare_options(struct tracecmd_output *handle, off_t offset, int whence)
+ {
+ tsize_t curr;
+ int ret;
+@@ -1895,7 +1895,7 @@ int tracecmd_prepare_options(struct tracecmd_output *handle, off64_t offset, int
+ break;
+ case SEEK_END:
+ offset = do_lseek(handle, offset, SEEK_END);
+- if (offset == (off64_t)-1)
++ if (offset == (off_t)-1)
+ return -1;
+ break;
+ }
+@@ -2067,7 +2067,7 @@ __hidden void *trace_get_options(struct tracecmd_output *handle, size_t *len)
+ if (!buf)
+ goto out;
+
+- if (do_lseek(&out_handle, 0, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(&out_handle, 0, SEEK_SET) == (off_t)-1)
+ goto out;
+ *len = read(msg_handle.cfd, buf, offset);
+ if (*len != offset) {
+@@ -2278,7 +2278,7 @@ int tracecmd_write_cmdlines(struct tracecmd_output *handle)
+ flags |= TRACECMD_SEC_FL_COMPRESS;
+ offset = out_write_section_header(handle, TRACECMD_OPTION_CMDLINES,
+ "command lines", flags, true);
+- if (offset == (off64_t)-1)
++ if (offset == (off_t)-1)
+ return -1;
+
+ out_compression_start(handle, compress);
+@@ -2527,7 +2527,7 @@ static int update_buffer_cpu_offset_v6(struct tracecmd_output *handle,
+ current = do_lseek(handle, 0, SEEK_CUR);
+
+ /* Go to the option data, where will write the offest */
+- if (do_lseek(handle, b_offset, SEEK_SET) == (off64_t)-1) {
++ if (do_lseek(handle, b_offset, SEEK_SET) == (off_t)-1) {
+ tracecmd_warning("could not seek to %lld", b_offset);
+ return -1;
+ }
+@@ -2536,7 +2536,7 @@ static int update_buffer_cpu_offset_v6(struct tracecmd_output *handle,
+ return -1;
+
+ /* Go back to end of file */
+- if (do_lseek(handle, current, SEEK_SET) == (off64_t)-1) {
++ if (do_lseek(handle, current, SEEK_SET) == (off_t)-1) {
+ tracecmd_warning("could not seek to %lld", offset);
+ return -1;
+ }
+@@ -2660,7 +2660,7 @@ __hidden int out_write_cpu_data(struct tracecmd_output *handle,
+ data_files[i].data_offset &= ~(page_size - 1);
+
+ ret = do_lseek(handle, data_files[i].data_offset, SEEK_SET);
+- if (ret == (off64_t)-1)
++ if (ret == (off_t)-1)
+ goto out_free;
+
+ if (!tracecmd_get_quiet(handle))
+@@ -2668,7 +2668,7 @@ __hidden int out_write_cpu_data(struct tracecmd_output *handle,
+ i, (unsigned long long)data_files[i].data_offset);
+
+ if (data[i].size) {
+- if (lseek64(data[i].fd, data[i].offset, SEEK_SET) == (off64_t)-1)
++ if (lseek(data[i].fd, data[i].offset, SEEK_SET) == (off_t)-1)
+ goto out_free;
+ read_size = out_copy_fd_compress(handle, data[i].fd,
+ data[i].size, &data_files[i].write_size,
+@@ -2686,19 +2686,19 @@ __hidden int out_write_cpu_data(struct tracecmd_output *handle,
+
+ if (!HAS_SECTIONS(handle)) {
+ /* Write the real CPU data offset in the file */
+- if (do_lseek(handle, data_files[i].file_data_offset, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(handle, data_files[i].file_data_offset, SEEK_SET) == (off_t)-1)
+ goto out_free;
+ endian8 = convert_endian_8(handle, data_files[i].data_offset);
+ if (do_write_check(handle, &endian8, 8))
+ goto out_free;
+ /* Write the real CPU data size in the file */
+- if (do_lseek(handle, data_files[i].file_write_size, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(handle, data_files[i].file_write_size, SEEK_SET) == (off_t)-1)
+ goto out_free;
+ endian8 = convert_endian_8(handle, data_files[i].write_size);
+ if (do_write_check(handle, &endian8, 8))
+ goto out_free;
+ offset = data_files[i].data_offset + data_files[i].write_size;
+- if (do_lseek(handle, offset, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(handle, offset, SEEK_SET) == (off_t)-1)
+ goto out_free;
+ }
+ if (!tracecmd_get_quiet(handle)) {
+@@ -2717,7 +2717,7 @@ __hidden int out_write_cpu_data(struct tracecmd_output *handle,
+ goto out_free;
+
+ free(data_files);
+- if (do_lseek(handle, 0, SEEK_END) == (off64_t)-1)
++ if (do_lseek(handle, 0, SEEK_END) == (off_t)-1)
+ return -1;
+
+ if (out_update_section_header(handle, offset))
+@@ -2986,7 +2986,7 @@ __hidden int out_save_options_offset(struct tracecmd_output *handle, unsigned lo
+ return -1;
+
+ new = do_lseek(handle, 0, SEEK_CUR);
+- if (do_lseek(handle, handle->options_start, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(handle, handle->options_start, SEEK_SET) == (off_t)-1)
+ return -1;
+
+ en8 = convert_endian_8(handle, start);
+@@ -2994,7 +2994,7 @@ __hidden int out_save_options_offset(struct tracecmd_output *handle, unsigned lo
+ return -1;
+
+ handle->options_start = new;
+- if (do_lseek(handle, new, SEEK_SET) == (off64_t)-1)
++ if (do_lseek(handle, new, SEEK_SET) == (off_t)-1)
+ return -1;
+ } else {
+ handle->options_start = start;
+diff --git a/lib/trace-cmd/trace-recorder.c b/lib/trace-cmd/trace-recorder.c
+index 23499f30..c172ad64 100644
+--- a/lib/trace-cmd/trace-recorder.c
++++ b/lib/trace-cmd/trace-recorder.c
+@@ -51,7 +51,7 @@ static int append_file(int size, int dst, int src)
+ char buf[size];
+ int r;
+
+- lseek64(src, 0, SEEK_SET);
++ lseek(src, 0, SEEK_SET);
+
+ /* If there's an error, then we are pretty much screwed :-p */
+ do {
+@@ -82,10 +82,10 @@ void tracecmd_free_recorder(struct tracecmd_recorder *recorder)
+ recorder->fd2, recorder->fd1);
+ /* Error on copying, then just keep fd1 */
+ if (ret) {
+- lseek64(recorder->fd1, 0, SEEK_END);
++ lseek(recorder->fd1, 0, SEEK_END);
+ goto close;
+ }
+- lseek64(recorder->fd1, 0, SEEK_SET);
++ lseek(recorder->fd1, 0, SEEK_SET);
+ ftruncate(recorder->fd1, 0);
+ }
+ append_file(recorder->page_size, recorder->fd1, recorder->fd2);
+@@ -305,7 +305,7 @@ static inline void update_fd(struct tracecmd_recorder *recorder, int size)
+ fd = recorder->fd1;
+
+ /* Zero out the new file we are writing to */
+- lseek64(fd, 0, SEEK_SET);
++ lseek(fd, 0, SEEK_SET);
+ ftruncate(fd, 0);
+
+ recorder->fd = fd;
+diff --git a/tracecmd/trace-dump.c b/tracecmd/trace-dump.c
+index 22e3d871..11c1baf1 100644
+--- a/tracecmd/trace-dump.c
++++ b/tracecmd/trace-dump.c
+@@ -101,7 +101,7 @@ static int do_lseek(int fd, int offset, int whence)
+ if (read_compress)
+ return tracecmd_compress_lseek(compress, offset, whence);
+
+- return lseek64(fd, offset, whence);
++ return lseek(fd, offset, whence);
+ }
+
+ static int read_file_string(int fd, char *dst, int len)
+@@ -446,7 +446,7 @@ static void dump_section_header(int fd, enum dump_items v, unsigned short *flags
+ const char *desc;
+ int desc_id;
+
+- offset = lseek64(fd, 0, SEEK_CUR);
++ offset = lseek(fd, 0, SEEK_CUR);
+ if (read_file_number(fd, &id, 2))
+ die("cannot read the section id");
+
+@@ -500,13 +500,13 @@ static void dump_option_buffer(int fd, unsigned short option, int size)
+ return;
+ }
+
+- current = lseek64(fd, 0, SEEK_CUR);
+- if (lseek64(fd, offset, SEEK_SET) == (off_t)-1)
++ current = lseek(fd, 0, SEEK_CUR);
++ if (lseek(fd, offset, SEEK_SET) == (off_t)-1)
+ die("cannot goto buffer offset %lld", offset);
+
+ dump_section_header(fd, FLYRECORD, &flags);
+
+- if (lseek64(fd, current, SEEK_SET) == (off_t)-1)
++ if (lseek(fd, current, SEEK_SET) == (off_t)-1)
+ die("cannot go back to buffer option");
+
+ do_print(OPTIONS|FLYRECORD, "\t\t[Option BUFFER, %d bytes]\n", size);
+@@ -773,7 +773,7 @@ static void dump_sections(int fd, int count)
+ unsigned short flags;
+
+ while (sec) {
+- if (lseek64(fd, sec->offset, SEEK_SET) == (off_t)-1)
++ if (lseek(fd, sec->offset, SEEK_SET) == (off_t)-1)
+ die("cannot goto option offset %lld", sec->offset);
+
+ dump_section_header(fd, sec->verbosity, &flags);
+@@ -826,7 +826,7 @@ static int dump_option_done(int fd, int size)
+ if (!offset)
+ return 0;
+
+- if (lseek64(fd, offset, SEEK_SET) == (off_t)-1)
++ if (lseek(fd, offset, SEEK_SET) == (off_t)-1)
+ die("cannot goto next options offset %lld", offset);
+
+ do_print(OPTIONS, "\n\n");
+@@ -1006,7 +1006,7 @@ static void dump_therest(int fd)
+ else if (strncmp(str, HEAD_FLYRECORD, 10) == 0)
+ dump_flyrecord(fd);
+ else {
+- lseek64(fd, -10, SEEK_CUR);
++ lseek(fd, -10, SEEK_CUR);
+ break;
+ }
+ }
+@@ -1060,7 +1060,7 @@ static void get_meta_strings(int fd)
+ unsigned short fl, id;
+ int desc_id;
+
+- offset = lseek64(fd, 0, SEEK_CUR);
++ offset = lseek(fd, 0, SEEK_CUR);
+ do {
+ if (read_file_number(fd, &id, 2))
+ break;
+@@ -1074,7 +1074,7 @@ static void get_meta_strings(int fd)
+ if ((fl & TRACECMD_SEC_FL_COMPRESS)) {
+ read_file_number(fd, &csize, 4);
+ read_file_number(fd, &rsize, 4);
+- lseek64(fd, -8, SEEK_CUR);
++ lseek(fd, -8, SEEK_CUR);
+ if (uncompress_block())
+ break;
+ } else {
+@@ -1083,12 +1083,12 @@ static void get_meta_strings(int fd)
+ read_metadata_strings(fd, rsize);
+ uncompress_reset();
+ } else {
+- if (lseek64(fd, size, SEEK_CUR) == (off_t)-1)
++ if (lseek(fd, size, SEEK_CUR) == (off_t)-1)
+ break;
+ }
+ } while (1);
+
+- if (lseek64(fd, offset, SEEK_SET) == (off_t)-1)
++ if (lseek(fd, offset, SEEK_SET) == (off_t)-1)
+ die("cannot restore the original file location");
+ }
+
+@@ -1102,9 +1102,9 @@ static int walk_v7_sections(int fd)
+ int desc_id;
+ const char *desc;
+
+- offset = lseek64(fd, 0, SEEK_CUR);
++ offset = lseek(fd, 0, SEEK_CUR);
+ do {
+- soffset = lseek64(fd, 0, SEEK_CUR);
++ soffset = lseek(fd, 0, SEEK_CUR);
+ if (read_file_number(fd, &id, 2))
+ break;
+
+@@ -1149,11 +1149,11 @@ static int walk_v7_sections(int fd)
+ id, soffset, desc, fl, size);
+ }
+
+- if (lseek64(fd, size, SEEK_CUR) == (off_t)-1)
++ if (lseek(fd, size, SEEK_CUR) == (off_t)-1)
+ break;
+ } while (1);
+
+- if (lseek64(fd, offset, SEEK_SET) == (off_t)-1)
++ if (lseek(fd, offset, SEEK_SET) == (off_t)-1)
+ die("cannot restore the original file location");
+
+ return count;
+@@ -1170,7 +1170,7 @@ static void dump_v7_file(int fd)
+ get_meta_strings(fd);
+ sections = walk_v7_sections(fd);
+
+- if (lseek64(fd, offset, SEEK_SET) == (off_t)-1)
++ if (lseek(fd, offset, SEEK_SET) == (off_t)-1)
+ die("cannot goto options offset %lld", offset);
+
+ dump_options(fd);
+diff --git a/tracecmd/trace-read.c b/tracecmd/trace-read.c
+index 224a6dde..c094ad6a 100644
+--- a/tracecmd/trace-read.c
++++ b/tracecmd/trace-read.c
+@@ -195,7 +195,7 @@ static void print_event(struct trace_seq *s, struct tracecmd_input *handle,
+ #define TEST_READ_AT 0
+ #if TEST_READ_AT
+ #define DO_TEST
+-static off64_t test_read_at_offset;
++static off_t test_read_at_offset;
+ static int test_read_at_copy = 100;
+ static int test_read_at_index;
+ static void show_test(struct tracecmd_input *handle)
+--
+2.39.0
+
diff --git a/meta-oe/recipes-kernel/trace-cmd/files/0001-trace-cmd-make-it-build-with-musl.patch b/meta-oe/recipes-kernel/trace-cmd/files/0001-trace-cmd-make-it-build-with-musl.patch
deleted file mode 100644
index 220991804b..0000000000
--- a/meta-oe/recipes-kernel/trace-cmd/files/0001-trace-cmd-make-it-build-with-musl.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From b63f13d2df91ede45288653b21e0d30a6b45f2ac Mon Sep 17 00:00:00 2001
-From: Beniamin Sandu <beniaminsandu@gmail.com>
-Date: Mon, 30 Nov 2020 18:24:48 +0200
-Subject: [PATCH] trace-cmd: make it build with musl
-
-Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
----
- include/trace-cmd/trace-cmd.h | 1 +
- lib/trace-cmd/trace-msg.c | 1 +
- lib/trace-cmd/trace-plugin.c | 2 ++
- lib/tracefs/tracefs-events.c | 1 +
- tracecmd/trace-agent.c | 1 +
- tracecmd/trace-setup-guest.c | 1 +
- tracecmd/trace-tsync.c | 15 ++++++++++-----
- 7 files changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/include/trace-cmd/trace-cmd.h b/include/trace-cmd/trace-cmd.h
-index f3c95f3..a697905 100644
---- a/include/trace-cmd/trace-cmd.h
-+++ b/include/trace-cmd/trace-cmd.h
-@@ -6,6 +6,7 @@
- #ifndef _TRACE_CMD_H
- #define _TRACE_CMD_H
-
-+#include <sys/types.h>
- #include "traceevent/event-parse.h"
-
- #define TRACECMD_MAGIC { 23, 8, 68 }
-diff --git a/lib/trace-cmd/trace-msg.c b/lib/trace-cmd/trace-msg.c
-index 4a0bfa9..fc1f2c7 100644
---- a/lib/trace-cmd/trace-msg.c
-+++ b/lib/trace-cmd/trace-msg.c
-@@ -21,6 +21,7 @@
- #include <arpa/inet.h>
- #include <sys/types.h>
- #include <linux/types.h>
-+#include <byteswap.h>
-
- #include "trace-write-local.h"
- #include "trace-cmd-local.h"
-diff --git a/lib/trace-cmd/trace-plugin.c b/lib/trace-cmd/trace-plugin.c
-index 92f9edf..c2ef3dc 100644
---- a/lib/trace-cmd/trace-plugin.c
-+++ b/lib/trace-cmd/trace-plugin.c
-@@ -8,6 +8,8 @@
- #include <dlfcn.h>
- #include <sys/stat.h>
- #include <libgen.h>
-+#include <limits.h>
-+
- #include "trace-cmd.h"
- #include "trace-local.h"
-
-diff --git a/lib/tracefs/tracefs-events.c b/lib/tracefs/tracefs-events.c
-index 8e825f5..a8d8560 100644
---- a/lib/tracefs/tracefs-events.c
-+++ b/lib/tracefs/tracefs-events.c
-@@ -13,6 +13,7 @@
- #include <errno.h>
- #include <sys/stat.h>
- #include <fcntl.h>
-+#include <limits.h>
-
- #include "kbuffer.h"
- #include "tracefs.h"
-diff --git a/tracecmd/trace-agent.c b/tracecmd/trace-agent.c
-index b581696..abfefac 100644
---- a/tracecmd/trace-agent.c
-+++ b/tracecmd/trace-agent.c
-@@ -20,6 +20,7 @@
- #include <unistd.h>
- #include <linux/vm_sockets.h>
- #include <pthread.h>
-+#include <limits.h>
-
- #include "trace-local.h"
- #include "trace-msg.h"
-diff --git a/tracecmd/trace-setup-guest.c b/tracecmd/trace-setup-guest.c
-index 899848c..99595a1 100644
---- a/tracecmd/trace-setup-guest.c
-+++ b/tracecmd/trace-setup-guest.c
-@@ -13,6 +13,7 @@
- #include <string.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <limits.h>
-
- #include "trace-local.h"
- #include "trace-msg.h"
-diff --git a/tracecmd/trace-tsync.c b/tracecmd/trace-tsync.c
-index e639788..b8b5ac3 100644
---- a/tracecmd/trace-tsync.c
-+++ b/tracecmd/trace-tsync.c
-@@ -104,13 +104,15 @@ int tracecmd_host_tsync(struct buffer_instance *instance,
-
- pthread_attr_init(&attrib);
- pthread_attr_setdetachstate(&attrib, PTHREAD_CREATE_JOINABLE);
-- if (!get_first_cpu(&pin_mask, &mask_size))
-- pthread_attr_setaffinity_np(&attrib, mask_size, pin_mask);
-
- ret = pthread_create(&instance->tsync_thread, &attrib,
- tsync_host_thread, &instance->tsync);
-- if (!ret)
-+ if (!ret) {
-+ if (!get_first_cpu(&pin_mask, &mask_size))
-+ pthread_setaffinity_np(instance->tsync_thread, mask_size, pin_mask);
- instance->tsync_thread_running = true;
-+ }
-+
- if (pin_mask)
- CPU_FREE(pin_mask);
- pthread_attr_destroy(&attrib);
-@@ -243,11 +245,14 @@ unsigned int tracecmd_guest_tsync(char *tsync_protos,
- pthread_attr_init(&attrib);
- tsync->sync_proto = proto;
- pthread_attr_setdetachstate(&attrib, PTHREAD_CREATE_JOINABLE);
-- if (!get_first_cpu(&pin_mask, &mask_size))
-- pthread_attr_setaffinity_np(&attrib, mask_size, pin_mask);
-
- ret = pthread_create(thr_id, &attrib, tsync_agent_thread, tsync);
-
-+ if (!ret) {
-+ if (!get_first_cpu(&pin_mask, &mask_size))
-+ pthread_setaffinity_np(*thr_id, mask_size, pin_mask);
-+ }
-+
- if (pin_mask)
- CPU_FREE(pin_mask);
- pthread_attr_destroy(&attrib);
---
-2.25.1
-
diff --git a/meta-oe/recipes-kernel/trace-cmd/files/0002-Drop-using-_LARGEFILE64_SOURCE.patch b/meta-oe/recipes-kernel/trace-cmd/files/0002-Drop-using-_LARGEFILE64_SOURCE.patch
new file mode 100644
index 0000000000..7b2ea79eb3
--- /dev/null
+++ b/meta-oe/recipes-kernel/trace-cmd/files/0002-Drop-using-_LARGEFILE64_SOURCE.patch
@@ -0,0 +1,145 @@
+From 47005e155c291ee6a2460cbf9eee604997e87063 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 9 Jan 2023 14:48:49 -0800
+Subject: [PATCH 2/2] Drop using _LARGEFILE64_SOURCE
+
+Its no longer needed since we have dropped using LF64 interfaces
+
+Upstream-Status: Submitted [https://lore.kernel.org/linux-trace-devel/20230109225315.1284538-2-raj.khem@gmail.com/T/#u]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/trace-cmd/trace-input.c | 1 -
+ lib/trace-cmd/trace-output.c | 1 -
+ lib/trace-cmd/trace-recorder.c | 1 -
+ tracecmd/trace-hist.c | 1 -
+ tracecmd/trace-listen.c | 1 -
+ tracecmd/trace-mem.c | 1 -
+ tracecmd/trace-profile.c | 1 -
+ tracecmd/trace-read.c | 1 -
+ tracecmd/trace-restore.c | 1 -
+ tracecmd/trace-split.c | 1 -
+ 10 files changed, 10 deletions(-)
+
+diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c
+index 9b128403..3dd13ce4 100644
+--- a/lib/trace-cmd/trace-input.c
++++ b/lib/trace-cmd/trace-input.c
+@@ -3,7 +3,6 @@
+ * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
+ *
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <stdbool.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/lib/trace-cmd/trace-output.c b/lib/trace-cmd/trace-output.c
+index ad740d65..eee847e3 100644
+--- a/lib/trace-cmd/trace-output.c
++++ b/lib/trace-cmd/trace-output.c
+@@ -3,7 +3,6 @@
+ * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
+ *
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <dirent.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/lib/trace-cmd/trace-recorder.c b/lib/trace-cmd/trace-recorder.c
+index c172ad64..70ce52e2 100644
+--- a/lib/trace-cmd/trace-recorder.c
++++ b/lib/trace-cmd/trace-recorder.c
+@@ -3,7 +3,6 @@
+ * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
+ *
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
+diff --git a/tracecmd/trace-hist.c b/tracecmd/trace-hist.c
+index efb790ac..62fe4f9b 100644
+--- a/tracecmd/trace-hist.c
++++ b/tracecmd/trace-hist.c
+@@ -5,7 +5,6 @@
+ * Several of the ideas in this file came from Arnaldo Carvalho de Melo's
+ * work on the perf ui.
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <dirent.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/tracecmd/trace-listen.c b/tracecmd/trace-listen.c
+index 86d2b9e9..e95c5711 100644
+--- a/tracecmd/trace-listen.c
++++ b/tracecmd/trace-listen.c
+@@ -3,7 +3,6 @@
+ * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
+ *
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <dirent.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/tracecmd/trace-mem.c b/tracecmd/trace-mem.c
+index 25eb0861..3e1ac9f3 100644
+--- a/tracecmd/trace-mem.c
++++ b/tracecmd/trace-mem.c
+@@ -11,7 +11,6 @@
+ * was written for the newer version. I decided to do some of it here
+ * in C.
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <dirent.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/tracecmd/trace-profile.c b/tracecmd/trace-profile.c
+index 6a2cc3d0..d12a0e5e 100644
+--- a/tracecmd/trace-profile.c
++++ b/tracecmd/trace-profile.c
+@@ -5,7 +5,6 @@
+ */
+
+ /** FIXME: Convert numbers based on machine and file */
+-#define _LARGEFILE64_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/tracecmd/trace-read.c b/tracecmd/trace-read.c
+index c094ad6a..52ba818e 100644
+--- a/tracecmd/trace-read.c
++++ b/tracecmd/trace-read.c
+@@ -3,7 +3,6 @@
+ * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
+ *
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <dirent.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/tracecmd/trace-restore.c b/tracecmd/trace-restore.c
+index 5bf29c52..e9ca3225 100644
+--- a/tracecmd/trace-restore.c
++++ b/tracecmd/trace-restore.c
+@@ -3,7 +3,6 @@
+ * Copyright (C) 2009, 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
+ *
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <dirent.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+diff --git a/tracecmd/trace-split.c b/tracecmd/trace-split.c
+index 851ec94e..1daa847d 100644
+--- a/tracecmd/trace-split.c
++++ b/tracecmd/trace-split.c
+@@ -3,7 +3,6 @@
+ * Copyright (C) 2010 Red Hat Inc, Steven Rostedt <srostedt@redhat.com>
+ *
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <dirent.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+--
+2.39.0
+
diff --git a/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb b/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb
deleted file mode 100644
index d39afff8e4..0000000000
--- a/meta-oe/recipes-kernel/trace-cmd/trace-cmd_2.9.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "User-space front-end command-line tool for ftrace"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=873f48a813bded3de6ebc54e6880c4ac"
-
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;branch=master \
- file://0001-trace-cmd-make-it-build-with-musl.patch"
-
-SRCREV = "530b1a0caef39466e16bbd49de5afef89656f03f"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- oe_runmake etcdir=${sysconfdir} DESTDIR=${D} install
-}
-
-FILES_${PN} += "${libdir}/traceevent/plugins"
diff --git a/meta-oe/recipes-kernel/trace-cmd/trace-cmd_3.1.5.bb b/meta-oe/recipes-kernel/trace-cmd/trace-cmd_3.1.5.bb
new file mode 100644
index 0000000000..11c4037b23
--- /dev/null
+++ b/meta-oe/recipes-kernel/trace-cmd/trace-cmd_3.1.5.bb
@@ -0,0 +1,32 @@
+SUMMARY = "User-space front-end command-line tool for ftrace"
+
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = " \
+ file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \
+ file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd \
+ "
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git;branch=master \
+ file://0001-Replace-LFS64-interfaces-off64_t-and-lseek64.patch \
+ file://0002-Drop-using-_LARGEFILE64_SOURCE.patch \
+ file://0001-Do-not-emit-useless-rpath.patch"
+SRCREV = "18233e4c32857cb7ddd4960beeec8360ed834fc5"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "libtraceevent libtracefs zstd xmlto-native asciidoc-native swig-native bison-native flex-native"
+
+inherit pkgconfig bash-completion
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_compile() {
+ oe_runmake libdir_relative=${BASELIB} libs
+ oe_runmake libdir_relative=${BASELIB} all
+}
+
+do_install() {
+ oe_runmake libdir_relative=${baselib} etcdir=${sysconfdir} pkgconfig_dir=${libdir}/pkgconfig DESTDIR=${D} install install_libs
+ # Because makefile uses cp instead of install we need to change owner of files
+ chown -R root:root ${D}${libdir}
+}
diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
index 48c72140c8..bdc37c0382 100644
--- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
+++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
@@ -11,10 +11,10 @@ DESCRIPTION = "The turbostat tool allows you to determine the actual \
processor frequency and idle power saving state residency on supported \
processors."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://../COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-COMPATIBLE_HOST_libc-musl = "null"
+COMPATIBLE_HOST:libc-musl = "null"
SRC_URI += "\
file://COPYING \
@@ -38,7 +38,7 @@ EXTRA_OEMAKE = '\
# do_configure() is invoked so we can safely copy from it.
#
do_configure[depends] += "virtual/kernel:do_shared_workdir"
-do_configure_prepend() {
+do_configure:prepend() {
mkdir -p ${S}
cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/msr-index.h ${S}
cp -r ${STAGING_KERNEL_DIR}/arch/x86/include/asm/intel-family.h ${S}
diff --git a/meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb b/meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb
new file mode 100644
index 0000000000..e7e4ca50af
--- /dev/null
+++ b/meta-oe/recipes-kernel/usbip-tools/usbip-tools.bb
@@ -0,0 +1,69 @@
+# Recipe for building userspace part of USB/IP
+#
+# Started with work from chuck kamas - 2021-11-05
+# https://lists.yoctoproject.org/g/yocto/topic/86249103?p=,,,20,0,0,0::recentpostdate/sticky,,,20,0,0,86249103
+# Though have rewritten all the logic to be much simpler
+#
+# SPDX-License-Identifier: MIT
+#
+# Author(s)
+# clst@ambu.com (Claus Stovgaard)
+#
+
+SUMMARY = "userspace usbip from Linux kernel tools"
+DESCRIPTION = " USB/IP protocol allows to pass USB device from server to \
+client over the network. Server is a machine which provides (shares) a \
+USB device. Client is a machine which uses USB device provided by server \
+over the network. The USB device may be either physical device connected \
+to a server or software entity created on a server using USB gadget subsystem."
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
+DEPENDS = "virtual/kernel udev"
+PROVIDES = "virtual/usbip-tools"
+
+inherit kernelsrc autotools-brokensep
+
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+# We need to set S, for not being set to STAGING_KERNEL_DIR, and by that
+# be wiped when we prune dest below. We just set it to usbip-tools-1.0
+S = "${WORKDIR}/${BP}"
+
+# Copy the source files from KERNEL/tools/usb/usbip to ${S}
+do_configure[prefuncs] += "copy_usbip_source_from_kernel"
+python copy_usbip_source_from_kernel() {
+ dir_in_kernel = "tools/usb/usbip"
+ src_dir = d.getVar("STAGING_KERNEL_DIR")
+ src = oe.path.join(src_dir, dir_in_kernel)
+ dest = d.getVar("S")
+ bb.utils.mkdirhier(dest)
+ bb.utils.prunedir(dest)
+ # copy src to dest folder
+ if not os.path.exists(src):
+ bb.fatal("Path does not exist: %s. Maybe dir_in_kernel does not match the kernel version." % src)
+ if os.path.isdir(src):
+ oe.path.copyhardlinktree(src, dest)
+ else:
+ src_path = os.path.dirname(src)
+ os.makedirs(os.path.join(dest,src_path),exist_ok=True)
+ bb.utils.copyfile(src, dest)
+}
+
+# Use local scripts before relying on inherited autotools
+do_configure () {
+ # We are in ${B} - equal to ${S}, so just run the scripts
+ ./cleanup.sh || bbnote "${PN} failed to cleanup.sh"
+ ./autogen.sh || bbnote "${PN} failed to autogen.sh"
+ oe_runconf
+}
+
+# As usbip integrate with the kernel module, we set this package to be build specific for
+# this machine, and not generally for the architecture
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# Even though the libusbip is set to version 0.0.1, set the package version to match kernel
+# e.g. usbip-tools-5.14.21-r0.qemux86_64.rpm for qemu package using kernel 5.14.21
+python do_package:prepend() {
+ d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0])
+} \ No newline at end of file
diff --git a/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb b/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb
deleted file mode 100644
index 6b955dcfd9..0000000000
--- a/meta-oe/recipes-multimedia/alsa/alsa-oss_1.1.8.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Alsa OSS Compatibility Package"
-SECTION = "libs/multimedia"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ed055b4eff93da784176a01582e6ec1a"
-DEPENDS = "alsa-lib"
-
-SRC_URI = "https://www.alsa-project.org/files/pub/oss-lib/alsa-oss-${PV}.tar.bz2 \
-"
-SRC_URI[md5sum] = "9ec4bb783fdce19032aace086d65d874"
-SRC_URI[sha256sum] = "64adcef5927e848d2e024e64c4bf85b6f395964d9974ec61905ae4cb8d35d68e"
-
-inherit autotools
-
-LEAD_SONAME = "libaoss.so.0"
-
-do_configure_prepend () {
- touch NEWS README AUTHORS ChangeLog
- sed -i "s/libaoss.so/${LEAD_SONAME}/" ${S}/alsa/aoss.in
-}
-
-# http://errors.yoctoproject.org/Errors/Details/186961/
-COMPATIBLE_HOST_libc-musl = 'null'
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 f4e19e4ad3..a09f84381e 100644
--- a/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
+++ b/meta-oe/recipes-multimedia/audiofile/audiofile_0.3.6.bb
@@ -4,7 +4,7 @@ WAVE, NeXT/Sun .snd/.au, Berkeley/IRCAM/CARL Sound File, Audio Visual \
Research, Amiga IFF/8SVX, and NIST SPHERE."
HOMEPAGE = "http://www.68k.org/~michael/audiofile/"
SECTION = "libs"
-LICENSE = "LGPLv2 & GPLv2"
+LICENSE = "LGPL-2.0-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
@@ -19,6 +19,8 @@ SRC_URI[sha256sum] = "ea2449ad3f201ec590d811db9da6d02ffc5e87a677d06b92ab15363d8c
inherit autotools lib_package pkgconfig
+CXXFLAGS += "-std=c++14"
+
DEPENDS = " \
asciidoc-native \
alsa-lib \
diff --git a/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch b/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch
index ecb3108050..4792a15e86 100644
--- a/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch
+++ b/meta-oe/recipes-multimedia/audiofile/files/0001-fix-negative-shift-constants.patch
@@ -14,6 +14,8 @@ Upstrem-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
+Upstream-Status: Pending
+
libaudiofile/modules/SimpleModule.h | 2 +-
test/FloatToInt.cpp | 2 +-
test/IntToFloat.cpp | 2 +-
diff --git a/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch b/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch
index 2c66cf4d00..dea8187ccb 100644
--- a/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch
+++ b/meta-oe/recipes-multimedia/audiofile/files/0002-fix-build-on-gcc6.patch
@@ -14,6 +14,8 @@ Upstrem-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
+Upstream-Status: Pending
+
test/NeXT.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb b/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
index 3344821fa0..9fd91114d7 100644
--- a/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
+++ b/meta-oe/recipes-multimedia/cdrkit/cdrkit_1.1.11.bb
@@ -1,7 +1,7 @@
SUMMARY = "CD/DVD command line tools"
HOMEPAGE = "http://cdrkit.org/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b30d3b2750b668133fc17b401e1b98f8"
# While writing download from cdrkit.org was broken so get sources from debian
@@ -11,22 +11,29 @@ SRC_URI = "${DEBIAN_MIRROR}/main/c/${BPN}/${BPN}_${PV}.orig.tar.gz \
file://0001-define-__THROW-to-avoid-build-issue-with-musl.patch \
file://0002-Do-not-use-rcmd-on-build-with-musl.patch \
file://0001-genisoimage-Add-missing-extern-definition.patch \
+ file://0001-add-new-option-eltorito-platform.patch \
+ file://0001-genisoimage-Add-checksum.h-and-md5.h-for-function-pr.patch \
"
+SRC_URI:append:class-nativesdk = " \
+ file://0001-install-netscsid-to-bin-for-nativesdk.patch \
+"
SRC_URI[md5sum] = "efe08e2f3ca478486037b053acd512e9"
SRC_URI[sha256sum] = "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da"
inherit cmake
DEPENDS = "libcap file bzip2"
-RDEPENDS_dirsplit = "perl"
+RDEPENDS:dirsplit = "perl"
+
+RDEPENDS:${PN}-dev = ""
PACKAGES =+ "dirsplit genisoimage icedax wodim"
-FILES_dirsplit = " \
+FILES:dirsplit = " \
${bindir}/dirsplit \
"
-FILES_genisoimage = " \
+FILES:genisoimage = " \
${bindir}/devdump \
${bindir}/genisoimage \
${bindir}/isodebug \
@@ -36,7 +43,7 @@ FILES_genisoimage = " \
${bindir}/mkisofs \
"
-FILES_icedax = " \
+FILES:icedax = " \
${bindir}/cdda2mp3 \
${bindir}/cdda2ogg \
${bindir}/icedax \
@@ -44,14 +51,14 @@ FILES_icedax = " \
${bindir}/readmult \
"
-FILES_wodim = " \
+FILES:wodim = " \
${bindir}/readom \
${bindir}/wodim \
${sbindir}/netscsid \
"
-do_install_append() {
- ln -sf ${bindir}/genisoimage ${D}${bindir}/mkisofs
+do_install:append() {
+ ln -sf --relative ${D}${bindir}/genisoimage ${D}${bindir}/mkisofs
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-multimedia/cdrkit/files/0001-add-new-option-eltorito-platform.patch b/meta-oe/recipes-multimedia/cdrkit/files/0001-add-new-option-eltorito-platform.patch
new file mode 100644
index 0000000000..dac3328a42
--- /dev/null
+++ b/meta-oe/recipes-multimedia/cdrkit/files/0001-add-new-option-eltorito-platform.patch
@@ -0,0 +1,335 @@
+From 5a2d571f3687910260c45841725f2deb84c8f12e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 25 Apr 2022 18:18:00 +0800
+Subject: [PATCH] add new option -eltorito-platform
+
+Mkisofs now correctly supports El Torito multi boot entries by introducing
+a Boot Dection Header before a list of alternate boot entries.
+
+New option -eltorito-platform allows to set the El Torito platform id
+for a boot entry or for a list of boot entries. Supported values for
+the parameter are:
+- x86 the standard value vor x86 based PCs
+- PPC the Power PC platform
+- Mac The Apple Mac platform
+- efi EFI based boot for PCs
+- # an arbitrary numerical value
+
+Upstream-Status: Inappropriate [port from cdrtools]
+https://github.com/jobermayr/cdrtools/commit/a50804fd61d75eb689a515dbfca6968ca2296fd7
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ genisoimage/eltorito.c | 73 +++++++++++++++++++++++++++++++++++++--
+ genisoimage/genisoimage.c | 47 +++++++++++++++++++++++++
+ genisoimage/genisoimage.h | 8 +++++
+ genisoimage/iso9660.h | 33 ++++++++++++++++--
+ 4 files changed, 157 insertions(+), 4 deletions(-)
+
+diff --git a/genisoimage/eltorito.c b/genisoimage/eltorito.c
+index d52e17e..a804988 100644
+--- a/genisoimage/eltorito.c
++++ b/genisoimage/eltorito.c
+@@ -56,6 +56,7 @@ static unsigned int bcat_de_flags;
+ void init_boot_catalog(const char *path);
+ void insert_boot_cat(void);
+ static void get_torito_desc(struct eltorito_boot_descriptor *boot_desc);
++static void fill_boot_shdr(struct eltorito_sectionheader_entry *boot_shdr_entry, int arch);
+ static void fill_boot_desc(struct eltorito_defaultboot_entry *boot_desc_entry,
+ struct eltorito_boot_entry_info *boot_entry);
+ void get_boot_entry(void);
+@@ -282,7 +283,14 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ struct directory_entry *de2; /* Boot catalog */
+ int i;
+ int offset;
++ int arch = 0;
++ int nentries = 0;
+ struct eltorito_defaultboot_entry boot_desc_record;
++ struct eltorito_sectionheader_entry boot_shdr_record;
++#ifdef __needed__
++ struct eltorito_section_entry boot_section_record;
++#endif
++ struct eltorito_sectionheader_entry *last_section_header = 0;
+
+ memset(boot_desc, 0, sizeof (*boot_desc));
+ boot_desc->type[0] = 0;
+@@ -311,13 +319,22 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ set_731(boot_desc->bootcat_ptr,
+ (unsigned int) get_733(de2->isorec.extent));
+
++ /*
++ * If the platform id for the first (default) boot entry has not been
++ * explicitly set, we default to EL_TORITO_ARCH_x86
++ */
++ if ((first_boot_entry->type & ELTORITO_BOOT_ID) == 0) {
++ first_boot_entry->boot_platform = EL_TORITO_ARCH_x86;
++ }
++ arch = first_boot_entry->boot_platform;
++
+ /*
+ * we have the boot image, so write boot catalog information
+ * Next we write out the primary descriptor for the disc
+ */
+ memset(&valid_desc, 0, sizeof (valid_desc));
+ valid_desc.headerid[0] = 1;
+- valid_desc.arch[0] = EL_TORITO_ARCH_x86;
++ valid_desc.arch[0] = arch; /* Platform id for the default boot */
+
+ /*
+ * we'll shove start of publisher id into id field,
+@@ -351,8 +368,17 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ current_boot_entry != NULL;
+ current_boot_entry = current_boot_entry->next,
+ offset += sizeof (boot_desc_record)) {
++ int newarch = arch;
+
+- if (offset >= SECTOR_SIZE) {
++ if (current_boot_entry->type & ELTORITO_BOOT_ID)
++ newarch = current_boot_entry->boot_platform;
++ else
++ current_boot_entry->boot_platform = arch;
++
++ /*
++ * El Torito has no such limitation but we currently have...
++ */
++ if (offset >= (SECTOR_SIZE - sizeof (boot_desc_record))) {
+ #ifdef USE_LIBSCHILY
+ comerrno(EX_BAD,
+ "Too many El Torito boot entries\n");
+@@ -362,12 +388,53 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+ exit(1);
+ #endif
+ }
++
++ if (current_boot_entry == first_boot_entry) {
++ ;
++ /* EMPTY */
++ } else if ((current_boot_entry == first_boot_entry->next) ||
++ (arch != newarch) ||
++ (current_boot_entry->type & ELTORITO_SECTION_HEADER)) {
++ if (last_section_header)
++ set_721(&last_section_header->entry_count, nentries);
++ nentries = 1;
++ last_section_header = (struct eltorito_sectionheader_entry *)
++ (de2->table + offset);
++ fill_boot_shdr(&boot_shdr_record, newarch);
++ memcpy(de2->table + offset, &boot_shdr_record,
++ sizeof (boot_shdr_record));
++ offset += sizeof (boot_desc_record);
++ } else {
++ nentries++; /* Add entry to this section header */
++ }
++ /*
++ * This works because a section entry has the same essential
++ * layout as a default entry (and we do not populate the
++ * selection criteria fields).
++ */
++
+ fill_boot_desc(&boot_desc_record, current_boot_entry);
+ memcpy(de2->table + offset, &boot_desc_record,
+ sizeof (boot_desc_record));
+ }
++
++ if (last_section_header) {
++ set_721(&last_section_header->entry_count, nentries);
++ last_section_header->header_id[0] = EL_TORITO_SHDR_ID_LAST_SHDR;
++ }
++
+ }/* get_torito_desc(... */
+
++static void
++fill_boot_shdr(boot_shdr_entry, arch)
++ struct eltorito_sectionheader_entry *boot_shdr_entry;
++ int arch;
++{
++ memset(boot_shdr_entry, 0, sizeof(struct eltorito_sectionheader_entry));
++ boot_shdr_entry->header_id[0] = EL_TORITO_SHDR_ID_SHDR;
++ boot_shdr_entry->platform_id[0] = arch;
++}
++
+ static void
+ fill_boot_desc(struct eltorito_defaultboot_entry *boot_desc_entry,
+ struct eltorito_boot_entry_info *boot_entry)
+@@ -678,7 +745,9 @@ get_boot_entry()
+ if (!first_boot_entry) {
+ first_boot_entry = current_boot_entry;
+ last_boot_entry = current_boot_entry;
++ current_boot_entry->boot_platform = EL_TORITO_ARCH_x86;
+ } else {
++ current_boot_entry->boot_platform = last_boot_entry->boot_platform;
+ last_boot_entry->next = current_boot_entry;
+ last_boot_entry = current_boot_entry;
+ }
+diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
+index 9089081..84ac3c2 100644
+--- a/genisoimage/genisoimage.c
++++ b/genisoimage/genisoimage.c
+@@ -271,6 +271,8 @@ struct rcopts {
+ char **variable;
+ };
+
++static int get_boot_platid(char *opt_arg);
++
+ struct rcopts rcopt[] = {
+ {"PREP", &preparer},
+ {"PUBL", &publisher},
+@@ -404,6 +406,7 @@ struct ld_option {
+
+ #define OPTION_ALLOW_LEADING_DOTS 1070
+ #define OPTION_PUBLISHER 1071
++#define OPTION_PLATFORM 1072
+
+ #ifdef JIGDO_TEMPLATE
+ #define OPTION_JTT_OUTPUT 1101
+@@ -528,6 +531,8 @@ static const struct ld_option ld_options[] =
+ 'b', "FILE", "Set El Torito boot image name", ONE_DASH},
+ {{"eltorito-alt-boot", no_argument, NULL, OPTION_ALT_BOOT},
+ '\0', NULL, "Start specifying alternative El Torito boot parameters", ONE_DASH},
++ {{"eltorito-platform", required_argument, NULL, OPTION_PLATFORM},
++ '\0', "ID", "Set El Torito platform id for the next boot entry", ONE_DASH},
+ {{"sparc-boot", required_argument, NULL, 'B'},
+ 'B', "FILES", "Set sparc boot image names", ONE_DASH},
+ {{"sunx86-boot", required_argument, NULL, OPTION_SUNX86BOOT},
+@@ -1558,6 +1563,9 @@ int main(int argc, char *argv[])
+ */
+ new_boot_entry();
+ break;
++ case OPTION_PLATFORM:
++ get_boot_platid(optarg);
++ break;
+ case OPTION_BOOTALPHA:
+ use_alphaboot++;
+ /* list of pathnames of boot images */
+@@ -3829,3 +3837,42 @@ e_malloc(size_t size)
+ memset(pt, 0, size);
+ return (pt);
+ }
++
++static int
++get_boot_platid(char *opt_arg)
++{
++ long val;
++ char *ptr;
++
++ use_eltorito++;
++ if (streql(opt_arg, "x86")) {
++ val = EL_TORITO_ARCH_x86;
++ } else if (streql(opt_arg, "PPC")) {
++ val = EL_TORITO_ARCH_PPC;
++ } else if (streql(opt_arg, "Mac")) {
++ val = EL_TORITO_ARCH_PPC;
++ } else if (streql(opt_arg, "efi")) {
++ val = EL_TORITO_ARCH_EFI;
++ } else {
++ val = strtol(opt_arg, &ptr, 0);
++ if (*ptr || val < 0 || val >= 0x100) {
++ comerrno(EX_BAD, "Bad boot system ID.\n");
++ }
++ }
++
++ /*
++ * If there is already a boot entry and the boot file name has been set
++ * for this boot entry and the new platform id differs from the
++ * previous value, we start a new boot section.
++ */
++ if (current_boot_entry &&
++ current_boot_entry->boot_image != NULL &&
++ current_boot_entry->boot_platform != val) {
++ new_boot_entry();
++ }
++ get_boot_entry();
++ current_boot_entry->type |= ELTORITO_BOOT_ID;
++ current_boot_entry->boot_platform = val;
++ return (1);
++}
++
+diff --git a/genisoimage/genisoimage.h b/genisoimage/genisoimage.h
+index 82c859b..1170d89 100644
+--- a/genisoimage/genisoimage.h
++++ b/genisoimage/genisoimage.h
+@@ -299,6 +299,14 @@ struct eltorito_boot_entry_info {
+ int boot_info_table;
+ int load_size;
+ int load_addr;
++
++#define ELTORITO_BOOT_ID 1
++#define ELTORITO_SECTION_HEADER 2
++ int type;
++ /*
++ * Valid if (type & ELTORITO_BOOT_ID) != 0
++ */
++ int boot_platform;
+ };
+
+ extern int goof;
+diff --git a/genisoimage/iso9660.h b/genisoimage/iso9660.h
+index c74c2a9..61b6fc0 100644
+--- a/genisoimage/iso9660.h
++++ b/genisoimage/iso9660.h
+@@ -62,6 +62,7 @@ struct iso_volume_descriptor {
+ #define EL_TORITO_ARCH_x86 0
+ #define EL_TORITO_ARCH_PPC 1
+ #define EL_TORITO_ARCH_MAC 2
++#define EL_TORITO_ARCH_EFI 0xEF
+
+ #define EL_TORITO_BOOTABLE 0x88
+ #define EL_TORITO_NOT_BOOTABLE 0
+@@ -159,10 +160,15 @@ struct eltorito_boot_descriptor {
+ };
+
+ /* Validation entry for El Torito */
++/*
++ * headerid must be 1
++ * id is the manufacturer ID
++ * cksum to make the sum of all shorts in this record 0
++ */
+ struct eltorito_validation_entry {
+ char headerid [ISODCL(1, 1)]; /* 711 */
+ char arch [ISODCL(2, 2)];
+- char pad1 [ISODCL(3, 4)]; /* 711 */
++ char pad1 [ISODCL(3, 4)]; /* 721 */
+ char id [ISODCL(5, 28)]; /* CD devel/man*/
+ char cksum [ISODCL(29, 30)];
+ char key1 [ISODCL(31, 31)];
+@@ -173,7 +179,7 @@ struct eltorito_validation_entry {
+ struct eltorito_defaultboot_entry {
+ char boot_id [ISODCL(1, 1)]; /* 711 */
+ char boot_media [ISODCL(2, 2)];
+- char loadseg [ISODCL(3, 4)]; /* 711 */
++ char loadseg [ISODCL(3, 4)]; /* 721 */
+ char sys_type [ISODCL(5, 5)];
+ char pad1 [ISODCL(6, 6)];
+ char nsect [ISODCL(7, 8)];
+@@ -181,6 +187,29 @@ struct eltorito_defaultboot_entry {
+ char pad2 [ISODCL(13, 32)];
+ };
+
++/* El Torito section header entry in boot catalog */
++struct eltorito_sectionheader_entry {
++#define EL_TORITO_SHDR_ID_SHDR 0x90
++#define EL_TORITO_SHDR_ID_LAST_SHDR 0x91
++ char header_id [ISODCL(1, 1)]; /* 711 */
++ char platform_id [ISODCL(2, 2)];
++ char entry_count [ISODCL(3, 4)]; /* 721 */
++ char id [ISODCL(5, 32)];
++};
++
++/* El Torito section entry in boot catalog */
++struct eltorito_section_entry {
++ char boot_id [ISODCL(1, 1)]; /* 711 */
++ char boot_media [ISODCL(2, 2)];
++ char loadseg [ISODCL(3, 4)]; /* 721 */
++ char sys_type [ISODCL(5, 5)];
++ char pad1 [ISODCL(6, 6)];
++ char nsect [ISODCL(7, 8)];
++ char bootoff [ISODCL(9, 12)];
++ char sel_criteria [ISODCL(13, 13)];
++ char vendor_sel_criteria [ISODCL(14, 32)];
++};
++
+ /*
+ * XXX JS: The next two structures have odd lengths!
+ * Some compilers (e.g. on Sun3/mc68020) padd the structures to even length.
+--
+2.27.0
+
diff --git a/meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch b/meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch
index b3beb069eb..95a5ddd7dd 100644
--- a/meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch
+++ b/meta-oe/recipes-multimedia/cdrkit/files/0001-define-__THROW-to-avoid-build-issue-with-musl.patch
@@ -8,6 +8,8 @@ http://autobuild.buildroot.net/results/d27/d2781e70b04a207e2e9397d888032294c7285
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
+Upstream-Status: Pending
+
genisoimage/sha256.h | 4 ++++
genisoimage/sha512.h | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Add-checksum.h-and-md5.h-for-function-pr.patch b/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Add-checksum.h-and-md5.h-for-function-pr.patch
new file mode 100644
index 0000000000..b999577265
--- /dev/null
+++ b/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Add-checksum.h-and-md5.h-for-function-pr.patch
@@ -0,0 +1,44 @@
+From f28b8ec20c3485068f1617ff93b497bafe5264e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 3 Sep 2022 00:50:17 -0700
+Subject: [PATCH] genisoimage: Add checksum.h and md5.h for function prototypes
+
+Needed for parse_checksum_algo and calculate_md5sum
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ genisoimage/genisoimage.c | 2 ++
+ genisoimage/jte.c | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
+index 84ac3c2..5c9f7f3 100644
+--- a/genisoimage/genisoimage.c
++++ b/genisoimage/genisoimage.c
+@@ -59,6 +59,8 @@
+ #include "udf.h"
+ #endif
+
++#include "checksum.h"
++
+ #ifdef NEED_O_BINARY
+ #include <io.h> /* for setmode() prototype */
+ #endif
+diff --git a/genisoimage/jte.c b/genisoimage/jte.c
+index 0dff289..1f03ad3 100644
+--- a/genisoimage/jte.c
++++ b/genisoimage/jte.c
+@@ -36,6 +36,8 @@
+ #include "vms.h"
+ #endif
+
++#include "md5.h"
++
+ /* Different types used in building our state list below */
+ #define JTET_FILE_MATCH 1
+ #define JTET_NOMATCH 2
+--
+2.37.3
+
diff --git a/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch b/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch
index f52f71b632..1a2c1a91cf 100644
--- a/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch
+++ b/meta-oe/recipes-multimedia/cdrkit/files/0001-genisoimage-Fix-fprintf-format-errors.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] genisoimage: Fix fprintf format errors
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
genisoimage/genisoimage.c | 4 ++--
genisoimage/tree.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-multimedia/cdrkit/files/0001-install-netscsid-to-bin-for-nativesdk.patch b/meta-oe/recipes-multimedia/cdrkit/files/0001-install-netscsid-to-bin-for-nativesdk.patch
new file mode 100644
index 0000000000..fdf1563b38
--- /dev/null
+++ b/meta-oe/recipes-multimedia/cdrkit/files/0001-install-netscsid-to-bin-for-nativesdk.patch
@@ -0,0 +1,28 @@
+From 6b698b7c1045d279fe24818d45c67d9884d5fd81 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 7 May 2021 15:10:04 +0800
+Subject: [PATCH] install netscsid to bin for nativesdk
+
+For Yocto, the nativesdk does not have sbin dir, use bin to relpace
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ netscsid/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/netscsid/CMakeLists.txt b/netscsid/CMakeLists.txt
+index f6bddf1..cf23312 100644
+--- a/netscsid/CMakeLists.txt
++++ b/netscsid/CMakeLists.txt
+@@ -9,5 +9,5 @@ ADD_EXECUTABLE (netscsid netscsid.c)
+ #SET_SOURCE_FILES_PROPERTIES(netscsid.c )
+ TARGET_LINK_LIBRARIES(netscsid ${EXTRA_LIBS} )
+ #SET_TARGET_PROPERTIES(netscsid PROPERTIES SKIP_BUILD_RPATH TRUE)
+-INSTALL(TARGETS netscsid DESTINATION sbin)
++INSTALL(TARGETS netscsid DESTINATION bin)
+
+--
+2.27.0
+
diff --git a/meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch b/meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch
index 547a21c67f..47c12928b7 100644
--- a/meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch
+++ b/meta-oe/recipes-multimedia/cdrkit/files/0002-Do-not-use-rcmd-on-build-with-musl.patch
@@ -8,6 +8,8 @@ on musl.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
include/xconfig.h.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-multimedia/faad2/faad2_2.11.1.bb b/meta-oe/recipes-multimedia/faad2/faad2_2.11.1.bb
new file mode 100644
index 0000000000..bec9b75ebd
--- /dev/null
+++ b/meta-oe/recipes-multimedia/faad2/faad2_2.11.1.bb
@@ -0,0 +1,17 @@
+SUMMARY = "An open source MPEG-4 and MPEG-2 AAC decoding library"
+HOMEPAGE = "http://www.audiocoding.com/faad2.html"
+SECTION = "libs"
+LICENSE = "GPL-2.0-only"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=381c8cbe277a7bc1ee2ae6083a04c958"
+
+LICENSE_FLAGS = "commercial"
+
+PV .= "+git"
+
+SRC_URI = "git://github.com/knik0/faad2.git;branch=master;protocol=https"
+SRCREV = "216f00e8ddba6f2c64caf481a04f1ddd78b93e78"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb b/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb
deleted file mode 100644
index 8b3aafc3b5..0000000000
--- a/meta-oe/recipes-multimedia/faad2/faad2_2.8.8.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "An open source MPEG-4 and MPEG-2 AAC decoding library"
-HOMEPAGE = "http://www.audiocoding.com/faad2.html"
-SECTION = "libs"
-LICENSE = "GPLv2"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=381c8cbe277a7bc1ee2ae6083a04c958"
-
-LICENSE_FLAGS = "commercial"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-2.8.0/${BP}.tar.gz"
-SRC_URI[md5sum] = "28f6116efdbe9378269f8a6221767d1f"
-SRC_URI[sha256sum] = "985c3fadb9789d2815e50f4ff714511c79c2710ac27a4aaaf5c0c2662141426d"
-
-inherit autotools lib_package
diff --git a/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch b/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch
index 09edecc964..c8b546b179 100644
--- a/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch
+++ b/meta-oe/recipes-multimedia/id3lib/id3lib/acdefine.patch
@@ -1,6 +1,6 @@
Add a description to the AC_DEFINE statements so that it appears in config.h and silences a fatal warning.
-Upstream-Status:Pending
+Upstream-Status: Pending
Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
---
configure.in | 6 +++---
diff --git a/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb b/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
index 21fa0bda1e..379c7e1b63 100644
--- a/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
+++ b/meta-oe/recipes-multimedia/id3lib/id3lib_3.8.3.bb
@@ -1,10 +1,9 @@
SUMMARY = "Library for interacting with ID3 tags"
SECTION = "libs/multimedia"
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
DEPENDS = "zlib"
-PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/id3lib/id3lib-${PV}.tar.gz;name=archive \
${DEBIAN_MIRROR}/main/i/id3lib3.8.3/id3lib3.8.3_3.8.3-16.2.debian.tar.xz;name=patch;subdir=${BP} \
diff --git a/meta-oe/recipes-multimedia/jack/a2jmidid/ppc_musl_ucontext.patch b/meta-oe/recipes-multimedia/jack/a2jmidid/ppc_musl_ucontext.patch
new file mode 100644
index 0000000000..1fa64812ef
--- /dev/null
+++ b/meta-oe/recipes-multimedia/jack/a2jmidid/ppc_musl_ucontext.patch
@@ -0,0 +1,19 @@
+Add musl/ppc mcontext differences specific checks to choose
+correct gregs and context structure definitions
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/sigsegv.c
++++ b/sigsegv.c
+@@ -95,7 +95,11 @@ static void signal_segv(int signum, sigi
+ for(i = 0; i < NGREG; i++)
+ a2j_error("reg[%02d] = 0x" REGFORMAT, i,
+ #if defined(__powerpc__) && !defined(__powerpc64__)
++# if defined(__GLIBC__)
+ ucontext->uc_mcontext.uc_regs[i]
++# else
++ ucontext->uc_regs->gregs[i]
++# endif
+ #elif defined(__powerpc64__)
+ ucontext->uc_mcontext.gp_regs[i]
+ #elif defined(__sparc__) && defined(__arch64__)
diff --git a/meta-oe/recipes-multimedia/jack/a2jmidid_9.bb b/meta-oe/recipes-multimedia/jack/a2jmidid_9.bb
index 5fffe77c2d..bfdf26ed46 100644
--- a/meta-oe/recipes-multimedia/jack/a2jmidid_9.bb
+++ b/meta-oe/recipes-multimedia/jack/a2jmidid_9.bb
@@ -1,18 +1,19 @@
SUMMARY = "a2jmidid is daemon for exposing ALSA sequencer applications as JACK MIDI"
SECTION = "libs/multimedia"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = " \
file://LICENSE;md5=751419260aa954499f7abaabaa882bbe \
"
DEPENDS = "alsa-lib jack dbus"
-DEPENDS_append_libc-musl = " libexecinfo"
+DEPENDS:append:libc-musl = " libexecinfo"
SRCREV = "de37569c926c5886768f892c019e3f0468615038"
SRC_URI = " \
- git://github.com/linuxaudio/a2jmidid;protocol=https \
+ git://github.com/linuxaudio/a2jmidid;protocol=https;branch=master \
file://riscv_ucontext.patch \
+ file://ppc_musl_ucontext.patch \
"
S = "${WORKDIR}/git"
@@ -21,8 +22,8 @@ inherit meson pkgconfig
EXTRA_OEMESON = "-Db_lto=false"
-LDFLAGS_append_libc-musl = " -lexecinfo"
+LDFLAGS:append:libc-musl = " -lexecinfo"
export LINKFLAGS="${LDFLAGS}"
-FILES_${PN} += "${datadir}/dbus-1/services"
+FILES:${PN} += "${datadir}/dbus-1/services"
diff --git a/meta-oe/recipes-multimedia/jack/jack/0001-Conceal-imp-warnings-in-Python3.patch b/meta-oe/recipes-multimedia/jack/jack/0001-Conceal-imp-warnings-in-Python3.patch
new file mode 100644
index 0000000000..8411d12caf
--- /dev/null
+++ b/meta-oe/recipes-multimedia/jack/jack/0001-Conceal-imp-warnings-in-Python3.patch
@@ -0,0 +1,34 @@
+From f864a2aa29377a77c3aef61ce917cc03d099c430 Mon Sep 17 00:00:00 2001
+From: Thomas Nagy <tnagy@waf.io>
+Date: Wed, 14 Aug 2019 22:05:45 +0200
+Subject: [PATCH] Conceal imp warnings in Python3
+
+---
+Upstream-Status: Backport [from waflib not jack: https://gitlab.com/ita1024/waf/-/commit/d2060dfd8af4edb5824153ff24e207b39ecd67a2.patch]
+
+ waflib/Context.py | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/waflib/Context.py b/waflib/Context.py
+index 761b521f..38ab03f1 100644
+--- a/waflib/Context.py
++++ b/waflib/Context.py
+@@ -6,10 +6,17 @@
+ Classes and functions enabling the command system
+ """
+
+-import os, re, imp, sys
++import os, re, sys
+ from waflib import Utils, Errors, Logs
+ import waflib.Node
+
++if sys.hexversion > 0x3040000:
++ import types
++ class imp(object):
++ new_module = lambda x: types.ModuleType(x)
++else:
++ import imp
++
+ # the following 3 constants are updated on each new release (do not touch)
+ HEXVERSION=0x2000c00
+ """Constant updated on new releases"""
diff --git a/meta-oe/recipes-multimedia/jack/jack/0001-example-clients-Use-c-compiler-for-jack_simdtests.patch b/meta-oe/recipes-multimedia/jack/jack/0001-example-clients-Use-c-compiler-for-jack_simdtests.patch
deleted file mode 100644
index 1bdc5adbc1..0000000000
--- a/meta-oe/recipes-multimedia/jack/jack/0001-example-clients-Use-c-compiler-for-jack_simdtests.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From f8cb818ca96fc2a45a04448a51f25a277ec183db Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 15 Jan 2020 20:21:58 -0800
-Subject: [PATCH] example-clients: Use c++ compiler for jack_simdtests
-
-It uses c++ sources and runtime therefore its best to use c++ compiler
-to build it so it can find the correct runtime, cross compiling with
-clang fails
-
-x86_64-yoe-linux-ld: example-clients/simdtests.cpp.28.o: undefined reference to symbol '__cxa_call_unexpected@@CXXABI_1.3'
-
-Upstream-Status: Submitted [https://github.com/jackaudio/jack2/pull/536]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- example-clients/wscript | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
---- a/example-clients/wscript
-+++ b/example-clients/wscript
-@@ -49,10 +49,15 @@ def build(bld):
- else:
- use = ['clientlib']
-
-+ if example_program == 'jack_simdtests':
-+ ftrs = 'cxx cxxprogram'
-+ else:
-+ ftrs = 'c cprogram'
-+
- if bld.env['IS_MACOSX']:
-- prog = bld(features='c cprogram', framework = ['Foundation'])
-+ prog = bld(features = ftrs, framework = ['Foundation'])
- else:
-- prog = bld(features='c cprogram')
-+ prog = bld(features = ftrs)
- prog.includes = os_incdir + ['../common/jack', '../common']
- prog.source = example_program_source
- prog.use = use
diff --git a/meta-oe/recipes-multimedia/jack/jack/0002-Fix-all-DeprecationWarning-invalid-escape-sequence.patch b/meta-oe/recipes-multimedia/jack/jack/0002-Fix-all-DeprecationWarning-invalid-escape-sequence.patch
new file mode 100644
index 0000000000..cbced56a67
--- /dev/null
+++ b/meta-oe/recipes-multimedia/jack/jack/0002-Fix-all-DeprecationWarning-invalid-escape-sequence.patch
@@ -0,0 +1,229 @@
+From bcba27168d99a3919b730e6a533cf79ab3b24eee Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micka=C3=ABl=20Schoentgen?= <contact@tiger-222.fr>
+Date: Sat, 5 Jan 2019 12:02:42 +0100
+Subject: [PATCH] Fix all DeprecationWarning: invalid escape sequence
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Mickaël Schoentgen <contact@tiger-222.fr>
+---
+Upstream-Status: Backport [from waflib not jack: https://gitlab.com/ita1024/waf/-/commit/412a9b819e86a0061f990c7245f0f5db76d0eda3]
+
+ waflib/Build.py | 2 +-
+ waflib/ConfigSet.py | 2 +-
+ waflib/Context.py | 2 +-
+ waflib/Task.py | 2 +-
+ waflib/TaskGen.py | 2 +-
+ waflib/Tools/c_config.py | 2 +-
+ waflib/Tools/c_preproc.py | 6 +++---
+ waflib/Tools/msvc.py | 16 ++++++++--------
+ waflib/Utils.py | 2 +-
+ waflib/ansiterm.py | 2 +-
+ 10 files changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/waflib/Build.py b/waflib/Build.py
+index c9661df1..9e733c9e 100644
+--- a/waflib/Build.py
++++ b/waflib/Build.py
+@@ -104,7 +104,7 @@ class BuildContext(Context.Context):
+ """Amount of jobs to run in parallel"""
+
+ self.targets = Options.options.targets
+- """List of targets to build (default: \*)"""
++ """List of targets to build (default: \\*)"""
+
+ self.keep = Options.options.keep
+ """Whether the build should continue past errors"""
+diff --git a/waflib/ConfigSet.py b/waflib/ConfigSet.py
+index 84736c9c..901fba6c 100644
+--- a/waflib/ConfigSet.py
++++ b/waflib/ConfigSet.py
+@@ -11,7 +11,7 @@ The values put in :py:class:`ConfigSet` must be serializable (dicts, lists, stri
+
+ import copy, re, os
+ from waflib import Logs, Utils
+-re_imp = re.compile('^(#)*?([^#=]*?)\ =\ (.*?)$', re.M)
++re_imp = re.compile(r'^(#)*?([^#=]*?)\ =\ (.*?)$', re.M)
+
+ class ConfigSet(object):
+ """
+diff --git a/waflib/Context.py b/waflib/Context.py
+index 38ab03f1..5799a60a 100644
+--- a/waflib/Context.py
++++ b/waflib/Context.py
+@@ -614,7 +614,7 @@ class Context(ctx):
+ Logs.pprint(color, msg)
+
+ def load_special_tools(self, var, ban=[]):
+- """
++ r"""
+ Loads third-party extensions modules for certain programming languages
+ by trying to list certain files in the extras/ directory. This method
+ is typically called once for a programming language group, see for
+diff --git a/waflib/Task.py b/waflib/Task.py
+index 6aebc607..0c5cb994 100644
+--- a/waflib/Task.py
++++ b/waflib/Task.py
+@@ -1044,7 +1044,7 @@ def funex(c):
+ exec(c, dc)
+ return dc['f']
+
+-re_cond = re.compile('(?P<var>\w+)|(?P<or>\|)|(?P<and>&)')
++re_cond = re.compile(r'(?P<var>\w+)|(?P<or>\|)|(?P<and>&)')
+ re_novar = re.compile(r'^(SRC|TGT)\W+.*?$')
+ reg_act = re.compile(r'(?P<backslash>\\)|(?P<dollar>\$\$)|(?P<subst>\$\{(?P<var>\w+)(?P<code>.*?)\})', re.M)
+ def compile_fun_shell(line):
+diff --git a/waflib/TaskGen.py b/waflib/TaskGen.py
+index a74e6431..3776bac1 100644
+--- a/waflib/TaskGen.py
++++ b/waflib/TaskGen.py
+@@ -727,7 +727,7 @@ def sequence_order(self):
+ self.bld.prev = self
+
+
+-re_m4 = re.compile('@(\w+)@', re.M)
++re_m4 = re.compile(r'@(\w+)@', re.M)
+
+ class subst_pc(Task.Task):
+ """
+diff --git a/waflib/Tools/c_config.py b/waflib/Tools/c_config.py
+index d2b3c0d8..60cc0ecd 100644
+--- a/waflib/Tools/c_config.py
++++ b/waflib/Tools/c_config.py
+@@ -239,7 +239,7 @@ def validate_cfg(self, kw):
+
+ @conf
+ def exec_cfg(self, kw):
+- """
++ r"""
+ Executes ``pkg-config`` or other ``-config`` applications to collect configuration flags:
+
+ * if atleast_pkgconfig_version is given, check that pkg-config has the version n and return
+diff --git a/waflib/Tools/c_preproc.py b/waflib/Tools/c_preproc.py
+index 7e04b4a7..68e5f5ae 100644
+--- a/waflib/Tools/c_preproc.py
++++ b/waflib/Tools/c_preproc.py
+@@ -75,13 +75,13 @@ re_lines = re.compile(
+ re.IGNORECASE | re.MULTILINE)
+ """Match #include lines"""
+
+-re_mac = re.compile("^[a-zA-Z_]\w*")
++re_mac = re.compile(r"^[a-zA-Z_]\w*")
+ """Match macro definitions"""
+
+ re_fun = re.compile('^[a-zA-Z_][a-zA-Z0-9_]*[(]')
+ """Match macro functions"""
+
+-re_pragma_once = re.compile('^\s*once\s*', re.IGNORECASE)
++re_pragma_once = re.compile(r'^\s*once\s*', re.IGNORECASE)
+ """Match #pragma once statements"""
+
+ re_nl = re.compile('\\\\\r*\n', re.MULTILINE)
+@@ -660,7 +660,7 @@ def extract_macro(txt):
+ # empty define, assign an empty token
+ return (v, [[], [('T','')]])
+
+-re_include = re.compile('^\s*(<(?:.*)>|"(?:.*)")')
++re_include = re.compile(r'^\s*(<(?:.*)>|"(?:.*)")')
+ def extract_include(txt, defs):
+ """
+ Process a line in the form::
+diff --git a/waflib/Tools/msvc.py b/waflib/Tools/msvc.py
+index 17b347d4..ff58449d 100644
+--- a/waflib/Tools/msvc.py
++++ b/waflib/Tools/msvc.py
+@@ -281,7 +281,7 @@ def gather_wince_supported_platforms():
+
+ def gather_msvc_detected_versions():
+ #Detected MSVC versions!
+- version_pattern = re.compile('^(\d\d?\.\d\d?)(Exp)?$')
++ version_pattern = re.compile(r'^(\d\d?\.\d\d?)(Exp)?$')
+ detected_versions = []
+ for vcver,vcvar in (('VCExpress','Exp'), ('VisualStudio','')):
+ prefix = 'SOFTWARE\\Wow6432node\\Microsoft\\' + vcver
+@@ -367,7 +367,7 @@ def gather_wsdk_versions(conf, versions):
+ :param versions: list to modify
+ :type versions: list
+ """
+- version_pattern = re.compile('^v..?.?\...?.?')
++ version_pattern = re.compile(r'^v..?.?\...?.?')
+ try:
+ all_versions = Utils.winreg.OpenKey(Utils.winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\\Wow6432node\\Microsoft\\Microsoft SDKs\\Windows')
+ except OSError:
+@@ -525,7 +525,7 @@ def gather_icl_versions(conf, versions):
+ :param versions: list to modify
+ :type versions: list
+ """
+- version_pattern = re.compile('^...?.?\....?.?')
++ version_pattern = re.compile(r'^...?.?\....?.?')
+ try:
+ all_versions = Utils.winreg.OpenKey(Utils.winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\\Wow6432node\\Intel\\Compilers\\C++')
+ except OSError:
+@@ -579,7 +579,7 @@ def gather_intel_composer_versions(conf, versions):
+ :param versions: list to modify
+ :type versions: list
+ """
+- version_pattern = re.compile('^...?.?\...?.?.?')
++ version_pattern = re.compile(r'^...?.?\...?.?.?')
+ try:
+ all_versions = Utils.winreg.OpenKey(Utils.winreg.HKEY_LOCAL_MACHINE, 'SOFTWARE\\Wow6432node\\Intel\\Suites')
+ except OSError:
+@@ -683,7 +683,7 @@ def find_lt_names_msvc(self, libname, is_static=False):
+ if not is_static and ltdict.get('library_names', ''):
+ dllnames=ltdict['library_names'].split()
+ dll=dllnames[0].lower()
+- dll=re.sub('\.dll$', '', dll)
++ dll=re.sub(r'\.dll$', '', dll)
+ return (lt_libdir, dll, False)
+ elif ltdict.get('old_library', ''):
+ olib=ltdict['old_library']
+@@ -700,7 +700,7 @@ def find_lt_names_msvc(self, libname, is_static=False):
+ @conf
+ def libname_msvc(self, libname, is_static=False):
+ lib = libname.lower()
+- lib = re.sub('\.lib$','',lib)
++ lib = re.sub(r'\.lib$','',lib)
+
+ if lib in g_msvc_systemlibs:
+ return lib
+@@ -747,11 +747,11 @@ def libname_msvc(self, libname, is_static=False):
+ for libn in libnames:
+ if os.path.exists(os.path.join(path, libn)):
+ Logs.debug('msvc: lib found: %s', os.path.join(path,libn))
+- return re.sub('\.lib$', '',libn)
++ return re.sub(r'\.lib$', '',libn)
+
+ #if no lib can be found, just return the libname as msvc expects it
+ self.fatal('The library %r could not be found' % libname)
+- return re.sub('\.lib$', '', libname)
++ return re.sub(r'\.lib$', '', libname)
+
+ @conf
+ def check_lib_msvc(self, libname, is_static=False, uselib_store=None):
+diff --git a/waflib/Utils.py b/waflib/Utils.py
+index a0cc2a09..da1b73e7 100644
+--- a/waflib/Utils.py
++++ b/waflib/Utils.py
+@@ -730,7 +730,7 @@ def unversioned_sys_platform():
+ if s == 'cli' and os.name == 'nt':
+ # ironpython is only on windows as far as we know
+ return 'win32'
+- return re.split('\d+$', s)[0]
++ return re.split(r'\d+$', s)[0]
+
+ def nada(*k, **kw):
+ """
+diff --git a/waflib/ansiterm.py b/waflib/ansiterm.py
+index 0d20c637..027f0ad6 100644
+--- a/waflib/ansiterm.py
++++ b/waflib/ansiterm.py
+@@ -264,7 +264,7 @@ else:
+ 'u': pop_cursor,
+ }
+ # Match either the escape sequence or text not containing escape sequence
+- ansi_tokens = re.compile('(?:\x1b\[([0-9?;]*)([a-zA-Z])|([^\x1b]+))')
++ ansi_tokens = re.compile(r'(?:\x1b\[([0-9?;]*)([a-zA-Z])|([^\x1b]+))')
+ def write(self, text):
+ try:
+ wlock.acquire()
diff --git a/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb b/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb
deleted file mode 100644
index d5288c7b71..0000000000
--- a/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \
-server for multi-processor machines. It is a new implementation of the \
-JACK server core features that aims in removing some limitations of \
-the JACK1 design. The activation system has been changed for a data \
-flow model and lock-free programming techniques for graph access have \
-been used to have a more dynamic and robust system."
-SECTION = "libs/multimedia"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = " \
- file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \
- file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \
-"
-
-DEPENDS = "libsamplerate0 libsndfile1 readline"
-
-SRC_URI = "git://github.com/jackaudio/jack2.git \
- file://0001-example-clients-Use-c-compiler-for-jack_simdtests.patch \
- "
-SRCREV = "9e23888b8def6527774889cf4ef6348fb78c7154"
-
-S = "${WORKDIR}/git"
-
-inherit waf pkgconfig
-
-PACKAGECONFIG ??= "alsa"
-PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib"
-# --dbus only stops building jackd -> add --classic
-PACKAGECONFIG[dbus] = "--dbus --classic,,dbus"
-PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus"
-
-# portaudio is for windows builds only
-EXTRA_OECONF = "--portaudio=no"
-
-do_install_append() {
- if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then
- rm -f ${D}${bindir}/jack_control
- fi
-}
-
-PACKAGES =+ "libjack jack-server jack-utils"
-
-RDEPENDS_jack-dev_remove = "${PN} (= ${EXTENDPKGV})"
-
-FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
-FILES_jack-server = " \
- ${datadir}/dbus-1/services \
- ${bindir}/jackdbus \
- ${bindir}/jackd \
-"
-FILES_jack-utils = "${bindir}/*"
-
-FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*"
diff --git a/meta-oe/recipes-multimedia/jack/jack_1.9.22.bb b/meta-oe/recipes-multimedia/jack/jack_1.9.22.bb
new file mode 100644
index 0000000000..bb844e4ff1
--- /dev/null
+++ b/meta-oe/recipes-multimedia/jack/jack_1.9.22.bb
@@ -0,0 +1,59 @@
+DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \
+server for multi-processor machines. It is a new implementation of the \
+JACK server core features that aims in removing some limitations of \
+the JACK1 design. The activation system has been changed for a data \
+flow model and lock-free programming techniques for graph access have \
+been used to have a more dynamic and robust system."
+SECTION = "libs/multimedia"
+
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = " \
+ file://common/JackControlAPI.cpp;beginline=5;endline=19;md5=9d1921199e203163f160313243f853d6 \
+ file://common/JackControlAPI.h;beginline=4;endline=18;md5=9d1921199e203163f160313243f853d6 \
+ file://common/jack/jack.h;beginline=2;endline=17;md5=0a668d22ce661159cad28d1c3b8e66af \
+ file://common/JackServer.h;beginline=2;endline=17;md5=9bf0870727804a994ee2d19fd368d940 \
+"
+
+DEPENDS = "libsamplerate0 libsndfile1"
+
+SRC_URI = "git://github.com/jackaudio/jack2.git;branch=master;protocol=https \
+ file://0001-Conceal-imp-warnings-in-Python3.patch \
+ file://0002-Fix-all-DeprecationWarning-invalid-escape-sequence.patch \
+"
+SRCREV = "4f58969432339a250ce87fe855fb962c67d00ddb"
+
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit waf pkgconfig
+
+PACKAGECONFIG ??= "alsa"
+PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib"
+# --dbus only stops building jackd -> add --classic
+PACKAGECONFIG[dbus] = "--dbus --classic,,dbus"
+PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus"
+
+# portaudio is for windows builds only
+EXTRA_OECONF = "--portaudio=no"
+
+do_install:append() {
+ if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then
+ rm -f ${D}${bindir}/jack_control
+ fi
+}
+
+PACKAGES =+ "libjack jack-server jack-utils"
+
+RDEPENDS:jack-dev:remove = "${PN} (= ${EXTENDPKGV})"
+
+FILES:libjack = "${libdir}/*.so.* ${libdir}/jack/*.so"
+FILES:jack-server = " \
+ ${datadir}/dbus-1/services \
+ ${bindir}/jackdbus \
+ ${bindir}/jackd \
+"
+FILES:jack-utils = "${bindir}/*"
+
+FILES:${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*"
+
diff --git a/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb b/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb
deleted file mode 100644
index 3454a5c270..0000000000
--- a/meta-oe/recipes-multimedia/libass/libass_0.14.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. It is mostly compatible with VSFilter."
-HOMEPAGE = "https://github.com/libass/libass"
-SECTION = "libs/multimedia"
-
-LICENSE = "ISC"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a42532a0684420bdb15556c3cdd49a75"
-
-DEPENDS = "enca fontconfig freetype libpng fribidi"
-
-SRC_URI = "git://github.com/libass/libass.git"
-SRCREV = "73284b676b12b47e17af2ef1b430527299e10c17"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
-
-EXTRA_OECONF = " \
- --enable-fontconfig \
-"
-
-# Disable compiling with ASM for x86 to avoid textrel
-EXTRA_OECONF_append_x86 = " --disable-asm"
-
-PACKAGES =+ "${PN}-tests"
-
-FILES_${PN}-tests = " \
- ${libdir}/test/test \
-"
diff --git a/meta-oe/recipes-multimedia/libass/libass_0.17.1.bb b/meta-oe/recipes-multimedia/libass/libass_0.17.1.bb
new file mode 100644
index 0000000000..800ad1b15e
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libass/libass_0.17.1.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alpha/Substation Alpha) subtitle format. It is mostly compatible with VSFilter."
+HOMEPAGE = "https://github.com/libass/libass"
+SECTION = "libs/multimedia"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a42532a0684420bdb15556c3cdd49a75"
+
+DEPENDS = "fontconfig freetype fribidi harfbuzz"
+
+SRC_URI = "git://github.com/libass/libass.git;protocol=https;branch=0.17.1-branch"
+SRCREV = "e8ad72accd3a84268275a9385beb701c9284e5b3"
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG[asm] = "--enable-asm,--disable-asm,nasm-native"
+# use larger tiles in the rasterizer (better performance, slightly worse quality)
+PACKAGECONFIG[largetiles] = "--enable-large-tiles,--disable-large-tiles"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG:append:x86-64 = " asm"
+
+PACKAGES =+ "${PN}-tests"
+
+FILES:${PN}-tests = " \
+ ${libdir}/test/test \
+"
diff --git a/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb b/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb
deleted file mode 100644
index 0cae7c54bd..0000000000
--- a/meta-oe/recipes-multimedia/libburn/libburn_1.5.4.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "Library for reading, mastering and writing optical discs"
-HOMEPAGE = "http://libburnia-project.org/"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9ac2e7cff1ddaf48b6eab6028f23ef88"
-
-SRC_URI = "http://files.libburnia-project.org/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "454d03ce31addb5b7dca62d213c9660e"
-SRC_URI[sha256sum] = "525059d10759c5cb8148eebc863bb510e311c663603da7bd2d21c46b7cf63b54"
-
-inherit autotools pkgconfig
diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb b/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb
deleted file mode 100644
index 82a16cc94a..0000000000
--- a/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+0.93+1.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "library to read digital audio CDs with error correction"
-HOMEPAGE = "http://www.gnu.org/software/libcdio/"
-SECTION = "libs"
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-DEPENDS = "libcdio"
-
-SRC_URI = "${GNU_MIRROR}/libcdio/${BP}.tar.bz2"
-SRC_URI[md5sum] = "0255aa50e660db7f2c39658b9c565814"
-SRC_URI[sha256sum] = "ec1d9b1d5a28cc042f2cb33a7cc0a2b5ce5525f102bc4c15db1fac322559a493"
-
-inherit autotools pkgconfig
-
-PACKAGES += "${PN}-utils"
-
-FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
-FILES_${PN}-utils = "${bindir}/*"
-
-python libcdio_split_packages() {
- libdir = d.expand('${libdir}')
- do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
-}
-
-PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+2.0.1.bb b/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+2.0.1.bb
new file mode 100644
index 0000000000..53404e54a8
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libcdio/libcdio-paranoia_10.2+2.0.1.bb
@@ -0,0 +1,24 @@
+SUMMARY = "library to read digital audio CDs with error correction"
+HOMEPAGE = "http://www.gnu.org/software/libcdio/"
+BUGTRUCKER = "https://github.com/rocky/libcdio-paranoia/issues/"
+SECTION = "libs"
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "libcdio"
+
+SRC_URI = "${GNU_MIRROR}/libcdio/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "33b1cf305ccfbfd03b43936975615000ce538b119989c4bec469577570b60e8a"
+
+inherit autotools pkgconfig
+
+PACKAGES += "${PN}-utils"
+
+FILES:${PN} = "${libdir}/${BPN}${SOLIB}"
+FILES:${PN}-utils = "${bindir}/*"
+
+python libcdio_split_packages() {
+ libdir = d.expand('${libdir}')
+ do_split_packages(d, libdir, r'^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
+}
+
+PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio/0001-Fix-a-few-Werror-format-security-errors-with-mvprint.patch b/meta-oe/recipes-multimedia/libcdio/libcdio/0001-Fix-a-few-Werror-format-security-errors-with-mvprint.patch
new file mode 100644
index 0000000000..09e7dc3dfb
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libcdio/libcdio/0001-Fix-a-few-Werror-format-security-errors-with-mvprint.patch
@@ -0,0 +1,40 @@
+From e5e54be286bf6d8336b747503c803750bc674c57 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Oct 2021 01:28:18 -0700
+Subject: [PATCH] Fix a few -Werror=format-security errors with mvprintw()
+
+In all these places a non-constant is used as a format string which
+compiler complains about. Fix by using "%s" as format.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/cdda-player.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/cdda-player.c b/src/cdda-player.c
+index 69eddee..8834d60 100644
+--- a/src/cdda-player.c
++++ b/src/cdda-player.c
+@@ -298,7 +298,7 @@ action(const char *psz_action)
+ psz_action);
+ else
+ snprintf(psz_action_line, sizeof(psz_action_line), "%s", "" );
+- mvprintw(LINE_ACTION, 0, psz_action_line);
++ mvprintw(LINE_ACTION, 0, "%s", psz_action_line);
+ clrtoeol();
+ refresh();
+ }
+@@ -1029,10 +1029,10 @@ display_tracks(void)
+ }
+ if (sub.track == i) {
+ attron(A_STANDOUT);
+- mvprintw(i_line++, 0, line);
++ mvprintw(i_line++, 0, "%s", line);
+ attroff(A_STANDOUT);
+ } else
+- mvprintw(i_line++, 0, line);
++ mvprintw(i_line++, 0, "%s", line);
+ clrtoeol();
+ }
+ }
diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch b/meta-oe/recipes-multimedia/libcdio/libcdio/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch
new file mode 100644
index 0000000000..0b25dff75e
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libcdio/libcdio/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch
@@ -0,0 +1,43 @@
+From 08c1768aaeea86c522c0ef1705b9b6d434ebd3ae Mon Sep 17 00:00:00 2001
+From: Chris Lamb <chris@chris-lamb.co.uk>
+Date: Fri, 28 Jul 2017 11:49:13 +0100
+Subject: [PATCH] Drop LIBCDIO_SOURCE_PATH by dropping STRIP_FROM_PATH Doxygen
+ setup; it's not used as FULL_PATH_NAMES = no
+
+Source: https://sources.debian.org/data/main/libc/libcdio/2.1.0-4/debian/patches/Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 5 -----
+ doc/doxygen/Doxyfile.in | 2 +-
+ 2 files changed, 1 insertion(+), 6 deletions(-)
+
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -557,11 +557,6 @@ AC_SUBST(HAVE_SOLARIS_CDROM)
+ AC_SUBST(HAVE_WIN32_CDROM)
+ AC_SUBST(HAVE_OS2_CDROM)
+
+-LIBCDIO_SOURCE_PATH="`pwd`"
+-AC_DEFINE_UNQUOTED(LIBCDIO_SOURCE_PATH, "$LIBCDIO_SOURCE_PATH",
+- [Full path to libcdio top_sourcedir.])
+-AC_SUBST(LIBCDIO_SOURCE_PATH)
+-
+ AC_CHECK_FUNCS( [chdir drand48 fseeko fseeko64 ftruncate geteuid getgid \
+ getuid getpwuid gettimeofday lseek64 lstat memcpy memset mkstemp rand \
+ seteuid setegid snprintf setenv strndup unsetenv tzset sleep \
+Index: b/doc/doxygen/Doxyfile.in
+===================================================================
+--- a/doc/doxygen/Doxyfile.in
++++ b/doc/doxygen/Doxyfile.in
+@@ -138,7 +138,7 @@ FULL_PATH_NAMES = NO
+ # If left blank the directory from which doxygen is run is used as the
+ # path to strip.
+
+-STRIP_FROM_PATH = @LIBCDIO_SOURCE_PATH@
++STRIP_FROM_PATH =
+
+ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+ # the path mentioned in the documentation of a class, which tells
diff --git a/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb b/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
index e282e89b7f..8562462cba 100644
--- a/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
+++ b/meta-oe/recipes-multimedia/libcdio/libcdio_2.1.0.bb
@@ -1,10 +1,13 @@
SUMMARY = "The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access."
HOMEPAGE = "http://www.gnu.org/software/libcdio/"
SECTION = "libs"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2"
+SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.bz2 \
+ file://0001-Fix-a-few-Werror-format-security-errors-with-mvprint.patch \
+ file://Drop-LIBCDIO_SOURCE_PATH-by-dropping-STRIP_FROM_PATH.patch \
+ "
SRC_URI[md5sum] = "aa7629e8f73662a762f64c444b901055"
SRC_URI[sha256sum] = "8550e9589dbd594bfac93b81ecf129b1dc9d0d51e90f9696f1b2f9b2af32712b"
@@ -16,14 +19,17 @@ PACKAGECONFIG[cdda-player] = "--with-cdda-player,--without-cdda-player,ncurses"
PACKAGECONFIG[cddb] = "--enable-cddb,--disable-cddb,libcddb"
PACKAGECONFIG[vcd-info] = "--enable-vcd-info,--disable-vcd-info,vcdimager"
+# add -D_LARGEFILE64_SOURCE for 32bit targets
+CFLAGS += "${@['-D_LARGEFILE64_SOURCE',''][d.getVar('SITEINFO_BITS') != '32']}"
+
PACKAGES += "${PN}-utils"
-FILES_${PN} = "${libdir}/${BPN}${SOLIB}"
-FILES_${PN}-utils = "${bindir}/*"
+FILES:${PN} = "${libdir}/${BPN}${SOLIB}"
+FILES:${PN}-utils = "${bindir}/*"
python libcdio_split_packages() {
libdir = d.expand('${libdir}')
- do_split_packages(d, libdir, '^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
+ do_split_packages(d, libdir, r'^lib(.*)\.so\..*', 'lib%s', 'libcdio %s library', extra_depends='', allow_links=True)
}
PACKAGESPLITFUNCS =+ "libcdio_split_packages"
diff --git a/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb b/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb
deleted file mode 100644
index 65f5b6adf4..0000000000
--- a/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "DVD access multimeda library"
-SECTION = "libs/multimedia"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
-
-SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2"
-SRC_URI[md5sum] = "09c7423568fb679279fd2a2bc6b10b6e"
-SRC_URI[sha256sum] = "3e357309a17c5be3731385b9eabda6b7e3fa010f46022a06f104553bf8e21796"
-
-inherit autotools lib_package binconfig pkgconfig
-
-CONFIGUREOPTS_remove = "--disable-silent-rules"
diff --git a/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb b/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb
new file mode 100644
index 0000000000..9090cabb12
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libdvdread/libdvdread_6.1.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "DVD access multimeda library"
+SECTION = "libs/multimedia"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=64e753fa7d1ca31632bc383da3b57c27"
+
+SRC_URI = "http://download.videolan.org/pub/videolan/libdvdread/${PV}/libdvdread-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369"
+
+inherit autotools lib_package binconfig pkgconfig
+
+CONFIGUREOPTS:remove = "--disable-silent-rules"
diff --git a/meta-oe/recipes-multimedia/libid3tag/libid3tag/0001-Fix-gperf-3.1-incompatibility.patch b/meta-oe/recipes-multimedia/libid3tag/libid3tag/0001-Fix-gperf-3.1-incompatibility.patch
new file mode 100644
index 0000000000..54f49f6f23
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libid3tag/libid3tag/0001-Fix-gperf-3.1-incompatibility.patch
@@ -0,0 +1,40 @@
+From 91fcf66b9182c75cd2b96d88991d5a1c6307d4b4 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 2 Aug 2017 16:27:52 +0300
+Subject: [PATCH] Fix gperf 3.1 incompatibility.
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ compat.h | 2 +-
+ frametype.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/compat.h b/compat.h
+index 8af71ec..b3d80d9 100644
+--- a/compat.h
++++ b/compat.h
+@@ -34,7 +34,7 @@ struct id3_compat {
+ };
+
+ struct id3_compat const *id3_compat_lookup(register char const *,
+- register unsigned int);
++ register size_t);
+
+ int id3_compat_fixup(struct id3_tag *);
+
+diff --git a/frametype.h b/frametype.h
+index dd064b2..b5b7593 100644
+--- a/frametype.h
++++ b/frametype.h
+@@ -37,6 +37,6 @@ extern struct id3_frametype const id3_frametype_unknown;
+ extern struct id3_frametype const id3_frametype_obsolete;
+
+ struct id3_frametype const *id3_frametype_lookup(register char const *,
+- register unsigned int);
++ register size_t);
+
+ # endif
+--
+2.13.2
+
diff --git a/meta-oe/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch b/meta-oe/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
new file mode 100644
index 0000000000..10e089018c
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libid3tag/libid3tag/10_utf16.patch
@@ -0,0 +1,34 @@
+libid3tag: patch for CVE-2004-2779
+
+The patch comes from
+https://sources.debian.org/patches/libid3tag/0.15.1b-13/10_utf16.dpatch
+
+Upstream-Status: Pending
+
+CVE: CVE-2004-2779
+CVE: CVE-2017-11551
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+diff -urNad libid3tag-0.15.1b/utf16.c /tmp/dpep.tKvO7a/libid3tag-0.15.1b/utf16.c
+--- libid3tag-0.15.1b/utf16.c 2006-01-13 15:26:29.000000000 +0100
++++ /tmp/dpep.tKvO7a/libid3tag-0.15.1b/utf16.c 2006-01-13 15:27:19.000000000 +0100
+@@ -282,5 +282,18 @@
+
+ free(utf16);
+
++ if (end == *ptr && length % 2 != 0)
++ {
++ /* We were called with a bogus length. It should always
++ * be an even number. We can deal with this in a few ways:
++ * - Always give an error.
++ * - Try and parse as much as we can and
++ * - return an error if we're called again when we
++ * already tried to parse everything we can.
++ * - tell that we parsed it, which is what we do here.
++ */
++ (*ptr)++;
++ }
++
+ return ucs4;
+ }
diff --git a/meta-oe/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch b/meta-oe/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch
new file mode 100644
index 0000000000..38d40c3632
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libid3tag/libid3tag/addpkgconfig.patch
@@ -0,0 +1,43 @@
+Upstream-Status: Inappropriate [configuration]
+
+Index: libid3tag-0.15.1b/Makefile.am
+===================================================================
+--- libid3tag-0.15.1b.orig/Makefile.am 2009-07-29 09:29:20.000000000 +0100
++++ libid3tag-0.15.1b/Makefile.am 2009-07-29 09:29:47.000000000 +0100
+@@ -27,6 +27,9 @@
+ lib_LTLIBRARIES = libid3tag.la
+ include_HEADERS = id3tag.h
+
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = id3tag.pc
++
+ ## From the libtool documentation on library versioning:
+ ##
+ ## CURRENT
+Index: libid3tag-0.15.1b/configure.ac
+===================================================================
+--- libid3tag-0.15.1b.orig/configure.ac 2009-07-29 09:27:15.000000000 +0100
++++ libid3tag-0.15.1b/configure.ac 2009-07-29 09:27:45.000000000 +0100
+@@ -201,5 +201,5 @@
+ dnl AC_SUBST(LTLIBOBJS)
+
+ AC_CONFIG_FILES([Makefile msvc++/Makefile \
+- libid3tag.list])
++ libid3tag.list id3tag.pc])
+ AC_OUTPUT
+Index: libid3tag-0.15.1b/id3tag.pc.in
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ libid3tag-0.15.1b/id3tag.pc.in 2009-07-29 09:29:10.000000000 +0100
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: id3tag
++Description: ID3 tag reading library
++Requires:
++Version: @VERSION@
++Libs: -L${libdir} -lid3tag -lz
++Cflags: -I${includedir}
diff --git a/meta-oe/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch b/meta-oe/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch
new file mode 100644
index 0000000000..1895748d1d
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libid3tag/libid3tag/cflags_filter.patch
@@ -0,0 +1,19 @@
+configure contains CFLAGS filtering code which was removing our prefix-map
+flags. We need those to generate reproducible binaries. Allow them through.
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -99,6 +99,10 @@ do
+ -mno-cygwin)
+ shift
+ ;;
++ -fmacro-prefix-map*|-fdebug-prefix-map*|-ffile-prefix-map*)
++ CFLAGS="$CFLAGS $1"
++ shift
++ ;;
+ -m*)
+ arch="$arch $1"
+ shift
diff --git a/meta-oe/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch b/meta-oe/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch
new file mode 100644
index 0000000000..2845fb1d3a
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libid3tag/libid3tag/obsolete_automake_macros.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Submitted [https://sourceforge.net/tracker/?func=detail&aid=3599280&group_id=12349&atid=112349]
+
+Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
+diff -Nurd libid3tag-0.15.1b/configure.ac libid3tag-0.15.1b/configure.ac
+--- libid3tag-0.15.1b/configure.ac 2004-01-24 01:22:46.000000000 +0200
++++ libid3tag-0.15.1b/configure.ac 2013-01-03 06:41:02.734835014 +0200
+@@ -28,7 +28,7 @@
+
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+
+ dnl System type.
diff --git a/meta-oe/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch b/meta-oe/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch
new file mode 100644
index 0000000000..f0867b5f01
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libid3tag/libid3tag/unknown-encoding.patch
@@ -0,0 +1,39 @@
+In case of an unknown/invalid encoding, id3_parse_string() will
+return NULL, but the return value wasn't checked resulting
+in segfault in id3_ucs4_length(). This is the only place
+the return value wasn't checked.
+
+Patch taken from Debian:
+https://sources.debian.org/patches/libid3tag/0.15.1b-14/11_unknown_encoding.dpatch/
+
+CVE: CVE-2017-11550
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+diff -urNad libid3tag-0.15.1b~/compat.gperf libid3tag-0.15.1b/compat.gperf
+--- libid3tag-0.15.1b~/compat.gperf 2004-01-23 09:41:32.000000000 +0000
++++ libid3tag-0.15.1b/compat.gperf 2007-01-14 14:36:53.000000000 +0000
+@@ -236,6 +236,10 @@
+
+ encoding = id3_parse_uint(&data, 1);
+ string = id3_parse_string(&data, end - data, encoding, 0);
++ if (!string)
++ {
++ continue;
++ }
+
+ if (id3_ucs4_length(string) < 4) {
+ free(string);
+diff -urNad libid3tag-0.15.1b~/parse.c libid3tag-0.15.1b/parse.c
+--- libid3tag-0.15.1b~/parse.c 2004-01-23 09:41:32.000000000 +0000
++++ libid3tag-0.15.1b/parse.c 2007-01-14 14:37:34.000000000 +0000
+@@ -165,6 +165,9 @@
+ case ID3_FIELD_TEXTENCODING_UTF_8:
+ ucs4 = id3_utf8_deserialize(ptr, length);
+ break;
++ default:
++ /* FIXME: Unknown encoding! Print warning? */
++ return NULL;
+ }
+
+ if (ucs4 && !full) {
diff --git a/meta-oe/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb b/meta-oe/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
new file mode 100644
index 0000000000..850918d319
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libid3tag/libid3tag_0.15.1b.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Library for interacting with ID3 tags in MP3 files"
+HOMEPAGE = "http://sourceforge.net/projects/mad/"
+BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://COPYRIGHT;md5=5e6279efb87c26c6e5e7a68317a6a87a \
+ file://version.h;beginline=1;endline=8;md5=86ac68b67f054b7afde9e149bbc3fe63"
+SECTION = "libs"
+DEPENDS = "zlib gperf-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libid3tag-${PV}.tar.gz \
+ file://addpkgconfig.patch \
+ file://obsolete_automake_macros.patch \
+ file://0001-Fix-gperf-3.1-incompatibility.patch \
+ file://10_utf16.patch \
+ file://unknown-encoding.patch \
+ file://cflags_filter.patch \
+ "
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/mad/files/libid3tag/"
+UPSTREAM_CHECK_REGEX = "/projects/mad/files/libid3tag/(?P<pver>.*)/$"
+
+SRC_URI[md5sum] = "e5808ad997ba32c498803822078748c3"
+SRC_URI[sha256sum] = "63da4f6e7997278f8a3fef4c6a372d342f705051d1eeb6a46a86b03610e26151"
+
+S = "${WORKDIR}/libid3tag-${PV}"
+
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-multimedia/libjxl/libjxl_0.10.2.bb b/meta-oe/recipes-multimedia/libjxl/libjxl_0.10.2.bb
new file mode 100644
index 0000000000..eced6c7726
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libjxl/libjxl_0.10.2.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Reference implementation of JPEG XL (encoder and decoder)"
+HOMEPAGE = "https://github.com/libjxl/libjxl/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6a905a337cc228a1f68f0b5416f52a7f"
+
+inherit cmake pkgconfig mime
+
+DEPENDS = "highway brotli"
+
+SRC_URI = "gitsm://github.com/libjxl/libjxl.git;protocol=https;nobranch=1"
+
+SRCREV = "e1489592a770b989303b0edc5cc1dc447bbe0515"
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = " \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DJPEGXL_ENABLE_PLUGINS=ON \
+ -DBUILD_TESTING=OFF \
+ -DJPEGXL_WARNINGS_AS_ERRORS=OFF \
+ -DJPEGXL_ENABLE_SIZELESS_VECTORS=ON \
+ -DJPEGXL_ENABLE_SJPEG=OFF \
+ -DJPEGXL_ENABLE_BENCHMARK=OFF \
+ -DJPEGXL_ENABLE_EXAMPLES=OFF \
+ -DJPEGXL_ENABLE_MANPAGES=OFF \
+ -DJPEGXL_ENABLE_SKCMS=ON \
+ -DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
+ -DJPEGXL_FORCE_SYSTEM_HWY=ON \
+ -DJPEGXL_ENABLE_JNI=OFF \
+ -DJPEGXL_ENABLE_TCMALLOC=OFF \
+ -DJPEGXL_ENABLE_TOOLS=OFF \
+"
+
+PACKAGECONFIG ?= "mime gdk-pixbuf-loader"
+PACKAGECONFIG[gdk-pixbuf-loader] = "-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=ON,-DJPEGXL_ENABLE_PLUGIN_GDKPIXBUF=OFF,gdk-pixbuf"
+PACKAGECONFIG[gimp] = "-DJPEGXL_ENABLE_PLUGIN_GIMP210=ON,-DJPEGXL_ENABLE_PLUGIN_GIMP210=OFF,gimp"
+PACKAGECONFIG[mime] = "-DJPEGXL_ENABLE_PLUGIN_MIME=ON,-DJPEGXL_ENABLE_PLUGIN_MIME=OFF"
+
+FILES:${PN} += "${libdir}/gdk-pixbuf-2.0 ${datadir}"
diff --git a/meta-oe/recipes-multimedia/libmad/libmad/0001-configure-Respect-the-cflags-from-environment.patch b/meta-oe/recipes-multimedia/libmad/libmad/0001-configure-Respect-the-cflags-from-environment.patch
new file mode 100644
index 0000000000..586782a348
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libmad/libmad/0001-configure-Respect-the-cflags-from-environment.patch
@@ -0,0 +1,47 @@
+From 26342d1c775205f661f5cf005b7e054a04f5d32e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 16 May 2023 10:14:57 -0700
+Subject: [PATCH] configure: Respect the cflags from environment
+
+This is needed with OE like cross-build envs where certain important
+flags maybe passed as global policy to aid cross compiling or
+reproducibility etc.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -73,12 +73,9 @@ debug=""
+ optimize=""
+ profile=""
+
+-set -- $CFLAGS
+-CFLAGS=""
+-
+ if test "$GCC" = yes
+ then
+- CFLAGS="-Wall"
++ CFLAGS="$CFLAGS -Wall"
+ fi
+
+ while test $# -gt 0
+@@ -115,10 +112,13 @@ do
+ optimize="$optimize $1"
+ shift
+ ;;
+- *)
++ -*)
+ CFLAGS="$CFLAGS $1"
+ shift
+ ;;
++ *)
++ shift
++ ;;
+ esac
+ done
+
diff --git a/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch b/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
index 70723f2d08..b9a444dc32 100644
--- a/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
+++ b/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch
@@ -4,6 +4,8 @@ Date: Tue, 16 Sep 2014 12:28:47 +0300
Subject: [PATCH 4/4] Remove clang unsupported compiler flags
---
+Upstream-Status: Pending
+
configure.ac | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb b/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
index 8d9246a5ce..e70c8e3ed1 100644
--- a/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
+++ b/meta-oe/recipes-multimedia/libmad/libmad_0.15.1b.bb
@@ -1,25 +1,24 @@
SUMMARY = "MPEG Audio Decoder library"
-HOMEPAGE = "http://sourceforge.net/projects/mad/"
-BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
-LICENSE = "GPLv2+"
+HOMEPAGE = "https://sourceforge.net/projects/mad/"
+BUGTRACKER = "https://sourceforge.net/tracker/?group_id=12349&atid=112349"
+LICENSE = "GPL-2.0-or-later"
LICENSE_FLAGS = "commercial"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \
file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454"
SECTION = "libs"
DEPENDS = "libid3tag"
-PR = "r3"
-SRC_URI = "ftp://ftp.mars.org/pub/mpeg/libmad-${PV}.tar.gz \
+SRC_URI = "https://downloads.sourceforge.net/mad/libmad-${PV}.tar.gz \
file://no-force-mem.patch \
file://add-pkgconfig.patch \
file://fix_for_mips_with_gcc-4.5.0.patch \
file://obsolete_automake_macros.patch \
file://automake-foreign.patch \
+ file://0001-configure-Respect-the-cflags-from-environment.patch \
"
-SRC_URI_append_toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "
+SRC_URI:append:toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "
-SRC_URI[md5sum] = "1be543bc30c56fb6bea1d7bf6a64e66c"
SRC_URI[sha256sum] = "bbfac3ed6bfbc2823d3775ebb931087371e142bb0e9bb1bee51a76a6e0078690"
S = "${WORKDIR}/libmad-${PV}"
@@ -27,9 +26,9 @@ S = "${WORKDIR}/libmad-${PV}"
inherit autotools pkgconfig
EXTRA_OECONF = "-enable-speed --enable-shared"
-EXTRA_OECONF_append_arm = " --enable-fpm=arm"
+EXTRA_OECONF:append:arm = " --enable-fpm=arm"
-do_configure_prepend () {
+do_configure:prepend () {
# damn picky automake...
touch NEWS AUTHORS ChangeLog
}
diff --git a/meta-oe/recipes-multimedia/libmms/libmms_0.6.4.bb b/meta-oe/recipes-multimedia/libmms/libmms_0.6.4.bb
index 668afc8c16..62c20c6122 100644
--- a/meta-oe/recipes-multimedia/libmms/libmms_0.6.4.bb
+++ b/meta-oe/recipes-multimedia/libmms/libmms_0.6.4.bb
@@ -2,7 +2,7 @@ SUMMARY = "MMS stream protocol library"
HOMEPAGE = "http://sourceforge.net/projects/libmms/"
SECTION = "libs/multimedia"
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=fad9b3332be894bab9bc501572864b29"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz"
@@ -11,7 +11,7 @@ SRC_URI[sha256sum] = "3c05e05aebcbfcc044d9e8c2d4646cd8359be39a3f0ba8ce4e72a9094b
inherit autotools pkgconfig
-do_install_append() {
+do_install:append() {
# The GLib dependency was removed in libmms 0.6.3, but the
# "Requires" was not removed from the pkg-config file. Since we
# don't have (and don't want) the RDEPENDS on GLib, we should
diff --git a/meta-oe/recipes-multimedia/libmodplug/libmodplug/0001-fastmix-Drop-register-storage-class-keyword.patch b/meta-oe/recipes-multimedia/libmodplug/libmodplug/0001-fastmix-Drop-register-storage-class-keyword.patch
new file mode 100644
index 0000000000..dfdaf810d8
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libmodplug/libmodplug/0001-fastmix-Drop-register-storage-class-keyword.patch
@@ -0,0 +1,38 @@
+From 7a25d5def379db387de9237f0b03605b3ae277b6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 17 Jan 2023 11:32:59 -0800
+Subject: [PATCH] fastmix: Drop 'register' storage class keyword
+
+It has been dropped from laters C/C++ standards ( c++17 and newer )
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/fastmix.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/fastmix.cpp b/src/fastmix.cpp
+index d693d20..aa51c4a 100644
+--- a/src/fastmix.cpp
++++ b/src/fastmix.cpp
+@@ -288,7 +288,7 @@ CzWINDOWEDFIR sfir;
+ // MIXING MACROS
+ // ----------------------------------------------------------------------------
+ #define SNDMIX_BEGINSAMPLELOOP8\
+- register MODCHANNEL * const pChn = pChannel;\
++ MODCHANNEL * const pChn = pChannel;\
+ nPos = pChn->nPosLo;\
+ const signed char *p = (signed char *)(pChn->pCurrentSample+pChn->nPos);\
+ if (pChn->dwFlags & CHN_STEREO) p += pChn->nPos;\
+@@ -296,7 +296,7 @@ CzWINDOWEDFIR sfir;
+ do {
+
+ #define SNDMIX_BEGINSAMPLELOOP16\
+- register MODCHANNEL * const pChn = pChannel;\
++ MODCHANNEL * const pChn = pChannel;\
+ nPos = pChn->nPosLo;\
+ const signed short *p = (signed short *)(pChn->pCurrentSample+(pChn->nPos*2));\
+ if (pChn->dwFlags & CHN_STEREO) p += pChn->nPos;\
+--
+2.39.0
+
diff --git a/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb b/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb
index 398daae087..e04e763776 100644
--- a/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb
+++ b/meta-oe/recipes-multimedia/libmodplug/libmodplug_0.8.9.0.bb
@@ -4,8 +4,9 @@ HOMEPAGE = "http://modplug-xmms.sf.net"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://COPYING;md5=c9182faa1f7c316f7b97d404bcbe3685"
-SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz"
-SRC_URI[md5sum] = "5ba16981e6515975e9a68a58d5ba69d1"
+SRC_URI = "${SOURCEFORGE_MIRROR}/modplug-xmms/libmodplug-${PV}.tar.gz \
+ file://0001-fastmix-Drop-register-storage-class-keyword.patch"
+
SRC_URI[sha256sum] = "457ca5a6c179656d66c01505c0d95fafaead4329b9dbaa0f997d00a3508ad9de"
inherit autotools pkgconfig
@@ -13,7 +14,7 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--disable-option-checking"
# NOTE: autotools_stage_all does nothing here, we need to do it manually
-do_install_append() {
+do_install:append() {
install -d ${D}${includedir}/libmodplug
install -m 0644 ${S}/src/modplug.h ${D}${includedir}/libmodplug
install -m 0644 ${S}/src/modplug.h ${D}${includedir}/
diff --git a/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb b/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
deleted file mode 100644
index 29ef2fa448..0000000000
--- a/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-SUMMARY = "Opus Audio Codec"
-DESCRIPTION = "The Opus codec is designed for interactive \
-speech and audio transmission over the Internet. It is \
-designed by the IETF Codec Working Group and incorporates \
-technology from Skype's SILK codec and Xiph.Org's CELT codec."
-HOMEPAGE = "http://www.opus-codec.org/"
-SECTION = "libs/multimedia"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3"
-
-SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
-SRC_URI[md5sum] = "d7c07db796d21c9cf1861e0c2b0c0617"
-SRC_URI[sha256sum] = "65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d"
-
-S = "${WORKDIR}/opus-${PV}"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
-PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
-
-EXTRA_OECONF = " \
- --with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
- --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
- --enable-asm \
- --enable-intrinsics \
- --enable-custom-modes \
-"
-
-# ne10 is available only for armv7a, armv7ve and aarch64
-DEPENDS_append_aarch64 = " ne10"
-DEPENDS_append_armv7a = " ne10"
-DEPENDS_append_armv7ve = " ne10"
-
-python () {
- if d.getVar('TARGET_FPU') in [ 'soft' ]:
- d.appendVar('PACKAGECONFIG', ' fixed-point')
-}
-
-# Fails to build with thumb-1 (qemuarm)
-#| {standard input}: Assembler messages:
-#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
-#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
-#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
-#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
-#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
-#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
-#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
-#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
-#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
-#| make[2]: *** [celt/celt.lo] Error 1
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-multimedia/libopus/libopus_1.5.2.bb b/meta-oe/recipes-multimedia/libopus/libopus_1.5.2.bb
new file mode 100644
index 0000000000..02958ef023
--- /dev/null
+++ b/meta-oe/recipes-multimedia/libopus/libopus_1.5.2.bb
@@ -0,0 +1,56 @@
+SUMMARY = "Opus Audio Codec"
+DESCRIPTION = "The Opus codec is designed for interactive \
+speech and audio transmission over the Internet. It is \
+designed by the IETF Codec Working Group and incorporates \
+technology from Skype's SILK codec and Xiph.Org's CELT codec."
+HOMEPAGE = "http://www.opus-codec.org/"
+SECTION = "libs/multimedia"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4b365c2155d66e550e1447075d6744a5"
+
+SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
+SRC_URI[sha256sum] = "65c1d2f78b9f2fb20082c38cbe47c951ad5839345876e46941612ee87f9a7ce1"
+
+S = "${WORKDIR}/opus-${PV}"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
+PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
+
+EXTRA_OECONF = " \
+ --with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
+ --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
+ --enable-asm \
+ --enable-intrinsics \
+ --enable-custom-modes \
+"
+
+# ne10 is available only for armv7a, armv7ve and aarch64
+DEPENDS:append:aarch64 = " ne10"
+DEPENDS:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
+DEPENDS:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
+
+python () {
+ if d.getVar('TARGET_FPU') in [ 'soft' ]:
+ d.appendVar('PACKAGECONFIG', ' fixed-point')
+}
+
+# Fails to build with thumb-1 (qemuarm)
+#| {standard input}: Assembler messages:
+#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
+#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
+#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
+#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
+#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
+#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
+#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
+#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
+#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
+#| make[2]: *** [celt/celt.lo] Error 1
+ARM_INSTRUCTION_SET:armv5 = "arm"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CVE_PRODUCT += "opus-codec:opus"
diff --git a/meta-oe/recipes-multimedia/live555/live555_20210129.bb b/meta-oe/recipes-multimedia/live555/live555_20210129.bb
deleted file mode 100644
index 1e7a674f44..0000000000
--- a/meta-oe/recipes-multimedia/live555/live555_20210129.bb
+++ /dev/null
@@ -1,62 +0,0 @@
-# live555 OE build file
-# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
-
-DESCRIPTION = "LIVE555 Streaming Media libraries"
-HOMEPAGE = "http://live.com/"
-LICENSE = "LGPLv3"
-SECTION = "devel"
-
-DEPENDS = "openssl"
-
-URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}"
-SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \
- file://config.linux-cross"
-
-# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
-MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n"
-
-SRC_URI[sha256sum] = "85ab8d4337d414482586089b6f64fc39af64ff4be5b51976b54b0e10dceb333b"
-
-S = "${WORKDIR}/live"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
- "
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_configure() {
- cp ${WORKDIR}/config.linux-cross .
- echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross
- ./genMakefiles linux-cross
-}
-
-do_install() {
- install -d ${D}${includedir}/BasicUsageEnvironment
- install -d ${D}${includedir}/groupsock
- install -d ${D}${includedir}/liveMedia
- install -d ${D}${includedir}/UsageEnvironment
- install -d ${D}${libdir}
- cp -R --no-dereference --preserve=mode,links -v ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/
- cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/
- cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/
- cp -R --no-dereference --preserve=mode,links -v ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/
- cp -R --no-dereference --preserve=mode,links -v ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/
- # Find all the headers
- for i in $(find . -name "*.hh") $(find . -name "*.h") ; do
- install ${i} ${D}${includedir}
- done
- cp ${S}/*/*.a ${D}${libdir}
- install -d ${D}${bindir}
- for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do
- install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/
- done
- install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/
-}
-
-PACKAGES =+ "live555-openrtsp live555-playsip live555-mediaserver live555-examples"
-FILES_live555-openrtsp = "${bindir}/openRTSP"
-FILES_live555-playsip = "${bindir}/playSIP"
-FILES_live555-mediaserver = "${bindir}/live555MediaServer"
-FILES_live555-examples = "${bindir}/*"
diff --git a/meta-oe/recipes-multimedia/live555/live555_20210824.bb b/meta-oe/recipes-multimedia/live555/live555_20210824.bb
new file mode 100644
index 0000000000..a899049b77
--- /dev/null
+++ b/meta-oe/recipes-multimedia/live555/live555_20210824.bb
@@ -0,0 +1,63 @@
+# live555 OE build file
+# Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved
+# Released under the MIT license (see packages/COPYING)
+
+DESCRIPTION = "LIVE555 Streaming Media libraries"
+HOMEPAGE = "http://live.com/"
+LICENSE = "LGPL-3.0-only"
+SECTION = "devel"
+
+DEPENDS = "openssl"
+
+URLV = "${@d.getVar('PV')[0:4]}.${@d.getVar('PV')[4:6]}.${@d.getVar('PV')[6:8]}"
+SRC_URI = "https://download.videolan.org/pub/contrib/live555/live.${URLV}.tar.gz \
+ file://config.linux-cross"
+
+# only latest live version stays on http://www.live555.com/liveMedia/public/, add mirror for older
+MIRRORS += "http://www.live555.com/liveMedia/public/ http://download.videolan.org/contrib/live555/ \n"
+
+SRC_URI[sha256sum] = "ce95a1c79f6d18e959f9dc129b8529b711c60e76754acc285e60946303b923ec"
+
+S = "${WORKDIR}/live"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_configure() {
+ cp ${WORKDIR}/config.linux-cross .
+ echo "COMPILE_OPTS+=" -fPIC -DXLOCALE_NOT_USED"" >> config.linux-cross
+ ./genMakefiles linux-cross
+}
+
+do_install() {
+ install -d ${D}${includedir}/BasicUsageEnvironment
+ install -d ${D}${includedir}/groupsock
+ install -d ${D}${includedir}/liveMedia
+ install -d ${D}${includedir}/UsageEnvironment
+ install -d ${D}${libdir}
+ cp -R --no-dereference --preserve=mode,links -v ${S}/BasicUsageEnvironment/include/*.hh ${D}${includedir}/BasicUsageEnvironment/
+ cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.h ${D}${includedir}/groupsock/
+ cp -R --no-dereference --preserve=mode,links -v ${S}/groupsock/include/*.hh ${D}${includedir}/groupsock/
+ cp -R --no-dereference --preserve=mode,links -v ${S}/liveMedia/include/*.hh ${D}${includedir}/liveMedia/
+ cp -R --no-dereference --preserve=mode,links -v ${S}/UsageEnvironment/include/*.hh ${D}${includedir}/UsageEnvironment/
+ # Find all the headers
+ for i in $(find . -name "*.hh") $(find . -name "*.h") ; do
+ install ${i} ${D}${includedir}
+ done
+ cp ${S}/*/*.a ${D}${libdir}
+ install -d ${D}${bindir}
+ for i in MPEG2TransportStreamIndexer openRTSP playSIP sapWatch testMPEG1or2ProgramToTransportStream testMPEG1or2Splitter testMPEG1or2VideoReceiver testMPEG2TransportStreamTrickPlay testOnDemandRTSPServer testRelay testAMRAudioStreamer testDVVideoStreamer testMP3Receiver testMP3Streamer testMPEG1or2AudioVideoStreamer testMPEG1or2VideoStreamer testMPEG2TransportStreamer testMPEG4VideoStreamer testWAVAudioStreamer vobStreamer; do
+ install -m 0755 ${S}/testProgs/${i} ${D}${bindir}/
+ done
+ install -m 0755 ${S}/mediaServer/live555MediaServer ${D}${bindir}/
+}
+
+RDEPENDS:${PN}-dev = ""
+PACKAGES =+ "live555-openrtsp live555-playsip live555-mediaserver live555-examples"
+FILES:live555-openrtsp = "${bindir}/openRTSP"
+FILES:live555-playsip = "${bindir}/playSIP"
+FILES:live555-mediaserver = "${bindir}/live555MediaServer"
+FILES:live555-examples = "${bindir}/*"
diff --git a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb
index 76e10f86a3..e0712ba930 100644
--- a/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb
+++ b/meta-oe/recipes-multimedia/mikmod/libmikmod_3.3.11.1.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "libmikmod is a module player library supporting many formats, including mod, s3m, it, and xm."
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "alsa-lib texinfo"
diff --git a/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb b/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
deleted file mode 100644
index 973a978b1c..0000000000
--- a/meta-oe/recipes-multimedia/mplayer/mpv_0.32.0.bb
+++ /dev/null
@@ -1,114 +0,0 @@
-SUMMARY = "Open Source multimedia player"
-DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
-SECTION = "multimedia"
-HOMEPAGE = "http://www.mpv.io/"
-
-DEPENDS = "zlib ffmpeg jpeg libv4l"
-
-DEPENDS += " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' virtual/libx11 xsp libxv libxscrnsaver libxinerama', '', d)} \
-"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=91f1cb870c1cc2d31351a4d2595441cb"
-
-# While this item does not require it, it depends on ffmpeg which does
-LICENSE_FLAGS = "commercial"
-
-SRCREV_mpv = "70b991749df389bcc0a4e145b5687233a03b4ed7"
-SRC_URI = " \
- git://github.com/mpv-player/mpv;name=mpv \
- https://waf.io/waf-2.0.20;name=waf;subdir=git \
-"
-SRC_URI[waf.sha256sum] = "bf971e98edc2414968a262c6aa6b88541a26c3cd248689c89f4c57370955ee7f"
-
-S = "${WORKDIR}/git"
-
-inherit waf pkgconfig mime-xdg
-
-LUA ?= "lua"
-LUA_mips64 = ""
-LUA_aarch64 = ""
-LUA_powerpc64 = ""
-LUA_powerpc64le = ""
-LUA_riscv64 = ""
-LUA_riscv32 = ""
-LUA_powerpc = ""
-
-# Note: both lua and libass are required to get on-screen-display (controls)
-PACKAGECONFIG ??= " \
- ${LUA} \
- libass \
- ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
- ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
-"
-
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11"
-PACKAGECONFIG[xv] = "--enable-xv,--disable-xv,libxv"
-PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
-PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,"
-PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
-PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm"
-PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
-PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
-PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
-PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
-PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
-PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native libxkbcommon"
-
-python __anonymous() {
- packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
- extras = []
- if "x11" in packageconfig and "opengl" in packageconfig:
- extras.append(" --enable-gl-x11")
- if "x11" in packageconfig and "egl" in packageconfig:
- extras.append(" --enable-egl-x11")
- if "egl" in packageconfig and "drm" in packageconfig:
- extras.append(" --enable-egl-drm")
- if "vaapi" in packageconfig and "x11" in packageconfig:
- extras.append(" --enable-vaapi-x11")
- if "vaapi" in packageconfig and "drm" in packageconfig:
- extras.append(" --enable-vaapi-drm")
- if "vaapi" in packageconfig and "x11" in packageconfig and "egl" in packageconfig:
- extras.append(" --enable-vaapi-x-egl")
- if "vdpau" in packageconfig and "opengl" in packageconfig and "x11" in packageconfig:
- extras.append(" --enable-vdpau-gl-x11")
- if "wayland" in packageconfig and "opengl" in packageconfig:
- extras.append(" --enable-gl-wayland")
- if "wayland" in packageconfig and "vaapi" in packageconfig:
- extras.append(" --enable-vaapi-wayland")
- if extras:
- d.appendVar("EXTRA_OECONF", "".join(extras))
-}
-
-SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
-
-EXTRA_OECONF = " \
- --prefix=${prefix} \
- --target=${SIMPLE_TARGET_SYS} \
- --confdir=${sysconfdir} \
- --datadir=${datadir} \
- --disable-manpage-build \
- --disable-libsmbclient \
- --disable-libbluray \
- --disable-dvdnav \
- --disable-cdda \
- --disable-uchardet \
- --disable-rubberband \
- --disable-lcms2 \
- --disable-vapoursynth \
- ${PACKAGECONFIG_CONFARGS} \
-"
-
-link_waf() {
- ln -s waf-2.0.20 ${S}/waf
-}
-do_unpack[postfuncs] += "link_waf"
-
-FILES_${PN} += " \
- ${datadir}/icons \
- ${datadir}/zsh \
- ${datadir}/bash-completion \
- "
diff --git a/meta-oe/recipes-multimedia/mplayer/mpv_0.35.1.bb b/meta-oe/recipes-multimedia/mplayer/mpv_0.35.1.bb
new file mode 100644
index 0000000000..0f50a6e8fe
--- /dev/null
+++ b/meta-oe/recipes-multimedia/mplayer/mpv_0.35.1.bb
@@ -0,0 +1,116 @@
+SUMMARY = "Open Source multimedia player"
+DESCRIPTION = "mpv is a fork of mplayer2 and MPlayer. It shares some features with the former projects while introducing many more."
+SECTION = "multimedia"
+HOMEPAGE = "http://www.mpv.io/"
+
+DEPENDS = " \
+ zlib \
+ ffmpeg \
+ jpeg \
+ libv4l \
+ libass \
+"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV_mpv = "140ec21c89d671d392877a7f3b91d67e7d7b9239"
+SRC_URI = "git://github.com/mpv-player/mpv;name=mpv;branch=release/0.35;protocol=https \
+ https://waf.io/waf-2.0.25;name=waf;subdir=git \
+ "
+SRC_URI[waf.sha256sum] = "21199cd220ccf60434133e1fd2ab8c8e5217c3799199c82722543970dc8e38d5"
+
+S = "${WORKDIR}/git"
+
+inherit waf pkgconfig mime-xdg
+
+LDFLAGS:append:riscv64 = " -latomic"
+
+LUA ?= "lua"
+LUA:mips64 = ""
+LUA:powerpc64 = ""
+LUA:powerpc64le = ""
+LUA:riscv64 = ""
+LUA:riscv32 = ""
+LUA:powerpc = ""
+
+# Note: lua is required to get on-screen-display (controls)
+PACKAGECONFIG ??= " \
+ ${LUA} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)} \
+"
+
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 xsp libxv libxscrnsaver libxinerama libxpresent libxext"
+PACKAGECONFIG[xv] = "--enable-xv,--disable-xv,libxv"
+PACKAGECONFIG[opengl] = "--enable-gl,--disable-gl,virtual/libgl"
+PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl"
+PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,libdrm"
+PACKAGECONFIG[gbm] = "--enable-gbm,--disable-gbm,virtual/libgbm"
+PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua luajit"
+PACKAGECONFIG[libarchive] = "--enable-libarchive,--disable-libarchive,libarchive"
+PACKAGECONFIG[jack] = "--enable-jack, --disable-jack, jack"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native libxkbcommon"
+
+python __anonymous() {
+ packageconfig = (d.getVar("PACKAGECONFIG") or "").split()
+ extras = []
+ if "x11" in packageconfig and "opengl" in packageconfig:
+ extras.append(" --enable-gl-x11")
+ if "x11" in packageconfig and "egl" in packageconfig:
+ extras.append(" --enable-egl-x11")
+ if "egl" in packageconfig and "drm" in packageconfig:
+ extras.append(" --enable-egl-drm")
+ if "vaapi" in packageconfig and "x11" in packageconfig:
+ extras.append(" --enable-vaapi-x11")
+ if "vaapi" in packageconfig and "drm" in packageconfig:
+ extras.append(" --enable-vaapi-drm")
+ if "vaapi" in packageconfig and "x11" in packageconfig and "egl" in packageconfig:
+ extras.append(" --enable-vaapi-x-egl")
+ if "vdpau" in packageconfig and "opengl" in packageconfig and "x11" in packageconfig:
+ extras.append(" --enable-vdpau-gl-x11")
+ if "wayland" in packageconfig and "opengl" in packageconfig:
+ extras.append(" --enable-gl-wayland")
+ if "wayland" in packageconfig and "vaapi" in packageconfig:
+ extras.append(" --enable-vaapi-wayland")
+ if extras:
+ d.appendVar("EXTRA_OECONF", "".join(extras))
+}
+
+SIMPLE_TARGET_SYS = "${@'${TARGET_SYS}'.replace('${TARGET_VENDOR}', '')}"
+
+EXTRA_OECONF = " \
+ --prefix=${prefix} \
+ --target=${SIMPLE_TARGET_SYS} \
+ --confdir=${sysconfdir} \
+ --datadir=${datadir} \
+ --disable-manpage-build \
+ --disable-libbluray \
+ --disable-dvdnav \
+ --disable-cdda \
+ --disable-uchardet \
+ --disable-rubberband \
+ --disable-lcms2 \
+ --disable-vapoursynth \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+
+do_configure:append() {
+ sed -i -e 's#${WORKDIR}#<WORKDIR>#g' ${B}/config.h
+}
+
+link_waf() {
+ ln -s waf-2.0.25 ${S}/waf
+}
+do_unpack[postfuncs] += "link_waf"
+
+FILES:${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/zsh \
+ ${datadir}/bash-completion \
+ ${datadir}/metainfo \
+ "
+EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}"
diff --git a/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb b/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
deleted file mode 100644
index a84f2bf078..0000000000
--- a/meta-oe/recipes-multimedia/opus-tools/opus-tools_0.1.8.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "Opus Audio Tools"
-HOMEPAGE = "http://www.opus-codec.org/"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=843a066da9f1facfcc6ea6f616ffecb1"
-
-SRC_URI = "http://downloads.xiph.org/releases/opus/opus-tools-${PV}.tar.gz"
-SRC_URI[md5sum] = "b424790eda9357a4df394e2d7ca19eac"
-SRC_URI[sha256sum] = "e4e188579ea1c4e4d5066460d4a7214a7eafe3539e9a4466fdc98af41ba4a2f6"
-
-S = "${WORKDIR}/opus-tools-${PV}"
-
-DEPENDS = "libopus flac"
-
-inherit autotools pkgconfig
diff --git a/meta-oe/recipes-multimedia/pulseaudio/paprefs_1.2.bb b/meta-oe/recipes-multimedia/pulseaudio/paprefs_1.2.bb
new file mode 100644
index 0000000000..6e4321dd7d
--- /dev/null
+++ b/meta-oe/recipes-multimedia/pulseaudio/paprefs_1.2.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "PulseAudio Preferences (paprefs) is a simple GTK based configuration dialog for the PulseAudio sound server."
+HOMEPAGE = "https://freedesktop.org/software/pulseaudio/paprefs/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "pulseaudio gtkmm3 gtk+3 libsigc++-3 glibmm"
+
+inherit meson pkgconfig features_check
+
+# paprefs.cc includes gdk/gdkx.h and gdkx.h isn't provided by gtk3 without x11 in DISTRO_FEATURES
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://freedesktop.org/software/pulseaudio/paprefs/${BP}.tar.xz"
+
+SRC_URI[sha256sum] = "b3f21e40dc3936d15e3ffc910fb0c07c14b88e8c287715b456a948c17638f633"
+
+EXTRA_OEMESON = "-Dlynx=false"
+
+RDEPENDS:${PN} += "pulseaudio-server"
diff --git a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
new file mode 100644
index 0000000000..44169240c5
--- /dev/null
+++ b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
@@ -0,0 +1,112 @@
+From 87992a57e5f517d5ceb5dfabaea662ac64983720 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 27 May 2022 18:37:53 +0200
+Subject: [PATCH] pavucontrol: remove canberra-gtk support
+
+libcanberra-gtk3 module isn't buildable for wayland.
+Remove its dpendency.
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Inappropriate
+---
+ configure.ac | 2 +-
+ src/pavuapplication.cc | 2 --
+ src/pavucontrol.cc | 4 ----
+ src/sinkwidget.cc | 17 -----------------
+ 4 files changed, 1 insertion(+), 24 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 056ba5e..e857563 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -41,7 +41,7 @@ AC_TYPE_SIGNAL
+ AC_HEADER_STDC
+ AX_CXX_COMPILE_STDCXX_11
+
+-PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 libcanberra-gtk3 >= 0.16 json-glib-1.0 ])
++PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 json-glib-1.0 ])
+ AC_SUBST(GUILIBS_CFLAGS)
+ AC_SUBST(GUILIBS_LIBS)
+
+diff --git a/src/pavuapplication.cc b/src/pavuapplication.cc
+index 6773b53..60c016c 100644
+--- a/src/pavuapplication.cc
++++ b/src/pavuapplication.cc
+@@ -24,8 +24,6 @@
+
+ #include "i18n.h"
+
+-#include <canberra-gtk.h>
+-
+ #include "pavuapplication.h"
+ #include "pavucontrol.h"
+ #include "mainwindow.h"
+diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc
+index 18d5400..10ab646 100644
+--- a/src/pavucontrol.cc
++++ b/src/pavucontrol.cc
+@@ -29,8 +29,6 @@
+ #include <json-glib/json-glib.h>
+ #endif
+
+-#include <canberra-gtk.h>
+-
+ #include "pavucontrol.h"
+ #include "i18n.h"
+ #include "minimalstreamwidget.h"
+@@ -916,8 +914,6 @@ MainWindow* pavucontrol_get_window(pa_glib_mainloop *m, bool maximize, bool _ret
+ tab_number = _tab_number;
+ retry = _retry;
+
+- ca_context_set_driver(ca_gtk_context_get(), "pulse");
+-
+ mainWindow = MainWindow::create(maximize);
+
+ api = pa_glib_mainloop_get_api(m);
+diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
+index f30bd37..482fd1f 100644
+--- a/src/sinkwidget.cc
++++ b/src/sinkwidget.cc
+@@ -24,7 +24,6 @@
+
+ #include "sinkwidget.h"
+
+-#include <canberra-gtk.h>
+ #if HAVE_EXT_DEVICE_RESTORE_API
+ # include <pulse/format.h>
+ # include <pulse/ext-device-restore.h>
+@@ -111,7 +110,6 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) {
+ void SinkWidget::executeVolumeUpdate() {
+ pa_operation* o;
+ char dev[64];
+- int playing = 0;
+
+ if (!(o = pa_context_set_sink_volume_by_index(get_context(), index, &volume, NULL, NULL))) {
+ show_error(_("pa_context_set_sink_volume_by_index() failed"));
+@@ -120,22 +118,7 @@ void SinkWidget::executeVolumeUpdate() {
+
+ pa_operation_unref(o);
+
+- ca_context_playing(ca_gtk_context_get(), 2, &playing);
+- if (playing)
+- return;
+-
+ snprintf(dev, sizeof(dev), "%lu", (unsigned long) index);
+- ca_context_change_device(ca_gtk_context_get(), dev);
+-
+- ca_gtk_play_for_widget(GTK_WIDGET(gobj()),
+- 2,
+- CA_PROP_EVENT_DESCRIPTION, _("Volume Control Feedback Sound"),
+- CA_PROP_EVENT_ID, "audio-volume-change",
+- CA_PROP_CANBERRA_CACHE_CONTROL, "permanent",
+- CA_PROP_CANBERRA_ENABLE, "1",
+- NULL);
+-
+- ca_context_change_device(ca_gtk_context_get(), NULL);
+ }
+
+ void SinkWidget::onMuteToggleButton() {
+--
+2.25.1
+
diff --git a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
deleted file mode 100644
index 6c07eff764..0000000000
--- a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server."
-HOMEPAGE = "https://freedesktop.org/software/pulseaudio/pavucontrol/"
-SECTION = "x11/multimedia"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-
-# glib-2.0-native is required for glib-gettextize, which is used by the
-# AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
-# glib-2.0-native dependency may go away at some point (something to keep in
-# mind when doing version upgrades).
-DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 libcanberra pulseaudio"
-
-inherit autotools features_check perlnative
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \
- "
-SRC_URI[md5sum] = "9dcc2c76292e7e5e075d51b8dcb20202"
-SRC_URI[sha256sum] = "8fc45bac9722aefa6f022999cbb76242d143c31b314e2dbb38f034f4069d14e2"
-
-EXTRA_OECONF = "--disable-lynx "
-
-RDEPENDS_${PN} += "pulseaudio-server"
diff --git a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
new file mode 100644
index 0000000000..012fc3a94d
--- /dev/null
+++ b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server."
+HOMEPAGE = "https://freedesktop.org/software/pulseaudio/pavucontrol/"
+SECTION = "x11/multimedia"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+# glib-2.0-native is required for glib-gettextize, which is used by the
+# AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
+# glib-2.0-native dependency may go away at some point (something to keep in
+# mind when doing version upgrades).
+DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 pulseaudio json-glib"
+
+inherit autotools features_check perlnative pkgconfig
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
+SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-pavucontrol-remove-canberra-gtk-support.patch', '', d)}"
+
+SRC_URI[sha256sum] = "ce2b72c3b5f1a70ad0df19dd81750f9455bd20870d1d3a36d20536af2e8f4e7a"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[x11] = ",,libcanberra"
+
+EXTRA_OECONF = "--disable-lynx "
+
+RDEPENDS:${PN} += "pulseaudio-server"
diff --git a/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb b/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
index e4fb4ff026..87320a98e8 100644
--- a/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
+++ b/meta-oe/recipes-multimedia/sound-themes/sound-theme-freedesktop_0.8.bb
@@ -1,6 +1,6 @@
SUMMARY = "Freedesktop sound theme"
HOMEPAGE = "http://freedesktop.org/wiki/Specifications/sound-theme-spec"
-LICENSE = "GPLv2+ & CC-BY-3.0 & CC-BY-SA-3.0"
+LICENSE = "GPL-2.0-or-later & CC-BY-3.0 & CC-BY-SA-3.0"
LIC_FILES_CHKSUM = "file://CREDITS;md5=3213e601ce34bb42ddc3498903ac4e69"
# glib-2.0 for glib-gettext.m4 which provides AM_GLIB_GNU_GETTEXT
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
deleted file mode 100644
index eb294b3fb4..0000000000
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 67a6e919b8263d6d2b7150e62f26fb06bbc526ef Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 27 Feb 2015 21:55:36 +0000
-Subject: [PATCH] Revert "media-ctl: Don't install libmediactl and
- libv4l2subdev"
-
-This reverts commit 0911dce53b08b0df3066be2c75f67e8a314d8729.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Conflicts:
- utils/media-ctl/Makefile.am
-
----
- utils/media-ctl/Makefile.am | 10 +++-------
- 1 file changed, 3 insertions(+), 7 deletions(-)
-
-diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
-index ee7dcc9..d11fa2e 100644
---- a/utils/media-ctl/Makefile.am
-+++ b/utils/media-ctl/Makefile.am
-@@ -1,8 +1,7 @@
--noinst_LTLIBRARIES = libmediactl.la libv4l2subdev.la
--
-+lib_LTLIBRARIES = libmediactl.la libv4l2subdev.la
- libmediactl_la_SOURCES = libmediactl.c mediactl-priv.h
--libmediactl_la_CFLAGS = -static $(LIBUDEV_CFLAGS)
--libmediactl_la_LDFLAGS = -static $(LIBUDEV_LIBS)
-+libmediactl_la_CFLAGS = $(LIBUDEV_CFLAGS)
-+libmediactl_la_LDFLAGS = $(LIBUDEV_LIBS)
-
- media-bus-format-names.h: ../../include/linux/media-bus-format.h
- sed -e '/#define MEDIA_BUS_FMT/ ! d; s/.*FMT_//; /FIXED/ d; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' \
-@@ -18,9 +17,6 @@ CLEANFILES = $(BUILT_SOURCES)
- nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES)
- libv4l2subdev_la_SOURCES = libv4l2subdev.c
- libv4l2subdev_la_LIBADD = libmediactl.la
--libv4l2subdev_la_CFLAGS = -static
--libv4l2subdev_la_LDFLAGS = -static
--
- mediactl_includedir=$(includedir)/mediactl
- noinst_HEADERS = mediactl.h v4l2subdev.h
-
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch
new file mode 100644
index 0000000000..64c01e4977
--- /dev/null
+++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch
@@ -0,0 +1,46 @@
+From 502c0302827cec3d2b2a69fb25189646685ef2ff Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <festevam@denx.de>
+Date: Fri, 12 Jan 2024 00:17:14 -0300
+Subject: [PATCH] keytable: meson: Restrict the installation of
+ 50-rc_keymap.conf
+
+Currently, meson tries to install 50-rc_keymap.conf even if systemd
+is not used.
+
+Commit 01f2c6c58e6f ("keytable: restrict installation of 50-rc_keymap.conf"),
+only allowed 50-rc_keymap.conf to be installed when both BPF and systemd
+were used.
+
+Apply the same logic in meson to fix the problem.
+
+Signed-off-by: Fabio Estevam <festevam@denx.de>
+Signed-off-by: Sean Young <sean@mess.org>
+Upstream-Status: Backport [https://git.linuxtv.org/v4l-utils.git/commit/?id=a21924ec424c4744af6f2a794e0677eba35dd168]
+---
+ utils/keytable/meson.build | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/utils/keytable/meson.build b/utils/keytable/meson.build
+index 4130a4bea514..76ce329eae8e 100644
+--- a/utils/keytable/meson.build
++++ b/utils/keytable/meson.build
+@@ -69,6 +69,8 @@ ir_keytable_udev_rules = files(
+ install_data(ir_keytable_udev_rules,
+ install_dir : ir_keytable_system_dir / 'rules.d')
+
++if ir_bpf_enabled
++if dep_systemd.found()
+ if have_udevdsyscallfilter
+ ir_keytable_systemd_files = files(
+ '50-rc_keymap.conf',
+@@ -76,6 +78,8 @@ if have_udevdsyscallfilter
+ install_data(ir_keytable_systemd_files,
+ install_dir : systemd_systemdir / 'systemd-udevd.service.d')
+ endif
++endif
++endif
+
+ # Install non-existing directory to create empty directory structure
+ # See: https://github.com/mesonbuild/meson/issues/2904
+--
+2.34.1
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
deleted file mode 100644
index a849d465c7..0000000000
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 49f865a17d62db7bbd333a9b83fadeea55686e35 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 14 Jul 2017 13:17:19 -0700
-Subject: [PATCH] contrib/test: Link mc_nextgen_test with libargp if needed
-
-musl depends on external argp implementation e.g.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- contrib/test/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/contrib/test/Makefile.am b/contrib/test/Makefile.am
-index 0188fe2..dac07f3 100644
---- a/contrib/test/Makefile.am
-+++ b/contrib/test/Makefile.am
-@@ -42,7 +42,7 @@ sdlcam_CFLAGS = -I../.. $(SDL2_CFLAGS)
- sdlcam_LDADD = ../../lib/libv4l2/libv4l2.la ../../lib/libv4lconvert/libv4lconvert.la
-
- mc_nextgen_test_CFLAGS = $(LIBUDEV_CFLAGS)
--mc_nextgen_test_LDFLAGS = $(LIBUDEV_LIBS)
-+mc_nextgen_test_LDFLAGS = $(ARGP_LIBS) $(LIBUDEV_LIBS)
-
-
- ioctl_test_SOURCES = ioctl-test.c ioctl-test.h ioctl_32.h ioctl_64.h
---
-2.17.1
-
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch
deleted file mode 100644
index e3ce45d167..0000000000
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/0007-Do-not-use-getsubopt.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 4a10eab0e31d69948161241b1801c41201a5d081 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Nov 2019 18:50:34 -0800
-Subject: [PATCH] Do not use getsubopt
-
-POSIX says that behavior when subopts list is empty is undefined.
-musl libs will set value to NULL which leads to crash.
-
-Simply avoid getsubopt, since we cannot rely on it.
-
-Imported from Alpine Linux
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++--------
- 1 file changed, 10 insertions(+), 8 deletions(-)
-
-diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
-index 651917e..cea57b7 100644
---- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
-+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
-@@ -785,15 +785,17 @@ static bool parse_subset(char *optarg)
-
- static bool parse_next_subopt(char **subs, char **value)
- {
-- static char *const subopts[] = {
-- NULL
-- };
-- int opt = getsubopt(subs, subopts, value);
-+ char *p = *subs;
-+ *value = *subs;
-
-- if (opt < 0 || *value)
-- return false;
-- fprintf(stderr, "Missing suboption value\n");
-- return true;
-+ while (*p && *p != ',')
-+ p++;
-+
-+ if (*p)
-+ *p++ = '\0';
-+
-+ *subs = p;
-+ return false;
- }
-
- void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/export-mediactl-headers.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/export-mediactl-headers.patch
deleted file mode 100644
index 55a5cdc8a1..0000000000
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/export-mediactl-headers.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From b82e509c10659a4647961a6da3adf4d285dea2dd Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 1 Mar 2015 22:25:07 +0000
-
----
- utils/media-ctl/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
-index 7c520a2..748353d 100644
---- a/utils/media-ctl/Makefile.am
-+++ b/utils/media-ctl/Makefile.am
-@@ -17,8 +17,8 @@ CLEANFILES = $(BUILT_SOURCES)
- nodist_libv4l2subdev_la_SOURCES = $(BUILT_SOURCES)
- libv4l2subdev_la_SOURCES = libv4l2subdev.c
- libv4l2subdev_la_LIBADD = libmediactl.la
--mediactl_includedir=$(includedir)/mediactl
--noinst_HEADERS = mediactl.h v4l2subdev.h
-+otherincludedir = $(includedir)/mediactl
-+otherinclude_HEADERS = mediactl.h v4l2subdev.h
-
- pkgconfig_DATA = libmediactl.pc
- bin_PROGRAMS = media-ctl
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/mediactl-pkgconfig.patch b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/mediactl-pkgconfig.patch
deleted file mode 100644
index 9fcf61165b..0000000000
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils/mediactl-pkgconfig.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From 480c04ac6a9d11bfef9d4aca073052fdcee4fdea Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 1 Mar 2015 22:25:07 +0000
-
----
- utils/media-ctl/Makefile.am | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/utils/media-ctl/Makefile.am b/utils/media-ctl/Makefile.am
-index d11fa2e..7c520a2 100644
---- a/utils/media-ctl/Makefile.am
-+++ b/utils/media-ctl/Makefile.am
-@@ -20,6 +20,7 @@ libv4l2subdev_la_LIBADD = libmediactl.la
- mediactl_includedir=$(includedir)/mediactl
- noinst_HEADERS = mediactl.h v4l2subdev.h
-
-+pkgconfig_DATA = libmediactl.pc
- bin_PROGRAMS = media-ctl
- media_ctl_SOURCES = media-ctl.c options.c options.h tools.h
- media_ctl_LDADD = libmediactl.la libv4l2subdev.la
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb
deleted file mode 100644
index 3e92d49b4f..0000000000
--- a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.20.0.bb
+++ /dev/null
@@ -1,57 +0,0 @@
-SUMMARY = "v4l2 and IR applications"
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
- file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
-PROVIDES = "libv4l media-ctl"
-
-DEPENDS = "jpeg \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
-DEPENDS_append_libc-musl = " argp-standalone"
-DEPENDS_append_class-target = " udev"
-LDFLAGS_append = " -pthread"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG ??= "media-ctl"
-PACKAGECONFIG[media-ctl] = "--enable-v4l-utils,--disable-v4l-utils,,"
-
-SRC_URI = "http://linuxtv.org/downloads/v4l-utils/v4l-utils-${PV}.tar.bz2 \
- file://0001-Revert-media-ctl-Don-t-install-libmediactl-and-libv4.patch \
- file://mediactl-pkgconfig.patch \
- file://export-mediactl-headers.patch \
- file://0002-contrib-test-Link-mc_nextgen_test-with-libargp-if-ne.patch \
- file://0007-Do-not-use-getsubopt.patch \
- "
-SRC_URI[md5sum] = "46f9e2c0b2fdccd009da2f7e1aa87894"
-SRC_URI[sha256sum] = "956118713f7ccb405c55c7088a6a2490c32d54300dd9a30d8d5008c28d3726f7"
-
-EXTRA_OECONF = "--disable-qv4l2 --enable-shared --with-udevdir=${base_libdir}/udev \
- --disable-v4l2-compliance-32 --disable-v4l2-ctl-32 \
- --with-systemdsystemunitdir=${systemd_system_unitdir}"
-
-VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
-
-PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev"
-
-RPROVIDES_${PN}-dbg += "libv4l-dbg"
-
-FILES_media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
-
-FILES_ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules \
- ${systemd_system_unitdir}/systemd-udevd.service.d/50-rc_keymap.conf"
-RDEPENDS_ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
-
-FILES_rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
-
-FILES_${PN} = "${bindir} ${sbindir}"
-
-FILES_libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
- ${libdir}/libdvbv5*${SOLIBS} \
- ${libdir}/libv4l/*-decomp"
-
-FILES_libv4l-dev += "${includedir} ${libdir}/pkgconfig \
- ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
- ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
-
-PARALLEL_MAKE_class-native = ""
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb
new file mode 100644
index 0000000000..52759ef18e
--- /dev/null
+++ b/meta-oe/recipes-multimedia/v4l2apps/v4l-utils_1.26.1.bb
@@ -0,0 +1,85 @@
+SUMMARY = "v4l2 and IR applications"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=48da9957849056017dc568bbc43d8975 \
+ file://COPYING.libv4l;md5=d749e86a105281d7a44c2328acebc4b0"
+PROVIDES = "libv4l media-ctl"
+
+DEPENDS = "jpeg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa-lib', '', d)} \
+ ${@bb.utils.contains_any('PACKAGECONFIG', 'qv4l2 qvidcap', 'qtbase qtbase-native', '', d)}"
+
+DEPENDS:append:libc-musl = " argp-standalone"
+DEPENDS:append:class-target = " udev"
+LDFLAGS:append = " -pthread"
+# v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
+# both 32 and 64 bit file APIs. But it does not handle the time side?
+# Needs further investigation
+GLIBC_64BIT_TIME_FLAGS = ""
+
+inherit meson gettext pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[qv4l2] = ",-Dqv4l2=disabled"
+PACKAGECONFIG[qvidcap] = ",-Dqvidcap=disabled"
+PACKAGECONFIG[v4l2-tracer] = ",-Dv4l2-tracer=disabled,json-c"
+
+SRC_URI = "\
+ git://git.linuxtv.org/v4l-utils.git;protocol=https;branch=stable-1.26 \
+ file://0001-keytable-meson-Restrict-the-installation-of-50-rc_ke.patch \
+"
+
+SRCREV = "4aee01a027923cab1e40969f56f8ba58d3e6c0d1"
+
+PV .= "+git"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMESON = "-Dudevdir=${base_libdir}/udev -Dv4l2-compliance-32=false -Dv4l2-ctl-32=false"
+
+# Disable the erroneous installation of gconv-modules that would break glib
+# like it is done in Debian and ArchLinux.
+EXTRA_OEMESON += "-Dgconv=disabled"
+
+VIRTUAL-RUNTIME_ir-keytable-keymaps ?= "rc-keymaps"
+
+PACKAGES =+ "media-ctl ir-keytable rc-keymaps libv4l libv4l-dev qv4l2 qvidcap"
+
+RPROVIDES:${PN}-dbg += "libv4l-dbg"
+
+FILES:media-ctl = "${bindir}/media-ctl ${libdir}/libmediactl.so.*"
+FILES:qv4l2 = "\
+ ${bindir}/qv4l2 \
+ ${datadir}/applications/qv4l2.desktop \
+ ${datadir}/icons/hicolor/*/apps/qv4l2.* \
+"
+FILES:qvidcap = "\
+ ${bindir}/qvidcap \
+ ${datadir}/applications/qvidcap.desktop \
+ ${datadir}/icons/hicolor/*/apps/qvidcap.* \
+"
+
+FILES:ir-keytable = "${bindir}/ir-keytable ${base_libdir}/udev/rules.d/*-infrared.rules"
+RDEPENDS:ir-keytable += "${VIRTUAL-RUNTIME_ir-keytable-keymaps}"
+RDEPENDS:qv4l2 += "\
+ ${@bb.utils.contains('PACKAGECONFIG', 'qv4l2', 'qtbase', '', d)}"
+RDEPENDS:qvidcap += "\
+ ${@bb.utils.contains('PACKAGECONFIG', 'qvidcap', 'qtbase', '', d)}"
+
+FILES:rc-keymaps = "${sysconfdir}/rc* ${base_libdir}/udev/rc*"
+
+FILES:${PN} = "${bindir} ${sbindir}"
+
+FILES:libv4l += "${libdir}/libv4l*${SOLIBS} ${libdir}/libv4l/*.so ${libdir}/libv4l/plugins/*.so \
+ ${libdir}/libdvbv5*${SOLIBS} \
+ ${libdir}/libv4l/*-decomp \
+ ${libdir}/libv4l2tracer.so \
+"
+
+FILES:libv4l-dev += "${includedir} ${libdir}/pkgconfig \
+ ${libdir}/libv4l*${SOLIBSDEV} ${libdir}/*.la \
+ ${libdir}/v4l*${SOLIBSDEV} ${libdir}/libv4l/*.la ${libdir}/libv4l/plugins/*.la"
+
+PARALLEL_MAKE:class-native = ""
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch b/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch
deleted file mode 100644
index 41a5dbf4fd..0000000000
--- a/meta-oe/recipes-multimedia/v4l2apps/yavta/0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch
+++ /dev/null
@@ -1,961 +0,0 @@
-From 141d3b3593722eb3d588e7c4b1542f810bc25853 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen@dominion.thruhere.net>
-Date: Thu, 5 Jun 2014 11:29:20 -0500
-Subject: [PATCH] Add stdout mode to allow streaming over the network with nc
-
-Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
----
- yavta.c | 315 ++++++++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 169 insertions(+), 146 deletions(-)
-
-diff --git a/yavta.c b/yavta.c
-index 32adc26..b398da0 100644
---- a/yavta.c
-+++ b/yavta.c
-@@ -309,7 +309,7 @@ static bool video_has_fd(struct device *dev)
- static int video_set_fd(struct device *dev, int fd)
- {
- if (video_has_fd(dev)) {
-- printf("Can't set fd (already open).\n");
-+ fprintf(stderr, "Can't set fd (already open).\n");
- return -1;
- }
-
-@@ -321,18 +321,18 @@ static int video_set_fd(struct device *dev, int fd)
- static int video_open(struct device *dev, const char *devname)
- {
- if (video_has_fd(dev)) {
-- printf("Can't open device (already open).\n");
-+ fprintf(stderr, "Can't open device (already open).\n");
- return -1;
- }
-
- dev->fd = open(devname, O_RDWR);
- if (dev->fd < 0) {
-- printf("Error opening device %s: %s (%d).\n", devname,
-+ fprintf(stderr, "Error opening device %s: %s (%d).\n", devname,
- strerror(errno), errno);
- return dev->fd;
- }
-
-- printf("Device %s opened.\n", devname);
-+ fprintf(stderr, "Device %s opened.\n", devname);
-
- dev->opened = 1;
-
-@@ -352,7 +352,7 @@ static int video_querycap(struct device *dev, unsigned int *capabilities)
- *capabilities = cap.capabilities & V4L2_CAP_DEVICE_CAPS
- ? cap.device_caps : cap.capabilities;
-
-- printf("Device `%s' on `%s' is a video %s (%s mplanes) device.\n",
-+ fprintf(stderr, "Device `%s' on `%s' is a video %s (%s mplanes) device.\n",
- cap.card, cap.bus_info,
- video_is_capture(dev) ? "capture" : "output",
- video_is_mplane(dev) ? "with" : "without");
-@@ -370,7 +370,7 @@ static int cap_get_buf_type(unsigned int capabilities)
- } else if (capabilities & V4L2_CAP_VIDEO_OUTPUT) {
- return V4L2_BUF_TYPE_VIDEO_OUTPUT;
- } else {
-- printf("Device supports neither capture nor output.\n");
-+ fprintf(stderr, "Device supports neither capture nor output.\n");
- return -EINVAL;
- }
-
-@@ -440,7 +440,7 @@ static int get_control(struct device *dev, unsigned int id, int type,
- }
- }
-
-- printf("unable to get control 0x%8.8x: %s (%d).\n",
-+ fprintf(stderr, "unable to get control 0x%8.8x: %s (%d).\n",
- id, strerror(errno), errno);
- return -1;
- }
-@@ -484,12 +484,12 @@ static void set_control(struct device *dev, unsigned int id, int type,
- val = old.value;
- }
- if (ret == -1) {
-- printf("unable to set control 0x%8.8x: %s (%d).\n",
-+ fprintf(stderr, "unable to set control 0x%8.8x: %s (%d).\n",
- id, strerror(errno), errno);
- return;
- }
-
-- printf("Control 0x%08x set to %" PRId64 ", is %" PRId64 "\n",
-+ fprintf(stderr, "Control 0x%08x set to %" PRId64 ", is %" PRId64 "\n",
- id, old_val, val);
- }
-
-@@ -504,7 +504,7 @@ static int video_get_format(struct device *dev)
-
- ret = ioctl(dev->fd, VIDIOC_G_FMT, &fmt);
- if (ret < 0) {
-- printf("Unable to get format: %s (%d).\n", strerror(errno),
-+ fprintf(stderr, "Unable to get format: %s (%d).\n", strerror(errno),
- errno);
- return ret;
- }
-@@ -514,7 +514,7 @@ static int video_get_format(struct device *dev)
- dev->height = fmt.fmt.pix_mp.height;
- dev->num_planes = fmt.fmt.pix_mp.num_planes;
-
-- printf("Video format: %s (%08x) %ux%u field %s, %u planes: \n",
-+ fprintf(stderr, "Video format: %s (%08x) %ux%u field %s, %u planes: \n",
- v4l2_format_name(fmt.fmt.pix_mp.pixelformat), fmt.fmt.pix_mp.pixelformat,
- fmt.fmt.pix_mp.width, fmt.fmt.pix_mp.height,
- v4l2_field_name(fmt.fmt.pix_mp.field),
-@@ -527,7 +527,7 @@ static int video_get_format(struct device *dev)
- fmt.fmt.pix_mp.plane_fmt[i].bytesperline ?
- fmt.fmt.pix_mp.plane_fmt[i].sizeimage : 0;
-
-- printf(" * Stride %u, buffer size %u\n",
-+ fprintf(stderr, " * Stride %u, buffer size %u\n",
- fmt.fmt.pix_mp.plane_fmt[i].bytesperline,
- fmt.fmt.pix_mp.plane_fmt[i].sizeimage);
- }
-@@ -539,7 +539,7 @@ static int video_get_format(struct device *dev)
- dev->plane_fmt[0].bytesperline = fmt.fmt.pix.bytesperline;
- dev->plane_fmt[0].sizeimage = fmt.fmt.pix.bytesperline ? fmt.fmt.pix.sizeimage : 0;
-
-- printf("Video format: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n",
-+ fprintf(stderr, "Video format: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n",
- v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat,
- fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline,
- v4l2_field_name(fmt.fmt.pix_mp.field),
-@@ -581,25 +581,25 @@ static int video_set_format(struct device *dev, unsigned int w, unsigned int h,
-
- ret = ioctl(dev->fd, VIDIOC_S_FMT, &fmt);
- if (ret < 0) {
-- printf("Unable to set format: %s (%d).\n", strerror(errno),
-+ fprintf(stderr, "Unable to set format: %s (%d).\n", strerror(errno),
- errno);
- return ret;
- }
-
- if (video_is_mplane(dev)) {
-- printf("Video format set: %s (%08x) %ux%u field %s, %u planes: \n",
-+ fprintf(stderr, "Video format set: %s (%08x) %ux%u field %s, %u planes: \n",
- v4l2_format_name(fmt.fmt.pix_mp.pixelformat), fmt.fmt.pix_mp.pixelformat,
- fmt.fmt.pix_mp.width, fmt.fmt.pix_mp.height,
- v4l2_field_name(fmt.fmt.pix_mp.field),
- fmt.fmt.pix_mp.num_planes);
-
- for (i = 0; i < fmt.fmt.pix_mp.num_planes; i++) {
-- printf(" * Stride %u, buffer size %u\n",
-+ fprintf(stderr, " * Stride %u, buffer size %u\n",
- fmt.fmt.pix_mp.plane_fmt[i].bytesperline,
- fmt.fmt.pix_mp.plane_fmt[i].sizeimage);
- }
- } else {
-- printf("Video format set: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n",
-+ fprintf(stderr, "Video format set: %s (%08x) %ux%u (stride %u) field %s buffer size %u\n",
- v4l2_format_name(fmt.fmt.pix.pixelformat), fmt.fmt.pix.pixelformat,
- fmt.fmt.pix.width, fmt.fmt.pix.height, fmt.fmt.pix.bytesperline,
- v4l2_field_name(fmt.fmt.pix.field),
-@@ -619,16 +619,16 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f
-
- ret = ioctl(dev->fd, VIDIOC_G_PARM, &parm);
- if (ret < 0) {
-- printf("Unable to get frame rate: %s (%d).\n",
-+ fprintf(stderr, "Unable to get frame rate: %s (%d).\n",
- strerror(errno), errno);
- return ret;
- }
-
-- printf("Current frame rate: %u/%u\n",
-+ fprintf(stderr, "Current frame rate: %u/%u\n",
- parm.parm.capture.timeperframe.numerator,
- parm.parm.capture.timeperframe.denominator);
-
-- printf("Setting frame rate to: %u/%u\n",
-+ fprintf(stderr, "Setting frame rate to: %u/%u\n",
- time_per_frame->numerator,
- time_per_frame->denominator);
-
-@@ -637,19 +637,19 @@ static int video_set_framerate(struct device *dev, struct v4l2_fract *time_per_f
-
- ret = ioctl(dev->fd, VIDIOC_S_PARM, &parm);
- if (ret < 0) {
-- printf("Unable to set frame rate: %s (%d).\n", strerror(errno),
-+ fprintf(stderr, "Unable to set frame rate: %s (%d).\n", strerror(errno),
- errno);
- return ret;
- }
-
- ret = ioctl(dev->fd, VIDIOC_G_PARM, &parm);
- if (ret < 0) {
-- printf("Unable to get frame rate: %s (%d).\n", strerror(errno),
-+ fprintf(stderr, "Unable to get frame rate: %s (%d).\n", strerror(errno),
- errno);
- return ret;
- }
-
-- printf("Frame rate set: %u/%u\n",
-+ fprintf(stderr, "Frame rate set: %u/%u\n",
- parm.parm.capture.timeperframe.numerator,
- parm.parm.capture.timeperframe.denominator);
- return 0;
-@@ -674,7 +674,7 @@ static int video_buffer_mmap(struct device *dev, struct buffer *buffer,
- buffer->mem[i] = mmap(0, length, PROT_READ | PROT_WRITE, MAP_SHARED,
- dev->fd, offset);
- if (buffer->mem[i] == MAP_FAILED) {
-- printf("Unable to map buffer %u/%u: %s (%d)\n",
-+ fprintf(stderr, "Unable to map buffer %u/%u: %s (%d)\n",
- buffer->idx, i, strerror(errno), errno);
- return -1;
- }
-@@ -682,7 +682,7 @@ static int video_buffer_mmap(struct device *dev, struct buffer *buffer,
- buffer->size[i] = length;
- buffer->padding[i] = 0;
-
-- printf("Buffer %u/%u mapped at address %p.\n",
-+ fprintf(stderr, "Buffer %u/%u mapped at address %p.\n",
- buffer->idx, i, buffer->mem[i]);
- }
-
-@@ -697,7 +697,7 @@ static int video_buffer_munmap(struct device *dev, struct buffer *buffer)
- for (i = 0; i < dev->num_planes; i++) {
- ret = munmap(buffer->mem[i], buffer->size[i]);
- if (ret < 0) {
-- printf("Unable to unmap buffer %u/%u: %s (%d)\n",
-+ fprintf(stderr, "Unable to unmap buffer %u/%u: %s (%d)\n",
- buffer->idx, i, strerror(errno), errno);
- }
-
-@@ -725,7 +725,7 @@ static int video_buffer_alloc_userptr(struct device *dev, struct buffer *buffer,
- ret = posix_memalign(&buffer->mem[i], page_size,
- length + offset + padding);
- if (ret < 0) {
-- printf("Unable to allocate buffer %u/%u (%d)\n",
-+ fprintf(stderr, "Unable to allocate buffer %u/%u (%d)\n",
- buffer->idx, i, ret);
- return -ENOMEM;
- }
-@@ -734,7 +734,7 @@ static int video_buffer_alloc_userptr(struct device *dev, struct buffer *buffer,
- buffer->size[i] = length;
- buffer->padding[i] = padding;
-
-- printf("Buffer %u/%u allocated at address %p.\n",
-+ fprintf(stderr, "Buffer %u/%u allocated at address %p.\n",
- buffer->idx, i, buffer->mem[i]);
- }
-
-@@ -809,12 +809,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs,
-
- ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb);
- if (ret < 0) {
-- printf("Unable to request buffers: %s (%d).\n", strerror(errno),
-+ fprintf(stderr, "Unable to request buffers: %s (%d).\n", strerror(errno),
- errno);
- return ret;
- }
-
-- printf("%u buffers requested.\n", rb.count);
-+ fprintf(stderr, "%u buffers requested.\n", rb.count);
-
- buffers = malloc(rb.count * sizeof buffers[0]);
- if (buffers == NULL)
-@@ -835,12 +835,12 @@ static int video_alloc_buffers(struct device *dev, int nbufs,
-
- ret = ioctl(dev->fd, VIDIOC_QUERYBUF, &buf);
- if (ret < 0) {
-- printf("Unable to query buffer %u: %s (%d).\n", i,
-+ fprintf(stderr, "Unable to query buffer %u: %s (%d).\n", i,
- strerror(errno), errno);
- return ret;
- }
- get_ts_flags(buf.flags, &ts_type, &ts_source);
-- printf("length: %u offset: %u timestamp type/source: %s/%s\n",
-+ fprintf(stderr, "length: %u offset: %u timestamp type/source: %s/%s\n",
- buf.length, buf.m.offset, ts_type, ts_source);
-
- buffers[i].idx = i;
-@@ -899,12 +899,12 @@ static int video_free_buffers(struct device *dev)
-
- ret = ioctl(dev->fd, VIDIOC_REQBUFS, &rb);
- if (ret < 0) {
-- printf("Unable to release buffers: %s (%d).\n",
-+ fprintf(stderr, "Unable to release buffers: %s (%d).\n",
- strerror(errno), errno);
- return ret;
- }
-
-- printf("%u buffers released.\n", dev->nbufs);
-+ fprintf(stderr, "%u buffers released.\n", dev->nbufs);
-
- free(dev->buffers);
- dev->nbufs = 0;
-@@ -974,7 +974,7 @@ static int video_queue_buffer(struct device *dev, int index, enum buffer_fill_mo
-
- ret = ioctl(dev->fd, VIDIOC_QBUF, &buf);
- if (ret < 0)
-- printf("Unable to queue buffer: %s (%d).\n",
-+ fprintf(stderr, "Unable to queue buffer: %s (%d).\n",
- strerror(errno), errno);
-
- return ret;
-@@ -987,7 +987,7 @@ static int video_enable(struct device *dev, int enable)
-
- ret = ioctl(dev->fd, enable ? VIDIOC_STREAMON : VIDIOC_STREAMOFF, &type);
- if (ret < 0) {
-- printf("Unable to %s streaming: %s (%d).\n",
-+ fprintf(stderr, "Unable to %s streaming: %s (%d).\n",
- enable ? "start" : "stop", strerror(errno), errno);
- return ret;
- }
-@@ -1009,10 +1009,10 @@ static void video_query_menu(struct device *dev, struct v4l2_queryctrl *query,
- continue;
-
- if (query->type == V4L2_CTRL_TYPE_MENU)
-- printf(" %u: %.32s%s\n", menu.index, menu.name,
-+ fprintf(stderr, " %u: %.32s%s\n", menu.index, menu.name,
- menu.index == value ? " (*)" : "");
- else
-- printf(" %u: %lld%s\n", menu.index, menu.value,
-+ fprintf(stderr, " %u: %lld%s\n", menu.index, menu.value,
- menu.index == value ? " (*)" : "");
- };
- }
-@@ -1043,7 +1043,7 @@ static void video_list_controls(struct device *dev)
- continue;
-
- if (query.type == V4L2_CTRL_TYPE_CTRL_CLASS) {
-- printf("--- %s (class 0x%08x) ---\n", query.name, query.id);
-+ fprintf(stderr, "--- %s (class 0x%08x) ---\n", query.name, query.id);
- continue;
- }
-
-@@ -1053,7 +1053,7 @@ static void video_list_controls(struct device *dev)
- else
- sprintf(value, "%" PRId64, val64);
-
-- printf("control 0x%08x `%s' min %d max %d step %d default %d current %s.\n",
-+ fprintf(stderr, "control 0x%08x `%s' min %d max %d step %d default %d current %s.\n",
- query.id, query.name, query.minimum, query.maximum,
- query.step, query.default_value, value);
-
-@@ -1065,9 +1065,9 @@ static void video_list_controls(struct device *dev)
- }
-
- if (nctrls)
-- printf("%u control%s found.\n", nctrls, nctrls > 1 ? "s" : "");
-+ fprintf(stderr, "%u control%s found.\n", nctrls, nctrls > 1 ? "s" : "");
- else
-- printf("No control found.\n");
-+ fprintf(stderr, "No control found.\n");
- }
-
- static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
-@@ -1088,30 +1088,30 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
- break;
-
- if (i != ival.index)
-- printf("Warning: driver returned wrong ival index "
-+ fprintf(stderr, "Warning: driver returned wrong ival index "
- "%u.\n", ival.index);
- if (pixelformat != ival.pixel_format)
-- printf("Warning: driver returned wrong ival pixel "
-+ fprintf(stderr, "Warning: driver returned wrong ival pixel "
- "format %08x.\n", ival.pixel_format);
- if (width != ival.width)
-- printf("Warning: driver returned wrong ival width "
-+ fprintf(stderr, "Warning: driver returned wrong ival width "
- "%u.\n", ival.width);
- if (height != ival.height)
-- printf("Warning: driver returned wrong ival height "
-+ fprintf(stderr, "Warning: driver returned wrong ival height "
- "%u.\n", ival.height);
-
- if (i != 0)
-- printf(", ");
-+ fprintf(stderr, ", ");
-
- switch (ival.type) {
- case V4L2_FRMIVAL_TYPE_DISCRETE:
-- printf("%u/%u",
-+ fprintf(stderr, "%u/%u",
- ival.discrete.numerator,
- ival.discrete.denominator);
- break;
-
- case V4L2_FRMIVAL_TYPE_CONTINUOUS:
-- printf("%u/%u - %u/%u",
-+ fprintf(stderr, "%u/%u - %u/%u",
- ival.stepwise.min.numerator,
- ival.stepwise.min.denominator,
- ival.stepwise.max.numerator,
-@@ -1119,7 +1119,7 @@ static void video_enum_frame_intervals(struct device *dev, __u32 pixelformat,
- return;
-
- case V4L2_FRMIVAL_TYPE_STEPWISE:
-- printf("%u/%u - %u/%u (by %u/%u)",
-+ fprintf(stderr, "%u/%u - %u/%u (by %u/%u)",
- ival.stepwise.min.numerator,
- ival.stepwise.min.denominator,
- ival.stepwise.max.numerator,
-@@ -1149,23 +1149,23 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
- break;
-
- if (i != frame.index)
-- printf("Warning: driver returned wrong frame index "
-+ fprintf(stderr, "Warning: driver returned wrong frame index "
- "%u.\n", frame.index);
- if (pixelformat != frame.pixel_format)
-- printf("Warning: driver returned wrong frame pixel "
-+ fprintf(stderr, "Warning: driver returned wrong frame pixel "
- "format %08x.\n", frame.pixel_format);
-
- switch (frame.type) {
- case V4L2_FRMSIZE_TYPE_DISCRETE:
-- printf("\tFrame size: %ux%u (", frame.discrete.width,
-+ fprintf(stderr, "\tFrame size: %ux%u (", frame.discrete.width,
- frame.discrete.height);
- video_enum_frame_intervals(dev, frame.pixel_format,
- frame.discrete.width, frame.discrete.height);
-- printf(")\n");
-+ fprintf(stderr, ")\n");
- break;
-
- case V4L2_FRMSIZE_TYPE_CONTINUOUS:
-- printf("\tFrame size: %ux%u - %ux%u (",
-+ fprintf(stderr, "\tFrame size: %ux%u - %ux%u (",
- frame.stepwise.min_width,
- frame.stepwise.min_height,
- frame.stepwise.max_width,
-@@ -1173,11 +1173,11 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
- video_enum_frame_intervals(dev, frame.pixel_format,
- frame.stepwise.max_width,
- frame.stepwise.max_height);
-- printf(")\n");
-+ fprintf(stderr, ")\n");
- break;
-
- case V4L2_FRMSIZE_TYPE_STEPWISE:
-- printf("\tFrame size: %ux%u - %ux%u (by %ux%u) (\n",
-+ fprintf(stderr, "\tFrame size: %ux%u - %ux%u (by %ux%u) (\n",
- frame.stepwise.min_width,
- frame.stepwise.min_height,
- frame.stepwise.max_width,
-@@ -1187,7 +1187,7 @@ static void video_enum_frame_sizes(struct device *dev, __u32 pixelformat)
- video_enum_frame_intervals(dev, frame.pixel_format,
- frame.stepwise.max_width,
- frame.stepwise.max_height);
-- printf(")\n");
-+ fprintf(stderr, ")\n");
- break;
-
- default:
-@@ -1211,19 +1211,19 @@ static void video_enum_formats(struct device *dev, enum v4l2_buf_type type)
- break;
-
- if (i != fmt.index)
-- printf("Warning: driver returned wrong format index "
-+ fprintf(stderr, "Warning: driver returned wrong format index "
- "%u.\n", fmt.index);
- if (type != fmt.type)
-- printf("Warning: driver returned wrong format type "
-+ fprintf(stderr, "Warning: driver returned wrong format type "
- "%u.\n", fmt.type);
-
-- printf("\tFormat %u: %s (%08x)\n", i,
-+ fprintf(stderr, "\tFormat %u: %s (%08x)\n", i,
- v4l2_format_name(fmt.pixelformat), fmt.pixelformat);
-- printf("\tType: %s (%u)\n", v4l2_buf_type_name(fmt.type),
-+ fprintf(stderr, "\tType: %s (%u)\n", v4l2_buf_type_name(fmt.type),
- fmt.type);
-- printf("\tName: %.32s\n", fmt.description);
-+ fprintf(stderr, "\tName: %.32s\n", fmt.description);
- video_enum_frame_sizes(dev, fmt.pixelformat);
-- printf("\n");
-+ fprintf(stderr, "\n");
- }
- }
-
-@@ -1241,13 +1241,13 @@ static void video_enum_inputs(struct device *dev)
- break;
-
- if (i != input.index)
-- printf("Warning: driver returned wrong input index "
-+ fprintf(stderr, "Warning: driver returned wrong input index "
- "%u.\n", input.index);
-
-- printf("\tInput %u: %s.\n", i, input.name);
-+ fprintf(stderr, "\tInput %u: %s.\n", i, input.name);
- }
-
-- printf("\n");
-+ fprintf(stderr, "\n");
- }
-
- static int video_get_input(struct device *dev)
-@@ -1257,7 +1257,7 @@ static int video_get_input(struct device *dev)
-
- ret = ioctl(dev->fd, VIDIOC_G_INPUT, &input);
- if (ret < 0) {
-- printf("Unable to get current input: %s (%d).\n",
-+ fprintf(stderr, "Unable to get current input: %s (%d).\n",
- strerror(errno), errno);
- return ret;
- }
-@@ -1272,7 +1272,7 @@ static int video_set_input(struct device *dev, unsigned int input)
-
- ret = ioctl(dev->fd, VIDIOC_S_INPUT, &_input);
- if (ret < 0)
-- printf("Unable to select input %u: %s (%d).\n", input,
-+ fprintf(stderr, "Unable to select input %u: %s (%d).\n", input,
- strerror(errno), errno);
-
- return ret;
-@@ -1291,14 +1291,14 @@ static int video_set_quality(struct device *dev, unsigned int quality)
-
- ret = ioctl(dev->fd, VIDIOC_S_JPEGCOMP, &jpeg);
- if (ret < 0) {
-- printf("Unable to set quality to %u: %s (%d).\n", quality,
-+ fprintf(stderr, "Unable to set quality to %u: %s (%d).\n", quality,
- strerror(errno), errno);
- return ret;
- }
-
- ret = ioctl(dev->fd, VIDIOC_G_JPEGCOMP, &jpeg);
- if (ret >= 0)
-- printf("Quality set to %u\n", jpeg.quality);
-+ fprintf(stderr, "Quality set to %u\n", jpeg.quality);
-
- return 0;
- }
-@@ -1313,7 +1313,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
- if (filename != NULL) {
- fd = open(filename, O_RDONLY);
- if (fd == -1) {
-- printf("Unable to open test pattern file '%s': %s (%d).\n",
-+ fprintf(stderr, "Unable to open test pattern file '%s': %s (%d).\n",
- filename, strerror(errno), errno);
- return -errno;
- }
-@@ -1331,7 +1331,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
- if (filename != NULL) {
- ret = read(fd, dev->pattern[plane], size);
- if (ret != (int)size && dev->plane_fmt[plane].bytesperline != 0) {
-- printf("Test pattern file size %u doesn't match image size %u\n",
-+ fprintf(stderr, "Test pattern file size %u doesn't match image size %u\n",
- ret, size);
- ret = -EINVAL;
- goto done;
-@@ -1341,7 +1341,7 @@ static int video_load_test_pattern(struct device *dev, const char *filename)
- unsigned int i;
-
- if (dev->plane_fmt[plane].bytesperline == 0) {
-- printf("Compressed format detected for plane %u and no test pattern filename given.\n"
-+ fprintf(stderr, "Compressed format detected for plane %u and no test pattern filename given.\n"
- "The test pattern can't be generated automatically.\n", plane);
- ret = -EINVAL;
- goto done;
-@@ -1410,7 +1410,7 @@ static void video_verify_buffer(struct device *dev, struct v4l2_buffer *buf)
-
- if (dev->plane_fmt[plane].sizeimage &&
- dev->plane_fmt[plane].sizeimage != length)
-- printf("Warning: bytes used %u != image size %u for plane %u\n",
-+ fprintf(stderr, "Warning: bytes used %u != image size %u for plane %u\n",
- length, dev->plane_fmt[plane].sizeimage, plane);
-
- if (buffer->padding[plane] == 0)
-@@ -1424,16 +1424,16 @@ static void video_verify_buffer(struct device *dev, struct v4l2_buffer *buf)
- }
-
- if (errors) {
-- printf("Warning: %u bytes overwritten among %u first padding bytes for plane %u\n",
-+ fprintf(stderr, "Warning: %u bytes overwritten among %u first padding bytes for plane %u\n",
- errors, dirty, plane);
-
- dirty = (dirty + 15) & ~15;
- dirty = dirty > 32 ? 32 : dirty;
-
- for (i = 0; i < dirty; ++i) {
-- printf("%02x ", data[i]);
-+ fprintf(stderr, "%02x ", data[i]);
- if (i % 16 == 15)
-- printf("\n");
-+ fprintf(stderr, "\n");
- }
- }
- }
-@@ -1481,18 +1481,32 @@ static void video_save_image(struct device *dev, struct v4l2_buffer *buf,
-
- ret = write(fd, dev->buffers[buf->index].mem[i], length);
- if (ret < 0) {
-- printf("write error: %s (%d)\n", strerror(errno), errno);
-+ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno);
- break;
- } else if (ret != (int)length)
-- printf("write error: only %d bytes written instead of %u\n",
-+ fprintf(stderr, "write error: only %d bytes written instead of %u\n",
- ret, length);
- }
- close(fd);
- }
-
-+static void video_stdout_image(struct device *dev, struct v4l2_buffer *buf)
-+{
-+ int ret;
-+
-+ fprintf(stderr, "stdout");
-+ ret = fwrite(dev->buffers[buf->index].mem, buf->bytesused, 1, stdout);
-+
-+ if (ret < 0)
-+ fprintf(stderr, "write error: %s (%d)\n", strerror(errno), errno);
-+ else if (ret != (int)buf->bytesused)
-+ fprintf(stderr, "write error: only %d bytes written instead of %u\n",
-+ ret, buf->bytesused);
-+}
-+
- static int video_do_capture(struct device *dev, unsigned int nframes,
- unsigned int skip, unsigned int delay, const char *pattern,
-- int do_requeue_last, enum buffer_fill_mode fill)
-+ int do_requeue_last, enum buffer_fill_mode fill, int do_stdout)
- {
- struct v4l2_plane planes[VIDEO_MAX_PLANES];
- struct v4l2_buffer buf;
-@@ -1529,7 +1543,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
- ret = ioctl(dev->fd, VIDIOC_DQBUF, &buf);
- if (ret < 0) {
- if (errno != EIO) {
-- printf("Unable to dequeue buffer: %s (%d).\n",
-+ fprintf(stderr, "Unable to dequeue buffer: %s (%d).\n",
- strerror(errno), errno);
- goto done;
- }
-@@ -1550,7 +1564,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
-
- clock_gettime(CLOCK_MONOTONIC, &ts);
- get_ts_flags(buf.flags, &ts_type, &ts_source);
-- printf("%u (%u) [%c] %s %u %u B %ld.%06ld %ld.%06ld %.3f fps ts %s/%s\n", i, buf.index,
-+ fprintf(stderr, "%u (%u) [%c] %s %u %u B %ld.%06ld %ld.%06ld %.3f fps ts %s/%s\n", i, buf.index,
- (buf.flags & V4L2_BUF_FLAG_ERROR) ? 'E' : '-',
- v4l2_field_name(buf.field),
- buf.sequence, buf.bytesused, buf.timestamp.tv_sec,
-@@ -1563,6 +1577,9 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
- if (video_is_capture(dev) && pattern && !skip)
- video_save_image(dev, &buf, pattern, i);
-
-+ if (video_is_capture(dev) && do_stdout && !skip)
-+ video_stdout_image(dev, &buf);
-+
- if (skip)
- --skip;
-
-@@ -1577,7 +1594,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
-
- ret = video_queue_buffer(dev, buf.index, fill);
- if (ret < 0) {
-- printf("Unable to requeue buffer: %s (%d).\n",
-+ fprintf(stderr, "Unable to requeue buffer: %s (%d).\n",
- strerror(errno), errno);
- goto done;
- }
-@@ -1587,7 +1604,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
- video_enable(dev, 0);
-
- if (nframes == 0) {
-- printf("No frames captured.\n");
-+ fprintf(stderr, "No frames captured.\n");
- goto done;
- }
-
-@@ -1604,7 +1621,7 @@ static int video_do_capture(struct device *dev, unsigned int nframes,
- bps = size/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0;
- fps = i/(ts.tv_nsec/1000.0+1000000.0*ts.tv_sec)*1000000.0;
-
-- printf("Captured %u frames in %lu.%06lu seconds (%f fps, %f B/s).\n",
-+ fprintf(stderr, "Captured %u frames in %lu.%06lu seconds (%f fps, %f B/s).\n",
- i, ts.tv_sec, ts.tv_nsec/1000, fps, bps);
-
- done:
-@@ -1616,42 +1633,42 @@ done:
-
- static void usage(const char *argv0)
- {
-- printf("Usage: %s [options] device\n", argv0);
-- printf("Supported options:\n");
-- printf("-B, --buffer-type Buffer type (\"capture\", \"output\",\n");
-- printf(" \"capture-mplane\" or \"output-mplane\")\n");
-- printf("-c, --capture[=nframes] Capture frames\n");
-- printf("-C, --check-overrun Verify dequeued frames for buffer overrun\n");
-- printf("-d, --delay Delay (in ms) before requeuing buffers\n");
-- printf("-f, --format format Set the video format\n");
-- printf("-F, --file[=name] Read/write frames from/to disk\n");
-- printf("\tFor video capture devices, the first '#' character in the file name is\n");
-- printf("\texpanded to the frame sequence number. The default file name is\n");
-- printf("\t'frame-#.bin'.\n");
-- printf("-h, --help Show this help screen\n");
-- printf("-i, --input input Select the video input\n");
-- printf("-I, --fill-frames Fill frames with check pattern before queuing them\n");
-- printf("-l, --list-controls List available controls\n");
-- printf("-n, --nbufs n Set the number of video buffers\n");
-- printf("-p, --pause Pause before starting the video stream\n");
-- printf("-q, --quality n MJPEG quality (0-100)\n");
-- printf("-r, --get-control ctrl Get control 'ctrl'\n");
-- printf("-R, --realtime=[priority] Enable realtime RR scheduling\n");
-- printf("-s, --size WxH Set the frame size\n");
-- printf("-t, --time-per-frame num/denom Set the time per frame (eg. 1/25 = 25 fps)\n");
-- printf("-u, --userptr Use the user pointers streaming method\n");
-- printf("-w, --set-control 'ctrl value' Set control 'ctrl' to 'value'\n");
-- printf(" --enum-formats Enumerate formats\n");
-- printf(" --enum-inputs Enumerate inputs\n");
-- printf(" --fd Use a numeric file descriptor insted of a device\n");
-- printf(" --field Interlaced format field order\n");
-- printf(" --no-query Don't query capabilities on open\n");
-- printf(" --offset User pointer buffer offset from page start\n");
-- printf(" --requeue-last Requeue the last buffers before streamoff\n");
-- printf(" --timestamp-source Set timestamp source on output buffers [eof, soe]\n");
-- printf(" --skip n Skip the first n frames\n");
-- printf(" --sleep-forever Sleep forever after configuring the device\n");
-- printf(" --stride value Line stride in bytes\n");
-+ fprintf(stderr, "Usage: %s [options] device\n", argv0);
-+ fprintf(stderr, "Supported options:\n");
-+ fprintf(stderr, "-B, --buffer-type Buffer type (\"capture\", \"output\",\n");
-+ fprintf(stderr, " \"capture-mplane\" or \"output-mplane\")\n");
-+ fprintf(stderr, "-c, --capture[=nframes] Capture frames\n");
-+ fprintf(stderr, "-C, --check-overrun Verify dequeued frames for buffer overrun\n");
-+ fprintf(stderr, "-d, --delay Delay (in ms) before requeuing buffers\n");
-+ fprintf(stderr, "-f, --format format Set the video format\n");
-+ fprintf(stderr, "-F, --file[=name] Read/write frames from/to disk\n");
-+ fprintf(stderr, "\tFor video capture devices, the first '#' character in the file name is\n");
-+ fprintf(stderr, "\texpanded to the frame sequence number. The default file name is\n");
-+ fprintf(stderr, "\t'frame-#.bin'.\n");
-+ fprintf(stderr, "-h, --help Show this help screen\n");
-+ fprintf(stderr, "-i, --input input Select the video input\n");
-+ fprintf(stderr, "-I, --fill-frames Fill frames with check pattern before queuing them\n");
-+ fprintf(stderr, "-l, --list-controls List available controls\n");
-+ fprintf(stderr, "-n, --nbufs n Set the number of video buffers\n");
-+ fprintf(stderr, "-p, --pause Pause before starting the video stream\n");
-+ fprintf(stderr, "-q, --quality n MJPEG quality (0-100)\n");
-+ fprintf(stderr, "-r, --get-control ctrl Get control 'ctrl'\n");
-+ fprintf(stderr, "-R, --realtime=[priority] Enable realtime RR scheduling\n");
-+ fprintf(stderr, "-s, --size WxH Set the frame size\n");
-+ fprintf(stderr, "-t, --time-per-frame num/denom Set the time per frame (eg. 1/25 = 25 fps)\n");
-+ fprintf(stderr, "-u, --userptr Use the user pointers streaming method\n");
-+ fprintf(stderr, "-w, --set-control 'ctrl value' Set control 'ctrl' to 'value'\n");
-+ fprintf(stderr, " --enum-formats Enumerate formats\n");
-+ fprintf(stderr, " --enum-inputs Enumerate inputs\n");
-+ fprintf(stderr, " --fd Use a numeric file descriptor insted of a device\n");
-+ fprintf(stderr, " --field Interlaced format field order\n");
-+ fprintf(stderr, " --no-query Don't query capabilities on open\n");
-+ fprintf(stderr, " --offset User pointer buffer offset from page start\n");
-+ fprintf(stderr, " --requeue-last Requeue the last buffers before streamoff\n");
-+ fprintf(stderr, " --timestamp-source Set timestamp source on output buffers [eof, soe]\n");
-+ fprintf(stderr, " --skip n Skip the first n frames\n");
-+ fprintf(stderr, " --sleep-forever Sleep forever after configuring the device\n");
-+ fprintf(stderr, " --stride value Line stride in bytes\n");
- }
-
- #define OPT_ENUM_FORMATS 256
-@@ -1665,6 +1682,7 @@ static void usage(const char *argv0)
- #define OPT_FD 264
- #define OPT_TSTAMP_SRC 265
- #define OPT_FIELD 266
-+#define OPT_STDOUT 267
-
- static struct option opts[] = {
- {"buffer-type", 1, 0, 'B'},
-@@ -1677,6 +1695,7 @@ static struct option opts[] = {
- {"field", 1, 0, OPT_FIELD},
- {"file", 2, 0, 'F'},
- {"fill-frames", 0, 0, 'I'},
-+ {"stdout", 0, 0, OPT_STDOUT},
- {"format", 1, 0, 'f'},
- {"help", 0, 0, 'h'},
- {"input", 1, 0, 'i'},
-@@ -1717,7 +1736,8 @@ int main(int argc, char *argv[])
- int do_list_controls = 0, do_get_control = 0, do_set_control = 0;
- int do_sleep_forever = 0, do_requeue_last = 0;
- int do_rt = 0;
-- int no_query = 0;
-+ int no_query = 0;
-+ int do_stdout = 0;
- char *endptr;
- int c;
-
-@@ -1755,7 +1775,7 @@ int main(int argc, char *argv[])
- case 'B':
- ret = v4l2_buf_type_from_string(optarg);
- if (ret == -1) {
-- printf("Bad buffer type \"%s\"\n", optarg);
-+ fprintf(stderr, "Bad buffer type \"%s\"\n", optarg);
- return 1;
- }
- video_set_buf_type(&dev, ret);
-@@ -1775,7 +1795,7 @@ int main(int argc, char *argv[])
- do_set_format = 1;
- info = v4l2_format_by_name(optarg);
- if (info == NULL) {
-- printf("Unsupported video format '%s'\n", optarg);
-+ fprintf(stderr, "Unsupported video format '%s'\n", optarg);
- return 1;
- }
- pixelformat = info->fourcc;
-@@ -1812,7 +1832,7 @@ int main(int argc, char *argv[])
- case 'r':
- ctrl_name = strtol(optarg, &endptr, 0);
- if (*endptr != 0) {
-- printf("Invalid control name '%s'\n", optarg);
-+ fprintf(stderr, "Invalid control name '%s'\n", optarg);
- return 1;
- }
- do_get_control = 1;
-@@ -1826,12 +1846,12 @@ int main(int argc, char *argv[])
- do_set_format = 1;
- width = strtol(optarg, &endptr, 10);
- if (*endptr != 'x' || endptr == optarg) {
-- printf("Invalid size '%s'\n", optarg);
-+ fprintf(stderr, "Invalid size '%s'\n", optarg);
- return 1;
- }
- height = strtol(endptr + 1, &endptr, 10);
- if (*endptr != 0) {
-- printf("Invalid size '%s'\n", optarg);
-+ fprintf(stderr, "Invalid size '%s'\n", optarg);
- return 1;
- }
- break;
-@@ -1839,12 +1859,12 @@ int main(int argc, char *argv[])
- do_set_time_per_frame = 1;
- time_per_frame.numerator = strtol(optarg, &endptr, 10);
- if (*endptr != '/' || endptr == optarg) {
-- printf("Invalid time per frame '%s'\n", optarg);
-+ fprintf(stderr, "Invalid time per frame '%s'\n", optarg);
- return 1;
- }
- time_per_frame.denominator = strtol(endptr + 1, &endptr, 10);
- if (*endptr != 0) {
-- printf("Invalid time per frame '%s'\n", optarg);
-+ fprintf(stderr, "Invalid time per frame '%s'\n", optarg);
- return 1;
- }
- break;
-@@ -1854,12 +1874,12 @@ int main(int argc, char *argv[])
- case 'w':
- ctrl_name = strtol(optarg, &endptr, 0);
- if (*endptr != ' ' || endptr == optarg) {
-- printf("Invalid control name '%s'\n", optarg);
-+ fprintf(stderr, "Invalid control name '%s'\n", optarg);
- return 1;
- }
- ctrl_value = strtol(endptr + 1, &endptr, 0);
- if (*endptr != 0) {
-- printf("Invalid control value '%s'\n", optarg);
-+ fprintf(stderr, "Invalid control value '%s'\n", optarg);
- return 1;
- }
- do_set_control = 1;
-@@ -1873,16 +1893,16 @@ int main(int argc, char *argv[])
- case OPT_FD:
- ret = atoi(optarg);
- if (ret < 0) {
-- printf("Bad file descriptor %d\n", ret);
-+ fprintf(stderr, "Bad file descriptor %d\n", ret);
- return 1;
- }
-- printf("Using file descriptor %d\n", ret);
-+ fprintf(stderr, "Using file descriptor %d\n", ret);
- video_set_fd(&dev, ret);
- break;
- case OPT_FIELD:
- field = v4l2_field_from_string(optarg);
- if (field == (enum v4l2_field)-1) {
-- printf("Invalid field order '%s'\n", optarg);
-+ fprintf(stderr, "Invalid field order '%s'\n", optarg);
- return 1;
- }
- break;
-@@ -1907,22 +1927,25 @@ int main(int argc, char *argv[])
- } else if (!strcmp(optarg, "soe")) {
- dev.buffer_output_flags |= V4L2_BUF_FLAG_TSTAMP_SRC_SOE;
- } else {
-- printf("Invalid timestamp source %s\n", optarg);
-+ fprintf(stderr, "Invalid timestamp source %s\n", optarg);
- return 1;
- }
- break;
- case OPT_USERPTR_OFFSET:
- userptr_offset = atoi(optarg);
- break;
-+ case OPT_STDOUT:
-+ do_stdout = 1;
-+ break;
- default:
-- printf("Invalid option -%c\n", c);
-- printf("Run %s -h for help.\n", argv[0]);
-+ fprintf(stderr, "Invalid option -%c\n", c);
-+ fprintf(stderr, "Run %s -h for help.\n", argv[0]);
- return 1;
- }
- }
-
- if ((fill_mode & BUFFER_FILL_PADDING) && memtype != V4L2_MEMORY_USERPTR) {
-- printf("Buffer overrun can only be checked in USERPTR mode.\n");
-+ fprintf(stderr, "Buffer overrun can only be checked in USERPTR mode.\n");
- return 1;
- }
-
-@@ -1959,7 +1982,7 @@ int main(int argc, char *argv[])
- ret = get_control(&dev, ctrl_name,
- get_control_type(&dev, ctrl_name), &val);
- if (ret >= 0)
-- printf("Control 0x%08x value %" PRId64 "\n", ctrl_name, val);
-+ fprintf(stderr, "Control 0x%08x value %" PRId64 "\n", ctrl_name, val);
- }
-
- if (do_set_control)
-@@ -1970,7 +1993,7 @@ int main(int argc, char *argv[])
- video_list_controls(&dev);
-
- if (do_enum_formats) {
-- printf("- Available formats:\n");
-+ fprintf(stderr, "- Available formats:\n");
- video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE);
- video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
- video_enum_formats(&dev, V4L2_BUF_TYPE_VIDEO_OUTPUT);
-@@ -1979,14 +2002,14 @@ int main(int argc, char *argv[])
- }
-
- if (do_enum_inputs) {
-- printf("- Available inputs:\n");
-+ fprintf(stderr, "- Available inputs:\n");
- video_enum_inputs(&dev);
- }
-
- if (do_set_input) {
- video_set_input(&dev, input);
- ret = video_get_input(&dev);
-- printf("Input %d selected\n", ret);
-+ fprintf(stderr, "Input %d selected\n", ret);
- }
-
- /* Set the video format. */
-@@ -2028,7 +2051,7 @@ int main(int argc, char *argv[])
- }
-
- if (do_pause) {
-- printf("Press enter to start capture\n");
-+ fprintf(stderr, "Press enter to start capture\n");
- getchar();
- }
-
-@@ -2037,12 +2060,12 @@ int main(int argc, char *argv[])
- sched.sched_priority = rt_priority;
- ret = sched_setscheduler(0, SCHED_RR, &sched);
- if (ret < 0)
-- printf("Failed to select RR scheduler: %s (%d)\n",
-+ fprintf(stderr, "Failed to select RR scheduler: %s (%d)\n",
- strerror(errno), errno);
- }
-
- if (video_do_capture(&dev, nframes, skip, delay, filename,
-- do_requeue_last, fill_mode) < 0) {
-+ do_requeue_last, fill_mode, do_stdout) < 0) {
- video_close(&dev);
- return 1;
- }
---
-1.7.9.5
-
diff --git a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
index a192d1a3bb..3069528301 100644
--- a/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
+++ b/meta-oe/recipes-multimedia/v4l2apps/yavta_git.bb
@@ -1,13 +1,12 @@
SUMMARY = "Yet Another V4L2 Test Application"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe"
-SRC_URI = "git://git.ideasonboard.org/yavta.git \
- file://0001-Add-stdout-mode-to-allow-streaming-over-the-network-.patch"
-SRCREV = "7e9f28bedc1ed3205fb5164f686aea96f27a0de2"
+SRC_URI = "git://git.ideasonboard.org/yavta.git;branch=master \
+ "
+SRCREV = "65f740aa1758531fd810339bc1b7d1d33666e28a"
PV = "0.0"
-PR = "r2"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = "-e MAKEFLAGS="
diff --git a/meta-oe/recipes-multimedia/wavpack/files/extract-libtool-and-convert-to-soversion.patch b/meta-oe/recipes-multimedia/wavpack/files/extract-libtool-and-convert-to-soversion.patch
new file mode 100644
index 0000000000..d66ad4f268
--- /dev/null
+++ b/meta-oe/recipes-multimedia/wavpack/files/extract-libtool-and-convert-to-soversion.patch
@@ -0,0 +1,35 @@
+From 25e12cf5918884f232cebc34c92bd548fe40c2b3 Mon Sep 17 00:00:00 2001
+From: Anonymous Maarten <anonymous.maarten@gmail.com>
+Date: Fri, 9 Dec 2022 19:13:09 +0100
+Subject: [PATCH] cmake: extract libtool from configure.ac and convert to
+ SOVERSION
+
+Upstream-Status: Backport [https://github.com/dbry/WavPack/commit/25e12cf5918884f232cebc34c92bd548fe40c2b3]
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ CMakeLists.txt | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index adc73b09..7ae5043f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,6 +2,18 @@ cmake_minimum_required(VERSION 3.2)
+
+ project(WavPack VERSION 5.6.0)
+
++file(READ "${CMAKE_CURRENT_SOURCE_DIR}/configure.ac" CONFIGURE_AC)
++string(REGEX MATCH "LT_CURRENT=([0-9]+)" LT_CURRENT "${CONFIGURE_AC}")
++set(LT_CURRENT "${CMAKE_MATCH_1}")
++string(REGEX MATCH "LT_REVISION=([0-9]+)" LT_REVISION "${CONFIGURE_AC}")
++set(LT_REVISION "${CMAKE_MATCH_1}")
++string(REGEX MATCH "LT_AGE=([0-9]+)" LT_AGE "${CONFIGURE_AC}")
++set(LT_AGE "${CMAKE_MATCH_1}")
++
++math(EXPR SOVERSION_MAJOR "${LT_CURRENT}-${LT_AGE}")
++math(EXPR SOVERSION_MINOR "${LT_AGE}")
++math(EXPR SOVERSION_MICRO "${LT_REVISION}")
++
+ # Languages
+
+ include(CheckLanguage)
diff --git a/meta-oe/recipes-multimedia/wavpack/files/set-soversion-and-version.patch b/meta-oe/recipes-multimedia/wavpack/files/set-soversion-and-version.patch
new file mode 100644
index 0000000000..faddb7b754
--- /dev/null
+++ b/meta-oe/recipes-multimedia/wavpack/files/set-soversion-and-version.patch
@@ -0,0 +1,26 @@
+From 7c1dd729302b7f77f65884df4e79301df1490423 Mon Sep 17 00:00:00 2001
+From: Anonymous Maarten <anonymous.maarten@gmail.com>
+Date: Fri, 9 Dec 2022 19:23:51 +0100
+Subject: [PATCH] cmake: set SOVERSION and VERSION property of wavpack
+
+This is used to version .so libraries on Linux
+
+Upstream-Status: Backport [https://github.com/dbry/WavPack/commit/7c1dd729302b7f77f65884df4e79301df1490423]
+Signed-off-by: alperak <alperyasinak1@gmail.com>
+---
+ CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7ae5043f..285b295b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -361,6 +361,8 @@ if(BUILD_SHARED_LIBS)
+ target_link_directories(wavpack PRIVATE "-Wl,-exported_symbols_list,${CMAKE_CURRENT_BINARY_DIR}/libwavpack.sym")
+ endif()
+ else()
++ set_target_properties(wavpack PROPERTIES SOVERSION "${SOVERSION_MAJOR}")
++ set_target_properties(wavpack PROPERTIES VERSION "${SOVERSION_MAJOR}.${SOVERSION_MINOR}.${SOVERSION_MICRO}")
+ set(CONFTTEST_CONTENTS "VERS_1 {\n global: sym;\n};\n\nVERS_2 {\n global: sym;\n} VERS_1;\n")
+ file(WRITE ${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/conftest.map "${CONFTTEST_CONTENTS}")
+ check_c_linker_flag("-Wl,--version-script=${PROJECT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/conftest.map" COMPILER_SUPPORTS_SYMBOL_MAPS)
diff --git a/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb b/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
deleted file mode 100644
index 021496bd43..0000000000
--- a/meta-oe/recipes-multimedia/wavpack/wavpack_4.60.1.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-DESCRIPTION = "WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode."
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://license.txt;md5=f596650807588c61fcab60bec8242df8"
-
-SRC_URI = "http://wavpack.com/wavpack-${PV}.tar.bz2"
-SRC_URI[md5sum] = "7bb1528f910e4d0003426c02db856063"
-SRC_URI[sha256sum] = "175ee4f2effd6f51e6ec487956f41177256bf892c2e8e07de5d27ed4ee6888c5"
-
-inherit autotools lib_package
-
diff --git a/meta-oe/recipes-multimedia/wavpack/wavpack_5.6.0.bb b/meta-oe/recipes-multimedia/wavpack/wavpack_5.6.0.bb
new file mode 100644
index 0000000000..7384d2892f
--- /dev/null
+++ b/meta-oe/recipes-multimedia/wavpack/wavpack_5.6.0.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "WavPack is a completely open audio compression format providing lossless, high-quality lossy, and a unique hybrid compression mode."
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://license.txt;md5=bb5d037e3ad41a3c84c9f2d8bb65a7b4"
+
+DEPENDS = "openssl"
+
+SRC_URI = "git://github.com/dbry/WavPack.git;branch=master;protocol=https \
+ file://set-soversion-and-version.patch \
+ file://extract-libtool-and-convert-to-soversion.patch \
+ "
+
+SRCREV = "e03e8e29dc618e08e7baba9636e57ba1254874ce"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig lib_package
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
diff --git a/meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch b/meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch
index 6ad7f2b478..463651aa4a 100644
--- a/meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch
+++ b/meta-oe/recipes-multimedia/webm/libvpx/libvpx-configure-support-blank-prefix.patch
@@ -1,19 +1,20 @@
-From dc0a5c3d2dd4e79d12a150a246a95c4dc88326f1 Mon Sep 17 00:00:00 2001
+From 2829e6998b7595dd2108c1497fdd02485ef99e2c Mon Sep 17 00:00:00 2001
From: Koen Kooi <koen@dominion.thruhere.net>
Date: Tue, 16 Aug 2011 16:04:35 +0200
Subject: [PATCH] Upstream: not yet
Fix configure to accept "--prefix=" (a blank prefix).
+Upstream-Status: Pending
---
build/make/configure.sh | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/build/make/configure.sh b/build/make/configure.sh
-index 007e020..04d5cbf 100644
+index b645a666f..0b99a8b38 100644
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
-@@ -581,6 +581,8 @@ process_common_cmdline() {
+@@ -658,6 +658,8 @@ process_common_cmdline() {
;;
--prefix=*)
prefix="${optval}"
@@ -22,7 +23,7 @@ index 007e020..04d5cbf 100644
;;
--libdir=*)
libdir="${optval}"
-@@ -614,13 +616,23 @@ process_cmdline() {
+@@ -687,13 +689,23 @@ process_cmdline() {
}
post_process_common_cmdline() {
diff --git a/meta-oe/recipes-multimedia/webm/libvpx_1.14.0.bb b/meta-oe/recipes-multimedia/webm/libvpx_1.14.0.bb
new file mode 100644
index 0000000000..b4d49842ea
--- /dev/null
+++ b/meta-oe/recipes-multimedia/webm/libvpx_1.14.0.bb
@@ -0,0 +1,51 @@
+SUMMARY = "VPX multi-format codec"
+DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
+HOMEPAGE = "http://www.webmproject.org/code/"
+BUGTRACKER = "http://code.google.com/p/webm/issues/list"
+SECTION = "libs/multimedia"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
+
+SRCREV = "602e2e8979d111b02c959470da5322797dd96a19"
+SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https;branch=main \
+ file://libvpx-configure-support-blank-prefix.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# ffmpeg links with this and fails
+# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
+ARM_INSTRUCTION_SET = "arm"
+
+CFLAGS += "-fPIC"
+BUILD_LDFLAGS += "-pthread"
+
+export CC
+export LD = "${CC}"
+
+VPXTARGET:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","armv7-linux-gcc","generic-gnu",d)}"
+VPXTARGET ?= "generic-gnu"
+
+CONFIGUREOPTS = " \
+ --target=${VPXTARGET} \
+ --enable-vp9 \
+ --enable-libs \
+ --disable-install-docs \
+ --disable-static \
+ --enable-shared \
+ --prefix=${prefix} \
+ --libdir=${libdir} \
+ --size-limit=16384x16384 \
+"
+
+do_configure() {
+ ${S}/configure ${CONFIGUREOPTS}
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ chown -R root:root ${D}
+}
+
+BBCLASSEXTEND += "native"
diff --git a/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb b/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb
deleted file mode 100644
index 4a98ec17dd..0000000000
--- a/meta-oe/recipes-multimedia/webm/libvpx_1.8.2.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "VPX multi-format codec"
-DESCRIPTION = "The BSD-licensed libvpx reference implementation provides en- and decoders for VP8 and VP9 bitstreams."
-HOMEPAGE = "http://www.webmproject.org/code/"
-BUGTRACKER = "http://code.google.com/p/webm/issues/list"
-SECTION = "libs/multimedia"
-LICENSE = "BSD-3-Clause"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d5b04755015be901744a78cc30d390d4"
-
-SRCREV = "7ec7a33a081aeeb53fed1a8d87e4cbd189152527"
-SRC_URI += "git://chromium.googlesource.com/webm/libvpx;protocol=https \
- file://libvpx-configure-support-blank-prefix.patch \
- "
-
-S = "${WORKDIR}/git"
-
-# ffmpeg links with this and fails
-# sysroots/armv4t-oe-linux-gnueabi/usr/lib/libvpx.a(vpx_encoder.c.o)(.text+0xc4): unresolvable R_ARM_THM_CALL relocation against symbol `memcpy@@GLIBC_2.4'
-ARM_INSTRUCTION_SET = "arm"
-
-CFLAGS += "-fPIC"
-
-export CC
-export LD = "${CC}"
-
-VPXTARGET_armv5te = "armv5te-linux-gcc"
-VPXTARGET_armv6 = "armv6-linux-gcc"
-VPXTARGET_armv7a = "armv7-linux-gcc"
-VPXTARGET ?= "generic-gnu"
-
-CONFIGUREOPTS = " \
- --target=${VPXTARGET} \
- --enable-vp9 \
- --enable-libs \
- --disable-install-docs \
- --disable-static \
- --enable-shared \
- --prefix=${prefix} \
- --libdir=${libdir} \
- --size-limit=16384x16384 \
-"
-
-do_configure() {
- ${S}/configure ${CONFIGUREOPTS}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
- chown -R root:root ${D}
-}
diff --git a/meta-oe/recipes-multimedia/xpext/xpext/auxdir.patch b/meta-oe/recipes-multimedia/xpext/xpext/auxdir.patch
index da5841a132..ea9326946e 100644
--- a/meta-oe/recipes-multimedia/xpext/xpext/auxdir.patch
+++ b/meta-oe/recipes-multimedia/xpext/xpext/auxdir.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- configure.ac.old 2005-06-03 12:53:28.000000000 +0200
+++ configure.ac 2005-06-03 12:54:29.000000000 +0200
@@ -25,9 +25,9 @@
diff --git a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
index b6aafdee19..f900aca2d4 100644
--- a/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
+++ b/meta-oe/recipes-multimedia/xpext/xpext_1.0-5.bb
@@ -14,7 +14,7 @@ inherit autotools pkgconfig features_check
REQUIRED_DISTRO_FEATURES = "x11"
# Remove runtime dependency on empty package ${PN}
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
SRC_URI[md5sum] = "1b0cb67b6f2bd7c4abef17648b062896"
SRC_URI[sha256sum] = "a3b06f5188fd9effd0799ae31352b3cd65cb913b964e2c1a923ffa9d3c08abbe"
diff --git a/meta-oe/recipes-multimedia/xsp/xsp/xsp-fix-pc.patch b/meta-oe/recipes-multimedia/xsp/xsp/xsp-fix-pc.patch
index 18bc67cdd9..995f03113b 100644
--- a/meta-oe/recipes-multimedia/xsp/xsp/xsp-fix-pc.patch
+++ b/meta-oe/recipes-multimedia/xsp/xsp/xsp-fix-pc.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- Xsp/xsp.pc.in~ 2009-01-07 13:06:07.000000000 +0100
+++ Xsp/xsp.pc.in 2009-01-07 13:06:07.000000000 +0100
@@ -6,5 +6,5 @@
diff --git a/meta-oe/recipes-navigation/geoclue/geoclue/0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch b/meta-oe/recipes-navigation/geoclue/geoclue/0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch
new file mode 100644
index 0000000000..18e7185649
--- /dev/null
+++ b/meta-oe/recipes-navigation/geoclue/geoclue/0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch
@@ -0,0 +1,30 @@
+From 6c434bdd31d674f85a82cb83248571813c7a37ff Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 3 May 2023 18:06:46 +0200
+Subject: [PATCH] libgeoclue: don't try to use g-ir-scanner when introspection
+ isn't enabled
+
+* it finds target g-ir-scanner, so gir is found(), but when it tries to call it, it fails:
+ http://errors.yoctoproject.org/Errors/Details/702778/
+ geoclue/2.7.0-r0/recipe-sysroot/usr/bin/g-ir-scanner-wrapper: line 5: g-ir-scanner: command not found
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+Upstream-Status: Pending
+
+ libgeoclue/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgeoclue/meson.build b/libgeoclue/meson.build
+index 5f05dad..7ed06a1 100644
+--- a/libgeoclue/meson.build
++++ b/libgeoclue/meson.build
+@@ -77,7 +77,7 @@ gir_sources = [ libgeoclue_sources,
+ libgeoclue_headers,
+ libgeoclue_public_api_gen_sources[1] ]
+
+-if gir.found()
++if gir.found() and get_option('introspection')
+ geo_gir = gnome.generate_gir(libgeoclue,
+ sources: gir_sources,
+ namespace: 'Geoclue',
diff --git a/meta-oe/recipes-navigation/geoclue/geoclue_2.5.7.bb b/meta-oe/recipes-navigation/geoclue/geoclue_2.5.7.bb
deleted file mode 100644
index 6c0b922c92..0000000000
--- a/meta-oe/recipes-navigation/geoclue/geoclue_2.5.7.bb
+++ /dev/null
@@ -1,47 +0,0 @@
-SUMMARY = "The Geolocation Service"
-DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \
-The primary goal of the Geoclue project is to make creating location-aware applications \
-as simple as possible, while the secondary goal is to ensure that no application \
-can access location information without explicit permission from user."
-LICENSE = "GPLv2.0+"
-SECTION = "console/network"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bdfdd4986a0853eb84eeba85f9d0c4d6"
-
-DEPENDS = "glib-2.0 dbus json-glib libsoup-2.4 intltool-native"
-
-inherit meson pkgconfig gtk-doc gobject-introspection vala
-
-SRCREV = "3bb60dd600a8b247fd6049e7e5b1c73c2c5fc0e8"
-SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;nobranch=1"
-
-S = "${WORKDIR}/git"
-
-# Without this line, package is declared a library and named libgeoclue*
-AUTO_LIBNAME_PKGS = ""
-
-PACKAGECONFIG ??= "3g modem-gps cdma nmea lib"
-PACKAGECONFIG[3g] = "-D3g-source=true,-D3g-source=false,modemmanager"
-PACKAGECONFIG[modem-gps] = "-Dmodem-gps-source=true,-Dmodem-gps-source=false,modemmanager"
-PACKAGECONFIG[cdma] = "-Dcdma-source=true,-Dcdma-source=false,modemmanager"
-PACKAGECONFIG[nmea] = "-Dnmea-source=true,-Dnmea-source=false,avahi,avahi-daemon"
-PACKAGECONFIG[lib] = "-Dlibgeoclue=true,-Dlibgeoclue=false,gobject-introspection"
-
-GTKDOC_MESON_OPTION = "gtk-doc"
-
-EXTRA_OEMESON += " \
- -Ddbus-sys-dir=${sysconfdir}/dbus-1/system.d \
- -Ddemo-agent=false \
-"
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/system-services \
- ${libdir} \
- ${systemd_unitdir} \
- ${prefix}/libexec \
-"
-
-FILES_${PN}-dev += " \
- ${datadir}/dbus-1/interfaces \
- ${datadir}/gir-1.0 \
-"
diff --git a/meta-oe/recipes-navigation/geoclue/geoclue_2.7.1.bb b/meta-oe/recipes-navigation/geoclue/geoclue_2.7.1.bb
new file mode 100644
index 0000000000..9fcd1e6f1e
--- /dev/null
+++ b/meta-oe/recipes-navigation/geoclue/geoclue_2.7.1.bb
@@ -0,0 +1,61 @@
+SUMMARY = "The Geolocation Service"
+DESCRIPTION = "Geoclue is a D-Bus service that provides location information. \
+The primary goal of the Geoclue project is to make creating location-aware applications \
+as simple as possible, while the secondary goal is to ensure that no application \
+can access location information without explicit permission from user."
+LICENSE = "GPL-2.0-or-later"
+SECTION = "console/network"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bdfdd4986a0853eb84eeba85f9d0c4d6"
+
+DEPENDS = "glib-2.0 dbus json-glib libsoup-3.0 intltool-native"
+
+inherit meson pkgconfig gtk-doc gobject-introspection vala useradd
+
+SRCREV = "8a24f60969d4c235d9918796c38a6a9c42e10131"
+SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;branch=master \
+ file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \
+"
+
+S = "${WORKDIR}/git"
+
+# Without this line, package is declared a library and named libgeoclue*
+AUTO_LIBNAME_PKGS = ""
+
+PACKAGECONFIG ??= "3g modem-gps cdma nmea lib agent"
+PACKAGECONFIG[3g] = "-D3g-source=true,-D3g-source=false,modemmanager"
+PACKAGECONFIG[modem-gps] = "-Dmodem-gps-source=true,-Dmodem-gps-source=false,modemmanager"
+PACKAGECONFIG[cdma] = "-Dcdma-source=true,-Dcdma-source=false,modemmanager"
+PACKAGECONFIG[nmea] = "-Dnmea-source=true,-Dnmea-source=false,avahi,avahi-daemon"
+PACKAGECONFIG[lib] = "-Dlibgeoclue=true,-Dlibgeoclue=false"
+PACKAGECONFIG[agent] = "-Ddemo-agent=true,-Ddemo-agent=false,libnotify"
+
+GTKDOC_MESON_OPTION = "gtk-doc"
+
+EXTRA_OEMESON += " \
+ -Ddbus-sys-dir=${sysconfdir}/dbus-1/system.d \
+"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 --shell /bin/nologin polkitd"
+
+do_install:append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'modem-gps', 'true', 'false', d)}; then
+ # Fix up permissions on polkit rules.d to work with rpm4 constraints
+ chmod 700 ${D}/${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+ fi
+}
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1/system-services \
+ ${datadir}/polkit-1/rules.d \
+ ${libdir} \
+ ${systemd_unitdir} \
+ ${prefix}/libexec \
+"
+
+FILES:${PN}-dev += " \
+ ${datadir}/dbus-1/interfaces \
+ ${datadir}/gir-1.0 \
+"
diff --git a/meta-oe/recipes-navigation/geos/files/geos-config-Add-includedir-variable.patch b/meta-oe/recipes-navigation/geos/files/geos-config-Add-includedir-variable.patch
deleted file mode 100644
index 645e6f62a5..0000000000
--- a/meta-oe/recipes-navigation/geos/files/geos-config-Add-includedir-variable.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 9d51027c228dafd7db2d0cffca1f0fc695e950fd Mon Sep 17 00:00:00 2001
-From: Otavio Salvador <otavio@ossystems.com.br>
-Date: Mon, 2 Dec 2013 11:33:26 -0200
-Subject: [PATCH] geos-config: Add includedir variable
-
-This fixes cross-compile as it is easier to mangle the includedir
-during sysroot generation.
-
-Upstream-Status: Pending
-
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- tools/geos-config.in | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tools/geos-config.in b/tools/geos-config.in
-index 9b45b5f..1749892 100644
---- a/tools/geos-config.in
-+++ b/tools/geos-config.in
-@@ -1,6 +1,7 @@
- #!/bin/sh
- prefix=@prefix@
- exec_prefix=@exec_prefix@
-+includedir=@includedir@
- libdir=@libdir@
-
- usage()
-@@ -38,7 +39,7 @@ case $1 in
- echo @VERSION@
- ;;
- --cflags)
-- echo -I${prefix}/include
-+ echo -I${includedir}
- ;;
- --libs)
- # TODO: make an alias for --clibs
---
-1.7.10.4
-
diff --git a/meta-oe/recipes-navigation/geos/geos.inc b/meta-oe/recipes-navigation/geos/geos.inc
deleted file mode 100644
index 48721058da..0000000000
--- a/meta-oe/recipes-navigation/geos/geos.inc
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "GEOS - Geometry Engine, Open Source"
-HOMEPAGE = "http://trac.osgeo.org/geos/"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-
-SRC_URI = "http://download.osgeo.org/geos/geos-${PV}.tar.bz2"
-
-inherit autotools pkgconfig binconfig
-
-PACKAGES =+ "geoslib ${PN}-c1"
-
-DESCRIPTION_${PN}lib = "Geometry engine for Geographic Information Systems - C++ Library"
-FILES_${PN}lib += "${libdir}/libgeos-${PV}.so"
-
-DESCRIPTION_${PN}-c1 = "Geometry engine for Geographic Information Systems - C Library"
-FILES_${PN}-c1 += "${libdir}/libgeos_c.so.*"
-
-ALLOW_EMPTY_${PN} = "1"
-RDEPENDS_${PN} += "geoslib ${PN}-c1"
diff --git a/meta-oe/recipes-navigation/geos/geos_3.12.1.bb b/meta-oe/recipes-navigation/geos/geos_3.12.1.bb
new file mode 100644
index 0000000000..461652a5ad
--- /dev/null
+++ b/meta-oe/recipes-navigation/geos/geos_3.12.1.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "GEOS - Geometry Engine, Open Source"
+HOMEPAGE = "http://trac.osgeo.org/geos/"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "http://download.osgeo.org/${BPN}/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "d6ea7e492224b51193e8244fe3ec17c4d44d0777f3c32ca4fb171140549a0d03"
+
+inherit cmake pkgconfig binconfig
+
+PACKAGES =+ "geoslib ${PN}-c1"
+
+DESCRIPTION:${PN}lib = "Geometry engine for Geographic Information Systems - C++ Library"
+FILES:${PN}lib += "${libdir}/libgeos.so.*"
+
+DESCRIPTION:${PN}-c1 = "Geometry engine for Geographic Information Systems - C Library"
+FILES:${PN}-c1 += "${libdir}/libgeos_c.so.*"
+
+ALLOW_EMPTY:${PN} = "1"
+RDEPENDS:${PN} += "geoslib ${PN}-c1"
diff --git a/meta-oe/recipes-navigation/geos/geos_3.4.3.bb b/meta-oe/recipes-navigation/geos/geos_3.4.3.bb
deleted file mode 100644
index 538456cc27..0000000000
--- a/meta-oe/recipes-navigation/geos/geos_3.4.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require geos.inc
-
-SRC_URI += "file://geos-config-Add-includedir-variable.patch \
-"
-
-SRC_URI[md5sum] = "77f2c2cca1e9f49bc1bece9037ac7a7a"
-SRC_URI[sha256sum] = "cfbf68079117c1c2b76411636444ff41d73c31093c4cab9dcc9a8c1bbe7e3897"
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb b/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
index d2058ba570..4ced1c98db 100644
--- a/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
+++ b/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb
@@ -1,7 +1,8 @@
SUMMARY = "Machine specific gpsd config"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
# empty by default
# BSP layers can add stuff like meta-openmoko example:
#
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch b/meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch
deleted file mode 100644
index b021d0b727..0000000000
--- a/meta-oe/recipes-navigation/gpsd/gpsd/0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-Subject: [PATCH] Revert "SConstruct: Add test for sizeof(time_t), result in
- SIZEOF_TIME_T."
-
-This reverts commit b32ff1a86c44fa738dabaf63de1b5462e0071ad3.
-
-Upstream-Status: Inappropriate [cross-compile specific]
-
----
- SConstruct | 54 ++++--------------------------------------
- android/gpsd_config.in | 1 -
- 2 files changed, 5 insertions(+), 50 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 33e0ff326..e3c62fa3c 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -597,42 +597,6 @@ def CheckHeaderDefines(context, file, define):
- return ret
-
-
--def CheckSizeOf(context, type):
-- """Check sizeof 'type'"""
-- context.Message('Checking size of ' + type + '... ')
--
-- program = """
--#include <stdlib.h>
--#include <stdio.h>
--
--/*
-- * The CheckSizeOf function does not have a way for the caller to
-- * specify header files to be included to provide the type being
-- * checked. As a workaround until that is remedied, include the
-- * header required for time_t, which is the sole current use of this
-- * function.
-- */
--#include <time.h>
--
--int main() {
-- printf("%d", (int)sizeof(""" + type + """));
-- return 0;
--}
--"""
--
-- # compile it
-- ret = context.TryCompile(program, '.c')
-- if 0 == ret:
-- announce('ERROR: TryCompile failed\n')
-- # fall back to sizeof(time_t) is 8
-- return '8'
--
-- # run it
-- ret = context.TryRun(program, '.c')
-- context.Result(ret[0])
-- return ret[1]
--
--
- def CheckCompilerDefines(context, define):
- context.Message('Checking if compiler supplies %s... ' % (define,))
- ret = context.TryLink("""
-@@ -703,15 +667,13 @@ env.Prepend(LIBPATH=[os.path.realpath(os.curdir)])
-
- # CheckXsltproc works, but result is incorrectly saved as "no"
- config = Configure(env, custom_tests={
-- 'CheckC11': CheckC11,
-- 'CheckCompilerDefines': CheckCompilerDefines,
-- 'CheckCompilerOption': CheckCompilerOption,
-- 'CheckHeaderDefines': CheckHeaderDefines,
- 'CheckPKG': CheckPKG,
-- 'CheckSizeOf': CheckSizeOf,
- 'CheckXsltproc': CheckXsltproc,
-- 'GetPythonValue': GetPythonValue,
-- })
-+ 'CheckCompilerOption': CheckCompilerOption,
-+ 'CheckCompilerDefines': CheckCompilerDefines,
-+ 'CheckC11': CheckC11,
-+ 'CheckHeaderDefines': CheckHeaderDefines,
-+ 'GetPythonValue': GetPythonValue})
-
- # Use print, rather than announce, so we see it in -s mode.
- print("This system is: %s" % sys.platform)
-@@ -1043,12 +1005,6 @@ else:
- confdefs.append("/* #undef HAVE_%s_H */\n"
- % hdr.replace("/", "_").upper())
-
-- sizeof_time_t = config.CheckSizeOf("time_t")
-- confdefs.append("#define SIZEOF_TIME_T %s\n" % sizeof_time_t)
-- announce("sizeof(time_t) is %s" % sizeof_time_t)
-- if 4 >= int(sizeof_time_t):
-- announce("WARNING: time_t is too small. It will fail in 2038")
--
- # check function after libraries, because some function require libraries
- # for example clock_gettime() require librt on Linux glibc < 2.17
- for f in ("cfmakeraw", "clock_gettime", "daemon", "fcntl", "fork",
-diff --git a/android/gpsd_config.in b/android/gpsd_config.in
-index 758251986..d240f6d34 100644
---- a/android/gpsd_config.in
-+++ b/android/gpsd_config.in
-@@ -19,7 +19,6 @@
- #define HAVE_ARPA_INET_H 1
- #define HAVE_SYSLOG_H 1
- #define HAVE_DAEMON 1
--#define SIZEOF_TIME_T 8
- #define HAVE_CLOCK_GETTIME 1
- #define HAVE_STRPTIME 1
- #define HAVE_GMTIME_R 1
---
-2.26.2
-
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
deleted file mode 100644
index 23ae5e509d..0000000000
--- a/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 5464d9e1bfd1a1c54338ec7c4148cad1b222ef93 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Tue, 24 Apr 2012 18:45:14 +0200
-Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
- from python_lib_dir
-
-* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix
- and with PYTHONPATH from OE it's pointing to native python dir
-
- $ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/
- $ python
- Python 2.7.2 (default, Apr 18 2012, 09:19:59)
- [GCC 4.6.2] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> from distutils import sysconfig
- >>> sysconfig.get_config_vars('INCLUDEPY')
- ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
- >>>
- $ unset PYTHONPATH
- $ python
- Python 2.7.2 (default, Apr 18 2012, 09:19:59)
- [GCC 4.6.2] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> from distutils import sysconfig
- >>> sysconfig.get_config_vars('INCLUDEPY')
- ['/python2.7']
- >>> import sysconfig
- >>> sysconfig.get_config_vars('INCLUDEPY')
- ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
-* python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
- returns path to target sysroot
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
-
----
- SConstruct | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index b8f3fb1..883e06d 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -980,7 +980,7 @@ else:
-
- # Set up configuration for target Python
-
--PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib()'
-+PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib(plat_specific=1)'
-
- PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS',
- 'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS']
-@@ -1506,7 +1506,7 @@ else:
- LINK=ldshared,
- SHLIBPREFIX="",
- SHLIBSUFFIX=python_config['SO'],
-- CPPPATH=[python_config['INCLUDEPY']],
-+ CPPPATH=[os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], python_config['INCLUDEPY']))] if env['sysroot'] else [python_config['INCLUDEPY']],
- CPPFLAGS=python_config['OPT'],
- CFLAGS=python_config['BASECFLAGS'],
- CXXFLAGS=python_config['BASECFLAGS'])
-@@ -1808,12 +1808,14 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip'] and
- env.AddPostAction(binaryinstall, '$STRIP $TARGET')
-
- if env['python']:
-- python_module_dir = str(python_libdir) + os.sep + 'gps'
-+ python_module_dir = python_libdir.replace(env['sysroot'], '') + os.sep + 'gps'
- python_extensions_install = python_env.Install(DESTDIR + python_module_dir,
- python_built_extensions)
- if ((not env['debug'] and not env['profiling'] and
- not env['nostrip'] and not sys.platform.startswith('darwin'))):
- python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
-+ env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
-+ % (python_libdir, ))
-
- python_modules_install = python_env.Install(DESTDIR + python_module_dir,
- python_modules)
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb
deleted file mode 100644
index 3888ad8fa3..0000000000
--- a/meta-oe/recipes-navigation/gpsd/gpsd_3.20.bb
+++ /dev/null
@@ -1,143 +0,0 @@
-SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
-SECTION = "console/network"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53"
-DEPENDS = "dbus ncurses python3 pps-tools"
-PROVIDES = "virtual/gpsd"
-
-SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
- file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
- file://0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch \
- file://gpsd.init \
-"
-SRC_URI[md5sum] = "cf7fdec7ce7221d20bee1a7246362b05"
-SRC_URI[sha256sum] = "172a7805068eacb815a3c5225436fcb0be46e7e49a5001a94034eac43df85e50"
-
-inherit scons update-rc.d python3-dir python3native systemd update-alternatives
-
-INITSCRIPT_PACKAGES = "gpsd-conf"
-INITSCRIPT_NAME = "gpsd"
-INITSCRIPT_PARAMS = "defaults 35"
-
-SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-CLEANBROKEN = "1"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb"
-PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5"
-PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
-PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1"
-EXTRA_OESCONS = " \
- sysroot=${STAGING_DIR_TARGET} \
- libQgpsmm='false' \
- debug='false' \
- nostrip='true' \
- systemd='${SYSTEMD_OESCONS}' \
- libdir='${libdir}' \
- manbuild='false' \
- LINK='${CC}' \
- ${PACKAGECONFIG_CONFARGS} \
-"
-# this cannot be used, because then chrpath is not found and only static lib is built
-# target=${HOST_SYS}
-
-do_compile_prepend() {
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
- export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
- export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
- export LD="${CC}"
- export LINKFLAGS="${LDFLAGS}"
-}
-
-do_install() {
- export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
- export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
- export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
- export LD="${CC}"
- export LINKFLAGS="${LDFLAGS}"
-
- export DESTDIR="${D}"
- # prefix is used for RPATH and DESTDIR/prefix for instalation
- ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} install ${EXTRA_OESCONS} || \
- bbfatal "scons install execution failed."
-}
-
-do_install_append() {
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/gpsd.init ${D}/${sysconfdir}/init.d/gpsd
- install -d ${D}/${sysconfdir}/default
- install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default
-
- #support for udev
- install -d ${D}/${sysconfdir}/udev/rules.d
- install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d/
- install -d ${D}${base_libdir}/udev/
- install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
-
- #support for python
- install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
- install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
-
- #support for systemd
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
- sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}.service
- install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
- sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}ctl@.service
- install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
-}
-
-PACKAGES =+ "libgps libgpsd python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
-
-RPROVIDES_${PN}-dbg += "python-pygps-dbg"
-
-FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
- ${libdir}/libQgpsmm.prl"
-
-RDEPENDS_${PN} = "gpsd-gpsctl"
-RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
-
-SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
-FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
-RDEPENDS_gpsd-udev += "udev gpsd-conf"
-
-SUMMARY_libgpsd = "C service library used for communicating with gpsd"
-FILES_libgpsd = "${libdir}/libgpsd.so.*"
-
-SUMMARY_libgps = "C service library used for communicating with gpsd"
-FILES_libgps = "${libdir}/libgps.so.*"
-
-SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
-FILES_gpsd-conf = "${sysconfdir}"
-CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
-
-SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
-FILES_gpsd-gpsctl = "${bindir}/gpsctl"
-
-SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
-# Python files are required for gps/fake, required for gpsfake.
-FILES_gps-utils = "${bindir}/* ${libdir}/gps/*.py ${libdir}/gps/*.so"
-RDEPENDS_gps-utils = "python3-pygps"
-
-SUMMARY_python3-pygps = "Python bindings to gpsd"
-FILES_python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
-RDEPENDS_python3-pygps = " \
- python3-core \
- python3-io \
- python3-threading \
- python3-terminal \
- gpsd \
- python3-json"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service"
-
-
-ALTERNATIVE_${PN} = "gpsd-defaults"
-ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
-ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb
new file mode 100644
index 0000000000..a755e39ed4
--- /dev/null
+++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb
@@ -0,0 +1,159 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7a5d174db44ec45f9638b2c747806821"
+DEPENDS = "dbus ncurses python3 pps-tools"
+PROVIDES = "virtual/gpsd"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://gpsd.init \
+ "
+SRC_URI[sha256sum] = "00ee13f615655284874a661be13553abe66128e6deb5cd648af9bc0cb345fe5c"
+
+inherit scons update-rc.d python3-dir python3native systemd update-alternatives pkgconfig
+
+INITSCRIPT_PACKAGES = "gpsd-conf"
+INITSCRIPT_NAME = "gpsd"
+INITSCRIPT_PARAMS = "defaults 35"
+
+SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+CLEANBROKEN = "1"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb"
+PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5"
+PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
+PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1"
+EXTRA_OESCONS = " \
+ sysroot=${STAGING_DIR_TARGET} \
+ libQgpsmm='false' \
+ debug='false' \
+ nostrip='true' \
+ systemd='${SYSTEMD_OESCONS}' \
+ libdir='${libdir}' \
+ sbindir='${sbindir}' \
+ udevdir='${nonarch_base_libdir}/udev' \
+ unitdir='${systemd_system_unitdir}' \
+ manbuild='false' \
+ LINK='${CC}' \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+# This cannot be used, because then chrpath is not found and only static lib is built
+# target=${HOST_SYS}
+
+do_compile:prepend() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export CC="${CC}"
+ export LD="${CC}"
+ export LINKFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LD="${CC}"
+ export LINKFLAGS="${LDFLAGS}"
+
+ export DESTDIR="${D}"
+ # prefix is used for RPATH and DESTDIR/prefix for installation
+ ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} udev-install ${EXTRA_OESCONS} || \
+ bbfatal "scons install execution failed."
+}
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/gpsd.init ${D}${sysconfdir}/init.d/gpsd
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}${sysconfdir}/default/gpsd.default
+
+ # Support for python
+ if [ -d ${D}${libdir}/gps ]; then
+ install -d ${D}${PYTHON_SITEPACKAGES_DIR}/gps
+ install -m 755 ${D}${libdir}/gps/*.py ${D}${PYTHON_SITEPACKAGES_DIR}/gps
+ fi
+}
+
+PACKAGES =+ "libgps python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils gps-utils-python"
+
+RPROVIDES:${PN}-dbg += "python-pygps-dbg"
+
+FILES:${PN}-dev += "${libdir}/libQgpsmm.prl"
+
+FILES:${PN}-doc += "${datadir}/${BPN}/doc"
+
+RDEPENDS:${PN} = "gpsd-gpsctl"
+RRECOMMENDS:${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
+
+SUMMARY:gpsd-udev = "udev relevant files to use gpsd hotplugging"
+FILES:gpsd-udev = "${nonarch_base_libdir}/udev"
+RDEPENDS:gpsd-udev += "udev gpsd-conf"
+
+SUMMARY:libgps = "C service library used for communicating with gpsd"
+FILES:libgps = "${libdir}/libgps.so.*"
+
+SUMMARY:gpsd-conf = "gpsd configuration files and init scripts"
+FILES:gpsd-conf = "${sysconfdir}"
+CONFFILES:gpsd-conf = "${sysconfdir}/default/gpsd.default"
+
+SUMMARY:gpsd-gpsctl = "Tool for tweaking GPS modes"
+FILES:gpsd-gpsctl = "${bindir}/gpsctl"
+
+SUMMARY:gps-utils = "Utils used for simulating, monitoring,... a GPS"
+FILES:gps-utils = "\
+ ${bindir}/cgps \
+ ${bindir}/gps2udp \
+ ${bindir}/gpsctl \
+ ${bindir}/gpsdebuginfo \
+ ${bindir}/gpsdecode \
+ ${bindir}/gpsmon \
+ ${bindir}/gpspipe \
+ ${bindir}/gpsrinex \
+ ${bindir}/gpssnmp \
+ ${bindir}/gpxlogger \
+ ${bindir}/lcdgps \
+ ${bindir}/ntpshmmon \
+ ${bindir}/ppscheck \
+"
+RRECOMMENDS:gps-utils = "gps-utils-python"
+
+SUMMARY:gps-utils-python = "Python utils used for simulating, monitoring,... a GPS"
+FILES:gps-utils-python = "\
+ ${bindir}/gegps \
+ ${bindir}/gpscat \
+ ${bindir}/gpscsv \
+ ${bindir}/gpsfake \
+ ${bindir}/gpsplot \
+ ${bindir}/gpsprof \
+ ${bindir}/gpssubframe \
+ ${bindir}/ubxtool \
+ ${bindir}/xgps \
+ ${bindir}/xgpsspeed \
+ ${bindir}/zerk \
+"
+RDEPENDS:gps-utils-python = "python3-pygps"
+
+SUMMARY:python3-pygps = "Python bindings to gpsd"
+FILES:python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
+RDEPENDS:python3-pygps = " \
+ python3-core \
+ python3-io \
+ python3-pyserial \
+ python3-threading \
+ python3-terminal \
+ gpsd \
+ python3-json"
+
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "${BPN}.socket ${BPN}ctl@.service"
+
+ALTERNATIVE:${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch b/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch
deleted file mode 100644
index 28bd7dad87..0000000000
--- a/meta-oe/recipes-navigation/libspatialite/libspatialite/geos-config.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://www.gaia-gis.it/fossil/libspatialite/tktview?name=abeeaad448
-
-Upstream-Status: Submitted [rpm5-devel@rpm5.org]
-
-Index: libspatialite-4.2.0/configure.ac
-===================================================================
---- libspatialite-4.2.0.orig/configure.ac
-+++ libspatialite-4.2.0/configure.ac
-@@ -260,7 +260,7 @@ if test x"$enable_geos" != "xno"; then
- fi
- # Extract the linker and include flags
- GEOS_LDFLAGS=`$GEOSCONFIG --ldflags`
-- GEOS_CFLAGS=-I`$GEOSCONFIG --includes`
-+ GEOS_CFLAGS=`$GEOSCONFIG --cflags`
- AC_SUBST([GEOS_LDFLAGS])
- AC_SUBST([GEOS_CFLAGS])
- # Ensure that we can parse geos_c.h
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_geos.patch b/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_geos.patch
new file mode 100644
index 0000000000..569ea76bb5
--- /dev/null
+++ b/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_geos.patch
@@ -0,0 +1,45 @@
+Upstream-Status: Pending
+
+diff -rupN --no-dereference libspatialite-5.0.1/configure.ac libspatialite-5.0.1-new/configure.ac
+--- libspatialite-5.0.1/configure.ac 2021-03-08 08:57:19.015858195 +0100
++++ libspatialite-5.0.1-new/configure.ac 2021-03-08 08:57:19.017858195 +0100
+@@ -312,35 +312,10 @@ AC_ARG_ENABLE(geos, [AS_HELP_STRING(
+ [], [enable_geos=yes])
+ if test x"$enable_geos" != "xno"; then
+ #-----------------------------------------------------------------------
+- # --with-geosconfig
+- #
+- AC_ARG_WITH([geosconfig],
+- [AS_HELP_STRING([--with-geosconfig=FILE], [specify an alternative geos-config file])],
+- [GEOSCONFIG="$withval"], [GEOSCONFIG=""])
+- if test "x$GEOSCONFIG" = "x"; then
+- # GEOSCONFIG was not specified, so search within the current path
+- AC_PATH_PROG([GEOSCONFIG], [geos-config])
+- # If we couldn't find geos-config, display an error
+- if test "x$GEOSCONFIG" = "x"; then
+- AC_MSG_ERROR([could not find geos-config within the current path. You may need to try re-running configure with a --with-geosconfig parameter.])
+- fi
+- else
+- # GEOSCONFIG was specified; display a message to the user
+- if test "x$GEOSCONFIG" = "xyes"; then
+- AC_MSG_ERROR([you must specify a parameter to --with-geosconfig, e.g. --with-geosconfig=/path/to/geos-config])
+- else
+- if test -f $GEOSCONFIG; then
+- AC_MSG_RESULT([Using user-specified geos-config file: $GEOSCONFIG])
+- else
+- AC_MSG_ERROR([the user-specified geos-config file $GEOSCONFIG does not exist])
+- fi
+- fi
+- fi
+- # Extract the linker and include flags
+- GEOS_LDFLAGS=`$GEOSCONFIG --ldflags`
+- GEOS_CFLAGS=-I`$GEOSCONFIG --includes`
+- AC_SUBST([GEOS_LDFLAGS])
+- AC_SUBST([GEOS_CFLAGS])
++ PKG_CHECK_MODULES([GEOS], [geos], , AC_MSG_ERROR(['geos' is required but it doesn't seem to be installed on this system.]))
++ GEOS_LDFLAGS="$GEOS_LIBS"
++ AC_SUBST(GEOS_CFLAGS)
++ AC_SUBST(GEOS_LDFLAGS)
+ # Ensure that we can parse geos_c.h
+ CPPFLAGS_SAVE="$CPPFLAGS"
+ CPPFLAGS="$GEOS_CFLAGS"
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_macros.patch b/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_macros.patch
new file mode 100644
index 0000000000..6f1c165f58
--- /dev/null
+++ b/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_macros.patch
@@ -0,0 +1,14 @@
+Upstream-Status: Pending
+
+diff -rupN --no-dereference libspatialite-5.0.1/configure.ac libspatialite-5.0.1-new/configure.ac
+--- libspatialite-5.0.1/configure.ac 2021-03-08 08:57:18.748858216 +0100
++++ libspatialite-5.0.1-new/configure.ac 2021-03-08 08:57:18.751858215 +0100
+@@ -96,7 +96,7 @@ AC_PROG_INSTALL
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+ AC_LIBTOOL_WIN32_DLL
+-AC_PROG_LIBTOOL
++LT_INIT
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_pkgconfig.patch b/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_pkgconfig.patch
new file mode 100644
index 0000000000..de6e50a58d
--- /dev/null
+++ b/meta-oe/recipes-navigation/libspatialite/libspatialite/libspatialite_pkgconfig.patch
@@ -0,0 +1,13 @@
+Upstream-Status: Pending
+
+diff -rupN libspatialite-5.0.1/spatialite.pc.in libspatialite-5.0.1-new/spatialite.pc.in
+--- libspatialite-5.0.1/spatialite.pc.in 2021-02-07 16:53:46.000000000 +0100
++++ libspatialite-5.0.1-new/spatialite.pc.in 2021-02-10 09:54:09.647552994 +0100
+@@ -8,5 +8,6 @@ includedir=@includedir@
+ Name: spatialite
+ Description: Spatial SQL database engine based on SQLite
+ Version: @VERSION@
+-Libs: -L${libdir} -lspatialite @LIBS@ @LIBXML2_LIBS@ -lm
++Libs.private: -L${libdir} @LIBS@ @LIBXML2_LIBS@ -lm
++Libs: -L${libdir} -lspatialite
+ Cflags: -I${includedir}
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb b/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb
deleted file mode 100644
index b33f5a31e4..0000000000
--- a/meta-oe/recipes-navigation/libspatialite/libspatialite_4.3.0a.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Library extending the SQLite core to support fully fledged Spatial SQL capabilities"
-HOMEPAGE = "https://www.gaia-gis.it/fossil/libspatialite/"
-SECTION = "libs"
-DEPENDS = "proj geos sqlite3 libxml2 zlib"
-
-LICENSE = "MPLv1.1 & GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e"
-
-SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz \
- file://geos-config.patch"
-SRC_URI[md5sum] = "6b380b332c00da6f76f432b10a1a338c"
-SRC_URI[sha256sum] = "88900030a4762904a7880273f292e5e8ca6b15b7c6c3fb88ffa9e67ee8a5a499"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-freexl=no"
-CFLAGS += "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H"
-
-# package plugins for SQLite3
-PACKAGES += "${PN}-plugin"
-INSANE_SKIP_${PN}-plugin = "dev-so"
-FILES_${PN}-plugin += "${libdir}/mod_*"
diff --git a/meta-oe/recipes-navigation/libspatialite/libspatialite_5.0.1.bb b/meta-oe/recipes-navigation/libspatialite/libspatialite_5.0.1.bb
new file mode 100644
index 0000000000..f46b1083e1
--- /dev/null
+++ b/meta-oe/recipes-navigation/libspatialite/libspatialite_5.0.1.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Library extending the SQLite core to support fully fledged Spatial SQL capabilities"
+HOMEPAGE = "https://www.gaia-gis.it/fossil/libspatialite/"
+SECTION = "libs"
+DEPENDS = "proj geos sqlite3 libxml2 zlib"
+
+LICENSE = "MPL-1.1 & GPL-2.0-or-later & LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0e92e1a36cc384b60f5b31dde0bdd39e"
+
+SRC_URI = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${PV}.tar.gz \
+ file://libspatialite_geos.patch \
+ file://libspatialite_macros.patch \
+ file://libspatialite_pkgconfig.patch \
+"
+
+SRC_URI[sha256sum] = "eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OECONF = "--enable-freexl=no --disable-rttopo --disable-minizip"
+
+# package plugins for SQLite3
+PACKAGES += "${PN}-plugin"
+INSANE_SKIP:${PN}-plugin = "dev-so"
+FILES:${PN}-plugin += "${libdir}/mod_*"
diff --git a/meta-oe/recipes-navigation/orrery/orrery/0001-Append-cflags-instead-of-overriding-in-Makefile.am.patch b/meta-oe/recipes-navigation/orrery/orrery/0001-Append-cflags-instead-of-overriding-in-Makefile.am.patch
new file mode 100644
index 0000000000..829ace09b5
--- /dev/null
+++ b/meta-oe/recipes-navigation/orrery/orrery/0001-Append-cflags-instead-of-overriding-in-Makefile.am.patch
@@ -0,0 +1,28 @@
+From e13f15205425c67e1101031a33107fa9cd2d65f9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 26 May 2023 10:32:53 -0700
+Subject: [PATCH] Append cflags instead of overriding in Makefile.am
+
+Fixes
+WARNING: orrery-2.7-r0 do_package_qa: QA Issue: File /usr/bin/.debug/orrery in package orrery-dbg contains reference to TMPDIR [buildpaths]
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index b64449f..23637b3 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,4 +1,4 @@
+-CFLAGS = -g -O3 -Wall
++CFLAGS += -g -O3 -Wall
+
+ bin_PROGRAMS = orrery
+ orrery_SOURCES = planetInfo.c orrery.c orrery.h phaseConstants.h
+--
+2.40.1
+
diff --git a/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch b/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch
index eb6241fdd0..3d5828011a 100644
--- a/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch
+++ b/meta-oe/recipes-navigation/orrery/orrery/0001-orrery-Fix-sprintf-format.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] orrery: Fix sprintf format
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
orrery.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-navigation/orrery/orrery/use.GdkPixbuf.patch b/meta-oe/recipes-navigation/orrery/orrery/use.GdkPixbuf.patch
index 92d194de08..2abb320d83 100644
--- a/meta-oe/recipes-navigation/orrery/orrery/use.GdkPixbuf.patch
+++ b/meta-oe/recipes-navigation/orrery/orrery/use.GdkPixbuf.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
From: Benjamin Deering
Subject: orrery crashing X
Date: Thursday, September 2, 2010 - 5:25 pm
diff --git a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
index 589fc5f7c8..96a7018de2 100644
--- a/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
+++ b/meta-oe/recipes-navigation/orrery/orrery_2.7.bb
@@ -1,7 +1,7 @@
SUMMARY = "Astronomical application which displays the night sky"
HOMEPAGE = "http://projects.openmoko.org/projects/orrery/"
SECTION = "x11/scientific"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://orrery.c;endline=25;md5=d792bdf2b591972da175aecc38d88cfe"
DEPENDS = "gtk+"
@@ -13,6 +13,7 @@ SRC_URI = "http://projects.openmoko.org/frs/download.php/923/orrery_2.7_clean.ta
file://orrery.png \
file://use.GdkPixbuf.patch \
file://0001-orrery-Fix-sprintf-format.patch \
+ file://0001-Append-cflags-instead-of-overriding-in-Makefile.am.patch \
"
SRC_URI[md5sum] = "bd62a33e7554ee1030313dfcdefcda8b"
@@ -20,16 +21,17 @@ SRC_URI[sha256sum] = "645166a5e05b2064ab630534a514697fc47b681951e7fe1d635c259cbd
S = "${WORKDIR}/${BPN}"
-do_configure_prepend() {
+do_configure:prepend() {
# fix DSO issue with binutils-2.22
- sed -i 's/ -lrt/ -lrt -lm/g' ${S}/Makefile.am
+ sed -i 's/ -lrt$/ -lrt -lm/g' ${S}/Makefile.am
}
-do_install_append() {
+do_install:append() {
install -d ${D}${datadir}/orrery
cp -R --no-dereference --preserve=mode,links -v ${S}/data/* ${D}${datadir}/orrery
chown -R root:root ${D}${datadir}/orrery
install -d ${D}${datadir}/icons
install -m 0755 ${WORKDIR}/orrery.png ${D}${datadir}/icons
+ rm -rf ${D}${datadir}/orrery/Makefile*
}
-FILES_${PN} += "${datadir}/icons/orrery.png"
+FILES:${PN} += "${datadir}/icons/orrery.png"
diff --git a/meta-oe/recipes-navigation/proj/proj_7.0.1.bb b/meta-oe/recipes-navigation/proj/proj_7.0.1.bb
deleted file mode 100644
index 2cfaa7121b..0000000000
--- a/meta-oe/recipes-navigation/proj/proj_7.0.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "PROJ.4 - Cartographic Projections library"
-HOMEPAGE = "http://trac.osgeo.org/proj/"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=74d9aaec5fa0cd734341e8c4dc91b608"
-
-SRC_URI = "http://download.osgeo.org/${BPN}/${BP}.tar.gz"
-
-SRC_URI[md5sum] = "5ba7536b579a6c9e0ad822dbdd455985"
-SRC_URI[sha256sum] = "a7026d39c9c80d51565cfc4b33d22631c11e491004e19020b3ff5a0791e1779f"
-
-DEPENDS = "sqlite3 sqlite3-native tiff"
-
-inherit autotools pkgconfig lib_package
-
-PACKAGECONFIG ?= "curl"
-
-PACKAGECONFIG[curl] = ",--without-curl,curl"
-
-FILES_${PN} += "${datadir}/proj"
diff --git a/meta-oe/recipes-navigation/proj/proj_9.3.1.bb b/meta-oe/recipes-navigation/proj/proj_9.3.1.bb
new file mode 100644
index 0000000000..78f4287d63
--- /dev/null
+++ b/meta-oe/recipes-navigation/proj/proj_9.3.1.bb
@@ -0,0 +1,27 @@
+SUMMARY = "PROJ.4 - Cartographic Projections library"
+HOMEPAGE = "http://trac.osgeo.org/proj/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27445198ba1500f508fce2b183ce0ff"
+DEPENDS = "sqlite3 sqlite3-native"
+
+SRC_URI = "http://download.osgeo.org/${BPN}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "b0f919cb9e1f42f803a3e616c2b63a78e4d81ecfaed80978d570d3a5e29d10bc"
+
+inherit cmake lib_package
+
+EXTRA_OECMAKE = "-DBUILD_TESTING=OFF -DSQLITE3_LIBRARY:STRING=sqlite3"
+
+FILES:${PN} += "${datadir}/proj"
+
+BBCLASSEXTEND = "native"
+
+PACKAGECONFIG ?= "curl shared"
+PACKAGECONFIG:append:class-native = " apps"
+
+PACKAGECONFIG[apps] = "-DBUILD_APPS=ON, -DBUILD_APPS=OFF"
+PACKAGECONFIG[curl] = "-DENABLE_CURL=ON,-DENABLE_CURL=OFF,curl"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
+PACKAGECONFIG[tiff] = "-DENABLE_TIFF=ON,-DENABLE_TIFF=OFF,tiff"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-Fix-time.h-check.patch b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-Fix-time.h-check.patch
new file mode 100644
index 0000000000..3b7054a799
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-Fix-time.h-check.patch
@@ -0,0 +1,54 @@
+From 266f0acf7f5e029afbb3e263437039e50cd6c262 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 23 Feb 2022 00:45:15 +0000
+Subject: [PATCH] Fix <time.h> check
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We're conditionally including based on HAVE_TIME_H in a bunch of places,
+but we're not actually checking for time.h, so that's never going to be defined.
+
+While at it, add in a missing include in the cram plugin.
+
+This fixes a bunch of implicit declaration warnings:
+```
+ * cyrus-sasl-2.1.28/lib/saslutil.c:280:3: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
+ * cyrus-sasl-2.1.28/lib/saslutil.c:364:41: warning: implicit declaration of function ‘clock’ [-Wimplicit-function-declaration]
+ * cyrus-sasl-2.1.28/plugins/cram.c:132:7: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
+ * cyrus-sasl-2.1.28/lib/saslutil.c:280:3: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
+ * cyrus-sasl-2.1.28/lib/saslutil.c:364:41: warning: implicit declaration of function ‘clock’ [-Wimplicit-function-declaration]
+ * cyrus-sasl-2.1.28/plugins/cram.c:132:7: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration]
+```
+
+Upstream-Status: Backport [https://github.com/cyrusimap/cyrus-sasl/commit/266f0acf7f5e029afbb3e263437039e50cd6c262]
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 2 +-
+ plugins/cram.c | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1231,7 +1231,7 @@ AC_CHECK_HEADERS_ONCE([sys/time.h])
+
+ AC_HEADER_DIRENT
+ AC_HEADER_SYS_WAIT
+-AC_CHECK_HEADERS(crypt.h des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h krb5.h)
++AC_CHECK_HEADERS(crypt.h des.h dlfcn.h fcntl.h limits.h malloc.h paths.h strings.h sys/file.h sys/time.h syslog.h time.h unistd.h inttypes.h sys/uio.h sys/param.h sysexits.h stdarg.h varargs.h krb5.h)
+
+ IPv6_CHECK_SS_FAMILY()
+ IPv6_CHECK_SA_LEN()
+--- a/plugins/cram.c
++++ b/plugins/cram.c
+@@ -53,6 +53,10 @@
+ #endif
+ #include <fcntl.h>
+
++#ifdef HAVE_TIME_H
++#include <time.h>
++#endif
++
+ #include <sasl.h>
+ #include <saslplug.h>
+ #include <saslutil.h>
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-sample-Rename-dprintf-to-cyrus_dprintf.patch b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-sample-Rename-dprintf-to-cyrus_dprintf.patch
new file mode 100644
index 0000000000..4c6d61dfc7
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/0001-sample-Rename-dprintf-to-cyrus_dprintf.patch
@@ -0,0 +1,91 @@
+From ade70f39c4aa5a8830462d9ccf3b8f8dd968c0d8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 28 Feb 2022 11:10:26 -0800
+Subject: [PATCH] sample: Rename dprintf to cyrus_dprintf
+
+This avoids shadowing the dprintf implementations in glibc
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sample/client.c | 12 ++++++------
+ sample/common.c | 2 +-
+ sample/common.h | 2 +-
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/sample/client.c b/sample/client.c
+index e723c6b7..6a04f428 100644
+--- a/sample/client.c
++++ b/sample/client.c
+@@ -241,9 +241,9 @@ int mysasl_negotiate(FILE *in, FILE *out, sasl_conn_t *conn)
+ int r, c;
+
+ /* get the capability list */
+- dprintf(0, "receiving capability list... ");
++ cyrus_dprintf(0, "receiving capability list... ");
+ len = recv_string(in, buf, sizeof buf);
+- dprintf(0, "%s\n", buf);
++ cyrus_dprintf(0, "%s\n", buf);
+
+ if (mech) {
+ /* make sure that 'mech' appears in 'buf' */
+@@ -262,7 +262,7 @@ int mysasl_negotiate(FILE *in, FILE *out, sasl_conn_t *conn)
+ return -1;
+ }
+
+- dprintf(1, "using mechanism %s\n", chosenmech);
++ cyrus_dprintf(1, "using mechanism %s\n", chosenmech);
+
+ /* we send up to 3 strings;
+ the mechanism chosen, the presence of initial response,
+@@ -276,7 +276,7 @@ int mysasl_negotiate(FILE *in, FILE *out, sasl_conn_t *conn)
+ }
+
+ for (;;) {
+- dprintf(2, "waiting for server reply...\n");
++ cyrus_dprintf(2, "waiting for server reply...\n");
+
+ c = fgetc(in);
+ switch (c) {
+@@ -303,10 +303,10 @@ int mysasl_negotiate(FILE *in, FILE *out, sasl_conn_t *conn)
+ }
+
+ if (data) {
+- dprintf(2, "sending response length %d...\n", len);
++ cyrus_dprintf(2, "sending response length %d...\n", len);
+ send_string(out, data, len);
+ } else {
+- dprintf(2, "sending null response...\n");
++ cyrus_dprintf(2, "sending null response...\n");
+ send_string(out, "", 0);
+ }
+ }
+diff --git a/sample/common.c b/sample/common.c
+index 712549fd..d138e450 100644
+--- a/sample/common.c
++++ b/sample/common.c
+@@ -127,7 +127,7 @@ int recv_string(FILE *f, char *buf, int buflen)
+
+ int debuglevel = 0;
+
+-int dprintf(int lvl, const char *fmt, ...)
++int cyrus_dprintf(int lvl, const char *fmt, ...)
+ {
+ va_list ap;
+ int ret = 0;
+diff --git a/sample/common.h b/sample/common.h
+index 819d0101..cd56907a 100644
+--- a/sample/common.h
++++ b/sample/common.h
+@@ -43,7 +43,7 @@ extern int send_string(FILE *f, const char *s, int l);
+ extern int recv_string(FILE *f, char *buf, int buflen);
+
+ extern int debuglevel;
+-extern int dprintf(int lvl, const char *fmt, ...);
++extern int cyrus_dprintf(int lvl, const char *fmt, ...);
+
+ extern void saslerr(int why, const char *what);
+ extern void saslfail(int why, const char *what);
+--
+2.35.1
+
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch
new file mode 100644
index 0000000000..8c95268bb5
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2019-19906.patch
@@ -0,0 +1,37 @@
+From 94fe6eb9ea2691f4a7c32fbf2d0c7c454995b666 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 27 Feb 2020 11:08:57 +0800
+Subject: [PATCH] Fix #587
+
+Off by one error in common.c, CVE-2019-19906.
+
+Thanks to Stephan Zeisberg for reporting
+
+CVE: CVE-2019-19906
+
+Upstream-Stauts: Backport [https://github.com/cyrusimap/cyrus-sasl
+/commit/dcc9f51cbd4ed622cfb0f9b1c141eb2ffe3b12f1]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+Upstream-Status: Pending
+
+ lib/common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/common.c b/lib/common.c
+index d9104c8..fef82db 100644
+--- a/lib/common.c
++++ b/lib/common.c
+@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t *alloclen,
+
+ if (add==NULL) add = "(null)";
+
+- addlen=strlen(add); /* only compute once */
++ addlen=strlen(add)+1; /* only compute once */
+ if (_buf_alloc(out, alloclen, (*outlen)+addlen+1)!=SASL_OK)
+ return SASL_NOMEM;
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2022-24407.patch b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2022-24407.patch
new file mode 100644
index 0000000000..3d67f47414
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/CVE-2022-24407.patch
@@ -0,0 +1,27 @@
+From 078f98ea154475d953ce5b7cd851732f4dc270a7 Mon Sep 17 00:00:00 2001
+From: Hitendra Prajapati <hprajapati@mvista.com>
+Date: Tue, 5 Jul 2022 09:31:07 +0530
+Subject: [PATCH] CVE-2022-24407
+
+Upstream-Status: Backport [https://github.com/cyrusimap/cyrus-sasl/commit/9eff746c9daecbcc0041b09a5a51ba30738cdcbc]
+CVE: CVE-2022-24407
+Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
+---
+ plugins/sql.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/plugins/sql.c b/plugins/sql.c
+index 6ac81c2f..d90dbac9 100644
+--- a/plugins/sql.c
++++ b/plugins/sql.c
+@@ -1127,6 +1127,7 @@ static int sql_auxprop_lookup(void *glob_context,
+ done:
+ if (escap_userid) sparams->utils->free(escap_userid);
+ if (escap_realm) sparams->utils->free(escap_realm);
++ if (escap_passwd) sparams->utils->free(escap_passwd);
+ if (conn) settings->sql_engine->sql_close(conn);
+ if (userid) sparams->utils->free(userid);
+ if (realm) sparams->utils->free(realm);
+--
+2.25.1
+
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/avoid-to-call-AC_TRY_RUN.patch b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/avoid-to-call-AC_TRY_RUN.patch
new file mode 100644
index 0000000000..308d88204f
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/avoid-to-call-AC_TRY_RUN.patch
@@ -0,0 +1,39 @@
+Remove AC_TRY_RUN
+
+It can not be run during cross compile
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/m4/sasl2.m4
++++ b/m4/sasl2.m4
+@@ -316,28 +316,8 @@ if test "$gssapi" != no; then
+ AC_CACHE_CHECK([for SPNEGO support in GSSAPI libraries],[ac_cv_gssapi_supports_spnego],[
+ cmu_save_LIBS="$LIBS"
+ LIBS="$LIBS $GSSAPIBASE_LIBS"
+- AC_TRY_RUN([
+-#ifdef HAVE_GSSAPI_H
+-#include <gssapi.h>
+-#else
+-#include <gssapi/gssapi.h>
+-#endif
+-
+-int main(void)
+-{
+- gss_OID_desc spnego_oid = { 6, (void *) "\x2b\x06\x01\x05\x05\x02" };
+- gss_OID_set mech_set;
+- OM_uint32 min_stat;
+- int have_spnego = 0;
+-
+- if (gss_indicate_mechs(&min_stat, &mech_set) == GSS_S_COMPLETE) {
+- gss_test_oid_set_member(&min_stat, &spnego_oid, mech_set, &have_spnego);
+- gss_release_oid_set(&min_stat, &mech_set);
+- }
+-
+- return (!have_spnego); // 0 = success, 1 = failure
+-}
+-],[ac_cv_gssapi_supports_spnego=yes],[ac_cv_gssapi_supports_spnego=no])
++ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO])
++ AC_MSG_RESULT(yes)
+ LIBS="$cmu_save_LIBS"
+ ])
+ AS_IF([test "$ac_cv_gssapi_supports_spnego" = yes],[
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/debian_patches_0014_avoid_pic_overwrite.diff b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/debian_patches_0014_avoid_pic_overwrite.diff
new file mode 100644
index 0000000000..a5f2f5dd91
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/debian_patches_0014_avoid_pic_overwrite.diff
@@ -0,0 +1,30 @@
+From 1a5f3004e9081eab6263a29cd5be792f06441e36 Mon Sep 17 00:00:00 2001
+From: Fabian Fagerholm <fabbe@debian.org>
+Date: Wed, 24 Jul 2013 11:38:25 -0400
+Subject: [PATCH] cyrus-sasl: Add patches from Debian to fix linking
+
+Description: This patch makes sure the non-PIC version of libsasldb.a, which
+is created out of non-PIC objects, is not going to overwrite the PIC version,
+which is created out of PIC objects. The PIC version is placed in .libs, and
+the non-PIC version in the current directory. This ensures that both non-PIC
+and PIC versions are available in the correct locations.
+
+---
+Upstream-Status: Pending
+
+ lib/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index a158ca3..3137e19 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -99,7 +99,7 @@ endif
+
+ libsasl2.a: libsasl2.la $(SASL_STATIC_OBJS)
+ @echo adding static plugins and dependencies
+- $(AR) cru .libs/$@ $(SASL_STATIC_OBJS)
++ $(AR) cru $@ $(SASL_STATIC_OBJS)
+ @for i in ./libsasl2.la ../common/libplugin_common.la ../sasldb/libsasldb.la ../plugins/lib*.la; do \
+ if test ! -f $$i; then continue; fi; . $$i; \
+ for j in $$dependency_libs foo; do \
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/saslauthd.conf b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/saslauthd.conf
new file mode 100644
index 0000000000..a91a9d3340
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/saslauthd.conf
@@ -0,0 +1,11 @@
+# Directory in which to place saslauthd's listening socket, pid file, and so
+# on. This directory must already exist.
+SOCKETDIR=@LOCALSTATEDIR@/run/saslauthd
+
+# Mechanism to use when checking passwords. Run "saslauthd -v" to get a list
+# of which mechanism your installation was compiled with the ablity to use.
+MECH=pam
+
+# Additional flags to pass to saslauthd on the command line. See saslauthd(8)
+# for the list of accepted flags.
+FLAGS=
diff --git a/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/saslauthd.service b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/saslauthd.service
new file mode 100644
index 0000000000..e63592af6c
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl/saslauthd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=SASL authentication daemon.
+After=syslog.target
+
+[Service]
+Type=forking
+PIDFile=/run/saslauthd/saslauthd.pid
+EnvironmentFile=@SYSCONFDIR@/default/saslauthd
+ExecStart=@SBINDIR@/saslauthd -m $SOCKETDIR -a $MECH $FLAGS
+
+[Install]
+WantedBy=multi-user.target
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
new file mode 100644
index 0000000000..d85ef20577
--- /dev/null
+++ b/meta-oe/recipes-networking/cyrus-sasl/cyrus-sasl_2.1.28.bb
@@ -0,0 +1,98 @@
+SUMMARY = "Generic client/server library for SASL authentication"
+SECTION = "libs"
+HOMEPAGE = "http://asg.web.cmu.edu/sasl/"
+DEPENDS = "openssl db groff-native"
+LICENSE = "BSD-4-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3f55e0974e3d6db00ca6f57f2d206396"
+
+SRCREV = "7a6b45b177070198fed0682bea5fa87c18abb084"
+
+SRC_URI = "git://github.com/cyrusimap/cyrus-sasl;protocol=https;branch=cyrus-sasl-2.1 \
+ file://avoid-to-call-AC_TRY_RUN.patch \
+ file://debian_patches_0014_avoid_pic_overwrite.diff \
+ file://0001-sample-Rename-dprintf-to-cyrus_dprintf.patch \
+ file://saslauthd.service \
+ file://saslauthd.conf \
+ file://CVE-2019-19906.patch \
+ file://CVE-2022-24407.patch \
+ file://0001-Fix-time.h-check.patch \
+ "
+
+UPSTREAM_CHECK_URI = "https://github.com/cyrusimap/cyrus-sasl/archives"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig useradd systemd
+
+EXTRA_OECONF += "--with-dblib=berkeley \
+ --with-plugindir='${libdir}/sasl2' \
+ andrew_cv_runpath_switch=none"
+
+PACKAGECONFIG ??= "\
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ldap pam', d)} \
+"
+PACKAGECONFIG[gssapi] = "--enable-gssapi=yes,--enable-gssapi=no,krb5,"
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
+PACKAGECONFIG[opie] = "--with-opie,--without-opie,opie,"
+PACKAGECONFIG[des] = "--with-des,--without-des,,"
+PACKAGECONFIG[ldap] = "--with-ldap=${STAGING_LIBDIR} --enable-ldapdb,--without-ldap --disable-ldapdb,openldap,"
+PACKAGECONFIG[ntlm] = "--enable-ntlm=yes,--enable-ntlm=no,,"
+
+CFLAGS += "-fPIC"
+
+do_configure:prepend () {
+ # make it be able to work with db 5.0 version
+ local sed_files="sasldb/db_berkeley.c utils/dbconverter-2.c"
+ for sed_file in $sed_files; do
+ sed -i 's#DB_VERSION_MAJOR == 4.*#(&) || DB_VERSION_MAJOR == 5#' ${S}/$sed_file
+ done
+}
+
+do_compile:prepend () {
+ cd include
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} ${S}/include/makemd5.c -o makemd5
+ touch makemd5.o makemd5.lo makemd5
+ cd ..
+}
+
+do_install:append() {
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/saslauthd.service ${D}${systemd_unitdir}/system
+
+ sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/saslauthd.service
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${systemd_unitdir}/system/saslauthd.service
+ sed -i -e 's#@SYSCONFDIR@#${sysconfdir}#g' ${D}${systemd_unitdir}/system/saslauthd.service
+
+ install -d ${D}${sysconfdir}/tmpfiles.d
+ echo "d /run/saslauthd/ - - - -" > ${D}${sysconfdir}/tmpfiles.d/saslauthd.conf
+
+ install -d ${D}${sysconfdir}/default/
+ install -m 0644 ${WORKDIR}/saslauthd.conf ${D}${sysconfdir}/default/saslauthd
+ sed -i -e 's#@LOCALSTATEDIR@#${localstatedir}#g' ${D}${sysconfdir}/default/saslauthd
+ fi
+}
+
+USERADD_PACKAGES = "${PN}-bin"
+GROUPADD_PARAM:${PN}-bin = "--system mail"
+USERADD_PARAM:${PN}-bin = "--system --home=/var/spool/mail -g mail cyrus"
+
+SYSTEMD_PACKAGES = "${PN}-bin"
+SYSTEMD_SERVICE:${PN}-bin = "saslauthd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+SRC_URI[md5sum] = "a7f4e5e559a0e37b3ffc438c9456e425"
+SRC_URI[sha256sum] = "8fbc5136512b59bb793657f36fadda6359cae3b08f01fd16b3d406f1345b7bc3"
+
+PACKAGES =+ "${PN}-bin"
+
+FILES:${PN} += "${libdir}/sasl2/*.so*"
+FILES:${PN}-bin += "${bindir} \
+ ${sysconfdir}/default/saslauthd \
+ ${systemd_unitdir}/system/saslauthd.service \
+ ${sysconfdir}/tmpfiles.d/saslauthd.conf"
+FILES:${PN}-dev += "${libdir}/sasl2/*.la"
+FILES:${PN}-dbg += "${libdir}/sasl2/.debug"
+FILES:${PN}-staticdev += "${libdir}/sasl2/*.a"
+
+INSANE_SKIP:${PN} += "dev-so"
diff --git a/meta-oe/recipes-printing/cups/cups-filters.inc b/meta-oe/recipes-printing/cups/cups-filters.inc
deleted file mode 100644
index 589bb90e6e..0000000000
--- a/meta-oe/recipes-printing/cups/cups-filters.inc
+++ /dev/null
@@ -1,81 +0,0 @@
-DESCRIPTION = "CUPS backends, filters, and other software"
-HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters"
-
-LICENSE = "GPLv2 & LGPLv2 & MIT & GPLv2+ & GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=516215fd57564996d70327db19b368ff"
-
-SECTION = "console/utils"
-
-DEPENDS = "cups glib-2.0 glib-2.0-native dbus dbus-glib lcms ghostscript poppler qpdf libpng"
-DEPENDS_class-native = "poppler-native glib-2.0-native dbus-native pkgconfig-native gettext-native libpng-native"
-
-SRC_URI = "http://openprinting.org/download/cups-filters/cups-filters-${PV}.tar.gz"
-
-inherit autotools-brokensep gettext pkgconfig
-
-EXTRA_OECONF += " --enable-ghostscript --disable-ldap \
- --with-pdftops=hybrid --enable-imagefilters \
- --enable-ghostscript --with-gs-path=${bindir}/gs \
- --with-pdftops-path=${bindir}/gs \
- --with-fontdir=${datadir}/fonts --with-rcdir=no \
- --with-cups-rundir=${localstatedir}/run/cups \
- --localstatedir=${localstatedir}/var \
- --with-rcdir=no \
- --without-php"
-
-EXTRA_OECONF_class-native += " --with-pdftops=pdftops \
- --disable-avahi --disable-ghostscript \
- --disable-ldap \
- --with-png --without-jpeg --without-tiff"
-
-BBCLASSEXTEND = "native"
-
-PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg"
-PACKAGECONFIG[png] = "--with-png,--without-png,libpng"
-PACKAGECONFIG[tiff] = "--with-tiff,--without-tiff,tiff"
-
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)}"
-
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
-
-DIRFILES = "1"
-
-PACKAGES =+ "\
- ${PN}-gst \
- ${PN}-data \
- "
-
-FILES_${PN}-gst = "\
- ${libexecdir}/cups/filter/gsto* \
- "
-
-FILES_${PN}-data = "\
- ${datadir}/cups/data \
- "
-
-FILES_${PN}-dbg += "\
- ${libexecdir}/cups/backend/.debug \
- ${libexecdir}/cups/driver/.debug \
- ${libexecdir}/cups/filter/.debug \
- "
-
-FILES_${PN} += "\
- ${libexecdir}/cups \
- ${datadir}/ppd/ \
- ${datadir}/cups/charsets \
- ${datadir}/cups/drv \
- ${datadir}/cups/mime \
- ${datadir}/cups/ppdc \
- ${datadir}/cups/banners \
-"
-
-do_install_append() {
- # remove braille dir
- rm -rf ${D}${datadir}/cups/braille
-
- # remove sysroot path contamination from pkgconfig file
- sed -i -e 's:${STAGING_DIR_TARGET}::' ${D}/${libdir}/pkgconfig/libcupsfilters.pc
-}
-
-RDEPENDS_${PN} += "bash"
diff --git a/meta-oe/recipes-printing/cups/cups-filters/fix-make-race.patch b/meta-oe/recipes-printing/cups/cups-filters/fix-make-race.patch
new file mode 100644
index 0000000000..9a4e31c1d2
--- /dev/null
+++ b/meta-oe/recipes-printing/cups/cups-filters/fix-make-race.patch
@@ -0,0 +1,33 @@
+From 7aba7c690fd84ca1e48d0cb6829410eeb658c594 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 24 Nov 2023 17:53:49 +0100
+Subject: [PATCH] Fix a Makefile race condition
+
+utils/driverless-fax script may be written before utils directory was created
+
+| make[2]: Entering directory '/home/flk/poky/build/tmp/work/corei7-64-poky-linux/cups-filters/2.0.0/build'
+| sed \
+| -e "s|\@CUPS_SERVERBIN\@|/usr/libexec/cups|" \
+| ../cups-filters-2.0.0/utils/driverless-fax.in > utils/driverless-fax
+| /bin/bash: line 2: utils/driverless-fax: No such file or directory
+
+Upstream-Status: Pending
+---
+ Makefile.am | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+--- a/Makefile.am 2023-09-22 18:14:03.000000000 +0200
++++ b/Makefile.am 2023-11-24 19:09:09.339653936 +0100
+@@ -62,7 +62,7 @@
+ # "driverless" utility
+ # ====================
+ utils/driverless-fax: utils/driverless-fax.in Makefile
+- sed \
++ mkdir -p utils && sed \
+ -e "s|\@CUPS_SERVERBIN\@|$(CUPS_SERVERBIN)|" \
+ $< > $@
+
+
+
+
+
diff --git a/meta-oe/recipes-printing/cups/cups-filters_1.27.2.bb b/meta-oe/recipes-printing/cups/cups-filters_1.27.2.bb
deleted file mode 100644
index 35c4a929b5..0000000000
--- a/meta-oe/recipes-printing/cups/cups-filters_1.27.2.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-include cups-filters.inc
-
-SRC_URI[md5sum] = "90ebcae31f2eabd802236408646b1dd9"
-SRC_URI[sha256sum] = "174a2a5c919bf88c63ced692a2170add6c2cd70ff06c49bcea32e9cf56960492"
diff --git a/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb b/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb
new file mode 100644
index 0000000000..efcd1aab8a
--- /dev/null
+++ b/meta-oe/recipes-printing/cups/cups-filters_2.0.0.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "CUPS backends, filters, and other software"
+HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6d5b952b53dbe7752199903d082e5f07"
+
+DEPENDS = "libcupsfilters libppd glib-2.0 poppler"
+
+SRC_URI = " \
+ https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://fix-make-race.patch \
+"
+SRC_URI[sha256sum] = "b5152e3dd148ed73835827ac2f219df7cf5808dbf9dbaec2aa0127b44de800d8"
+
+inherit autotools gettext pkgconfig github-releases
+
+EXTRA_OECONF += " \
+ --enable-imagefilters \
+ --enable-ghostscript --with-gs-path=${bindir}/gs \
+ --with-fontdir=${datadir}/fonts \
+ --localstatedir=${localstatedir} \
+"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)}"
+PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+
+FILES:${PN} += "${datadir}"
+FILES:${PN}-dev += "${datadir}/ppdc"
+
+RDEPENDS:${PN} += "bash"
+RDEPENDS:${PN} += "ghostscript"
diff --git a/meta-oe/recipes-printing/cups/cups-pk-helper/dont-localize-org.opensuse.CupsPkHelper.Mechanism.service.patch b/meta-oe/recipes-printing/cups/cups-pk-helper/dont-localize-org.opensuse.CupsPkHelper.Mechanism.service.patch
new file mode 100644
index 0000000000..371ce01181
--- /dev/null
+++ b/meta-oe/recipes-printing/cups/cups-pk-helper/dont-localize-org.opensuse.CupsPkHelper.Mechanism.service.patch
@@ -0,0 +1,26 @@
+Upstream-Status: Pending
+
+--- a/src/meson.build 2023-01-24 09:22:59.874074134 +0100
++++ b/src/meson.build 2023-01-24 09:27:00.494627305 +0100
+@@ -73,12 +73,12 @@
+
+
+ # Translate and install policy file
+-i18n.merge_file (
+- input: 'org.opensuse.cupspkhelper.mechanism.policy.in',
+- output: 'org.opensuse.cupspkhelper.mechanism.policy',
+- type: 'xml',
+- data_dirs: join_paths (meson.source_root (), 'src'),
+- po_dir: join_paths (meson.source_root (), 'po'),
+- install: true,
+- install_dir: join_paths (prefix, datadir, 'polkit-1', 'actions')
+-)
++#i18n.merge_file (
++# input: 'org.opensuse.cupspkhelper.mechanism.policy.in',
++# output: 'org.opensuse.cupspkhelper.mechanism.policy',
++# type: 'xml',
++# data_dirs: join_paths (meson.source_root (), 'src'),
++# po_dir: join_paths (meson.source_root (), 'po'),
++# install: true,
++# install_dir: join_paths (prefix, datadir, 'polkit-1', 'actions')
++#)
diff --git a/meta-oe/recipes-printing/cups/cups-pk-helper_0.2.7.bb b/meta-oe/recipes-printing/cups/cups-pk-helper_0.2.7.bb
new file mode 100644
index 0000000000..4bf62006f4
--- /dev/null
+++ b/meta-oe/recipes-printing/cups/cups-pk-helper_0.2.7.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "CUPS polkit helper"
+HOMEPAGE = "https://www.freedesktop.org/software/cups-pk-helper/releases/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "cups polkit glib-2.0"
+
+inherit meson pkgconfig gettext features_check
+
+REQUIRED_DISTRO_FEATURES ="polkit"
+
+SRC_URI = " \
+ https://www.freedesktop.org/software/cups-pk-helper/releases/cups-pk-helper-${PV}.tar.xz \
+ file://dont-localize-org.opensuse.CupsPkHelper.Mechanism.service.patch \
+"
+SRC_URI[sha256sum] = "66070ddb448fe9fcee76aa26be2ede5a80f85563e3a4afd59d2bfd79fbe2e831"
+
+do_install:append() {
+ install -d ${D}${datadir}/polkit-1/actions
+ install -m 644 ${S}/src/org.opensuse.cupspkhelper.mechanism.policy.in ${D}${datadir}/polkit-1/actions/org.opensuse.cupspkhelper.mechanism.policy
+}
+
+FILES:${PN} += "${datadir}"
diff --git a/meta-oe/recipes-printing/cups/libcupsfilters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch b/meta-oe/recipes-printing/cups/libcupsfilters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch
new file mode 100644
index 0000000000..72bbf10a14
--- /dev/null
+++ b/meta-oe/recipes-printing/cups/libcupsfilters/0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch
@@ -0,0 +1,36 @@
+From 104fba23b1c0c67c92777b3165c6dca99558a656 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 6 Feb 2023 18:13:52 -0800
+Subject: [PATCH] use noexcept(false) instead of throw() from c++17 onwards
+
+C++17 removed dynamic exception specifications [1]
+they had been deprecated since C++11, replace
+throw(whatever) with noexcept(false).
+
+[1] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0003r5.html
+
+Upstream-Status: Submitted [https://github.com/OpenPrinting/cups-filters/pull/505]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ filter/pdftoraster.cxx | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/cupsfilters/pdftoraster.cxx b/cupsfilters/pdftoraster.cxx
+index e8af184fb..e91e22459 100755
+@@ -2198,7 +2198,11 @@
+ // For compatibility with g++ >= 4.7 compilers _GLIBCXX_THROW
+ // should be used as a guard, otherwise use traditional definition
+ #ifndef _GLIBCXX_THROW
+-#define _GLIBCXX_THROW throw
++#if __cplusplus < 201703L
++#define _GLIBCXX_THROW throw
++#else
++#define _GLIBCXX_THROW(x) noexcept(false)
++#endif
+ #endif
+
+ void * operator new(size_t size) _GLIBCXX_THROW (std::bad_alloc)
+
+--
+2.39.1
+
diff --git a/meta-oe/recipes-printing/cups/libcupsfilters_2.0.0.bb b/meta-oe/recipes-printing/cups/libcupsfilters_2.0.0.bb
new file mode 100644
index 0000000000..7f7174d940
--- /dev/null
+++ b/meta-oe/recipes-printing/cups/libcupsfilters_2.0.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "OpenPrinting libcupsfilters"
+HOMEPAGE = "https://github.com/OpenPrinting"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=aab2024bd2a475438a154cd1640c9684"
+
+DEPENDS = "cups fontconfig libexif dbus lcms qpdf poppler libpng jpeg tiff"
+
+SRC_URI = " \
+ https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz \
+ file://0001-use-noexcept-false-instead-of-throw-from-c-17-onward.patch \
+"
+SRC_URI[sha256sum] = "542f2bfbc58136a4743c11dc8c86cee03c9aca705612654e36ac34aa0d9aa601"
+
+inherit autotools gettext pkgconfig github-releases
+
+FILES:${PN} += "${datadir}"
+RDEPENDS:${PN} += "ghostscript"
diff --git a/meta-oe/recipes-printing/cups/libppd_2.0.0.bb b/meta-oe/recipes-printing/cups/libppd_2.0.0.bb
new file mode 100644
index 0000000000..99b1f6e730
--- /dev/null
+++ b/meta-oe/recipes-printing/cups/libppd_2.0.0.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "OpenPrinting libppd"
+HOMEPAGE = "https://github.com/OpenPrinting"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c1fca671047153ce6825c4ab06f2ab49"
+
+DEPENDS = "libcupsfilters"
+
+SRC_URI = "https://github.com/OpenPrinting/${BPN}/releases/download/${PV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "882d3c659a336e91559de8f3c76fc26197fe6e5539d9b484a596e29a5a4e0bc8"
+
+inherit autotools gettext pkgconfig github-releases
+
+do_install:append() {
+ rm -r ${D}${bindir}
+}
+
+FILES:${PN} += "${datadir}"
+
diff --git a/meta-oe/recipes-printing/cups/python3-pycups.bb b/meta-oe/recipes-printing/cups/python3-pycups.bb
new file mode 100644
index 0000000000..6968170d93
--- /dev/null
+++ b/meta-oe/recipes-printing/cups/python3-pycups.bb
@@ -0,0 +1,11 @@
+SUMMARY = "CUPS bindings for Python"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3961efb54421653518521529853444c4"
+
+RDEPENDS:${PN} = "python3"
+
+inherit setuptools3 pypi
+
+PV = "2.0.1"
+
+SRC_URI[sha256sum] = "e880d7d7147959ead5cb34764f08b97b41385b36eb8256e8af1ce163dbcccce8"
diff --git a/meta-oe/recipes-printing/gutenprint/gutenprint_5.3.4.bb b/meta-oe/recipes-printing/gutenprint/gutenprint_5.3.4.bb
new file mode 100644
index 0000000000..5263890239
--- /dev/null
+++ b/meta-oe/recipes-printing/gutenprint/gutenprint_5.3.4.bb
@@ -0,0 +1,63 @@
+# Recipe for building gutenprint
+#
+# Uses the gutenprint-native extracted strings and disable local build stuff
+#
+# Copyright (c) Ambu A/S - All rights reserved
+# SPDX-License-Identifier: MIT
+#
+# Author(s)
+# clst@ambu.com (Claus Stovgaard)
+#
+
+DESCRIPTION = "Gutenprint printer drivers"
+HOMEPAGE = "http://gimp-print.sourceforge.net/"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+SRC_URI = "https://downloads.sourceforge.net/gimp-print/${BP}.tar.xz"
+SRC_URI[sha256sum] = "db44a701d2b8e6a8931c83cec06c91226be266d23e5c189d20a39dd175f2023b"
+
+inherit autotools gettext pkgconfig
+
+DEPENDS += "glib-2.0-native cups gutenprint-native tiff libusb libpng libjpeg-turbo ghostscript"
+# autogen.sh needs autopoint
+DEPENDS:class-native = "glib-2.0-native gettext-native"
+
+EXTRA_OECONF = "--without-doc --disable-test PERL=/usr/bin/perl"
+EXTRA_OECONF:append:class-native = " --without-cups"
+
+do_configure:prepend:class-target() {
+ # Disable the xmli18n-tmp.h rule
+ # It depend on the local build extract-strings, we are not able to run this
+ # So we are using the xmli18n-tmp.h created by gutenprint-native
+ sed -i 's/all-local: xmli18n-tmp.h xml-stamp/all-local: xml-stamp/' ${S}/src/xml/Makefile.am
+ sed -i 's/dist-hook: xmli18n-tmp.h xml-stamp/dist-hook: xml-stamp/' ${S}/src/xml/Makefile.am
+ sed -i '/$(AM_TESTS_ENVIRONMENT) .\/check_duplicate_printers.test/d' ${S}/src/xml/printers/Makefile.am
+ # Despite being a generated file, this needs to be in S.
+ cp ${STAGING_DATADIR_NATIVE}/gutenprint/xmli18n-tmp.h ${S}/src/xml/
+}
+
+do_install:append() {
+ # This file contains build paths and isn't very useful, remove it
+ rm -f ${D}${libdir}/gutenprint/*/config.summary
+ # Match ownership to cups
+ chgrp lp ${D}${sysconfdir}/cups
+}
+
+do_compile:class-native() {
+ oe_runmake -C ${B}/src/xml
+}
+
+do_install:class-native() {
+ install -d ${D}${datadir}/gutenprint/
+ install -m644 ${B}/src/xml/xmli18n-tmp.h ${D}${datadir}/gutenprint/
+}
+
+FILES:${PN} += "${datadir}/cups/*"
+RDEPENDS:${PN} = "perl"
+
+BBCLASSEXTEND = "native"
+
+# Pull in base-passwd for the lp user
+DEPENDS:append:class-target = " base-passwd"
+PACKAGE_WRITE_DEPS += "base-passwd"
diff --git a/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb b/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb
deleted file mode 100644
index 4f21575c3e..0000000000
--- a/meta-oe/recipes-printing/qpdf/qpdf_10.2.0.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "PDF transformation/inspection software"
-HOMEPAGE = "http://qpdf.sourceforge.net"
-LICENSE = "Artistic-2.0"
-SECTION = "libs"
-DEPENDS = "libpcre zlib libjpeg-turbo"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/qpdf/qpdf-${PV}.tar.gz"
-
-LIC_FILES_CHKSUM = "file://Artistic-2.0;md5=7806296b9fae874361e6fb10072b7ee3"
-SRC_URI[md5sum] = "c8f4430823603ee3b430b3250015ede5"
-SRC_URI[sha256sum] = "43ef260f4e70672660e1882856d59b9319301c6f170673ab465430a71cffe44c"
-
-inherit autotools-brokensep gettext
-
-# disable random file detection for cross-compile
-EXTRA_OECONF = "--without-random \
- --disable-static \
- --disable-check-autofiles \
- "
-
-EXTRA_OEMAKE_class-target = "LIBTOOL=${HOST_SYS}-libtool"
-
-LDFLAGS_append_mipsarch = " -latomic"
-LDFLAGS_append_riscv32 = " -latomic"
-
-S="${WORKDIR}/${BPN}-${PV}"
-
-# avoid Makefile returning error on 'make clean' before configure was run
-CLEANBROKEN = "1"
-
-DEBIAN_NOAUTONAME_libqpdf = "1"
-
-PACKAGES =+ "libqpdf"
-FILES_libqpdf = "${libdir}/libqpdf.so.*"
-
-RDEPENDS_${PN} = "libqpdf"
diff --git a/meta-oe/recipes-printing/qpdf/qpdf_11.8.0.bb b/meta-oe/recipes-printing/qpdf/qpdf_11.8.0.bb
new file mode 100644
index 0000000000..a13c9a023a
--- /dev/null
+++ b/meta-oe/recipes-printing/qpdf/qpdf_11.8.0.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "PDF transformation/inspection software"
+HOMEPAGE = "http://qpdf.sourceforge.net"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "zlib jpeg ${@bb.utils.contains('PACKAGECONFIG', 'gnutls', 'gnutls', 'openssl', d)}"
+
+SRC_URI = "git://github.com/qpdf/qpdf.git;protocol=https;branch=main"
+SRCREV = "452e1f5c20ec6adf62cd296cb9dddacbc06e6ffa"
+
+inherit cmake pkgconfig gettext
+
+EXTRA_OECMAKE = ' \
+ -DRANDOM_DEVICE="/dev/random" \
+ -DBUILD_STATIC_LIBS=OFF \
+ -DALLOW_CRYPTO_NATIVE=OFF \
+ -DUSE_IMPLICIT_CRYPTO=OFF \
+'
+
+LDFLAGS:append:mipsarch = " -latomic"
+LDFLAGS:append:riscv32 = " -latomic"
+
+S="${WORKDIR}/git"
+
+PACKAGECONFIG ?= "gnutls"
+PACKAGECONFIG[gnutls] = "-DREQUIRE_CRYPTO_GNUTLS=ON,-DREQUIRE_CRYPTO_OPENSSL=ON"
+
+do_install:append() {
+ # Change the fully defined path on the target
+ sed -i -e 's|${STAGING_LIBDIR}|${libdir}|g' ${D}${libdir}/cmake/${BPN}/libqpdfTargets.cmake
+}
diff --git a/meta-oe/recipes-security/audit/audit/0001-Fixed-swig-host-contamination-issue.patch b/meta-oe/recipes-security/audit/audit/0001-Fixed-swig-host-contamination-issue.patch
new file mode 100644
index 0000000000..f2755d5c08
--- /dev/null
+++ b/meta-oe/recipes-security/audit/audit/0001-Fixed-swig-host-contamination-issue.patch
@@ -0,0 +1,57 @@
+From 5cdc667aeb7a014cdc1f8c7df8f8080408773dbe Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Sun, 19 Jul 2015 02:42:58 +0900
+Subject: [PATCH] Fixed swig host contamination issue
+
+The audit build uses swig to generate a python wrapper.
+Unfortunately, the swig info file references host include
+directories. Some of these were previously noticed and
+eliminated, but the one fixed here was not.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Anders Hedlund <anders.hedlund@windriver.com>
+Signed-off-by: Joe Slater <jslater@windriver.com>
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ bindings/swig/python3/Makefile.am | 3 ++-
+ bindings/swig/src/auditswig.i | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/bindings/swig/python3/Makefile.am b/bindings/swig/python3/Makefile.am
+index c2c6def4..bcc2836c 100644
+--- a/bindings/swig/python3/Makefile.am
++++ b/bindings/swig/python3/Makefile.am
+@@ -23,6 +23,7 @@
+ CONFIG_CLEAN_FILES = *.loT *.rej *.orig
+ AM_CFLAGS = -fPIC -DPIC -fno-strict-aliasing $(PYTHON3_CFLAGS)
+ AM_CPPFLAGS = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES)
++STDINC ?= /usr/include
+ LIBS = $(top_builddir)/lib/libaudit.la
+ SWIG_FLAGS = -python
+ SWIG_INCLUDES = -I. -I$(top_builddir) -I${top_srcdir}/lib $(PYTHON3_INCLUDES)
+@@ -37,7 +38,7 @@ _audit_la_DEPENDENCIES =${top_srcdir}/lib/audit_logging.h ${top_builddir}/lib/li
+ _audit_la_LIBADD = ${top_builddir}/lib/libaudit.la
+ nodist__audit_la_SOURCES = audit_wrap.c
+ audit.py audit_wrap.c: ${srcdir}/../src/auditswig.i
+- swig -o audit_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} ${srcdir}/../src/auditswig.i
++ swig -o audit_wrap.c ${SWIG_FLAGS} ${SWIG_INCLUDES} -I$(STDINC) ${srcdir}/../src/auditswig.i
+
+ CLEANFILES = audit.py* audit_wrap.c *~
+
+diff --git a/bindings/swig/src/auditswig.i b/bindings/swig/src/auditswig.i
+index 6b267844..5a4e442f 100644
+--- a/bindings/swig/src/auditswig.i
++++ b/bindings/swig/src/auditswig.i
+@@ -50,7 +50,7 @@ typedef unsigned uid_t;
+ */
+ %ignore audit_rule_data::buf;
+
+-%include "/usr/include/linux/audit.h"
++%include "../lib/audit.h"
+ #define __extension__ /*nothing*/
+ %include <stdint.i>
+ %include "../lib/audit-records.h"
+--
+2.25.1
+
diff --git a/meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch b/meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch
new file mode 100644
index 0000000000..b1f324f22d
--- /dev/null
+++ b/meta-oe/recipes-security/audit/audit/0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch
@@ -0,0 +1,49 @@
+From 88c9b2c5cebebf13f90890baebbadc60d9fe8d16 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 9 Aug 2022 23:57:03 -0700
+Subject: [PATCH] Replace __attribute_malloc__ with __attribute__((__malloc__))
+
+__attribute_malloc__ is not available on musl
+
+Fixes
+| ../../git/auparse/auparse.h:54:2: error: expected function body after function declarator
+| __attribute_malloc__ __attr_dealloc (auparse_destroy, 1);
+| ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ audisp/plugins/remote/queue.h | 2 +-
+ auparse/auparse.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/audisp/plugins/remote/queue.h b/audisp/plugins/remote/queue.h
+index 36b70d04..031507dc 100644
+--- a/audisp/plugins/remote/queue.h
++++ b/audisp/plugins/remote/queue.h
+@@ -53,7 +53,7 @@ void q_close(struct queue *q);
+ * On error, return NULL and set errno. */
+ struct queue *q_open(int q_flags, const char *path, size_t num_entries,
+ size_t entry_size)
+- __attribute_malloc__ __attr_dealloc (q_close, 1) __wur;
++ __attribute__((__malloc__)) __attr_dealloc (q_close, 1) __wur;
+
+ /* Add DATA to tail of Q. Return 0 on success, -1 on error and set errno. */
+ int q_append(struct queue *q, const char *data);
+diff --git a/auparse/auparse.h b/auparse/auparse.h
+index c27f1ff9..87c52965 100644
+--- a/auparse/auparse.h
++++ b/auparse/auparse.h
+@@ -55,7 +55,7 @@ typedef void (*auparse_callback_ptr)(auparse_state_t *au,
+ void auparse_destroy(auparse_state_t *au);
+ void auparse_destroy_ext(auparse_state_t *au, auparse_destroy_what_t what);
+ auparse_state_t *auparse_init(ausource_t source, const void *b)
+- __attribute_malloc__ __attr_dealloc (auparse_destroy, 1);
++ __attribute__((__malloc__)) __attr_dealloc (auparse_destroy, 1);
+ int auparse_new_buffer(auparse_state_t *au, const char *data, size_t data_len)
+ __attr_access ((__read_only__, 2, 3));
+ int auparse_feed(auparse_state_t *au, const char *data, size_t data_len)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-security/audit/audit/audit-volatile.conf b/meta-oe/recipes-security/audit/audit/audit-volatile.conf
new file mode 100644
index 0000000000..9cbe1547a3
--- /dev/null
+++ b/meta-oe/recipes-security/audit/audit/audit-volatile.conf
@@ -0,0 +1 @@
+d /var/log/audit 0750 root root -
diff --git a/meta-oe/recipes-security/audit/audit/auditd b/meta-oe/recipes-security/audit/audit/auditd
new file mode 100644
index 0000000000..6aa7f94751
--- /dev/null
+++ b/meta-oe/recipes-security/audit/audit/auditd
@@ -0,0 +1,153 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides: auditd
+# Required-Start: $local_fs
+# Required-Stop: $local_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Audit Daemon
+# Description: Collects audit information from Linux 2.6 Kernels.
+### END INIT INFO
+
+# Author: Philipp Matthias Hahn <pmhahn@debian.org>
+# Based on Debians /etc/init.d/skeleton and Auditds init.d/auditd.init
+
+# June, 2012: Adopted for yocto <amy.fong@windriver.com>
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DESC="audit daemon"
+NAME=auditd
+DAEMON=/sbin/auditd
+PIDFILE=/var/run/"$NAME".pid
+SCRIPTNAME=/etc/init.d/"$NAME"
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/"$NAME" ] && . /etc/default/"$NAME"
+
+. /etc/default/rcS
+
+. /etc/init.d/functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # 2 if daemon could not be started
+ start-stop-daemon -S --quiet --pidfile "$PIDFILE" --exec "$DAEMON" --test > /dev/null \
+ || return 1
+ start-stop-daemon -S --quiet --pidfile "$PIDFILE" --exec "$DAEMON" -- \
+ $EXTRAOPTIONS \
+ || return 2
+ if [ -f /etc/audit/audit.rules ]
+ then
+ /sbin/auditctl -R /etc/audit/audit.rules >/dev/null
+ fi
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+ # Return
+ # 0 if daemon has been stopped
+ # 1 if daemon was already stopped
+ # 2 if daemon could not be stopped
+ # other if a failure occurred
+ start-stop-daemon -K --quiet --pidfile "$PIDFILE" --name "$NAME"
+ RETVAL="$?"
+ [ "$RETVAL" = 2 ] && return 2
+ # Many daemons don't delete their pidfiles when they exit.
+ rm -f "$PIDFILE"
+ rm -f /var/run/audit_events
+ # Remove watches so shutdown works cleanly
+ case "$AUDITD_CLEAN_STOP" in
+ no|NO) ;;
+ *) /sbin/auditctl -D >/dev/null ;;
+ esac
+ return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+ start-stop-daemon -K --signal HUP --quiet --pidfile $PIDFILE --name $NAME
+ return 0
+}
+
+if [ ! -e /var/log/audit ]; then
+ mkdir -p /var/log/audit
+ [ -x /sbin/restorecon ] && /sbin/restorecon -F $(readlink -f /var/log/audit)
+fi
+
+case "$1" in
+ start)
+ [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && echo 0 ;;
+ 2) [ "$VERBOSE" != no ] && echo 1 ;;
+ esac
+ ;;
+ stop)
+ [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && echo 0 ;;
+ 2) [ "$VERBOSE" != no ] && echo 1 ;;
+ esac
+ ;;
+ reload|force-reload)
+ echo "Reloading $DESC" "$NAME"
+ do_reload
+ echo $?
+ ;;
+ restart)
+ echo "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) echo 0 ;;
+ 1) echo 1 ;; # Old process is still running
+ *) echo 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ echo 1
+ ;;
+ esac
+ ;;
+ rotate)
+ echo "Rotating $DESC logs" "$NAME"
+ start-stop-daemon -K --signal USR1 --quiet --pidfile "$PIDFILE" --name "$NAME"
+ echo $?
+ ;;
+ status)
+ pidofproc "$DAEMON" >/dev/null
+ status=$?
+ if [ $status -eq 0 ]; then
+ echo "$NAME is running."
+ else
+ echo "$NAME is not running."
+ fi
+ exit $status
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|rotate|status}" >&2
+ exit 3
+ ;;
+esac
+
+:
diff --git a/meta-oe/recipes-security/audit/audit_4.0.1.bb b/meta-oe/recipes-security/audit/audit_4.0.1.bb
new file mode 100644
index 0000000000..a37ae3bb84
--- /dev/null
+++ b/meta-oe/recipes-security/audit/audit_4.0.1.bb
@@ -0,0 +1,103 @@
+SUMMARY = "User space tools for kernel auditing"
+DESCRIPTION = "The audit package contains the user space utilities for \
+storing and searching the audit records generated by the audit subsystem \
+in the Linux kernel."
+HOMEPAGE = "http://people.redhat.com/sgrubb/audit/"
+SECTION = "base"
+LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "git://github.com/linux-audit/${BPN}-userspace.git;branch=master;protocol=https \
+ file://0001-Fixed-swig-host-contamination-issue.patch \
+ file://auditd \
+ file://audit-volatile.conf \
+ "
+
+SRC_URI:append:libc-musl = " file://0001-Replace-__attribute_malloc__-with-__attribute__-__ma.patch"
+
+S = "${WORKDIR}/git"
+SRCREV = "22ccbd984e493524050ac445f796e9a7e90e1149"
+
+inherit autotools python3targetconfig update-rc.d systemd
+
+UPDATERCPN = "auditd"
+INITSCRIPT_NAME = "auditd"
+INITSCRIPT_PARAMS = "defaults"
+
+SYSTEMD_PACKAGES = "auditd"
+SYSTEMD_SERVICE:auditd = "auditd.service audit-rules.service"
+
+DEPENDS = "python3 tcp-wrappers libcap-ng linux-libc-headers swig-native python3-setuptools-native coreutils-native"
+
+EXTRA_OECONF = " \
+ --with-libwrap \
+ --with-libcap-ng \
+ --with-python3 \
+ --with-arm \
+ --with-aarch64 \
+ --without-golang \
+ --disable-gssapi-krb5 \
+ --disable-zos-remote \
+ --sbindir=${base_sbindir} \
+ --runstatedir=/run \
+ "
+
+EXTRA_OEMAKE = " \
+ PYTHON=python3 \
+ pythondir=${PYTHON_SITEPACKAGES_DIR} \
+ pyexecdir=${PYTHON_SITEPACKAGES_DIR} \
+ STDINC='${STAGING_INCDIR}' \
+ "
+
+SUMMARY:audispd-plugins = "Plugins for the audit event dispatcher"
+DESCRIPTION:audispd-plugins = "The audispd-plugins package provides plugins for the real-time \
+interface to the audit system, audispd. These plugins can do things \
+like relay events to remote machines or analyze events for suspicious \
+behavior."
+
+PACKAGES =+ "audispd-plugins"
+PACKAGES += "auditd ${PN}-python"
+
+FILES:${PN} = "${sysconfdir}/libaudit.conf ${libdir}/libau*.so.*"
+FILES:auditd = "${bindir}/* ${base_sbindir}/* ${sysconfdir}/* ${datadir}/audit-rules/* ${libexecdir}/*"
+FILES:audispd-plugins = "${sysconfdir}/audit/audisp-remote.conf \
+ ${sysconfdir}/audit/plugins.d/au-remote.conf \
+ ${sysconfdir}/audit/plugins.d/syslog.conf \
+ ${base_sbindir}/audisp-remote \
+ ${base_sbindir}/audisp-syslog \
+ ${localstatedir}/spool/audit \
+ "
+FILES:${PN}-dbg += "${libdir}/python${PYTHON_BASEVERSION}/*/.debug"
+FILES:${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}"
+
+CONFFILES:auditd = "${sysconfdir}/audit/audit.rules"
+
+do_configure:prepend() {
+ sed -e 's|buf\[];|buf[0];|g' ${STAGING_INCDIR}/linux/audit.h > ${S}/lib/audit.h
+ sed -i -e 's|#include <linux/audit.h>|#include "audit.h"|g' ${S}/lib/libaudit.h
+}
+
+do_install:append() {
+ sed -i -e 's|#include "audit.h"|#include <linux/audit.h>|g' ${D}${includedir}/libaudit.h
+
+ # Install default rules
+ install -d -m 750 ${D}/etc/audit
+ install -d -m 750 ${D}/etc/audit/rules.d
+
+ install -m 0640 ${S}/rules/10-base-config.rules ${D}/etc/audit/rules.d/audit.rules
+
+ # Based on the audit.spec "Copy default rules into place on new installation"
+ install -m 0640 ${D}/etc/audit/rules.d/audit.rules ${D}/etc/audit/audit.rules
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0644 ${WORKDIR}/audit-volatile.conf ${D}${sysconfdir}/tmpfiles.d/audit.conf
+ fi
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+ install -D -m 0755 ${WORKDIR}/auditd ${D}/etc/init.d/auditd
+ rm -rf ${D}${libdir}/systemd
+ fi
+
+ # Create /var/spool/audit directory for audisp-remote
+ install -d -m 0700 ${D}${localstatedir}/spool/audit
+}
diff --git a/meta-oe/recipes-security/bubblewrap/bubblewrap_0.8.0.bb b/meta-oe/recipes-security/bubblewrap/bubblewrap_0.8.0.bb
new file mode 100644
index 0000000000..06c42addbf
--- /dev/null
+++ b/meta-oe/recipes-security/bubblewrap/bubblewrap_0.8.0.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "Unprivileged sandboxing tool"
+HOMEPAGE = "https://github.com/containers/bubblewrap"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+DEPENDS = "libcap"
+
+SRC_URI = "https://github.com/containers/${BPN}/releases/download/v${PV}/${BP}.tar.xz"
+SRC_URI[sha256sum] = "957ad1149db9033db88e988b12bcebe349a445e1efc8a9b59ad2939a113d333a"
+
+inherit autotools bash-completion github-releases manpages pkgconfig
+
+GITHUB_BASE_URI = "https://github.com/containers/${BPN}/releases/"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[manpages] = "--enable-man,--disable-man,libxslt-native docbook-xsl-stylesheets-native xmlto-native"
+PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
+PACKAGECONFIG[setuid] = "--with-priv-mode=setuid,--with-priv-mode=none"
+
+PACKAGES += "${PN}-zsh-completion"
+
+FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-security/keyutils/files/0001-Adhere-to-the-SOURCE_DATE_EPOCH-standard.patch b/meta-oe/recipes-security/keyutils/files/0001-Adhere-to-the-SOURCE_DATE_EPOCH-standard.patch
new file mode 100644
index 0000000000..ecc5b00967
--- /dev/null
+++ b/meta-oe/recipes-security/keyutils/files/0001-Adhere-to-the-SOURCE_DATE_EPOCH-standard.patch
@@ -0,0 +1,32 @@
+From 3f7f70c746277e1a89978166533374a8b9bd5407 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Wed, 25 Jan 2023 17:05:25 +0000
+Subject: [PATCH] Adhere to the SOURCE_DATE_EPOCH standard
+
+Adhere to the SOURCE_DATE_EPOCH standard and use it's date when set
+otherwise fall back to the default behaviour.
+
+Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+Upstream-Status: Pending
+
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 599b1452a05a..7776b0f0d63d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -109,7 +109,7 @@ all: keyctl request-key key.dns_resolver cxx
+ ###############################################################################
+ #RPATH = -Wl,-rpath,$(LIBDIR)
+
+-VCPPFLAGS := -DPKGBUILD="\"$(shell date -u +%F)\""
++VCPPFLAGS := -DPKGBUILD="\"$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%F)\""
+ VCPPFLAGS += -DPKGVERSION="\"keyutils-$(VERSION)\""
+ VCPPFLAGS += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\""
+
+--
+2.39.0
+
diff --git a/meta-oe/recipes-security/keyutils/files/0001-tests-builtin_trusted-Failure-command-is-failed.patch b/meta-oe/recipes-security/keyutils/files/0001-tests-builtin_trusted-Failure-command-is-failed.patch
new file mode 100644
index 0000000000..b78d7f7f28
--- /dev/null
+++ b/meta-oe/recipes-security/keyutils/files/0001-tests-builtin_trusted-Failure-command-is-failed.patch
@@ -0,0 +1,27 @@
+From 714542f009860e1652bc06d05ab939290374a114 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Thu, 26 Jan 2023 08:27:12 +0000
+Subject: [PATCH 1/2] tests: builtin_trusted: Failure command is `failed`
+
+Upstream-Status: Pending
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ tests/features/builtin_trusted/runtest.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/features/builtin_trusted/runtest.sh b/tests/features/builtin_trusted/runtest.sh
+index 27910b5fa8e7..437f5ad1d6b2 100644
+--- a/tests/features/builtin_trusted/runtest.sh
++++ b/tests/features/builtin_trusted/runtest.sh
+@@ -24,7 +24,7 @@ id_key --to=blk %:.blacklist
+ # There should be at least one built-in trusted key for module signing.
+ list_keyring $btk
+ expect_keyring_rlist bkeys
+-if [ `echo $bkeys | wc -w` = 0 ]; then fail; fi
++if [ `echo $bkeys | wc -w` = 0 ]; then failed; fi
+
+ # Check we can't add random keys to those keyrings
+ marker "TRY ADDING USER KEYS"
+--
+2.39.0
+
diff --git a/meta-oe/recipes-security/keyutils/files/0001-tests-toolbox.inc.sh-update-regex-for-getting-endian.patch b/meta-oe/recipes-security/keyutils/files/0001-tests-toolbox.inc.sh-update-regex-for-getting-endian.patch
new file mode 100644
index 0000000000..314487aef6
--- /dev/null
+++ b/meta-oe/recipes-security/keyutils/files/0001-tests-toolbox.inc.sh-update-regex-for-getting-endian.patch
@@ -0,0 +1,35 @@
+From b84ecc2e3e56a25a3efd56c8942ad6bab3ff9ba1 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 2 Dec 2022 15:35:40 +0800
+Subject: [PATCH] tests/toolbox.inc.sh: update regex for getting endian
+
+Update regex for getting endian in following condition:
+/proc/777/exe: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2
+
+Upstream-Status: Submitted [Submitted to keyrings@vger.kernel.org ]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ tests/toolbox.inc.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/toolbox.inc.sh b/tests/toolbox.inc.sh
+index 8bf0db6f6d87..7ea2f253ba7d 100644
+--- a/tests/toolbox.inc.sh
++++ b/tests/toolbox.inc.sh
+@@ -13,10 +13,10 @@
+ echo === $OUTPUTFILE ===
+
+ endian=`file -L /proc/$$/exe`
+-if expr "$endian" : '.* MSB \+\(pie executable\|executable\|shared object\).*' >&/dev/null
++if expr "$endian" : '.* MSB .*\(pie executable\|executable\|shared object\).*' >&/dev/null
+ then
+ endian=BE
+-elif expr "$endian" : '.* LSB \+\(pie executable\|executable\|shared object\).*' >&/dev/null
++elif expr "$endian" : '.* LSB .*\(pie executable\|executable\|shared object\).*' >&/dev/null
+ then
+ endian=LE
+ else
+--
+2.39.0
+
diff --git a/meta-oe/recipes-security/keyutils/files/0002-tests-Use-head-n1-for-busybox-compatibility.patch b/meta-oe/recipes-security/keyutils/files/0002-tests-Use-head-n1-for-busybox-compatibility.patch
new file mode 100644
index 0000000000..900f2f0ec9
--- /dev/null
+++ b/meta-oe/recipes-security/keyutils/files/0002-tests-Use-head-n1-for-busybox-compatibility.patch
@@ -0,0 +1,64 @@
+From 5e660f246bb04560692ac9fc144574732c7e19e7 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Thu, 26 Jan 2023 08:28:16 +0000
+Subject: [PATCH 2/2] tests: Use `head -n1` for busybox compatibility
+
+Upstream-Status: Pending
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ tests/keyctl/session/valid/runtest.sh | 4 ++--
+ tests/keyctl/show/noargs/runtest.sh | 2 +-
+ tests/toolbox.inc.sh | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/keyctl/session/valid/runtest.sh b/tests/keyctl/session/valid/runtest.sh
+index 4c831314c0b0..456e9f32de23 100644
+--- a/tests/keyctl/session/valid/runtest.sh
++++ b/tests/keyctl/session/valid/runtest.sh
+@@ -17,7 +17,7 @@ then
+ expect_key_rdesc rdesc "keyring@.*@.*@.*@_ses[^@]*\$"
+
+ # check the session keyring ID is shown
+- seskeyring="`tail -2 $OUTPUTFILE | head -1`"
++ seskeyring="`tail -2 $OUTPUTFILE | head -n1`"
+ if ! expr "$seskeyring" : "Joined session keyring: [0-9]*" >&/dev/null
+ then
+ failed
+@@ -30,7 +30,7 @@ new_session qwerty keyctl rdescribe @s "@"
+ expect_key_rdesc rdesc "keyring@.*@.*@.*@qwerty"
+
+ # check the session keyring ID is shown
+-seskeyring="`tail -2 $OUTPUTFILE | head -1`"
++seskeyring="`tail -2 $OUTPUTFILE | head -n1`"
+ if ! expr "$seskeyring" : "Joined session keyring: [0-9]*" >&/dev/null
+ then
+ failed
+diff --git a/tests/keyctl/show/noargs/runtest.sh b/tests/keyctl/show/noargs/runtest.sh
+index d5072716c76a..a6d8b6b585c4 100644
+--- a/tests/keyctl/show/noargs/runtest.sh
++++ b/tests/keyctl/show/noargs/runtest.sh
+@@ -31,7 +31,7 @@ then
+ fi
+
+ # the first key listed (line 2) should be a keying (the session keyring) ...
+-keyring1="`grep -n keyring $OUTPUTFILE | cut -d: -f1 | head -1`"
++keyring1="`grep -n keyring $OUTPUTFILE | cut -d: -f1 | head -n1`"
+ if [ "$keyring1" != "4" ]
+ then
+ failed
+diff --git a/tests/toolbox.inc.sh b/tests/toolbox.inc.sh
+index 7ea2f253ba7d..a461a73daaa3 100644
+--- a/tests/toolbox.inc.sh
++++ b/tests/toolbox.inc.sh
+@@ -229,7 +229,7 @@ function check_notify ()
+ if [ "$1" = "-2" ]
+ then
+ shift
+- my_logline="`tail -2 $watch_log | head -1`"
++ my_logline="`tail -2 $watch_log | head -n1`"
+ else
+ my_logline="`tail -1 $watch_log`"
+ fi
+--
+2.39.0
+
diff --git a/meta-oe/recipes-security/keyutils/keyutils_1.6.1.bb b/meta-oe/recipes-security/keyutils/keyutils_1.6.1.bb
deleted file mode 100644
index 0a8c2e4834..0000000000
--- a/meta-oe/recipes-security/keyutils/keyutils_1.6.1.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "Linux Key Management Utilities"
-DESCRIPTION = "\
- Utilities to control the kernel key management facility and to provide \
- a mechanism by which the kernel call back to userspace to get a key \
- instantiated. \
- "
-HOMEPAGE = "http://people.redhat.com/dhowells/keyutils"
-SECTION = "base"
-
-LICENSE = "LGPLv2.1+ & GPLv2.0+"
-
-LIC_FILES_CHKSUM = "file://LICENCE.GPL;md5=5f6e72824f5da505c1f4a7197f004b45 \
- file://LICENCE.LGPL;md5=7d1cacaa3ea752b72ea5e525df54a21f"
-
-inherit siteinfo autotools-brokensep ptest
-
-SRC_URI = "http://people.redhat.com/dhowells/keyutils/${BP}.tar.bz2 \
- file://keyutils-test-fix-output-format.patch \
- file://keyutils-fix-error-report-by-adding-default-message.patch \
- file://run-ptest \
- file://fix_library_install_path.patch \
- "
-
-SRC_URI[md5sum] = "919af7f33576816b423d537f8a8692e8"
-SRC_URI[sha256sum] = "c8b15722ae51d95b9ad76cc6d49a4c2cc19b0c60f72f61fb9bf43eea7cbd64ce"
-
-EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \
- NO_ARLIB=1 \
- BINDIR=${base_bindir} \
- SBINDIR=${base_sbindir} \
- LIBDIR=${libdir} \
- USRLIBDIR=${libdir} \
- INCLUDEDIR=${includedir} \
- BUILDFOR=${SITEINFO_BITS}-bit \
- NO_GLIBC_KEYERR=1 \
- "
-
-do_install () {
- install -d ${D}/${libdir}/pkgconfig
- oe_runmake DESTDIR=${D} install
-}
-
-do_install_append_class-nativesdk() {
- install -d ${D}${datadir}
- src_dir="${D}${target_datadir}"
- mv $src_dir/* ${D}${datadir}
- par_dir=`dirname $src_dir`
- rmdir $src_dir $par_dir
-
- install -d ${D}${sysconfdir}
- mv ${D}/etc/* ${D}${sysconfdir}/
- rmdir ${D}/etc
-}
-
-do_install_ptest () {
- cp -r ${S}/tests ${D}${PTEST_PATH}/
- sed -i -e 's/OSDIST=Unknown/OSDIST=${DISTRO}/' ${D}${PTEST_PATH}/tests/prepare.inc.sh
-}
-
-
-RDEPENDS_${PN}-ptest += "lsb-release"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
-RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb b/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb
new file mode 100644
index 0000000000..7b3d728216
--- /dev/null
+++ b/meta-oe/recipes-security/keyutils/keyutils_1.6.3.bb
@@ -0,0 +1,62 @@
+SUMMARY = "Linux Key Management Utilities"
+DESCRIPTION = "\
+ Utilities to control the kernel key management facility and to provide \
+ a mechanism by which the kernel call back to userspace to get a key \
+ instantiated. \
+ "
+HOMEPAGE = "http://people.redhat.com/dhowells/keyutils"
+SECTION = "base"
+
+LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
+
+LIC_FILES_CHKSUM = "file://LICENCE.GPL;md5=5f6e72824f5da505c1f4a7197f004b45 \
+ file://LICENCE.LGPL;md5=7d1cacaa3ea752b72ea5e525df54a21f"
+
+inherit manpages ptest
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git;protocol=https;branch=master \
+ file://keyutils-test-fix-output-format.patch \
+ file://keyutils-fix-error-report-by-adding-default-message.patch \
+ file://run-ptest \
+ file://fix_library_install_path.patch \
+ file://0001-tests-toolbox.inc.sh-update-regex-for-getting-endian.patch \
+ file://0001-Adhere-to-the-SOURCE_DATE_EPOCH-standard.patch \
+ file://0001-tests-builtin_trusted-Failure-command-is-failed.patch \
+ file://0002-tests-Use-head-n1-for-busybox-compatibility.patch \
+ "
+SRCREV = "cb3bb194cca88211cbfcdde2f10c0f43c3fb8ec3"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[manpages] = ""
+
+EXTRA_OEMAKE = "'CFLAGS=${CFLAGS} -Wall' \
+ NO_ARLIB=1 \
+ BINDIR=${base_bindir} \
+ SBINDIR=${base_sbindir} \
+ LIBDIR=${libdir} \
+ USRLIBDIR=${libdir} \
+ INCLUDEDIR=${includedir} \
+ ETCDIR=${sysconfdir} \
+ SHAREDIR=${datadir}/keyutils \
+ MANDIR=${datadir}/man \
+ BUILDFOR=${SITEINFO_BITS}-bit \
+ NO_GLIBC_KEYERR=1 \
+ "
+
+do_install () {
+ oe_runmake DESTDIR=${D} install
+}
+
+do_install_ptest () {
+ cp -r ${S}/tests ${D}${PTEST_PATH}/
+ sed -i -e 's/OSDIST=Unknown/OSDIST=${DISTRO}/' ${D}${PTEST_PATH}/tests/prepare.inc.sh
+}
+
+
+RDEPENDS:${PN}-ptest += "bash file lsb-release make"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
+RDEPENDS:${PN}-ptest:append:libc-musl = " musl-utils"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch b/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch
index f93af2d793..5ee28031b8 100644
--- a/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch
+++ b/meta-oe/recipes-security/nmap/files/0001-Include-time.h-header-to-pass-clang-compilation.patch
@@ -4,6 +4,8 @@ Date: Fri, 20 Sep 2019 15:02:45 -0400
Subject: [PATCH] Include time.h header to pass clang compilation
---
+Upstream-Status: Pending
+
nmap_error.cc | 11 +----------
nping/EchoServer.cc | 1 +
osscan2.cc | 1 +
diff --git a/meta-oe/recipes-security/nmap/nmap_7.80.bb b/meta-oe/recipes-security/nmap/nmap_7.80.bb
index c76d2324e7..f9fe82a91d 100644
--- a/meta-oe/recipes-security/nmap/nmap_7.80.bb
+++ b/meta-oe/recipes-security/nmap/nmap_7.80.bb
@@ -1,7 +1,7 @@
SUMMARY = "network auditing tool"
DESCRIPTION = "Nmap ("Network Mapper") is a free and open source (license) utility for network discovery and security auditing.\nGui support via appending to IMAGE_FEATURES x11-base in local.conf"
SECTION = "security"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;beginline=7;endline=12;md5=66938a7e5b4c118eda78271de14874c2"
@@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "fcfa5a0e42099e12e4bf7a68ebe6fde05553383a682e816a7ec9256ab4
inherit autotools-brokensep pkgconfig python3native
-PACKAGECONFIG ?= "ncat nping ndiff pcap"
+PACKAGECONFIG ?= "ncat nping pcap"
PACKAGECONFIG[pcap] = "--with-pcap=linux, --without-pcap, libpcap, libpcap"
PACKAGECONFIG[pcre] = "--with-libpcre=${STAGING_LIBDIR}/.., --with-libpcre=included, libpcre"
@@ -49,12 +49,18 @@ do_configure() {
oe_runconf
}
-do_install_append() {
- if [ -f "${D}${bindir}/ndiff" ]; then
- sed -i 's@^#!.*$@#!/usr/bin/env python3@g' ${D}${bindir}/ndiff
- fi
+do_install:append() {
+ for f in ndiff uninstall_ndiff; do
+ if [ -f ${D}${bindir}/$f ]; then
+ sed -i 's@^#!.*$@#!/usr/bin/env python3@g' ${D}${bindir}/$f
+ fi
+ done
}
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat"
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR} ${datadir}/ncat"
-RDEPENDS_${PN} += "python3-core"
+RDEPENDS:${PN} += " \
+ python3-difflib \
+ python3-asyncio \
+ python3-xml \
+"
diff --git a/meta-oe/recipes-security/passwdqc/passwdqc/makefile-add-ldflags.patch b/meta-oe/recipes-security/passwdqc/passwdqc/makefile-add-ldflags.patch
index e9023492e0..4e9659aa58 100644
--- a/meta-oe/recipes-security/passwdqc/passwdqc/makefile-add-ldflags.patch
+++ b/meta-oe/recipes-security/passwdqc/passwdqc/makefile-add-ldflags.patch
@@ -3,29 +3,38 @@ Add LDFLAGS variable to Makefile so that extra linker flags can be sent via this
Upstream-Status: Pending
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ Makefile | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
-index 49d622d..cd17334 100644
+index 404f036..a9b18f0 100644
--- a/Makefile
+++ b/Makefile
-@@ -48,18 +48,17 @@ CFLAGS = -Wall -W -O2
- CFLAGS_lib = $(CFLAGS) -fPIC
- CFLAGS_bin = $(CFLAGS) -fomit-frame-pointer
+@@ -75,13 +75,12 @@ XGETTEXT = xgettext
+ XGETTEXT_OPTS = --keyword=_ --keyword=P2_:1,1 --keyword=P3_:1,2 --language=C --add-comments
+ MSGMERGE = msgmerge
-LDFLAGS =
- LDFLAGS_shared = --shared
- LDFLAGS_shared_LINUX = --shared
- LDFLAGS_shared_SUN = -G
- LDFLAGS_shared_HP = -b
+ LDFLAGS_shared = $(LDFLAGS) --shared
+ LDFLAGS_shared_LINUX = $(LDFLAGS) --shared
+ LDFLAGS_shared_SUN = $(LDFLAGS) -G
+ LDFLAGS_shared_HP = $(LDFLAGS) -b
LDFLAGS_lib = $(LDFLAGS_shared)
-LDFLAGS_lib_LINUX = $(LDFLAGS_shared_LINUX) \
+LDFLAGS_lib_LINUX = $(LDFLAGS) $(LDFLAGS_shared_LINUX) \
-Wl,--soname,$(SHARED_LIB),--version-script,$(MAP_LIB)
LDFLAGS_lib_SUN = $(LDFLAGS_shared_SUN)
LDFLAGS_lib_HP = $(LDFLAGS_shared_HP)
+@@ -90,7 +89,7 @@ LDFLAGS_lib_CYGWIN = $(LDFLAGS_shared) \
+ -Wl,--export-all-symbols \
+ -Wl,--enable-auto-import
LDFLAGS_pam = $(LDFLAGS_shared)
-LDFLAGS_pam_LINUX = $(LDFLAGS_shared_LINUX) \
+LDFLAGS_pam_LINUX = $(LDFLAGS) $(LDFLAGS_shared_LINUX) \
-Wl,--version-script,$(MAP_PAM)
LDFLAGS_pam_SUN = $(LDFLAGS_shared_SUN)
LDFLAGS_pam_HP = $(LDFLAGS_shared_HP)
+--
+2.34.1
+
diff --git a/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb b/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
deleted file mode 100644
index dd302506d7..0000000000
--- a/meta-oe/recipes-security/passwdqc/passwdqc_1.3.1.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "A password/passphrase strength checking and enforcement toolset"
-DESCRIPTION = "\
-passwdqc is a password/passphrase strength checking and policy enforcement \
-toolset, including an optional PAM module (pam_passwdqc), command-line \
-programs (pwqcheck and pwqgen), and a library (libpasswdqc). \
-pam_passwdqc is normally invoked on password changes by programs such as \
-passwd(1). It is capable of checking password or passphrase strength, \
-enforcing a policy, and offering randomly-generated passphrases, with \
-all of these features being optional and easily (re-)configurable. \
-\
-pwqcheck and pwqgen are standalone password/passphrase strength checking \
-and random passphrase generator programs, respectively, which are usable \
-from scripts. \
-\
-libpasswdqc is the underlying library, which may also be used from \
-third-party programs. \
-"
-
-HOMEPAGE = "http://www.openwall.com/passwdqc"
-SECTION = "System Environment/Base"
-
-DEPENDS += "libpam"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "pam"
-
-LICENSE = "BSD-1-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1b4af6f3d4ee079a38107366e93b334d"
-
-SRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \
- file://makefile-add-ldflags.patch \
- "
-SRC_URI[md5sum] = "3878b57bcd3fdbcf3d4b362dbc6228b9"
-SRC_URI[sha256sum] = "d1fedeaf759e8a0f32d28b5811ef11b5a5365154849190f4b7fab670a70ffb14"
-
-# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam
-# this package's pam_passwdqc.so needs pam
-CFLAGS_append = " -Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM"
-
-# -e is no longer default setting in bitbake.conf
-EXTRA_OEMAKE = "-e"
-
-do_compile() {
- # make sure sub make use environment to override variables in Makefile
- # Linux) $(MAKE), there is a tab between
- sed -i -e 's/Linux) $(MAKE) CFLAGS_lib/Linux) $(MAKE) -e CFLAGS_lib/' ${S}/Makefile
-
- # LD_lib and LD must be CC because of Makefile
- oe_runmake LD="${CC}"
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} SHARED_LIBDIR=${base_libdir} \
- DEVEL_LIBDIR=${libdir} SECUREDIR=${base_libdir}/security \
- INSTALL="install -p"
-}
-
-PROVIDES += "pam-${BPN}"
-PACKAGES =+ "lib${BPN} pam-${BPN}"
-
-FILES_lib${BPN} = "${base_libdir}/libpasswdqc.so.0"
-FILES_pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so"
-FILES_${PN}-dbg += "${base_libdir}/security/.debug"
-
-RDEPENDS_${PN} = "lib${BPN} pam-${BPN}"
-RDEPENDS_pam-${BPN} = "lib${BPN}"
diff --git a/meta-oe/recipes-security/passwdqc/passwdqc_2.0.3.bb b/meta-oe/recipes-security/passwdqc/passwdqc_2.0.3.bb
new file mode 100644
index 0000000000..8694052e61
--- /dev/null
+++ b/meta-oe/recipes-security/passwdqc/passwdqc_2.0.3.bb
@@ -0,0 +1,65 @@
+SUMMARY = "A password/passphrase strength checking and enforcement toolset"
+DESCRIPTION = "\
+passwdqc is a password/passphrase strength checking and policy enforcement \
+toolset, including an optional PAM module (pam_passwdqc), command-line \
+programs (pwqcheck and pwqgen), and a library (libpasswdqc). \
+pam_passwdqc is normally invoked on password changes by programs such as \
+passwd(1). It is capable of checking password or passphrase strength, \
+enforcing a policy, and offering randomly-generated passphrases, with \
+all of these features being optional and easily (re-)configurable. \
+\
+pwqcheck and pwqgen are standalone password/passphrase strength checking \
+and random passphrase generator programs, respectively, which are usable \
+from scripts. \
+\
+libpasswdqc is the underlying library, which may also be used from \
+third-party programs. \
+"
+
+HOMEPAGE = "http://www.openwall.com/passwdqc"
+SECTION = "System Environment/Base"
+
+DEPENDS += "libpam"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "pam"
+
+LICENSE = "BSD-1-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ac99c8678577a1c2f9f04cccee411d5d"
+
+SRC_URI = "http://www.openwall.com/${BPN}/${BP}.tar.gz \
+ file://makefile-add-ldflags.patch \
+ "
+SRC_URI[sha256sum] = "53b0f4bc49369f06195e9e13abb6cff352d5acb79e861004ec95973896488cf4"
+
+# explicitly define LINUX_PAM in case DISTRO_FEATURES no pam
+# this package's pam_passwdqc.so needs pam
+CFLAGS:append = " -Wall -fPIC -DHAVE_SHADOW -DLINUX_PAM"
+
+# -e is no longer default setting in bitbake.conf
+EXTRA_OEMAKE = "-e"
+
+do_compile() {
+ # make sure sub make use environment to override variables in Makefile
+ # Linux) $(MAKE), there is a tab between
+ sed -i -e 's/Linux) $(MAKE) CFLAGS_lib/Linux) $(MAKE) -e CFLAGS_lib/' ${S}/Makefile
+
+ # LD_lib and LD must be CC because of Makefile
+ oe_runmake LD="${CC}"
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} SHARED_LIBDIR=${base_libdir} \
+ DEVEL_LIBDIR=${libdir} SECUREDIR=${base_libdir}/security \
+ INSTALL="install -p"
+}
+
+PROVIDES += "pam-${BPN}"
+PACKAGES =+ "lib${BPN} pam-${BPN}"
+
+FILES:lib${BPN} = "${base_libdir}/libpasswdqc.so.1"
+FILES:pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so"
+FILES:${PN}-dbg += "${base_libdir}/security/.debug"
+
+RDEPENDS:${PN} = "lib${BPN} pam-${BPN}"
+RDEPENDS:pam-${BPN} = "lib${BPN}"
diff --git a/meta-oe/recipes-security/softhsm/files/0001-avoid-unnecessary-check-for-sqlite3-binary.patch b/meta-oe/recipes-security/softhsm/files/0001-avoid-unnecessary-check-for-sqlite3-binary.patch
new file mode 100644
index 0000000000..7dddcdb78b
--- /dev/null
+++ b/meta-oe/recipes-security/softhsm/files/0001-avoid-unnecessary-check-for-sqlite3-binary.patch
@@ -0,0 +1,40 @@
+From 88d968346184058df18dc69171dcd4fd612c2341 Mon Sep 17 00:00:00 2001
+From: Jan Luebbe <sho@stratum0.net>
+Date: Mon, 30 Jan 2023 12:48:23 +0100
+Subject: [PATCH] avoid unnecessary check for sqlite3 binary
+
+Only the library is used, not the sqlite3 binary. Drop this check to simplify
+cross-compilation (as no native sqlite3 binary is needed).
+
+Upstream-Status: Submitted [https://github.com/opendnssec/SoftHSMv2/pull/694]
+---
+ m4/acx_sqlite3.m4 | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/m4/acx_sqlite3.m4 b/m4/acx_sqlite3.m4
+index fd942a75e1a6..17c126d161f5 100644
+--- a/m4/acx_sqlite3.m4
++++ b/m4/acx_sqlite3.m4
+@@ -4,19 +4,13 @@ AC_DEFUN([ACX_SQLITE3],[
+ [
+ SQLITE3_INCLUDES="-I$withval/include"
+ SQLITE3_LIBDIRS="-L$withval/lib"
+- AC_PATH_PROGS(SQLITE3, sqlite3, sqlite3, $withval/bin)
+
+ ],[
+ SQLITE3_INCLUDES=""
+ SQLITE3_LIBDIRS=""
+- AC_PATH_PROGS(SQLITE3, sqlite3, sqlite3, $PATH)
+ ])
+
+
+- if ! test -x "$SQLITE3"; then
+- AC_MSG_ERROR([sqlite3 command not found])
+- fi
+-
+ AC_MSG_CHECKING(what are the SQLite3 includes)
+ AC_MSG_RESULT($SQLITE3_INCLUDES)
+
+--
+2.30.2
+
diff --git a/meta-oe/recipes-security/softhsm/softhsm_2.6.1.bb b/meta-oe/recipes-security/softhsm/softhsm_2.6.1.bb
index aa91ab37f2..930bca96ff 100644
--- a/meta-oe/recipes-security/softhsm/softhsm_2.6.1.bb
+++ b/meta-oe/recipes-security/softhsm/softhsm_2.6.1.bb
@@ -5,12 +5,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ef3f77a3507c3d91e75b9f2bdaee4210"
DEPENDS = "sqlite3"
-SRC_URI = "https://dist.opendnssec.org/source/softhsm-2.6.1.tar.gz"
+SRC_URI = "https://dist.opendnssec.org/source/softhsm-2.6.1.tar.gz \
+ file://0001-avoid-unnecessary-check-for-sqlite3-binary.patch \
+"
SRC_URI[sha256sum] = "61249473054bcd1811519ef9a989a880a7bdcc36d317c9c25457fc614df475f2"
inherit autotools pkgconfig siteinfo
EXTRA_OECONF += " --with-sqlite3=${STAGING_DIR_HOST}/usr"
+EXTRA_OECONF += " --with-objectstore-backend-db"
EXTRA_OECONF += "${@oe.utils.conditional('SITEINFO_BITS', '64', ' --enable-64bit', '', d)}"
PACKAGECONFIG ?= "ecc eddsa pk11 openssl"
@@ -24,7 +27,9 @@ PACKAGECONFIG[notvisable] = "--disable-visibility"
PACKAGECONFIG[openssl] = "--with-openssl=${STAGING_DIR_HOST}/usr --with-crypto-backend=openssl, --without-openssl, openssl, openssl"
PACKAGECONFIG[botan] = "--with-botan=${STAGING_DIR_HOST}/usr --with-crypto-backend=botan, --without-botan, botan"
PACKAGECONFIG[migrate] = "--with-migrate"
-PACKAGECONFIG[pk11] = "--enable-p11-kit --with-p11-kit==${STAGING_DIR_HOST}/usr, --without-p11-kit, p11-kit, p11-kit"
+PACKAGECONFIG[pk11] = "--enable-p11-kit --with-p11-kit=${datadir}/p11-kit/modules, --without-p11-kit, p11-kit, p11-kit"
-RDEPENDS_${PN} = "sqlite3"
+FILES:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'pk11', '${datadir}/p11-kit/modules/softhsm2.module', '', d)}"
+
+RDEPENDS:${PN} = "sqlite3"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb b/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
deleted file mode 100644
index f362775999..0000000000
--- a/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.5.0.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "TOMOYO Linux tools"
-DESCRIPTION = "TOMOYO Linux is a Mandatory Access Control (MAC) implementation \
-for Linux that can be used to increase the security of a system, while also \
-being useful purely as a system analysis tool."
-HOMEPAGE = "http://tomoyo.sourceforge.jp/"
-SECTION = "System Environment/Kernel"
-
-SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/53357/${BP}-20170102.tar.gz"
-SRC_URI[md5sum] = "888804d58742452fe213a68f7eadd0ad"
-SRC_URI[sha256sum] = "00fedfac5e514321250bbe69eaccc732c8a8158596f77a785c2e3ae9f9968283"
-
-S = "${WORKDIR}/${BPN}"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.tomoyo;md5=751419260aa954499f7abaabaa882bbe"
-
-FILES_${PN} += "${libdir}/tomoyo"
-FILES_${PN}-dbg += "${libdir}/tomoyo/.debug"
-
-DEPENDS = "linux-libc-headers ncurses"
-
-EXTRA_OEMAKE = "-e USRLIBDIR=${libdir}"
-
-do_compile () {
- oe_runmake 'CC=${CC}'
-}
-
-do_install() {
- oe_runmake install INSTALLDIR=${D}
-}
diff --git a/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.6.1.bb b/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.6.1.bb
new file mode 100644
index 0000000000..86acdc7aa1
--- /dev/null
+++ b/meta-oe/recipes-security/tomoyo-tools/tomoyo-tools_2.6.1.bb
@@ -0,0 +1,29 @@
+SUMMARY = "TOMOYO Linux tools"
+DESCRIPTION = "TOMOYO Linux is a Mandatory Access Control (MAC) implementation \
+for Linux that can be used to increase the security of a system, while also \
+being useful purely as a system analysis tool."
+HOMEPAGE = "http://tomoyo.sourceforge.jp/"
+SECTION = "System Environment/Kernel"
+
+SRC_URI = "http://jaist.dl.sourceforge.jp/tomoyo/70710/${BP}-20210910.tar.gz"
+SRC_URI[sha256sum] = "47a12cdb1fe7bbd0b2e3486150fe1e754fa9c869aeefd42fd311c4022b78010a"
+
+S = "${WORKDIR}/${BPN}"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING.tomoyo;md5=751419260aa954499f7abaabaa882bbe"
+
+FILES:${PN} += "${libdir}/tomoyo"
+FILES:${PN}-dbg += "${libdir}/tomoyo/.debug"
+
+DEPENDS = "linux-libc-headers ncurses"
+
+EXTRA_OEMAKE = "-e USRLIBDIR=${libdir}"
+
+do_compile () {
+ oe_runmake 'CC=${CC}'
+}
+
+do_install() {
+ oe_runmake install SBINDIR=${base_sbindir} INSTALLDIR=${D}
+}
diff --git a/meta-oe/recipes-security/usbguard/usbguard/0001-Add-and-use-pkgconfig-instead-of-libgcrypt-config.patch b/meta-oe/recipes-security/usbguard/usbguard/0001-Add-and-use-pkgconfig-instead-of-libgcrypt-config.patch
new file mode 100644
index 0000000000..a7a3eb043d
--- /dev/null
+++ b/meta-oe/recipes-security/usbguard/usbguard/0001-Add-and-use-pkgconfig-instead-of-libgcrypt-config.patch
@@ -0,0 +1,106 @@
+From e36cbf9d7a32de9945a8b6c62ad29dfb60358081 Mon Sep 17 00:00:00 2001
+From: "Anu Deepthika, Nandipati" <Nandipati.AnuDeepthika@philips.com>
+Date: Wed, 9 Mar 2022 02:03:51 +0530
+Subject: [PATCH] Add and use pkgconfig instead of libgcrypt-config
+
+Upstream-Status: Pending
+
+Signed-off-by: Anu Deepthika, Nandipati <Nandipati.AnuDeepthika@philips.com>
+---
+ m4/libgcrypt.m4 | 56 ++-----------------------------------------------
+ 1 file changed, 2 insertions(+), 54 deletions(-)
+
+diff --git a/m4/libgcrypt.m4 b/m4/libgcrypt.m4
+index 9a29eb5..465fe24 100644
+--- a/m4/libgcrypt.m4
++++ b/m4/libgcrypt.m4
+@@ -22,17 +22,7 @@ dnl with a changed API.
+ dnl
+ AC_DEFUN([AM_PATH_LIBGCRYPT],
+ [ AC_REQUIRE([AC_CANONICAL_HOST])
+- AC_ARG_WITH(libgcrypt-prefix,
+- AS_HELP_STRING([--with-libgcrypt-prefix=PFX],
+- [prefix where LIBGCRYPT is installed (optional)]),
+- libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="")
+- if test x$libgcrypt_config_prefix != x ; then
+- if test x${LIBGCRYPT_CONFIG+set} != xset ; then
+- LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config
+- fi
+- fi
+
+- AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
+ tmp=ifelse([$1], ,1:1.2.0,$1)
+ if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
+ req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
+@@ -41,44 +31,8 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
+ req_libgcrypt_api=0
+ min_libgcrypt_version="$tmp"
+ fi
++ PKG_CHECK_MODULES(LIBGCRYPT, [libgcrypt >= $min_libgcrypt_version], [ok=yes], [ok=no])
+
+- AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version)
+- ok=no
+- if test "$LIBGCRYPT_CONFIG" != "no" ; then
+- req_major=`echo $min_libgcrypt_version | \
+- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
+- req_minor=`echo $min_libgcrypt_version | \
+- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
+- req_micro=`echo $min_libgcrypt_version | \
+- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
+- libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version`
+- major=`echo $libgcrypt_config_version | \
+- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
+- minor=`echo $libgcrypt_config_version | \
+- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
+- micro=`echo $libgcrypt_config_version | \
+- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
+- if test "$major" -gt "$req_major"; then
+- ok=yes
+- else
+- if test "$major" -eq "$req_major"; then
+- if test "$minor" -gt "$req_minor"; then
+- ok=yes
+- else
+- if test "$minor" -eq "$req_minor"; then
+- if test "$micro" -ge "$req_micro"; then
+- ok=yes
+- fi
+- fi
+- fi
+- fi
+- fi
+- fi
+- if test $ok = yes; then
+- AC_MSG_RESULT([yes ($libgcrypt_config_version)])
+- else
+- AC_MSG_RESULT(no)
+- fi
+ if test $ok = yes; then
+ # If we have a recent libgcrypt, we should also check that the
+ # API is compatible
+@@ -96,10 +50,8 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
+ fi
+ fi
+ if test $ok = yes; then
+- LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags`
+- LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs`
+ ifelse([$2], , :, [$2])
+- libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none`
++ libgcrypt_config_host=`$PKG_CONFIG --variable=host libgcrypt`
+ if test x"$libgcrypt_config_host" != xnone ; then
+ if test x"$libgcrypt_config_host" != x"$host" ; then
+ AC_MSG_WARN([[
+@@ -112,10 +64,6 @@ AC_DEFUN([AM_PATH_LIBGCRYPT],
+ ***]])
+ fi
+ fi
+- else
+- LIBGCRYPT_CFLAGS=""
+- LIBGCRYPT_LIBS=""
+- ifelse([$3], , :, [$3])
+ fi
+ AC_SUBST(LIBGCRYPT_CFLAGS)
+ AC_SUBST(LIBGCRYPT_LIBS)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-security/usbguard/usbguard/0001-include-missing-cstdint.patch b/meta-oe/recipes-security/usbguard/usbguard/0001-include-missing-cstdint.patch
new file mode 100644
index 0000000000..5cbe64091c
--- /dev/null
+++ b/meta-oe/recipes-security/usbguard/usbguard/0001-include-missing-cstdint.patch
@@ -0,0 +1,45 @@
+From 1da0cfbb9ae978822d961d8b22d8d5125c11247a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 26 Jan 2023 23:46:56 -0800
+Subject: [PATCH] include missing <cstdint>
+
+gcc 13 moved some includes around and as a result <cstdint> is no
+longer transitively included [1]. Explicitly include it for
+uint8_t.
+
+[1] https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
+
+Upstream-Status: Submitted [https://github.com/USBGuard/usbguard/pull/583]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Library/Base64.cpp | 1 -
+ src/Library/Base64.hpp | 1 +
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Library/Base64.cpp b/src/Library/Base64.cpp
+index ddb28dc..0246a13 100644
+--- a/src/Library/Base64.cpp
++++ b/src/Library/Base64.cpp
+@@ -22,7 +22,6 @@
+
+ #include "Base64.hpp"
+ #include <stdexcept>
+-#include <cstdint>
+
+ namespace usbguard
+ {
+diff --git a/src/Library/Base64.hpp b/src/Library/Base64.hpp
+index 0947f21..e0c745c 100644
+--- a/src/Library/Base64.hpp
++++ b/src/Library/Base64.hpp
+@@ -23,6 +23,7 @@
+ #endif
+
+ #include <string>
++#include <cstdint>
+ #include <cstddef>
+
+ namespace usbguard
+--
+2.39.1
+
diff --git a/meta-oe/recipes-security/usbguard/usbguard_1.1.2.bb b/meta-oe/recipes-security/usbguard/usbguard_1.1.2.bb
new file mode 100644
index 0000000000..c062f27059
--- /dev/null
+++ b/meta-oe/recipes-security/usbguard/usbguard_1.1.2.bb
@@ -0,0 +1,70 @@
+# Copyright (c) 2021 Koninklijke Philips N.V.
+#
+# SPDX-License-Identifier: MIT
+#
+SUMMARY = "USBGuard daemon for blacklisting and whitelisting of USB devices"
+DESCRIPTION = "The USBGuard software framework helps to protect your computer against \
+rogue USB devices (a.k.a. Bad USB) by implementing basic whitelisting and blacklisting \
+capabilities based on device attributes. This recipe takes OpenSSL as crypto-backend for \
+computing device hashes (Supported values are sodium, gcrypt, openssl)."
+HOMEPAGE = "https://usbguard.github.io/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "https://github.com/USBGuard/usbguard/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
+ file://0001-include-missing-cstdint.patch \
+ file://0001-Add-and-use-pkgconfig-instead-of-libgcrypt-config.patch"
+
+SRC_URI[sha256sum] = "dcf5c90f3f93030e04df1baeb8d388b678c40dd48b135ea12a7be7dee8944934"
+
+inherit autotools-brokensep bash-completion pkgconfig systemd github-releases
+
+DEPENDS = "glib-2.0-native libcap-ng libqb libxml2-native libxslt-native protobuf protobuf-native xmlto-native"
+
+UPSTREAM_CHECK_REGEX = "releases/tag/usbguard-(?P<pver>\d+(\.\d+)+)"
+
+EXTRA_OECONF += "\
+ --with-bundled-catch \
+ --with-bundled-pegtl \
+"
+
+PACKAGECONFIG ?= "\
+ openssl \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+
+# USBGuard has made polkit mandatory to configure with-dbus
+PACKAGECONFIG[dbus] = "--with-dbus,--without-dbus,dbus-glib polkit"
+PACKAGECONFIG[libgcrypt] = "--with-crypto-library=gcrypt,,libgcrypt,,,libsodium openssl"
+PACKAGECONFIG[libsodium] = "--with-crypto-library=sodium,,libsodium,,,libgcrypt openssl"
+PACKAGECONFIG[openssl] = "--with-crypto-library=openssl,,openssl,,,libgcrypt libsodium"
+PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit"
+PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
+
+SYSTEMD_PACKAGES = "${PN}"
+
+SYSTEMD_SERVICE:${PN} = "usbguard.service ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'usbguard-dbus.service', '', d)}"
+
+FILES:${PN} += "\
+ ${systemd_unitdir}/system/usbguard.service \
+ ${systemd_unitdir}/system/usbguard-dbus.service \
+ ${datadir}/polkit-1 \
+ ${datadir}/dbus-1 \
+ ${nonarch_libdir}/tmpfiles.d \
+"
+
+do_install:append() {
+# Create /var/log/usbguard in runtime.
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then
+ install -d ${D}${nonarch_libdir}/tmpfiles.d
+ echo "d ${localstatedir}/log/${BPN} 0755 root root -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf
+ fi
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then
+ install -d ${D}${sysconfdir}/default/volatiles
+ echo "d root root 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN}
+ fi
+ rm -rf ${D}${localstatedir}/log
+}
diff --git a/meta-oe/recipes-shells/dash/dash_0.5.11.3.bb b/meta-oe/recipes-shells/dash/dash_0.5.11.3.bb
deleted file mode 100644
index 92d9bc83d2..0000000000
--- a/meta-oe/recipes-shells/dash/dash_0.5.11.3.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "Small and fast POSIX-compliant shell"
-HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/"
-SECTION = "System Environment/Shells"
-
-LICENSE = "BSD & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
-
-inherit autotools update-alternatives
-
-SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz"
-SRC_URI[md5sum] = "c7016b513f701d88c70b3082eb183581"
-SRC_URI[sha256sum] = "62b9f1676ba6a7e8eaec541a39ea037b325253240d1f378c72360baa1cbcbc2a"
-
-EXTRA_OECONF += "--bindir=${base_bindir}"
-
-ALTERNATIVE_${PN} = "sh"
-ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash"
-ALTERNATIVE_PRIORITY = "10"
-
-pkg_postinst_${PN} () {
- grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells
-}
-
-pkg_postrm_${PN} () {
- printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
-}
diff --git a/meta-oe/recipes-shells/dash/dash_0.5.12.bb b/meta-oe/recipes-shells/dash/dash_0.5.12.bb
new file mode 100644
index 0000000000..947ef702d7
--- /dev/null
+++ b/meta-oe/recipes-shells/dash/dash_0.5.12.bb
@@ -0,0 +1,26 @@
+SUMMARY = "Small and fast POSIX-compliant shell"
+HOMEPAGE = "http://gondor.apana.org.au/~herbert/dash/"
+SECTION = "System Environment/Shells"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b5262b4a1a1bff72b48e935531976d2e"
+
+inherit autotools update-alternatives
+
+SRC_URI = "http://gondor.apana.org.au/~herbert/${BPN}/files/${BP}.tar.gz"
+SRC_URI[sha256sum] = "6a474ac46e8b0b32916c4c60df694c82058d3297d8b385b74508030ca4a8f28a"
+
+EXTRA_OECONF += "--bindir=${base_bindir}"
+
+ALTERNATIVE:${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/dash"
+ALTERNATIVE_PRIORITY = "10"
+
+pkg_postinst:${PN} () {
+ grep -q "^${base_bindir}/dash$" $D${sysconfdir}/shells || echo ${base_bindir}/dash >> $D${sysconfdir}/shells
+}
+
+pkg_postrm:${PN} () {
+ printf "$(grep -v "^${base_bindir}/dash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
+}
diff --git a/meta-oe/recipes-shells/mksh/mksh_59.bb b/meta-oe/recipes-shells/mksh/mksh_59.bb
deleted file mode 100644
index 110e793b07..0000000000
--- a/meta-oe/recipes-shells/mksh/mksh_59.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "The MirBSD Korn Shell - an enhanced version of the public domain ksh"
-HOMEPAGE = "http://www.mirbsd.org/mksh.htm"
-SECTION = "base/shell"
-
-LICENSE = "${@bb.utils.contains("TCLIBC", "glibc", "MirOS & ISC", "MirOS", d)}"
-LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6efc2c249328e4d2bd3e595d5b1f9d31 \
- file://strlcpy.c;beginline=1;endline=17;md5=d953f28f0c43ee29e238ec9bc15df2a0 \
- "
-
-SRC_URI = "http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R59b.tgz"
-
-SRC_URI[md5sum] = "dce6abffc2036288540b9ba11dfb2ec8"
-SRC_URI[sha256sum] = "907ed1a9586e7f18bdefdd4a763aaa8397b755e15034aa54f4d753bfb272e0e6"
-
-inherit update-alternatives
-
-S = "${WORKDIR}/${BPN}"
-
-ALTERNATIVE_${PN} = "sh"
-ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
-ALTERNATIVE_PRIORITY = "100"
-
-do_compile() {
- sh ${S}/Build.sh -r
-}
-
-do_install() {
- install -d ${D}${base_bindir}
- install -m 0755 ${S}/mksh ${D}${base_bindir}/mksh
-
- install -d ${D}${sysconfdir}/skel
- install -m 0644 ${S}/dot.mkshrc ${D}${sysconfdir}/skel/.mkshrc
-}
-
-RPROVIDES_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh', '', d)}"
diff --git a/meta-oe/recipes-shells/mksh/mksh_59c.bb b/meta-oe/recipes-shells/mksh/mksh_59c.bb
new file mode 100644
index 0000000000..e3a8ca8b5e
--- /dev/null
+++ b/meta-oe/recipes-shells/mksh/mksh_59c.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "The MirBSD Korn Shell - an enhanced version of the public domain ksh"
+HOMEPAGE = "http://www.mirbsd.org/mksh.htm"
+SECTION = "base/shell"
+
+LICENSE = "${@bb.utils.contains("TCLIBC", "glibc", "MirOS & ISC", "MirOS", d)}"
+LIC_FILES_CHKSUM = "file://main.c;beginline=6;endline=26;md5=6efc2c249328e4d2bd3e595d5b1f9d31 \
+ file://strlcpy.c;beginline=1;endline=17;md5=d953f28f0c43ee29e238ec9bc15df2a0 \
+ "
+
+SRC_URI = "http://www.mirbsd.org/MirOS/dist/mir/${BPN}/${BPN}-R${PV}.tgz"
+
+SRC_URI[sha256sum] = "77ae1665a337f1c48c61d6b961db3e52119b38e58884d1c89684af31f87bc506"
+
+UPSTREAM_CHECK_REGEX = "${BPN}-R(?P<pver>.*)\.tgz"
+
+inherit update-alternatives
+
+S = "${WORKDIR}/${BPN}"
+
+ALTERNATIVE:${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
+ALTERNATIVE_PRIORITY = "100"
+
+do_compile() {
+ sh ${S}/Build.sh -r
+}
+
+do_install() {
+ install -d ${D}${base_bindir}
+ install -m 0755 ${S}/mksh ${D}${base_bindir}/mksh
+
+ install -d ${D}${sysconfdir}/skel
+ install -m 0644 ${S}/dot.mkshrc ${D}${sysconfdir}/skel/.mkshrc
+}
+
+RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh', '', d)}"
diff --git a/meta-oe/recipes-shells/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch b/meta-oe/recipes-shells/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch
index ff2f6a3b68..3a3970ba95 100644
--- a/meta-oe/recipes-shells/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch
+++ b/meta-oe/recipes-shells/tcsh/tcsh/0001-Enable-system-malloc-on-all-linux.patch
@@ -9,22 +9,24 @@ as well. So switch to using system malloc
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
config_f.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config_f.h b/config_f.h
-index 6a632a5..0a66960 100644
+index fb9e69b..c207c25 100644
--- a/config_f.h
+++ b/config_f.h
-@@ -139,7 +139,7 @@
+@@ -147,7 +147,7 @@
* This can be much slower and no memory statistics will be
* provided.
*/
--#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__)
-+#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__linux__) || defined(__OpenBSD__) || defined(__APPLE__)
+-#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__) || !defined(HAVE_WORKING_SBRK)
++#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__linux__) || defined(__OpenBSD__) || defined(__APPLE__) || defined (__ANDROID__) || defined(__NetBSD__) || !defined(HAVE_WORKING_SBRK)
# define SYSMALLOC
#else
# undef SYSMALLOC
--
-2.12.1
+2.34.1
diff --git a/meta-oe/recipes-shells/tcsh/tcsh/0002-Add-debian-csh-scripts.patch b/meta-oe/recipes-shells/tcsh/tcsh/0002-Add-debian-csh-scripts.patch
index e4de6f7fe5..63b22075af 100644
--- a/meta-oe/recipes-shells/tcsh/tcsh/0002-Add-debian-csh-scripts.patch
+++ b/meta-oe/recipes-shells/tcsh/tcsh/0002-Add-debian-csh-scripts.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 2/2] Add debian csh scripts
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
csh.cshrc | 15 +++++++++++++++
csh.login | 8 ++++++++
csh.logout | 1 +
diff --git a/meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb b/meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb
deleted file mode 100644
index fab626c61c..0000000000
--- a/meta-oe/recipes-shells/tcsh/tcsh_6.22.03.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \
- The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \
- It includes all features of 4.4BSD C shell, plus a command-line editor, \
- programmable word completion, spelling correction and more."
-
-HOMEPAGE = "http://www.tcsh.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://Copyright;md5=575cf2715c3bf894e1f79aec1d4eaaf5"
-SECTION = "base"
-DEPENDS = "ncurses virtual/crypt gettext-native"
-SRC_URI = " \
- https://astron.com/pub/${BPN}/${BP}.tar.gz \
- file://0001-Enable-system-malloc-on-all-linux.patch \
- file://0002-Add-debian-csh-scripts.patch \
-"
-SRC_URI[md5sum] = "c9387b7c8cf958956e75b1fa4e59b612"
-SRC_URI[sha256sum] = "be2cfd653d2a0c7f506d2dd14c12324ba749bd484037be6df44a3973f52262b7"
-
-EXTRA_OEMAKE += "CC_FOR_GETHOST='${BUILD_CC}'"
-inherit autotools
-
-do_compile_prepend() {
- oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' gethost
-}
-
-do_install_append () {
- oe_runmake install.man DESTDIR=${D}
-
- install -d ${D}${base_bindir}
- ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
- ln -s /usr/bin/tcsh ${D}${base_bindir}/csh
- install -d ${D}${sysconfdir}/csh/login.d
- install -m 0644 ${S}/csh.cshrc ${S}/csh.login ${S}/csh.logout ${S}/complete.tcsh ${D}${sysconfdir}
- install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el
-}
-
-FILES_${PN} += "${datadir}/emacs/site-lisp/csh-mode.el"
-
-
-pkg_postinst_${PN} () {
-#!/bin/sh -e
-echo /usr/bin/tcsh >> $D/etc/shells
-echo /usr/bin/csh >> $D/etc/shells
-}
diff --git a/meta-oe/recipes-shells/tcsh/tcsh_6.24.12.bb b/meta-oe/recipes-shells/tcsh/tcsh_6.24.12.bb
new file mode 100644
index 0000000000..058fe6a7c4
--- /dev/null
+++ b/meta-oe/recipes-shells/tcsh/tcsh_6.24.12.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "TENEX C Shell, an enhanced version of Berkeley csh \
+ The TENEX C Shell is an enhanced version of the Berkeley Unix C shell. \
+ It includes all features of 4.4BSD C shell, plus a command-line editor, \
+ programmable word completion, spelling correction and more."
+
+HOMEPAGE = "http://www.tcsh.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://Copyright;md5=575cf2715c3bf894e1f79aec1d4eaaf5"
+SECTION = "base"
+DEPENDS = "ncurses virtual/crypt gettext-native"
+SRC_URI = " \
+ https://astron.com/pub/${BPN}/${BP}.tar.gz \
+ file://0001-Enable-system-malloc-on-all-linux.patch \
+ file://0002-Add-debian-csh-scripts.patch \
+"
+SRC_URI[sha256sum] = "e3270ce9667fd5bd2a046687659fcf5fd6a6781326f806ebd724f1e1c9cd4185"
+
+EXTRA_OEMAKE += "CC_FOR_GETHOST='${BUILD_CC}'"
+inherit autotools
+
+do_compile:prepend() {
+ oe_runmake CC_FOR_GETHOST='${BUILD_CC}' CFLAGS='${BUILD_CFLAGS}' LDFLAGS='${BUILD_LDFLAGS}' gethost
+}
+
+do_install:append () {
+ oe_runmake install.man DESTDIR=${D}
+
+ install -d ${D}${base_bindir}
+ if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
+ ln -s /usr/bin/tcsh ${D}${base_bindir}/tcsh
+ ln -s /usr/bin/tcsh ${D}${base_bindir}/csh
+ fi
+ install -d ${D}${sysconfdir}/csh/login.d
+ install -m 0644 ${S}/csh.cshrc ${S}/csh.login ${S}/csh.logout ${S}/complete.tcsh ${D}${sysconfdir}
+ install -D -m 0644 ${S}/csh-mode.el ${D}${datadir}/emacs/site-lisp/csh-mode.el
+}
+
+FILES:${PN} += "${datadir}/emacs/site-lisp/csh-mode.el"
+
+
+pkg_postinst:${PN} () {
+#!/bin/sh -e
+echo /usr/bin/tcsh >> $D/etc/shells
+echo /usr/bin/csh >> $D/etc/shells
+}
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_1.patch b/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_1.patch
new file mode 100644
index 0000000000..fb8fa3427f
--- /dev/null
+++ b/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_1.patch
@@ -0,0 +1,60 @@
+Origin: commit c187154f47697cdbf822c2f9d714d570ed4a0fd1
+From: Oliver Kiddle <opk@zsh.org>
+Date: Wed, 15 Dec 2021 01:56:40 +0100
+Subject: [PATCH 1/9] security/41: Don't perform PROMPT_SUBST evaluation on
+ %F/%K arguments
+
+Mitigates CVE-2021-45444
+
+https://salsa.debian.org/debian/zsh/-/raw/debian/5.8-6+deb11u1/debian/patches/cherry-pick-CVE-2021-45444_1.patch?inline=false
+Upstream-Status: Backport
+CVE: CVE-2021-45444
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+---
+ ChangeLog | 5 +++++
+ Src/prompt.c | 10 ++++++++++
+ 2 files changed, 15 insertions(+)
+
+diff --git a/ChangeLog b/ChangeLog
+index 8d7dfc169..eb248ec06 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,8 @@
++2022-01-27 dana <dana@dana.is>
++
++ * Oliver Kiddle: security/41: Src/prompt.c: Prevent recursive
++ PROMPT_SUBST
++
+ 2020-02-14 dana <dana@dana.is>
+
+ * unposted: Config/version.mk: Update for 5.8
+diff --git a/Src/prompt.c b/Src/prompt.c
+index b65bfb86b..91e21c8e9 100644
+--- a/Src/prompt.c
++++ b/Src/prompt.c
+@@ -244,6 +244,12 @@ parsecolorchar(zattr arg, int is_fg)
+ bv->fm += 2; /* skip over F{ */
+ if ((ep = strchr(bv->fm, '}'))) {
+ char oc = *ep, *col, *coll;
++ int ops = opts[PROMPTSUBST], opb = opts[PROMPTBANG];
++ int opp = opts[PROMPTPERCENT];
++
++ opts[PROMPTPERCENT] = 1;
++ opts[PROMPTSUBST] = opts[PROMPTBANG] = 0;
++
+ *ep = '\0';
+ /* expand the contents of the argument so you can use
+ * %v for example */
+@@ -252,6 +258,10 @@ parsecolorchar(zattr arg, int is_fg)
+ arg = match_colour((const char **)&coll, is_fg, 0);
+ free(col);
+ bv->fm = ep;
++
++ opts[PROMPTSUBST] = ops;
++ opts[PROMPTBANG] = opb;
++ opts[PROMPTPERCENT] = opp;
+ } else {
+ arg = match_colour((const char **)&bv->fm, is_fg, 0);
+ if (*bv->fm != '}')
+--
+2.34.1
diff --git a/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_2.patch b/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_2.patch
new file mode 100644
index 0000000000..e5b6d7cdc9
--- /dev/null
+++ b/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_2.patch
@@ -0,0 +1,140 @@
+From 8a4d65ef6d0023ab9b238529410afb433553d2fa Mon Sep 17 00:00:00 2001
+From: Marc Cornellà <hello@mcornella.com>
+Date: Mon, 24 Jan 2022 09:43:28 +0100
+Subject: [PATCH 2/9] security/89: Add patch which can optionally be used to
+ work around CVE-2021-45444 in VCS_Info
+Comment: Updated to use the same file name without blanks as actually
+ used in the final 5.8.1 release.
+
+
+https://salsa.debian.org/debian/zsh/-/blob/debian/5.8-6+deb11u1/debian/patches/cherry-pick-CVE-2021-45444_2.patch
+Upstream-Status: Backport
+CVE: CVE-2021-45444
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+---
+ ChangeLog | 5 +
+ Etc/CVE-2021-45444-VCS_Info-workaround.patch | 98 ++++++++++++++++++++
+ 2 files changed, 103 insertions(+)
+ create mode 100644 Etc/CVE-2021-45444-VCS_Info-workaround.patch
+
+diff --git a/ChangeLog b/ChangeLog
+index eb248ec06..9a05a09e1 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,5 +1,10 @@
+ 2022-01-27 dana <dana@dana.is>
+
++ * Marc Cornellà: security/89:
++ Etc/CVE-2021-45444-VCS_Info-workaround.patch: Add patch which
++ can optionally be used to work around recursive PROMPT_SUBST
++ issue in VCS_Info
++
+ * Oliver Kiddle: security/41: Src/prompt.c: Prevent recursive
+ PROMPT_SUBST
+
+diff --git a/Etc/CVE-2021-45444-VCS_Info-workaround.patch b/Etc/CVE-2021-45444-VCS_Info-workaround.patch
+new file mode 100644
+index 000000000..13e54be77
+--- /dev/null
++++ b/Etc/CVE-2021-45444-VCS_Info-workaround.patch
+@@ -0,0 +1,98 @@
++From 972887bbe5eb6a00e5f0e73781d6d73bfdcafb93 Mon Sep 17 00:00:00 2001
++From: =?UTF-8?q?Marc=20Cornell=C3=A0?= <hello@mcornella.com>
++Date: Mon, 24 Jan 2022 09:43:28 +0100
++Subject: [PATCH] security/89: Partially work around CVE-2021-45444 in VCS_Info
++MIME-Version: 1.0
++Content-Type: text/plain; charset=UTF-8
++Content-Transfer-Encoding: 8bit
++
++This patch is a partial, VCS_Info-specific work-around for CVE-2021-45444,
++which is mitigated in the shell itself in 5.8.1 and later versions. It is
++offered for users who are concerned about an exploit but are unable to update
++their binaries to receive the complete fix.
++
++The patch works around the vulnerability by pre-escaping values substituted
++into format strings in VCS_Info. Please note that this may break some user
++configurations that rely on those values being un-escaped (which is why it was
++not included directly in 5.8.1). It may be possible to limit this breakage by
++adjusting exactly which ones are pre-escaped, but of course this may leave
++them vulnerable again.
++
++If applying the patch to the file system is inconvenient or not possible, the
++following script can be used to idempotently patch the relevant function
++running in memory (and thus must be re-run when the shell is restarted):
++
++
++# Impacted versions go from v5.0.3 to v5.8 (v5.8.1 is the first patched version)
++autoload -Uz is-at-least
++if is-at-least 5.8.1 || ! is-at-least 5.0.3; then
++ return
++fi
++
++# Quote necessary $hook_com[<field>] items just before they are used
++# in the line "VCS_INFO_hook 'post-backend'" of the VCS_INFO_formats
++# function, where <field> is:
++#
++# base: the full path of the repository's root directory.
++# base-name: the name of the repository's root directory.
++# branch: the name of the currently checked out branch.
++# revision: an identifier of the currently checked out revision.
++# subdir: the path of the current directory relative to the
++# repository's root directory.
++# misc: a string that may contain anything the vcs_info backend wants.
++#
++# This patch %-quotes these fields previous to their use in vcs_info hooks and
++# the zformat call and, eventually, when they get expanded in the prompt.
++# It's important to quote these here, and not later after hooks have modified the
++# fields, because then we could be quoting % characters from valid prompt sequences,
++# like %F{color}, %B, etc.
++#
++# 32 │ hook_com[subdir]="$(VCS_INFO_reposub ${hook_com[base]})"
++# 33 │ hook_com[subdir_orig]="${hook_com[subdir]}"
++# 34 │
++# 35 + │ for tmp in base base-name branch misc revision subdir; do
++# 36 + │ hook_com[$tmp]="${hook_com[$tmp]//\%/%%}"
++# 37 + │ done
++# 38 + │
++# 39 │ VCS_INFO_hook 'post-backend'
++#
++# This is especially important so that no command substitution is performed
++# due to malicious input as a consequence of CVE-2021-45444, which affects
++# zsh versions from 5.0.3 to 5.8.
++#
++autoload -Uz +X regexp-replace VCS_INFO_formats
++
++# We use $tmp here because it's already a local variable in VCS_INFO_formats
++typeset PATCH='for tmp (base base-name branch misc revision subdir) hook_com[$tmp]="${hook_com[$tmp]//\%/%%}"'
++# Unique string to avoid reapplying the patch if this code gets called twice
++typeset PATCH_ID=vcs_info-patch-9b9840f2-91e5-4471-af84-9e9a0dc68c1b
++# Only patch the VCS_INFO_formats function if not already patched
++if [[ "$functions[VCS_INFO_formats]" != *$PATCH_ID* ]]; then
++ regexp-replace 'functions[VCS_INFO_formats]' \
++ "VCS_INFO_hook 'post-backend'" \
++ ': ${PATCH_ID}; ${PATCH}; ${MATCH}'
++fi
++unset PATCH PATCH_ID
++
++
++---
++ Functions/VCS_Info/VCS_INFO_formats | 4 ++++
++ 1 file changed, 4 insertions(+)
++
++diff --git a/Functions/VCS_Info/VCS_INFO_formats b/Functions/VCS_Info/VCS_INFO_formats
++index e0e1dc738..4d88e28b6 100644
++--- a/Functions/VCS_Info/VCS_INFO_formats
+++++ b/Functions/VCS_Info/VCS_INFO_formats
++@@ -32,6 +32,10 @@ hook_com[base-name_orig]="${hook_com[base_name]}"
++ hook_com[subdir]="$(VCS_INFO_reposub ${hook_com[base]})"
++ hook_com[subdir_orig]="${hook_com[subdir]}"
++
+++for tmp in base base-name branch misc revision subdir; do
+++ hook_com[$tmp]="${hook_com[$tmp]//\%/%%}"
+++done
+++
++ VCS_INFO_hook 'post-backend'
++
++ ## description (for backend authors):
++--
++2.34.1
+--
+2.34.1
diff --git a/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_3.patch b/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_3.patch
new file mode 100644
index 0000000000..adfc00ae57
--- /dev/null
+++ b/meta-oe/recipes-shells/zsh/zsh/CVE-2021-45444_3.patch
@@ -0,0 +1,77 @@
+From 4abf2fc193fc2f3e680deecbf81289a7b02e245b Mon Sep 17 00:00:00 2001
+From: dana <dana@dana.is>
+Date: Tue, 21 Dec 2021 13:13:33 -0600
+Subject: [PATCH 3/9] CVE-2021-45444: Update NEWS/README
+
+https://salsa.debian.org/debian/zsh/-/blob/debian/5.8-6+deb11u1/debian/patches/cherry-pick-CVE-2021-45444_3.patch
+Upstream-Status: Backport
+CVE: CVE-2021-45444
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+---
+ ChangeLog | 2 ++
+ NEWS | 20 ++++++++++++++++++++
+ README | 6 ++++++
+ 3 files changed, 28 insertions(+)
+
+diff --git a/ChangeLog b/ChangeLog
+index 9a05a09e1..93b0bc337 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,5 +1,7 @@
+ 2022-01-27 dana <dana@dana.is>
+
++ * CVE-2021-45444: NEWS, README: Document preceding two changes
++
+ * Marc Cornellà: security/89:
+ Etc/CVE-2021-45444-VCS_Info-workaround.patch: Add patch which
+ can optionally be used to work around recursive PROMPT_SUBST
+diff --git a/NEWS b/NEWS
+index 964e1633f..d34b3f79e 100644
+--- a/NEWS
++++ b/NEWS
+@@ -4,6 +4,26 @@ CHANGES FROM PREVIOUS VERSIONS OF ZSH
+
+ Note also the list of incompatibilities in the README file.
+
++Changes since 5.8
++-----------------
++
++CVE-2021-45444: Some prompt expansion sequences, such as %F, support
++'arguments' which are themselves expanded in case they contain colour
++values, etc. This additional expansion would trigger PROMPT_SUBST
++evaluation, if enabled. This could be abused to execute code the user
++didn't expect. e.g., given a certain prompt configuration, an attacker
++could trick a user into executing arbitrary code by having them check
++out a Git branch with a specially crafted name.
++
++This is fixed in the shell itself by no longer performing PROMPT_SUBST
++evaluation on these prompt-expansion arguments.
++
++Users who are concerned about an exploit but unable to update their
++binaries may apply the partial work-around described in the file
++'Etc/CVE-2021-45444 VCS_Info workaround.patch' included with the shell
++source. [ Reported by RyotaK <security@ryotak.me>. Additional thanks to
++Marc Cornellà <hello@mcornella.com>. ]
++
+ Changes since 5.7.1-test-3
+ --------------------------
+
+diff --git a/README b/README
+index 7f1dd5f92..c9e994ab3 100644
+--- a/README
++++ b/README
+@@ -31,6 +31,12 @@ Zsh is a shell with lots of features. For a list of some of these, see the
+ file FEATURES, and for the latest changes see NEWS. For more
+ details, see the documentation.
+
++Incompatibilities since 5.8
++---------------------------
++
++PROMPT_SUBST expansion is no longer performed on arguments to prompt-
++expansion sequences such as %F.
++
+ Incompatibilities since 5.7.1
+ -----------------------------
+
+--
+2.34.1
diff --git a/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb b/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb
deleted file mode 100644
index 3aab65bf5b..0000000000
--- a/meta-oe/recipes-shells/zsh/zsh_5.4.2.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "UNIX Shell similar to the Korn shell"
-DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \
- powerful scripting language. Many of the useful features of bash, \
- ksh, and tcsh were incorporated into zsh; many original features were added."
-HOMEPAGE = "http://www.zsh.org"
-SECTION = "base/shell"
-
-LICENSE = "zsh"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=1a4c4cda3e8096d2fd483ff2f4514fec"
-
-DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
-SRC_URI[md5sum] = "dfe156fd69b0d8d1745ecf6d6e02e047"
-SRC_URI[sha256sum] = "957bcdb2c57f64c02f673693ea5a7518ef24b6557aeb3a4ce222cefa6d74acc9"
-
-inherit autotools gettext update-alternatives
-
-EXTRA_OECONF = " \
- --bindir=${base_bindir} \
- --enable-etcdir=${sysconfdir} \
- --enable-fndir=${datadir}/${PN}/${PV}/functions \
- --enable-site-fndir=${datadir}/${PN}/site-functions \
- --with-term-lib='ncursesw ncurses' \
- --with-tcsetpgrp \
- --enable-cap \
- --enable-multibyte \
- --disable-gdbm \
- --disable-dynamic \
- zsh_cv_shared_environ=yes \
-"
-
-# Configure respects --bindir from EXTRA_OECONF, but then Src/Makefile will read bindir from environment
-export bindir="${base_bindir}"
-
-EXTRA_OEMAKE = "-e MAKEFLAGS="
-
-ALTERNATIVE_${PN} = "sh"
-ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
-ALTERNATIVE_PRIORITY = "100"
-
-export AUTOHEADER = "true"
-
-do_configure () {
- gnu-configize --force ${S}
- oe_runconf
-}
-
-do_install_append () {
- rm -fr ${D}/usr/share
- rmdir --ignore-fail-on-non-empty ${D}/usr
-}
-
-pkg_postinst_${PN} () {
- touch $D${sysconfdir}/shells
- grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells
- grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
-}
-
-FILES_${PN}-dbg += "\
- ${libdir}/${PN}/${PV}/${PN}/.debug/*.so \
- ${libdir}/${PN}/${PV}/${PN}/db/.debug/*.so \
- ${libdir}/${PN}/${PV}/${PN}/net/.debug/*.so \
-"
diff --git a/meta-oe/recipes-shells/zsh/zsh_5.8.bb b/meta-oe/recipes-shells/zsh/zsh_5.8.bb
new file mode 100644
index 0000000000..7602ff9f64
--- /dev/null
+++ b/meta-oe/recipes-shells/zsh/zsh_5.8.bb
@@ -0,0 +1,62 @@
+SUMMARY = "UNIX Shell similar to the Korn shell"
+DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \
+ powerful scripting language. Many of the useful features of bash, \
+ ksh, and tcsh were incorporated into zsh; many original features were added."
+HOMEPAGE = "http://www.zsh.org"
+SECTION = "base/shell"
+
+LICENSE = "zsh"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=1a4c4cda3e8096d2fd483ff2f4514fec"
+
+DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/5.8/${BP}.tar.xz \
+ file://CVE-2021-45444_1.patch \
+ file://CVE-2021-45444_2.patch \
+ file://CVE-2021-45444_3.patch \
+ "
+SRC_URI[sha256sum] = "dcc4b54cc5565670a65581760261c163d720991f0d06486da61f8d839b52de27"
+
+inherit autotools-brokensep gettext update-alternatives manpages
+
+EXTRA_OECONF = " \
+ --bindir=${base_bindir} \
+ --enable-etcdir=${sysconfdir} \
+ --enable-fndir=${datadir}/${BPN}/${PV}/functions \
+ --enable-site-fndir=${datadir}/${BPN}/site-functions \
+ --with-term-lib='ncursesw ncurses' \
+ --with-tcsetpgrp \
+ --enable-cap \
+ --enable-multibyte \
+ --disable-gdbm \
+ --disable-dynamic \
+ zsh_cv_shared_environ=yes \
+"
+
+# Configure respects --bindir from EXTRA_OECONF, but then Src/Makefile will read bindir from environment
+export bindir="${base_bindir}"
+
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+ALTERNATIVE:${PN} = "sh"
+ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
+ALTERNATIVE_PRIORITY = "90"
+
+export AUTOHEADER = "true"
+
+do_configure () {
+ gnu-configize --force ${S}
+ oe_runconf
+}
+
+pkg_postinst:${PN} () {
+ touch $D${sysconfdir}/shells
+ grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells
+ grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
+}
+
+# work around QA failures with usrmerge installing zsh in /usr/bin/zsh instead of /bin/zsh
+# ERROR: QA Issue: /usr/share/zsh/5.8/functions/zed contained in package zsh requires /bin/zsh, but no providers found in RDEPENDS:zsh? [file-rdeps]
+# like bash does since https://git.openembedded.org/openembedded-core/commit/?id=4759408677a4e60c5fa7131afcb5bc184cf2f90a
+RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/zsh', '', d)}"
diff --git a/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb b/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb
index 4ea6c8a295..6d64ab71bf 100644
--- a/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb
+++ b/meta-oe/recipes-support/ace-cloud-editor/ace-cloud-editor_git.bb
@@ -4,12 +4,12 @@ SUMMARY = "Ace is a code editor written in JavaScript. This repository has only
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=794d11c5219c59c9efa2487c2b4066b2"
-SRC_URI = "git://github.com/ajaxorg/ace-builds.git;protocol=https"
+SRC_URI = "git://github.com/ajaxorg/ace-builds.git;protocol=https;branch=master"
-PV = "02.07.17+git${SRCPV}"
+PV = "02.07.17+git"
SRCREV = "812e2c56aed246931a667f16c28b096e34597016"
-FILES_${PN} = "${datadir}/ace-builds"
+FILES:${PN} = "${datadir}/ace-builds"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/anthy/anthy/2ch_t.patch b/meta-oe/recipes-support/anthy/anthy/2ch_t.patch
index bf9bdb63d7..a0d3f9c25e 100644
--- a/meta-oe/recipes-support/anthy/anthy/2ch_t.patch
+++ b/meta-oe/recipes-support/anthy/anthy/2ch_t.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
source: shamelessly stolen from debian ;-)
purpose: add some entries particularly useful in Japanese 2channel anonymous website
(at least that is my understanding ;-))
diff --git a/meta-oe/recipes-support/anthy/anthy/native-helpers.patch b/meta-oe/recipes-support/anthy/anthy/native-helpers.patch
index 47ce007b7f..0b2df01aba 100644
--- a/meta-oe/recipes-support/anthy/anthy/native-helpers.patch
+++ b/meta-oe/recipes-support/anthy/anthy/native-helpers.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
upstream: not applicable
author: pH5
comment: Stage the native anthy helpers mkfiledic, mkdepgraph, mkworddic,
diff --git a/meta-oe/recipes-support/anthy/anthy/not_build_elc.patch b/meta-oe/recipes-support/anthy/anthy/not_build_elc.patch
index 1c5c494003..bedb5e0498 100644
--- a/meta-oe/recipes-support/anthy/anthy/not_build_elc.patch
+++ b/meta-oe/recipes-support/anthy/anthy/not_build_elc.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
upstream: not applicable
source: stolen from debian
diff --git a/meta-oe/recipes-support/anthy/anthy/target-helpers.patch b/meta-oe/recipes-support/anthy/anthy/target-helpers.patch
index d22c3562a5..fc5c72c051 100644
--- a/meta-oe/recipes-support/anthy/anthy/target-helpers.patch
+++ b/meta-oe/recipes-support/anthy/anthy/target-helpers.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Nurp anthy-9100h.org/calctrans/Makefile.am anthy-9100h/calctrans/Makefile.am
--- anthy-9100h.org/calctrans/Makefile.am 2007-10-27 23:02:59.000000000 +0900
+++ anthy-9100h/calctrans/Makefile.am 2014-11-11 17:14:42.152999991 +0900
diff --git a/meta-oe/recipes-support/anthy/anthy_9100h.bb b/meta-oe/recipes-support/anthy/anthy_9100h.bb
index a83efe03c8..f2bf52cdbc 100644
--- a/meta-oe/recipes-support/anthy/anthy_9100h.bb
+++ b/meta-oe/recipes-support/anthy/anthy_9100h.bb
@@ -1,8 +1,7 @@
DESCRIPTION="Anthy is a system for Japanese input method. It converts Hiragana text to Kana Kanji mixed text."
-AUTHOR = "Anthy Developers <anthy-dev@lists.sourceforge.jp>"
HOMEPAGE = "http://anthy.sourceforge.jp"
-LICENSE = "LGPLv2.1 & GPLv2"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=11f384074d8e93e263b5664ef08a411a \
file://alt-cannadic/COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b \
"
@@ -12,34 +11,34 @@ SRC_URI = "http://osdn.dl.sourceforge.jp/anthy/37536/anthy-9100h.tar.gz \
file://2ch_t.patch \
"
-SRC_URI_append_class-target = " file://target-helpers.patch"
-SRC_URI_append_class-native = " file://native-helpers.patch"
+SRC_URI:append:class-target = " file://target-helpers.patch"
+SRC_URI:append:class-native = " file://native-helpers.patch"
SRC_URI[md5sum] = "1f558ff7ed296787b55bb1c6cf131108"
SRC_URI[sha256sum] = "d256f075f018b4a3cb0d165ed6151fda4ba7db1621727e0eb54569b6e2275547"
-DEPENDS_class-target = "anthy-native"
-RDEPENDS_${PN}_class-target = "libanthy0"
+DEPENDS:class-target = "anthy-native"
+RDEPENDS:${PN}:class-target = "libanthy0"
inherit autotools pkgconfig
PACKAGES += "${PN}-el libanthy0 libanthy-dev"
-FILES_${PN}-dbg += "${libdir}/.debug"
-FILES_libanthy0 = "${libdir}/libanthy.so.* \
+FILES:${PN}-dbg += "${libdir}/.debug"
+FILES:libanthy0 = "${libdir}/libanthy.so.* \
${libdir}/libanthydic.so.* \
${libdir}/libanthyinput.so.* \
"
-FILES_libanthy-dev = "${libdir}/libanthy*.la \
+FILES:libanthy-dev = "${libdir}/libanthy*.la \
${libdir}/libanthy*.a \
${libdir}/libanthy*.so \
${includedir}/anthy \
${libdir}/pkgconfig/anthy.pc \
"
-FILES_${PN}-el = "${datadir}/emacs/*"
-FILES_${PN} = "${datadir}/* \
+FILES:${PN}-el = "${datadir}/emacs/*"
+FILES:${PN} = "${datadir}/* \
${bindir}/* \
${sysconfdir}/anthy-conf \
"
diff --git a/meta-oe/recipes-support/asio/asio_1.18.1.bb b/meta-oe/recipes-support/asio/asio_1.18.1.bb
deleted file mode 100644
index 36aff75037..0000000000
--- a/meta-oe/recipes-support/asio/asio_1.18.1.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Asio is C++ library for network and low-level I/O programming"
-DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \
- I/O programming that provides developers with a consistent asynchronous \
- model using a modern C++ approach."
-AUTHOR = "Christopher M. Kohlhoff (chris at kohlhoff dot com)"
-HOMEPAGE = "http://think-async.com/Asio"
-SECTION = "libs"
-LICENSE = "BSL-1.0"
-
-DEPENDS = "openssl"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
-
-inherit autotools
-
-ALLOW_EMPTY_${PN} = "1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=de86c8210a433f72bd3cc98e797a6084"
-
-SRC_URI[md5sum] = "00807b2e976f467b3cec85d1589f0825"
-SRC_URI[sha256sum] = "4af9875df5497fdd507231f4b7346e17d96fc06fe10fd30e2b3750715a329113"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
-
-PACKAGECONFIG ??= "boost"
-
-PACKAGECONFIG[boost] = "--with-boost=${STAGING_LIBDIR},--without-boost,boost"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/asio/asio_1.28.0.bb b/meta-oe/recipes-support/asio/asio_1.28.0.bb
new file mode 100644
index 0000000000..84074400a6
--- /dev/null
+++ b/meta-oe/recipes-support/asio/asio_1.28.0.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Asio is C++ library for network and low-level I/O programming"
+DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \
+ I/O programming that provides developers with a consistent asynchronous \
+ model using a modern C++ approach."
+HOMEPAGE = "http://think-async.com/Asio"
+SECTION = "libs"
+LICENSE = "BSL-1.0"
+
+DEPENDS = "openssl"
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2 \
+ file://0001-Add-the-pkgconfigdir-location.patch \
+"
+
+inherit autotools
+
+ALLOW_EMPTY:${PN} = "1"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ff668366bbdb687b6029d33a5fe4b999"
+
+SRC_URI[sha256sum] = "d0ddc2361abd2f4c823e970aaf8e28b4b31ab21b1a68af16b114fc093661e232"
+
+PACKAGECONFIG ??= "boost"
+
+PACKAGECONFIG[boost] = "--with-boost=${STAGING_LIBDIR},--without-boost,boost"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch b/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch
new file mode 100644
index 0000000000..75f083b0ed
--- /dev/null
+++ b/meta-oe/recipes-support/asio/files/0001-Add-the-pkgconfigdir-location.patch
@@ -0,0 +1,30 @@
+From 248e87869d748cfb72d3a5d3b2b91ad178172e30 Mon Sep 17 00:00:00 2001
+From: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com>
+Date: Tue, 9 May 2023 12:48:29 +0200
+Subject: [PATCH] Add the pkgconfigdir location
+
+This change is necessary, because while building asio in yocto the
+compilation is failing and is complaining because the variable is
+undefined
+
+Signed-off-by: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com>
+Upstream-Status: Submitted [https://github.com/chriskohlhoff/asio/pull/1294]
+---
+ asio/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index b7760851..bc4f75b3 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,6 +1,7 @@
+ AUTOMAKE_OPTIONS = foreign dist-bzip2 dist-zip
+
+ pkgconfig_DATA = asio.pc
++pkgconfigdir = $(libdir)/pkgconfig
+
+ SUBDIRS = include src
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-support/atop/atop_2.4.0.bb b/meta-oe/recipes-support/atop/atop_2.4.0.bb
index 5bde965196..bb1f53624a 100644
--- a/meta-oe/recipes-support/atop/atop_2.4.0.bb
+++ b/meta-oe/recipes-support/atop/atop_2.4.0.bb
@@ -10,7 +10,7 @@ utilization, priority, username, state, and exit code."
HOMEPAGE = "http://www.atoptool.nl"
SECTION = "console/utils"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
DEPENDS = "ncurses zlib"
@@ -24,6 +24,8 @@ SRC_URI = "http://www.atoptool.nl/download/${BP}.tar.gz \
SRC_URI[md5sum] = "1077da884ed94f2bc3c81ac3ab970436"
SRC_URI[sha256sum] = "be1c010a77086b7d98376fce96514afcd73c3f20a8d1fe01520899ff69a73d69"
+CVE_STATUS[CVE-2011-3618] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
do_compile() {
oe_runmake all
}
@@ -42,15 +44,19 @@ do_install() {
rm -f ${D}${sysconfdir}/init.d/atopacct
fi
+ # /var/log/atop will be created in runtime
+ rm -rf ${D}${localstatedir}/log
+ rmdir --ignore-fail-on-non-empty ${D}${localstatedir}
+
# remove atopacct related files
rm -rf ${D}${sbindir} ${D}${mandir}/man8
}
inherit systemd
-SYSTEMD_SERVICE_${PN} = "atop.service atopgpu.service"
+SYSTEMD_SERVICE:${PN} = "atop.service atopgpu.service"
SYSTEMD_AUTO_ENABLE = "disable"
-FILES_${PN} += "${systemd_unitdir}/system-sleep"
+FILES:${PN} += "${systemd_unitdir}/system-sleep"
-RDEPENDS_${PN} = "procps"
+RDEPENDS:${PN} = "procps"
diff --git a/meta-oe/recipes-support/augeas/augeas.inc b/meta-oe/recipes-support/augeas/augeas.inc
deleted file mode 100644
index 1bbd181c38..0000000000
--- a/meta-oe/recipes-support/augeas/augeas.inc
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Augeas configuration API"
-HOMEPAGE = "http://augeas.net/"
-BUGTRACKER = "https://fedorahosted.org/augeas/report/1"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbb461211a33b134d42ed5ee802b37ff"
-
-SRC_URI = "http://download.augeas.net/${BP}.tar.gz \
- file://sepbuildfix.patch \
- "
-
-DEPENDS = "readline libxml2"
-
-inherit autotools pkgconfig
-
-PACKAGES =+ "${PN}-lenses lib${BPN}"
-
-FILES_${PN}-lenses = "${datadir}/augeas/lenses"
-FILES_lib${BPN} = "${libdir}/lib*${SOLIBS}"
-
-RDEPENDS_lib${BPN} += "${PN}-lenses"
-RRECOMMENDS_lib${BPN} += "${PN}"
-
-LEAD_SONAME = "libaugeas.so"
-
-do_install_append() {
- rm -fr ${D}${datadir}/vim
-}
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[libselinux] = "--with-selinux,--without-selinux,libselinux"
-
-EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
diff --git a/meta-oe/recipes-support/augeas/augeas/0001-src-internal-Use-__GLIBC__-to-check-for-GNU-extentio.patch b/meta-oe/recipes-support/augeas/augeas/0001-src-internal-Use-__GLIBC__-to-check-for-GNU-extentio.patch
new file mode 100644
index 0000000000..9424be2aa6
--- /dev/null
+++ b/meta-oe/recipes-support/augeas/augeas/0001-src-internal-Use-__GLIBC__-to-check-for-GNU-extentio.patch
@@ -0,0 +1,34 @@
+From e5ccf769c2dc7283b56a597fffdb5dc1558e3ce8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 3 Sep 2022 01:23:28 -0700
+Subject: [PATCH] src/internal: Use __GLIBC__ to check for GNU extention
+ implementation
+
+__USE_GNU is defined by _GNU_SOURCE and configure explicitly sets this
+macro and it does have meaning on musl too, where it may have some level
+of GNU compatibility but strerror_r is not one of them. Therefore we
+have to check for libc implementation for this to be sure.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/internal.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/internal.c b/src/internal.c
+index ef83b71..fb326fa 100644
+--- a/src/internal.c
++++ b/src/internal.c
+@@ -431,7 +431,7 @@ char *cleanpath(char *path) {
+
+ const char *xstrerror(int errnum, char *buf, size_t len) {
+ #ifdef HAVE_STRERROR_R
+-# ifdef __USE_GNU
++# ifdef __GLIBC__
+ /* Annoying linux specific API contract */
+ return strerror_r(errnum, buf, len);
+ # else
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/augeas/augeas_1.12.0.bb b/meta-oe/recipes-support/augeas/augeas_1.12.0.bb
index d32c4691d2..2c6d4cdc88 100644
--- a/meta-oe/recipes-support/augeas/augeas_1.12.0.bb
+++ b/meta-oe/recipes-support/augeas/augeas_1.12.0.bb
@@ -1,4 +1,36 @@
-require augeas.inc
+SUMMARY = "Augeas configuration API"
+HOMEPAGE = "http://augeas.net/"
+BUGTRACKER = "https://fedorahosted.org/augeas/report/1"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bbb461211a33b134d42ed5ee802b37ff"
+
+SRC_URI = "http://download.augeas.net/${BP}.tar.gz \
+ file://sepbuildfix.patch \
+ file://0001-src-internal-Use-__GLIBC__-to-check-for-GNU-extentio.patch \
+ "
SRC_URI[md5sum] = "74f1c7b8550f4e728486091f6b907175"
SRC_URI[sha256sum] = "321942c9cc32185e2e9cb72d0a70eea106635b50269075aca6714e3ec282cb87"
+
+DEPENDS = "readline libxml2"
+
+inherit autotools pkgconfig
+
+PACKAGES =+ "${PN}-lenses lib${BPN}"
+
+FILES:${PN}-lenses = "${datadir}/augeas/lenses"
+FILES:lib${BPN} = "${libdir}/lib*${SOLIBS}"
+
+RDEPENDS:lib${BPN} += "${PN}-lenses"
+RRECOMMENDS:lib${BPN} += "${PN}"
+
+LEAD_SONAME = "libaugeas.so"
+
+do_install:append() {
+ rm -fr ${D}${datadir}/vim
+}
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
+
+EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
diff --git a/meta-oe/recipes-support/avro/avro-c++/0001-Remove-cpp-unittest-compilation.patch b/meta-oe/recipes-support/avro/avro-c++/0001-Remove-cpp-unittest-compilation.patch
new file mode 100644
index 0000000000..bcfafdda55
--- /dev/null
+++ b/meta-oe/recipes-support/avro/avro-c++/0001-Remove-cpp-unittest-compilation.patch
@@ -0,0 +1,86 @@
+From 6be1c45e1f7ee78499bdca76c25ec23a61317134 Mon Sep 17 00:00:00 2001
+From: Rui Costa <rui.ms.costa@ctw.bmwgroup.com>
+Date: Wed, 20 Mar 2024 14:58:27 +0000
+Subject: [PATCH] Remove cpp unittest compilation
+
+Upstream-Status: Inappropriate [oe-specific]
+
+---
+ lang/c++/CMakeLists.txt | 61 -----------------------------------------
+ 1 file changed, 61 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a3793152..d94ba42d3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -131,70 +131,9 @@ set_target_properties (avrocpp_s PROPERTIES
+ target_link_libraries (avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+ target_include_directories(avrocpp PRIVATE ${SNAPPY_INCLUDE_DIR})
+
+-add_executable (precompile test/precompile.cc)
+-
+-target_link_libraries (precompile avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+-
+-macro (gen file ns)
+- add_custom_command (OUTPUT ${file}.hh
+- COMMAND avrogencpp
+- -p -
+- -i ${CMAKE_CURRENT_SOURCE_DIR}/jsonschemas/${file}
+- -o ${file}.hh -n ${ns} -U
+- DEPENDS avrogencpp ${CMAKE_CURRENT_SOURCE_DIR}/jsonschemas/${file})
+- add_custom_target (${file}_hh DEPENDS ${file}.hh)
+-endmacro (gen)
+-
+-gen (empty_record empty)
+-gen (bigrecord testgen)
+-gen (bigrecord_r testgen_r)
+-gen (bigrecord2 testgen2)
+-gen (tweet testgen3)
+-gen (union_array_union uau)
+-gen (union_map_union umu)
+-gen (union_conflict uc)
+-gen (recursive rec)
+-gen (reuse ru)
+-gen (circulardep cd)
+-gen (tree1 tr1)
+-gen (tree2 tr2)
+-gen (crossref cr)
+-gen (primitivetypes pt)
+-gen (cpp_reserved_words cppres)
+-
+ add_executable (avrogencpp impl/avrogencpp.cc)
+ target_link_libraries (avrogencpp avrocpp_s ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+
+-enable_testing()
+-
+-macro (unittest name)
+- add_executable (${name} test/${name}.cc)
+- target_link_libraries (${name} avrocpp ${Boost_LIBRARIES} ${SNAPPY_LIBRARIES})
+- add_test (NAME ${name} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- COMMAND ${CMAKE_CURRENT_BINARY_DIR}/${name})
+-endmacro (unittest)
+-
+-unittest (buffertest)
+-unittest (unittest)
+-unittest (SchemaTests)
+-unittest (LargeSchemaTests)
+-unittest (CodecTests)
+-unittest (StreamTests)
+-unittest (SpecificTests)
+-unittest (DataFileTests)
+-unittest (JsonTests)
+-unittest (AvrogencppTests)
+-unittest (CompilerTests)
+-unittest (AvrogencppTestReservedWords)
+-
+-add_dependencies (AvrogencppTestReservedWords cpp_reserved_words_hh)
+-
+-add_dependencies (AvrogencppTests bigrecord_hh bigrecord_r_hh bigrecord2_hh
+- tweet_hh
+- union_array_union_hh union_map_union_hh union_conflict_hh
+- recursive_hh reuse_hh circulardep_hh tree1_hh tree2_hh crossref_hh
+- primitivetypes_hh empty_record_hh)
+-
+ include (InstallRequiredSystemLibraries)
+
+ set (CPACK_PACKAGE_FILE_NAME "avrocpp-${AVRO_VERSION_MAJOR}")
diff --git a/meta-oe/recipes-support/avro/avro-c++/0002-Add-package-configuration-files.patch b/meta-oe/recipes-support/avro/avro-c++/0002-Add-package-configuration-files.patch
new file mode 100644
index 0000000000..437a3fa138
--- /dev/null
+++ b/meta-oe/recipes-support/avro/avro-c++/0002-Add-package-configuration-files.patch
@@ -0,0 +1,84 @@
+From 86aa3f2333a9b8e6f1c631e6d5cb7296b6e8380b Mon Sep 17 00:00:00 2001
+From: Rui Costa <rui.ms.costa@ctw.bmwgroup.com>
+Date: Fri, 22 Mar 2024 13:27:38 +0000
+Subject: [PATCH] Add package configuration files
+
+Upstream-Status: Pending
+
+---
+ lang/c++/CMakeLists.txt | 45 ++++++++++++++++++++++++------
+ lang/c++/cmake/AvroCppConfig.cmake | 5 ++++
+ 2 files changed, 42 insertions(+), 8 deletions(-)
+ create mode 100644 lang/c++/cmake/AvroCppConfig.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d94ba42d3..4748b111d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -140,14 +140,18 @@ set (CPACK_PACKAGE_FILE_NAME "avrocpp-${AVRO_VERSION_MAJOR}")
+
+ include (CPack)
+
+-install (TARGETS avrocpp avrocpp_s
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
+- RUNTIME DESTINATION lib)
+-
+-install (TARGETS avrogencpp RUNTIME DESTINATION bin)
+-
+-install (DIRECTORY api/ DESTINATION include/avro
++install (TARGETS avrocpp
++ EXPORT AvroCppTargets
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ INCLUDES DESTINATION include)
++
++install (TARGETS avrogencpp
++ EXPORT AvroCppTargets
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++
++install (DIRECTORY api/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/avro
+ FILES_MATCHING PATTERN *.hh)
+
+ if (NOT CMAKE_BUILD_TYPE)
+@@ -155,3 +159,28 @@ if (NOT CMAKE_BUILD_TYPE)
+ "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
+ FORCE)
+ endif (NOT CMAKE_BUILD_TYPE)
++
++# Create cmake config files
++include(CMakePackageConfigHelpers)
++write_basic_package_version_file(
++ "${CMAKE_CURRENT_BINARY_DIR}/AvroCppConfigVersion.cmake"
++ VERSION ${AVRO_VERSION_MAJOR}.${AVRO_VERSION_MINOR}.${AVRO_VERSION_PATCH}
++ COMPATIBILITY AnyNewerVersion
++)
++
++configure_file(cmake/AvroCppConfig.cmake
++ "${CMAKE_CURRENT_BINARY_DIR}/AvroCppConfig.cmake"
++ COPYONLY
++)
++
++set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/avrocpp)
++install(EXPORT AvroCppTargets
++ FILE AvroCppTargets.cmake
++ NAMESPACE AvroCpp::
++ DESTINATION ${ConfigPackageLocation}
++)
++install(FILES
++ "cmake/AvroCppConfig.cmake"
++ "${CMAKE_CURRENT_BINARY_DIR}/AvroCppConfigVersion.cmake"
++ DESTINATION ${ConfigPackageLocation}
++ COMPONENT Devel)
+diff --git a/cmake/AvroCppConfig.cmake b/cmake/AvroCppConfig.cmake
+new file mode 100644
+index 000000000..deb8aaa31
+--- /dev/null
++++ b/cmake/AvroCppConfig.cmake
+@@ -0,0 +1,5 @@
++include(CMakeFindDependencyMacro)
++find_dependency(Boost 1.38 REQUIRED
++ COMPONENTS filesystem iostreams program_options regex system)
++
++include("${CMAKE_CURRENT_LIST_DIR}/AvroCppTargets.cmake")
diff --git a/meta-oe/recipes-support/avro/avro-c++/0003-Update-CXX-standard-to-CXX14.patch b/meta-oe/recipes-support/avro/avro-c++/0003-Update-CXX-standard-to-CXX14.patch
new file mode 100644
index 0000000000..3e65cb7a72
--- /dev/null
+++ b/meta-oe/recipes-support/avro/avro-c++/0003-Update-CXX-standard-to-CXX14.patch
@@ -0,0 +1,24 @@
+From 66c08ade24e4472b5af5dca48097ed9a2ec035ec Mon Sep 17 00:00:00 2001
+From: Rui Costa <rui.ms.costa@ctw.bmwgroup.com>
+Date: Fri, 5 Apr 2024 11:33:51 +0000
+Subject: [PATCH] Update CXX standard to CXX14
+
+Upstream-Status: Inappropriate [oe-specific]
+
+---
+ lang/c++/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4748b111d..1e45c13d5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,7 +21,7 @@ cmake_minimum_required (VERSION 3.1)
+ set (CMAKE_LEGACY_CYGWIN_WIN32 0)
+
+ if (NOT DEFINED CMAKE_CXX_STANDARD)
+- set(CMAKE_CXX_STANDARD 11)
++ set(CMAKE_CXX_STANDARD 14)
+ endif()
+
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
diff --git a/meta-oe/recipes-support/avro/avro-c++_1.11.3.bb b/meta-oe/recipes-support/avro/avro-c++_1.11.3.bb
new file mode 100644
index 0000000000..6ec25bdd2b
--- /dev/null
+++ b/meta-oe/recipes-support/avro/avro-c++_1.11.3.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Apache Avro data serialization system."
+HOMEPAGE = "https://avro.apache.org/"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=43abf34d8b9908494f83c55d213a7f89"
+
+DEPENDS = "boost zlib xz"
+
+BRANCH = "branch-1.11"
+SRCREV = "35ff8b997738e4d983871902d47bfb67b3250734"
+SRC_URI = "git://github.com/apache/avro;branch=${BRANCH};protocol=https \
+ file://0001-Remove-cpp-unittest-compilation.patch \
+ file://0002-Add-package-configuration-files.patch \
+ file://0003-Update-CXX-standard-to-CXX14.patch \
+ "
+
+S = "${WORKDIR}/git/lang/c++"
+
+inherit cmake pkgconfig
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch b/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch
deleted file mode 100644
index 6496b92dfe..0000000000
--- a/meta-oe/recipes-support/avro/avro-c/0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From f24f863f3a8ca86f44123a58613f62c3b511da1e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 19 Dec 2019 18:23:41 -0800
-Subject: [PATCH] cmake: Use GNUInstallDirs instead of hard-coded paths
-
-This ensures that it can be built on platforms where libdir is not
-/usr/lib e.g. ppc64
-
-Upstream-Status: Submitted [https://github.com/apache/avro/pull/749]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lang/c/CMakeLists.txt | 2 +-
- lang/c/src/CMakeLists.txt | 16 +++++++++-------
- 2 files changed, 10 insertions(+), 8 deletions(-)
-
-diff --git a/lang/c/CMakeLists.txt b/lang/c/CMakeLists.txt
-index 11cbf018e..6c8d7aaf3 100644
---- a/lang/c/CMakeLists.txt
-+++ b/lang/c/CMakeLists.txt
-@@ -16,7 +16,7 @@
- # specific language governing permissions and limitations
- # under the License.
- #
--cmake_minimum_required(VERSION 2.4)
-+cmake_minimum_required(VERSION 3.1)
- project(AvroC)
- enable_testing()
-
-diff --git a/lang/c/src/CMakeLists.txt b/lang/c/src/CMakeLists.txt
-index 6f5659750..c1761c8de 100644
---- a/lang/c/src/CMakeLists.txt
-+++ b/lang/c/src/CMakeLists.txt
-@@ -106,17 +106,19 @@ install(DIRECTORY
- DESTINATION include
- FILES_MATCHING PATTERN "*.h")
-
-+include(GNUInstallDirs)
-+
- if (WIN32)
- install(TARGETS avro-static
-- RUNTIME DESTINATION bin
-- LIBRARY DESTINATION lib
-- ARCHIVE DESTINATION lib
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- )
- else(WIN32)
- install(TARGETS avro-static avro-shared
-- RUNTIME DESTINATION bin
-- LIBRARY DESTINATION lib
-- ARCHIVE DESTINATION lib
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- )
- endif(WIN32)
-
-@@ -126,7 +128,7 @@ set(prefix ${CMAKE_INSTALL_PREFIX})
- set(VERSION ${AVRO_VERSION})
- configure_file(avro-c.pc.in avro-c.pc)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/avro-c.pc
-- DESTINATION lib/pkgconfig)
-+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-
- add_executable(avrocat avrocat.c)
- target_link_libraries(avrocat avro-static)
---
-2.24.1
-
diff --git a/meta-oe/recipes-support/avro/avro-c_1.11.3.bb b/meta-oe/recipes-support/avro/avro-c_1.11.3.bb
new file mode 100644
index 0000000000..bb7f53e459
--- /dev/null
+++ b/meta-oe/recipes-support/avro/avro-c_1.11.3.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Apache Avro data serialization system."
+HOMEPAGE = "https://avro.apache.org/"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6d502b41f76179fc84e536236f359cae"
+
+DEPENDS = "jansson zlib xz"
+
+BRANCH = "branch-1.11"
+SRCREV = "35ff8b997738e4d983871902d47bfb67b3250734"
+SRC_URI = "git://github.com/apache/avro;branch=${BRANCH};protocol=https \
+ "
+
+S = "${WORKDIR}/git/lang/c"
+
+inherit cmake pkgconfig
diff --git a/meta-oe/recipes-support/avro/avro-c_1.9.2.bb b/meta-oe/recipes-support/avro/avro-c_1.9.2.bb
deleted file mode 100644
index 0642179fb3..0000000000
--- a/meta-oe/recipes-support/avro/avro-c_1.9.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Apache Avro data serialization system."
-HOMEPAGE = "http://apr.apache.org/"
-SECTION = "libs"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6d502b41f76179fc84e536236f359cae"
-
-DEPENDS = "jansson zlib xz"
-
-BRANCH = "branch-1.9"
-SRCREV = "bf20128ca6138a830b2ea13e0490f3df6b035639"
-SRC_URI = "git://github.com/apache/avro;branch=${BRANCH} \
- file://0001-cmake-Use-GNUInstallDirs-instead-of-hard-coded-paths.patch;patchdir=../../ \
- "
-
-S = "${WORKDIR}/git/lang/c"
-
-inherit cmake
diff --git a/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb b/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb
deleted file mode 100644
index 407de21385..0000000000
--- a/meta-oe/recipes-support/bdwgc/bdwgc_8.0.4.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "A garbage collector for C and C++"
-
-DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\
- used as a garbage collecting replacement for C malloc or C++ new. It allows\
- you to allocate memory basically as you normally would, without explicitly\
- deallocating memory that is no longer useful. The collector automatically\
- recycles memory when it determines that it can no longer be otherwise\
- accessed.\
- The collector is also used by a number of programming language\
- implementations that either use C as intermediate code, want to facilitate\
- easier interoperation with C libraries, or just prefer the simple collector\
- interface.\
- Alternatively, the garbage collector may be used as a leak detector for C\
- or C++ programs, though that is not its primary goal.\
- Empirically, this collector works with most unmodified C programs, simply\
- by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\
- calls, and removing free calls."
-
-HOMEPAGE = "http://www.hboehm.info/gc/"
-SECTION = "devel"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README.QUICK;md5=81b447d779e278628c843aef92f088fa"
-
-DEPENDS = "libatomic-ops"
-
-SRCREV = "d3dede3ce4462cd82a15f161af797ca51654546a"
-SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-8_0"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF += "--enable-cpluscplus"
-
-CFLAGS_append_libc-musl = " -D_GNU_SOURCE -DNO_GETCONTEXT -DSEARCH_FOR_DATA_START -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
-
-FILES_${PN}-doc = "${datadir}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/bdwgc/bdwgc_8.2.6.bb b/meta-oe/recipes-support/bdwgc/bdwgc_8.2.6.bb
new file mode 100644
index 0000000000..a5a7a63657
--- /dev/null
+++ b/meta-oe/recipes-support/bdwgc/bdwgc_8.2.6.bb
@@ -0,0 +1,37 @@
+SUMMARY = "A garbage collector for C and C++"
+
+DESCRIPTION = "The Boehm-Demers-Weiser conservative garbage collector can be\
+ used as a garbage collecting replacement for C malloc or C++ new. It allows\
+ you to allocate memory basically as you normally would, without explicitly\
+ deallocating memory that is no longer useful. The collector automatically\
+ recycles memory when it determines that it can no longer be otherwise\
+ accessed.\
+ The collector is also used by a number of programming language\
+ implementations that either use C as intermediate code, want to facilitate\
+ easier interoperation with C libraries, or just prefer the simple collector\
+ interface.\
+ Alternatively, the garbage collector may be used as a leak detector for C\
+ or C++ programs, though that is not its primary goal.\
+ Empirically, this collector works with most unmodified C programs, simply\
+ by replacing malloc with GC_malloc calls, replacing realloc with GC_realloc\
+ calls, and removing free calls."
+
+HOMEPAGE = "https://www.hboehm.info/gc/"
+SECTION = "devel"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.QUICK;md5=dd27361ad00943bb27bc3e0589037075"
+
+DEPENDS = "libatomic-ops"
+
+SRCREV = "e340b2e869e02718de9c9d7fa440ef4b35785388"
+SRC_URI = "git://github.com/ivmai/bdwgc.git;branch=release-8_2;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--enable-cplusplus"
+
+FILES:${PN}-doc = "${datadir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/boost-sml/boost-sml_1.1.11.bb b/meta-oe/recipes-support/boost-sml/boost-sml_1.1.11.bb
new file mode 100644
index 0000000000..a48195a15d
--- /dev/null
+++ b/meta-oe/recipes-support/boost-sml/boost-sml_1.1.11.bb
@@ -0,0 +1,25 @@
+SUMMARY = "[Boost::ext].SML (State Machine Language)"
+DESCRIPTION = "Your scalable C++14 one header only State Machine Library with no dependencies"
+HOMEPAGE = "https://github.com/boost-ext/sml"
+BUGTRACKER = "https://github.com/boost-ext/sml/issues"
+SECTION = "libs"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+DEPENDS += "boost qemu-native"
+
+SRC_URI = "git://github.com/boost-ext/sml.git;protocol=https;branch=master"
+SRCREV = "b7df6180d20422b2724d26007aebb24066f2a6a9"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# Building benchmarks takes a lot of time and requires additional headers (euml2.hpp)
+# Building examples fail with gcc-12
+EXTRA_OECMAKE:append = " -DSML_BUILD_BENCHMARKS:bool=OFF -DSML_BUILD_EXAMPLES=OFF"
+
+# [boost::ext].XML is a header only C++ library, so the main package will be empty.
+ALLOW_EMPTY:${PN} = "1"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/meta-oe/recipes-support/btop/btop_1.3.2.bb b/meta-oe/recipes-support/btop/btop_1.3.2.bb
new file mode 100644
index 0000000000..c473bf0a35
--- /dev/null
+++ b/meta-oe/recipes-support/btop/btop_1.3.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Resource monitor that shows usage and stats for processor, memory, disks, network and processes."
+HOMEPAGE = "https://github.com/aristocratos/btop"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+SECTION = "console/utils"
+
+SRC_URI = "git://github.com/aristocratos/btop.git;protocol=https;branch=main"
+SRCREV = "fd2a2acdad6fbaad76846cb5e802cf2ae022d670"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES:${PN} += " \
+ ${datadir}/icons \
+ ${datadir}/icons/hicolor \
+ ${datadir}/icons/hicolor/48x48 \
+ ${datadir}/icons/hicolor/scalable \
+ ${datadir}/icons/hicolor/48x48/apps \
+ ${datadir}/icons/hicolor/48x48/apps/btop.png \
+ ${datadir}/icons/hicolor/scalable/apps \
+ ${datadir}/icons/hicolor/scalable/apps/btop.svg \
+"
diff --git a/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch b/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch
deleted file mode 100644
index 8f15f8424c..0000000000
--- a/meta-oe/recipes-support/c-ares/c-ares/0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f2f1e134bf5d9d0789942848e03006af8d926cf8 Mon Sep 17 00:00:00 2001
-From: Wang Mingyu <wangmy@cn.fujitsu.com>
-Date: Tue, 17 Mar 2020 12:53:35 +0800
-Subject: [PATCH] fix configure error : mv libcares.pc.cmakein to
- libcares.pc.cmake
-
-Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3a5878d..c2e5740 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -563,7 +563,7 @@ IF (CARES_STATIC)
- ENDIF()
-
- # Write ares_config.h configuration file. This is used only for the build.
--CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
-+CONFIGURE_FILE (libcares.pc.cmake ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
-
-
-
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch b/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
deleted file mode 100644
index 0eb7e4bbb3..0000000000
--- a/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 12414304245cce6ef0e8b9547949be5109845353 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 24 Jul 2018 13:33:33 +0800
-Subject: [PATCH] cmake: Install libcares.pc
-
-Prepare and install libcares.pc file during cmake build, so libraries
-using pkg-config to find libcares will not fail.
-
-Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
-
-update to 1.14.0, fix patch warning
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- CMakeLists.txt | 28 +++++++++++++++++++++++-----
- 1 file changed, 23 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index fd123e1..3a5878d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -214,22 +214,25 @@ ADD_DEFINITIONS(${SYSFLAGS})
-
-
- # Tell C-Ares about libraries to depend on
-+# Also pass these libraries to pkg-config file
-+SET(CARES_PRIVATE_LIBS_LIST)
- IF (HAVE_LIBRESOLV)
-- LIST (APPEND CARES_DEPENDENT_LIBS resolv)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lresolv")
- ENDIF ()
- IF (HAVE_LIBNSL)
-- LIST (APPEND CARES_DEPENDENT_LIBS nsl)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lnsl")
- ENDIF ()
- IF (HAVE_LIBSOCKET)
-- LIST (APPEND CARES_DEPENDENT_LIBS socket)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lsocket")
- ENDIF ()
- IF (HAVE_LIBRT)
-- LIST (APPEND CARES_DEPENDENT_LIBS rt)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lrt")
- ENDIF ()
- IF (WIN32)
-- LIST (APPEND CARES_DEPENDENT_LIBS ws2_32 Advapi32)
-+ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lws2_32")
- ENDIF ()
-
-+string (REPLACE ";" " " CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS_LIST}")
-
- # When checking for symbols, we need to make sure we set the proper
- # headers, libraries, and definitions for the detection to work properly
-@@ -554,6 +557,15 @@ CONFIGURE_FILE (ares_build.h.cmake ${PROJECT_BINARY_DIR}/ares_build.h)
- # Write ares_config.h configuration file. This is used only for the build.
- CONFIGURE_FILE (ares_config.h.cmake ${PROJECT_BINARY_DIR}/ares_config.h)
-
-+# Pass required CFLAGS to pkg-config in case of static library
-+IF (CARES_STATIC)
-+ SET (CPPFLAG_CARES_STATICLIB "-DCARES_STATICLIB")
-+ENDIF()
-+
-+# Write ares_config.h configuration file. This is used only for the build.
-+CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY)
-+
-+
-
- # TRANSFORM_MAKEFILE_INC
- #
-@@ -728,6 +740,12 @@ IF (CARES_INSTALL)
- INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" COMPONENT Devel DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
- ENDIF ()
-
-+# pkg-config file
-+IF (CARES_INSTALL)
-+ SET (PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
-+ INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION ${PKGCONFIG_INSTALL_DIR})
-+ENDIF ()
-+
- # Legacy chain-building variables (provided for compatibility with old code).
- # Don't use these, external code should be updated to refer to the aliases directly (e.g., Cares::cares).
- SET (CARES_FOUND 1 CACHE INTERNAL "CARES LIBRARY FOUND")
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/c-ares/c-ares/run-ptest b/meta-oe/recipes-support/c-ares/c-ares/run-ptest
new file mode 100644
index 0000000000..66ffd53889
--- /dev/null
+++ b/meta-oe/recipes-support/c-ares/c-ares/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+./arestest --gtest_filter=-*.Live* --gtest_print_time=0 | sed -E '/^\[ RUN/d ; s/\[ OK \]/PASS: / ; s/\[ DISABLED \]/SKIP: / ; s/\[ FAILED \]/FAIL: /'
+
diff --git a/meta-oe/recipes-support/c-ares/c-ares_1.16.1.bb b/meta-oe/recipes-support/c-ares/c-ares_1.16.1.bb
deleted file mode 100644
index 67dd701807..0000000000
--- a/meta-oe/recipes-support/c-ares/c-ares_1.16.1.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (c) 2012-2014 LG Electronics, Inc.
-SUMMARY = "c-ares is a C library that resolves names asynchronously."
-HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb997454c8d62aa6a47f07a8cd48b006"
-
-PV = "1.16.0+gitr${SRCPV}"
-
-SRC_URI = "\
- git://github.com/c-ares/c-ares.git \
- file://cmake-install-libcares.pc.patch \
- file://0001-fix-configure-error-mv-libcares.pc.cmakein-to-libcar.patch \
-"
-SRCREV = "74a1426ba60e2cd7977e53a22ef839c87415066e"
-
-UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-PACKAGES =+ "${PN}-utils"
-
-FILES_${PN}-utils = "${bindir}"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/c-ares/c-ares_1.27.0.bb b/meta-oe/recipes-support/c-ares/c-ares_1.27.0.bb
new file mode 100644
index 0000000000..2d91ac1731
--- /dev/null
+++ b/meta-oe/recipes-support/c-ares/c-ares_1.27.0.bb
@@ -0,0 +1,30 @@
+# Copyright (c) 2012-2014 LG Electronics, Inc.
+SUMMARY = "c-ares is a C library that resolves names asynchronously."
+HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fdbc58a6da11a9f68aa73c453818decc"
+
+SRC_URI = "https://c-ares.org/download/${BPN}-${PV}.tar.gz \
+ file://run-ptest"
+SRC_URI[sha256sum] = "0a72be66959955c43e2af2fbd03418e82a2bd5464604ec9a62147e37aceb420b"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
+PACKAGECONFIG[manpages] = ""
+PACKAGECONFIG[tests] = "-DCARES_BUILD_TESTS=ON,-DCARES_BUILD_TESTS=OFF,googletest"
+
+inherit cmake manpages pkgconfig ptest
+
+EXTRA_OECMAKE = "-DCARES_STATIC=${@ 'ON' if d.getVar('DISABLE_STATIC') == '' else 'OFF' }"
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}
+ install -m 0755 ${B}/bin/arestest ${D}${PTEST_PATH}
+ install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}
+}
+
+PACKAGE_BEFORE_PN = "${PN}-utils"
+
+FILES:${PN}-utils = "${bindir}"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/c-periphery/c-periphery_2.3.1.bb b/meta-oe/recipes-support/c-periphery/c-periphery_2.3.1.bb
deleted file mode 100644
index effab9de90..0000000000
--- a/meta-oe/recipes-support/c-periphery/c-periphery_2.3.1.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "C-Periphery lib used to access GPIO, LED, PWM, SPI, I2C, MMIO, Serial"
-DESCRIPTION = "A C library for peripheral I/O (GPIO, LED, PWM, SPI, I2C, MMIO, Serial) in Linux"
-
-HOMEPAGE = "https://github.com/vsergeev/c-periphery"
-
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4097ec544cf01e9c7cfc4bdf8e4ed887"
-
-SRC_URI = "git://github.com/vsergeev/c-periphery;protocol=https"
-SRCREV = "23bfa4ab481edbad82a69ee385fc58ce03b63084"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
-
-BBCLASSEXTEND = "native nativesdk"
-
diff --git a/meta-oe/recipes-support/c-periphery/c-periphery_2.4.2.bb b/meta-oe/recipes-support/c-periphery/c-periphery_2.4.2.bb
new file mode 100644
index 0000000000..8e38517448
--- /dev/null
+++ b/meta-oe/recipes-support/c-periphery/c-periphery_2.4.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "C-Periphery lib used to access GPIO, LED, PWM, SPI, I2C, MMIO, Serial"
+DESCRIPTION = "A C library for peripheral I/O (GPIO, LED, PWM, SPI, I2C, MMIO, Serial) in Linux"
+
+HOMEPAGE = "https://github.com/vsergeev/c-periphery"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be30d45bdc453f70a494c149c2168289"
+
+SRC_URI = "git://github.com/vsergeev/c-periphery;protocol=https;branch=master"
+SRCREV = "91f9678d2a35a3af3c633f20165bdde8bea32209"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
+
+BBCLASSEXTEND = "native nativesdk"
+
diff --git a/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb b/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
index 22b9d0bb98..bf62e8416e 100644
--- a/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
+++ b/meta-oe/recipes-support/canonical-multitouch/frame_2.5.0.bb
@@ -2,13 +2,15 @@ SUMMARY = "Frame handles simultaneous touches"
HOMEPAGE = "https://launchpad.net/frame"
-LICENSE = "GPLv3 & LGPLv3"
+LICENSE = "GPL-3.0-only & LGPL-3.0-only"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://COPYING.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
"
-inherit autotools pkgconfig
+inherit autotools pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}"
SRC_URI = "https://launchpad.net/${BPN}/trunk/v${PV}/+download/${BPN}-${PV}.tar.gz \
file://pessimizing-move.patch"
@@ -22,6 +24,6 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--enable-x11, --disable-x11, libxi xext virtual/xserver"
PACKAGE_BEFORE_PN += "${PN}-test"
-FILES_${PN}-test = "${bindir}/frame-test*"
+FILES:${PN}-test = "${bindir}/frame-test*"
SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch b/meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch
index 3b3acab245..4a9d25f326 100644
--- a/meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch
+++ b/meta-oe/recipes-support/canonical-multitouch/geis/0001-libgeis-Compare-the-first-character-of-string-to-nul.patch
@@ -13,6 +13,8 @@ fixes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
libgeis/geis_v1.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/canonical-multitouch/geis/0001-provide-function-declaration-with-prototypes.patch b/meta-oe/recipes-support/canonical-multitouch/geis/0001-provide-function-declaration-with-prototypes.patch
new file mode 100644
index 0000000000..ddad1404f9
--- /dev/null
+++ b/meta-oe/recipes-support/canonical-multitouch/geis/0001-provide-function-declaration-with-prototypes.patch
@@ -0,0 +1,690 @@
+From 05fe9751dfb370b0fb726e95bc36674468116db4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 2 Sep 2022 16:57:51 -0700
+Subject: [PATCH] provide function declaration with prototypes
+
+Fixes build with clang-15+
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libgeis/backend/grail/geis_grail_window_grab.c | 2 +-
+ libgeis/backend/grail/geis_ugsubscription_store.c | 2 +-
+ libgeis/backend/grail/geis_ugsubscription_store.h | 2 +-
+ libgeis/backend/test_fixture/geis_backend_test_fixture.c | 4 ++--
+ libgeis/geis.c | 2 +-
+ libgeis/geis_backend_multiplexor.c | 4 ++--
+ libgeis/geis_backend_multiplexor.h | 2 +-
+ libgeis/geis_class.c | 2 +-
+ libgeis/geis_class.h | 2 +-
+ libgeis/geis_device.c | 2 +-
+ libgeis/geis_device.h | 2 +-
+ libgeis/geis_event_queue.c | 2 +-
+ libgeis/geis_event_queue.h | 2 +-
+ libgeis/geis_filter.c | 2 +-
+ libgeis/geis_filter.h | 2 +-
+ libgeis/geis_filterable.c | 2 +-
+ libgeis/geis_filterable.h | 2 +-
+ libgeis/geis_frame.c | 2 +-
+ libgeis/geis_frame.h | 2 +-
+ libgeis/geis_group.c | 2 +-
+ libgeis/geis_group.h | 2 +-
+ libgeis/geis_region.c | 2 +-
+ libgeis/geis_region.h | 2 +-
+ libgeis/geis_touch.c | 2 +-
+ libgeis/geis_touch.h | 2 +-
+ libgeis/server/geis_dbus_client_proxy.c | 2 +-
+ libgeis/server/geis_dbus_proxy_box.c | 2 +-
+ libgeis/server/geis_dbus_proxy_box.h | 2 +-
+ libs/geis-dbus/geis_dbus_dispatcher.c | 2 +-
+ libs/geis-util/geis_logging.c | 2 +-
+ testsuite/geis1/check_gesture_attrs.c | 2 +-
+ testsuite/geis1/check_gesture_types.c | 2 +-
+ testsuite/geis1/check_instance.c | 2 +-
+ testsuite/geis1/check_subscription.c | 2 +-
+ testsuite/geis2/check_attr.c | 2 +-
+ testsuite/geis2/check_class.c | 2 +-
+ testsuite/geis2/check_config.c | 2 +-
+ testsuite/geis2/check_device.c | 2 +-
+ testsuite/geis2/check_error_codes.c | 2 +-
+ testsuite/geis2/check_event.c | 2 +-
+ testsuite/geis2/check_filter.c | 2 +-
+ testsuite/geis2/check_frame.c | 2 +-
+ testsuite/geis2/check_geis_new.c | 2 +-
+ testsuite/geis2/check_general_types.c | 2 +-
+ testsuite/geis2/check_region.c | 2 +-
+ testsuite/geis2/check_subscription.c | 2 +-
+ tools/geis-server/geis-server.c | 2 +-
+ 47 files changed, 49 insertions(+), 49 deletions(-)
+
+diff --git a/libgeis/backend/grail/geis_grail_window_grab.c b/libgeis/backend/grail/geis_grail_window_grab.c
+index 003adee..f8480ac 100644
+--- a/libgeis/backend/grail/geis_grail_window_grab.c
++++ b/libgeis/backend/grail/geis_grail_window_grab.c
+@@ -49,7 +49,7 @@ static const GeisFloat _geis_grail_window_grab_store_growth_factor = 1.7;
+
+
+ static GeisGrailWindowGrabStore
+-_window_grab_allocate()
++_window_grab_allocate(void)
+ {
+ GeisGrailWindowGrabStore wgs = malloc(sizeof(struct GeisGrailWindowGrabStore));
+ if (!wgs)
+diff --git a/libgeis/backend/grail/geis_ugsubscription_store.c b/libgeis/backend/grail/geis_ugsubscription_store.c
+index bb1f0bb..cb7e620 100644
+--- a/libgeis/backend/grail/geis_ugsubscription_store.c
++++ b/libgeis/backend/grail/geis_ugsubscription_store.c
+@@ -42,7 +42,7 @@ static const GeisFloat _geis_grail_ugsubscription_store_growth_factor = 1.7;
+ * Creates a new, empty grail subscription store.
+ */
+ GeisUGSubscriptionStore
+-geis_ugsubscription_store_new()
++geis_ugsubscription_store_new(void)
+ {
+ GeisUGSubscriptionStore store = geis_bag_new(sizeof(struct GeisUGSubscription),
+ _geis_grail_ugsubscription_store_default_size,
+diff --git a/libgeis/backend/grail/geis_ugsubscription_store.h b/libgeis/backend/grail/geis_ugsubscription_store.h
+index a93e1b6..06273ef 100644
+--- a/libgeis/backend/grail/geis_ugsubscription_store.h
++++ b/libgeis/backend/grail/geis_ugsubscription_store.h
+@@ -41,7 +41,7 @@ typedef GeisBag GeisUGSubscriptionStore;
+ * @returns a pointer to a valid store, or NULL to indicate failure.
+ */
+ GeisUGSubscriptionStore
+-geis_ugsubscription_store_new();
++geis_ugsubscription_store_new(void);
+
+ /**
+ * Destroys a grail subscription store.
+diff --git a/libgeis/backend/test_fixture/geis_backend_test_fixture.c b/libgeis/backend/test_fixture/geis_backend_test_fixture.c
+index 5912acb..099cde4 100644
+--- a/libgeis/backend/test_fixture/geis_backend_test_fixture.c
++++ b/libgeis/backend/test_fixture/geis_backend_test_fixture.c
+@@ -434,7 +434,7 @@ _token_free_subscription_pdata(GeisBackendToken gbtoken GEIS_UNUSED,
+ }
+
+ __attribute__((constructor))
+-static void _register_test_fixture()
++static void _register_test_fixture(void)
+ {
+ geis_register_backend(GEIS_INIT_MOCK_BACKEND,
+ sizeof(struct GeisBackendTestFixture),
+@@ -444,6 +444,6 @@ static void _register_test_fixture()
+
+ /* A dummy routine to force linkage of this module without dlopening it */
+ void
+-geis_include_backend_test_fixture()
++geis_include_backend_test_fixture(void)
+ {
+ }
+diff --git a/libgeis/geis.c b/libgeis/geis.c
+index 4290d19..3f7bd12 100644
+--- a/libgeis/geis.c
++++ b/libgeis/geis.c
+@@ -402,7 +402,7 @@ geis_filterable_attribute_foreach(Geis geis,
+ * Creates a new empty Geis API instance.
+ */
+ static Geis
+-geis_new_empty()
++geis_new_empty(void)
+ {
+ geis_error_clear(NULL);
+ Geis geis = calloc(1, sizeof(struct _Geis));
+diff --git a/libgeis/geis_backend_multiplexor.c b/libgeis/geis_backend_multiplexor.c
+index 3f80080..0f76198 100644
+--- a/libgeis/geis_backend_multiplexor.c
++++ b/libgeis/geis_backend_multiplexor.c
+@@ -60,7 +60,7 @@ struct _GeisBackendMultiplexor
+ * Creates a new container for callback info.
+ */
+ static CallbackInfoBag
+-_callback_info_bag_new()
++_callback_info_bag_new(void)
+ {
+ CallbackInfoBag cbib = calloc(1, sizeof(struct CallbackInfoBag));
+ if (!cbib)
+@@ -209,7 +209,7 @@ _callback_info_bag_release(CallbackInfoBag cbib, int fd)
+ * Creates a new backend multiplexor.
+ */
+ GeisBackendMultiplexor
+-geis_backend_multiplexor_new()
++geis_backend_multiplexor_new(void)
+ {
+ GeisBackendMultiplexor mx = calloc(1, sizeof(struct _GeisBackendMultiplexor));
+ if (!mx)
+diff --git a/libgeis/geis_backend_multiplexor.h b/libgeis/geis_backend_multiplexor.h
+index ff4c318..8e7102e 100644
+--- a/libgeis/geis_backend_multiplexor.h
++++ b/libgeis/geis_backend_multiplexor.h
+@@ -74,7 +74,7 @@ typedef void (*GeisBackendFdEventCallback)(int fd,
+ /**
+ * Constructs a new back end multiplexor.
+ */
+-GeisBackendMultiplexor geis_backend_multiplexor_new();
++GeisBackendMultiplexor geis_backend_multiplexor_new(void);
+
+ /**
+ * A reasonable default value for the max_events_per_pump parameter to
+diff --git a/libgeis/geis_class.c b/libgeis/geis_class.c
+index e889e4b..5c26a87 100644
+--- a/libgeis/geis_class.c
++++ b/libgeis/geis_class.c
+@@ -46,7 +46,7 @@ static const int gesture_class_bag_growth_constant = 2;
+ * Creates a new class bag,
+ */
+ GeisGestureClassBag
+-geis_gesture_class_bag_new()
++geis_gesture_class_bag_new(void)
+ {
+ GeisGestureClassBag bag = calloc(1, sizeof(struct _GeisGestureClassBag));
+ if (!bag)
+diff --git a/libgeis/geis_class.h b/libgeis/geis_class.h
+index 1d60998..724c353 100644
+--- a/libgeis/geis_class.h
++++ b/libgeis/geis_class.h
+@@ -35,7 +35,7 @@ typedef struct _GeisGestureClassBag *GeisGestureClassBag;
+ /**
+ * Creates a new class bag,
+ */
+-GeisGestureClassBag geis_gesture_class_bag_new();
++GeisGestureClassBag geis_gesture_class_bag_new(void);
+
+ /**
+ * Destroys a gesture class bag.
+diff --git a/libgeis/geis_device.c b/libgeis/geis_device.c
+index 1f61fc1..ff3216b 100644
+--- a/libgeis/geis_device.c
++++ b/libgeis/geis_device.c
+@@ -44,7 +44,7 @@ static const int device_bag_growth_constant = 2;
+
+
+ GeisDeviceBag
+-geis_device_bag_new()
++geis_device_bag_new(void)
+ {
+ GeisDeviceBag bag = calloc(1, sizeof(struct _GeisDeviceBag));
+ if (!bag)
+diff --git a/libgeis/geis_device.h b/libgeis/geis_device.h
+index c411e54..707943b 100644
+--- a/libgeis/geis_device.h
++++ b/libgeis/geis_device.h
+@@ -35,7 +35,7 @@ typedef struct _GeisDeviceBag *GeisDeviceBag;
+ /**
+ * Creates a new device bag,
+ */
+-GeisDeviceBag geis_device_bag_new();
++GeisDeviceBag geis_device_bag_new(void);
+
+ /**
+ * Destroys a device bag.
+diff --git a/libgeis/geis_event_queue.c b/libgeis/geis_event_queue.c
+index 0b7d0fb..f357683 100644
+--- a/libgeis/geis_event_queue.c
++++ b/libgeis/geis_event_queue.c
+@@ -50,7 +50,7 @@ struct _GeisEventQueue
+ * Creates a new Geis Event queue.
+ */
+ GeisEventQueue
+-geis_event_queue_new()
++geis_event_queue_new(void)
+ {
+ GeisEventQueue queue = calloc(1, sizeof(struct _GeisEventQueue));
+ if (!queue)
+diff --git a/libgeis/geis_event_queue.h b/libgeis/geis_event_queue.h
+index e4c186d..5f3da1d 100644
+--- a/libgeis/geis_event_queue.h
++++ b/libgeis/geis_event_queue.h
+@@ -41,7 +41,7 @@ typedef struct _GeisEventQueue *GeisEventQueue;
+ /**
+ * Creates a new Geis Event queue.
+ */
+-GeisEventQueue geis_event_queue_new();
++GeisEventQueue geis_event_queue_new(void);
+
+ /**
+ * Destroys a Geis Event queue.
+diff --git a/libgeis/geis_filter.c b/libgeis/geis_filter.c
+index 4fe5da6..83d65a8 100644
+--- a/libgeis/geis_filter.c
++++ b/libgeis/geis_filter.c
+@@ -57,7 +57,7 @@ static GeisSize s_filter_oid = 0;
+ * Creates a new filter bag,
+ */
+ GeisFilterBag
+-geis_filter_bag_new()
++geis_filter_bag_new(void)
+ {
+ GeisFilterBag bag = calloc(1, sizeof(struct _GeisFilterBag));
+ if (!bag)
+diff --git a/libgeis/geis_filter.h b/libgeis/geis_filter.h
+index 7b613bf..f825bb7 100644
+--- a/libgeis/geis_filter.h
++++ b/libgeis/geis_filter.h
+@@ -42,7 +42,7 @@ typedef GeisFilter *GeisFilterIterator;
+ /**
+ * Creates a new filter bag,
+ */
+-GeisFilterBag geis_filter_bag_new();
++GeisFilterBag geis_filter_bag_new(void);
+
+ /**
+ * Destroys a filter bag.
+diff --git a/libgeis/geis_filterable.c b/libgeis/geis_filterable.c
+index 57bd4ac..5fb4b0c 100644
+--- a/libgeis/geis_filterable.c
++++ b/libgeis/geis_filterable.c
+@@ -40,7 +40,7 @@ struct FilterableAttributeBag
+ * Constructs a new filterable attribute bag.
+ */
+ FilterableAttributeBag
+-geis_filterable_attribute_bag_new()
++geis_filterable_attribute_bag_new(void)
+ {
+ FilterableAttributeBag bag = calloc(1, sizeof(struct FilterableAttributeBag));
+ if (!bag)
+diff --git a/libgeis/geis_filterable.h b/libgeis/geis_filterable.h
+index 6d400fc..63c563d 100644
+--- a/libgeis/geis_filterable.h
++++ b/libgeis/geis_filterable.h
+@@ -86,7 +86,7 @@ geis_filterable_attribute_init(GeisFilterableAttribute fa,
+ * Constructs a new filterable attribute bag.
+ */
+ FilterableAttributeBag
+-geis_filterable_attribute_bag_new();
++geis_filterable_attribute_bag_new(void);
+
+ /**
+ * Destroys a filterable attribute bag.
+diff --git a/libgeis/geis_frame.c b/libgeis/geis_frame.c
+index ebe11a1..068d9aa 100644
+--- a/libgeis/geis_frame.c
++++ b/libgeis/geis_frame.c
+@@ -57,7 +57,7 @@ struct _GeisFrameSet
+ * Creates a new, empty frame set.
+ */
+ GeisFrameSet
+-geis_frameset_new()
++geis_frameset_new(void)
+ {
+ GeisFrameSet frameset = calloc(1, sizeof(struct _GeisFrameSet));
+ if (!frameset)
+diff --git a/libgeis/geis_frame.h b/libgeis/geis_frame.h
+index e0d1eb6..4a4b0ba 100644
+--- a/libgeis/geis_frame.h
++++ b/libgeis/geis_frame.h
+@@ -32,7 +32,7 @@ typedef struct _GeisFrameSet *GeisFrameSet;
+ /**
+ * Creates a new, empty frame set.
+ */
+-GeisFrameSet geis_frameset_new();
++GeisFrameSet geis_frameset_new(void);
+
+ /**
+ * Destroys a frame set and all framees contained in it.
+diff --git a/libgeis/geis_group.c b/libgeis/geis_group.c
+index 0829bd4..4c51a39 100644
+--- a/libgeis/geis_group.c
++++ b/libgeis/geis_group.c
+@@ -42,7 +42,7 @@ struct _GeisGroupSet
+ * Creates a new, empty group set.
+ */
+ GeisGroupSet
+-geis_groupset_new()
++geis_groupset_new(void)
+ {
+ GeisGroupSet groupset = calloc(1, sizeof(struct _GeisGroupSet));
+ if (!groupset)
+diff --git a/libgeis/geis_group.h b/libgeis/geis_group.h
+index 76e0efc..c44ce62 100644
+--- a/libgeis/geis_group.h
++++ b/libgeis/geis_group.h
+@@ -31,7 +31,7 @@
+ /**
+ * Creates a new, empty group set.
+ */
+-GeisGroupSet geis_groupset_new();
++GeisGroupSet geis_groupset_new(void);
+
+ /**
+ * Destroys a group set and all groups contained in it.
+diff --git a/libgeis/geis_region.c b/libgeis/geis_region.c
+index fc8cc1e..18181cb 100644
+--- a/libgeis/geis_region.c
++++ b/libgeis/geis_region.c
+@@ -52,7 +52,7 @@ static const int region_bag_growth_constant = 2;
+ * Constructs a region bag.
+ */
+ GeisRegionBag
+-geis_region_bag_new()
++geis_region_bag_new(void)
+ {
+ GeisRegionBag bag = calloc(1, sizeof(struct _GeisRegionBag));
+ if (!bag)
+diff --git a/libgeis/geis_region.h b/libgeis/geis_region.h
+index 53a52b8..18d908f 100644
+--- a/libgeis/geis_region.h
++++ b/libgeis/geis_region.h
+@@ -49,7 +49,7 @@ typedef struct _GeisRegionBag *GeisRegionBag;
+ /**
+ * Creates a new region bag.
+ */
+-GeisRegionBag geis_region_bag_new();
++GeisRegionBag geis_region_bag_new(void);
+
+ /**
+ * Destroys a region bag.
+diff --git a/libgeis/geis_touch.c b/libgeis/geis_touch.c
+index 74d1b3e..be0f1a7 100644
+--- a/libgeis/geis_touch.c
++++ b/libgeis/geis_touch.c
+@@ -43,7 +43,7 @@ struct _GeisTouchSet
+ * Creates a new, empty touch set.
+ */
+ GeisTouchSet
+-geis_touchset_new()
++geis_touchset_new(void)
+ {
+ GeisTouchSet touchset = calloc(1, sizeof(struct _GeisTouchSet));
+ if (!touchset)
+diff --git a/libgeis/geis_touch.h b/libgeis/geis_touch.h
+index 62af610..b64c755 100644
+--- a/libgeis/geis_touch.h
++++ b/libgeis/geis_touch.h
+@@ -30,7 +30,7 @@
+ /**
+ * Creates a new, empty touch set.
+ */
+-GeisTouchSet geis_touchset_new();
++GeisTouchSet geis_touchset_new(void);
+
+ /**
+ * Destroys a touch set and all touches contained in it.
+diff --git a/libgeis/server/geis_dbus_client_proxy.c b/libgeis/server/geis_dbus_client_proxy.c
+index 3f1af47..65f229b 100644
+--- a/libgeis/server/geis_dbus_client_proxy.c
++++ b/libgeis/server/geis_dbus_client_proxy.c
+@@ -52,7 +52,7 @@ struct GeisDBusClientProxy
+ * failure.
+ */
+ GeisDBusClientProxy
+-_client_proxy_allocate()
++_client_proxy_allocate(void)
+ {
+ GeisDBusClientProxy proxy = calloc(1, sizeof(struct GeisDBusClientProxy));
+ return proxy;
+diff --git a/libgeis/server/geis_dbus_proxy_box.c b/libgeis/server/geis_dbus_proxy_box.c
+index 4c7752a..f129bc3 100644
+--- a/libgeis/server/geis_dbus_proxy_box.c
++++ b/libgeis/server/geis_dbus_proxy_box.c
+@@ -49,7 +49,7 @@ struct GeisDBusProxyBox
+ * Constructs a %GeisDBusProxyBox.
+ */
+ GeisDBusProxyBox
+-geis_dbus_proxy_box_new()
++geis_dbus_proxy_box_new(void)
+ {
+ GeisDBusProxyBox box = calloc(1, sizeof(struct GeisDBusProxyBox));
+ if (!box)
+diff --git a/libgeis/server/geis_dbus_proxy_box.h b/libgeis/server/geis_dbus_proxy_box.h
+index d8a70f5..47e84b7 100644
+--- a/libgeis/server/geis_dbus_proxy_box.h
++++ b/libgeis/server/geis_dbus_proxy_box.h
+@@ -47,7 +47,7 @@ typedef struct GeisDBusProxyBoxNode *GeisDBusProxyBoxIterator;
+ * @returns a valid %GeisDBusProxyBox or NULL on failure.
+ */
+ GeisDBusProxyBox
+-geis_dbus_proxy_box_new();
++geis_dbus_proxy_box_new(void);
+
+ /**
+ * Destroys a %GeisDBusProxyBox.
+diff --git a/libs/geis-dbus/geis_dbus_dispatcher.c b/libs/geis-dbus/geis_dbus_dispatcher.c
+index 10c4134..d8a3f9d 100644
+--- a/libs/geis-dbus/geis_dbus_dispatcher.c
++++ b/libs/geis-dbus/geis_dbus_dispatcher.c
+@@ -82,7 +82,7 @@ struct GeisDBusDispatcher
+ * assumption that if you're creating a bag you're going to use it.
+ */
+ static GeisDBusWatchBag
+-_geis_dbus_watch_bag_new()
++_geis_dbus_watch_bag_new(void)
+ {
+ GeisDBusWatchBag bag = calloc(1, sizeof(struct GeisDBusWatchBag));
+ if (!bag)
+diff --git a/libs/geis-util/geis_logging.c b/libs/geis-util/geis_logging.c
+index a02077b..030a591 100644
+--- a/libs/geis-util/geis_logging.c
++++ b/libs/geis-util/geis_logging.c
+@@ -31,7 +31,7 @@ static const char *error_marker = "error";
+
+
+ static int
+-reporting_level()
++reporting_level(void)
+ {
+ char *level = getenv("GEIS_DEBUG");
+ if (level)
+diff --git a/testsuite/geis1/check_gesture_attrs.c b/testsuite/geis1/check_gesture_attrs.c
+index 2228d2f..d990c7c 100644
+--- a/testsuite/geis1/check_gesture_attrs.c
++++ b/testsuite/geis1/check_gesture_attrs.c
+@@ -169,7 +169,7 @@ END_TEST
+
+
+ Suite *
+-geis1_gesture_attrs_new()
++geis1_gesture_attrs_new(void)
+ {
+ Suite *s = suite_create("geis1_gesture_attrs");
+ TCase *test;
+diff --git a/testsuite/geis1/check_gesture_types.c b/testsuite/geis1/check_gesture_types.c
+index 3492062..980f8fb 100644
+--- a/testsuite/geis1/check_gesture_types.c
++++ b/testsuite/geis1/check_gesture_types.c
+@@ -62,7 +62,7 @@ START_TEST(gesture_types)
+ END_TEST
+
+ Suite *
+-geis1_gesture_types_new()
++geis1_gesture_types_new(void)
+ {
+ Suite *s = suite_create("geis1_gesture_types");
+ TCase *test;
+diff --git a/testsuite/geis1/check_instance.c b/testsuite/geis1/check_instance.c
+index ac897ab..584abfd 100644
+--- a/testsuite/geis1/check_instance.c
++++ b/testsuite/geis1/check_instance.c
+@@ -44,7 +44,7 @@ END_TEST
+
+
+ Suite *
+-geis1_instance_suite_new()
++geis1_instance_suite_new(void)
+ {
+ TCase *create;
+ Suite *s = suite_create("geis1_instance_suite");
+diff --git a/testsuite/geis1/check_subscription.c b/testsuite/geis1/check_subscription.c
+index 0797337..e69c332 100644
+--- a/testsuite/geis1/check_subscription.c
++++ b/testsuite/geis1/check_subscription.c
+@@ -146,7 +146,7 @@ END_TEST
+
+
+ Suite *
+-geis1_subscription_new()
++geis1_subscription_new(void)
+ {
+ Suite *s = suite_create("geis1_subscription");
+ TCase *test;
+diff --git a/testsuite/geis2/check_attr.c b/testsuite/geis2/check_attr.c
+index 9e01219..58c8ebc 100644
+--- a/testsuite/geis2/check_attr.c
++++ b/testsuite/geis2/check_attr.c
+@@ -42,7 +42,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_attr_suite_new()
++geis2_attr_suite_new(void)
+ {
+ Suite *s = suite_create("geis2_attr");
+
+diff --git a/testsuite/geis2/check_class.c b/testsuite/geis2/check_class.c
+index ca7accd..b60d827 100644
+--- a/testsuite/geis2/check_class.c
++++ b/testsuite/geis2/check_class.c
+@@ -92,7 +92,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_gesture_class_suite_new()
++geis2_gesture_class_suite_new(void)
+ {
+ TCase *gesture_class;
+ TCase *usage;
+diff --git a/testsuite/geis2/check_config.c b/testsuite/geis2/check_config.c
+index a9fc9c1..03b3137 100644
+--- a/testsuite/geis2/check_config.c
++++ b/testsuite/geis2/check_config.c
+@@ -48,7 +48,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_config_suite_new()
++geis2_config_suite_new(void)
+ {
+ Suite *s = suite_create("geis2_configuration");
+
+diff --git a/testsuite/geis2/check_device.c b/testsuite/geis2/check_device.c
+index 8b3b7be..9583cb5 100644
+--- a/testsuite/geis2/check_device.c
++++ b/testsuite/geis2/check_device.c
+@@ -99,7 +99,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_device_suite_new()
++geis2_device_suite_new(void)
+ {
+ TCase *device;
+ TCase *usage;
+diff --git a/testsuite/geis2/check_error_codes.c b/testsuite/geis2/check_error_codes.c
+index 9c7508d..57e7fc7 100644
+--- a/testsuite/geis2/check_error_codes.c
++++ b/testsuite/geis2/check_error_codes.c
+@@ -20,7 +20,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_error_codes_suite_new()
++geis2_error_codes_suite_new(void)
+ {
+ Suite *s = suite_create("geis2_error_codes");
+
+diff --git a/testsuite/geis2/check_event.c b/testsuite/geis2/check_event.c
+index 8ecda1d..c752a30 100644
+--- a/testsuite/geis2/check_event.c
++++ b/testsuite/geis2/check_event.c
+@@ -43,7 +43,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_event_suite_new()
++geis2_event_suite_new(void)
+ {
+ Suite *s = suite_create("geis2_event");
+
+diff --git a/testsuite/geis2/check_filter.c b/testsuite/geis2/check_filter.c
+index 3272a2a..afa23e5 100644
+--- a/testsuite/geis2/check_filter.c
++++ b/testsuite/geis2/check_filter.c
+@@ -67,7 +67,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_filter_suite_new()
++geis2_filter_suite_new(void)
+ {
+ TCase *filter;
+ TCase *usage;
+diff --git a/testsuite/geis2/check_frame.c b/testsuite/geis2/check_frame.c
+index dce6faf..3ea3db0 100644
+--- a/testsuite/geis2/check_frame.c
++++ b/testsuite/geis2/check_frame.c
+@@ -172,7 +172,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_gesture_frame_suite_new()
++geis2_gesture_frame_suite_new(void)
+ {
+ Suite *s = suite_create("geis2_gesture_frame");
+ TCase *gesture_frame;
+diff --git a/testsuite/geis2/check_geis_new.c b/testsuite/geis2/check_geis_new.c
+index 1fb8de2..36cd3e9 100644
+--- a/testsuite/geis2/check_geis_new.c
++++ b/testsuite/geis2/check_geis_new.c
+@@ -32,7 +32,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_geis_new_suite_new()
++geis2_geis_new_suite_new(void)
+ {
+ Suite *s = suite_create("geis2_geis_init");
+
+diff --git a/testsuite/geis2/check_general_types.c b/testsuite/geis2/check_general_types.c
+index 79e29bb..0f463d4 100644
+--- a/testsuite/geis2/check_general_types.c
++++ b/testsuite/geis2/check_general_types.c
+@@ -20,7 +20,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_general_types_suite_new()
++geis2_general_types_suite_new(void)
+ {
+ Suite *s = suite_create("geis2_general_types");
+ TCase *create;
+diff --git a/testsuite/geis2/check_region.c b/testsuite/geis2/check_region.c
+index 3e64e0c..606350a 100644
+--- a/testsuite/geis2/check_region.c
++++ b/testsuite/geis2/check_region.c
+@@ -48,7 +48,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_region_suite_new()
++geis2_region_suite_new(void)
+ {
+ Suite *s = suite_create("geis2_region");
+ TCase *creation;
+diff --git a/testsuite/geis2/check_subscription.c b/testsuite/geis2/check_subscription.c
+index a45c4ad..17a6779 100644
+--- a/testsuite/geis2/check_subscription.c
++++ b/testsuite/geis2/check_subscription.c
+@@ -161,7 +161,7 @@ END_TEST
+
+ /* boilerplate */
+ Suite *
+-geis2_subscription_suite_new()
++geis2_subscription_suite_new(void)
+ {
+ TCase *create;
+ TCase *usage;
+diff --git a/tools/geis-server/geis-server.c b/tools/geis-server/geis-server.c
+index 97c8b99..6600d8f 100644
+--- a/tools/geis-server/geis-server.c
++++ b/tools/geis-server/geis-server.c
+@@ -23,7 +23,7 @@
+
+
+ int
+-main()
++main(void)
+ {
+ GeisStatus status;
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/canonical-multitouch/geis/fix-indentation-for-gcc6.patch b/meta-oe/recipes-support/canonical-multitouch/geis/fix-indentation-for-gcc6.patch
index 389e1b3fd7..7f55ed9eaf 100644
--- a/meta-oe/recipes-support/canonical-multitouch/geis/fix-indentation-for-gcc6.patch
+++ b/meta-oe/recipes-support/canonical-multitouch/geis/fix-indentation-for-gcc6.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- geis-2.2.17/libgeis/geis_subscription.c.orig 2016-06-17 12:04:21.062938443 -0400
+++ geis-2.2.17/libgeis/geis_subscription.c 2016-06-17 12:05:02.934939172 -0400
@@ -237,9 +237,10 @@
diff --git a/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb b/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
index b9858d279d..139649b975 100644
--- a/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
+++ b/meta-oe/recipes-support/canonical-multitouch/geis_2.2.17.bb
@@ -7,7 +7,7 @@ system-wide input gesture recognition mechanism."
HOMEPAGE = "https://launchpad.net/geis"
-LICENSE = "GPLv3 & LGPLv3"
+LICENSE = "GPL-3.0-only & LGPL-3.0-only"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6 \
file://COPYING.GPL;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
@@ -15,13 +15,14 @@ LIC_FILES_CHKSUM = " \
inherit autotools pkgconfig python3native lib_package features_check
-REQUIRED_DISTRO_FEATURES = "x11"
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
DEPENDS += "grail dbus-glib python3 virtual/libx11 libxext libxi libxcb dbus frame"
SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.xz \
file://fix-indentation-for-gcc6.patch \
file://0001-libgeis-Compare-the-first-character-of-string-to-nul.patch \
+ file://0001-provide-function-declaration-with-prototypes.patch \
"
UPSTREAM_CHECK_URI = "https://launchpad.net/geis/trunk"
@@ -31,8 +32,8 @@ SRC_URI[sha256sum] = "8a60f5683852094038904e690d23cc5a90a980fc52da67f0f28890baa2
EXTRA_OECONF = "--disable-integration-tests"
-FILES_${PN}-bin = "${bindir}"
-RDEPENDS_${PN}-bin = " \
+FILES:${PN}-bin = "${bindir}"
+RDEPENDS:${PN}-bin = " \
python3-compression \
python3-core \
python3-crypt \
@@ -45,14 +46,14 @@ RDEPENDS_${PN}-bin = " \
python3-threading \
"
-FILES_${PN} += " \
+FILES:${PN} += " \
${datadir}/geisview \
- ${libdir}/${PYTHON_DIR}/site-packages/geis* \
- ${libdir}/${PYTHON_DIR}/site-packages/_*.so \
+ ${PYTHON_SITEPACKAGES_DIR}/geis* \
+ ${PYTHON_SITEPACKAGES_DIR}/_*.so \
"
-FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
+FILES:${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug"
-FILES_${PN}-dev += "${libdir}/${PYTHON_DIR}/site-packages/_*.la"
+FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/_*.la"
-FILES_${PN}-staticdev += "${libdir}/${PYTHON_DIR}/site-packages/_*.a"
+FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/_*.a"
diff --git a/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb b/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
index e1d3777252..067052c036 100644
--- a/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
+++ b/meta-oe/recipes-support/canonical-multitouch/grail_3.1.1.bb
@@ -2,16 +2,16 @@ SUMMARY = "Gesture Recognition And Instantiation Library"
HOMEPAGE = "https://launchpad.net/grail"
-LICENSE = "GPLv3 & LGPLv3"
+LICENSE = "GPL-3.0-only & LGPL-3.0-only"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://COPYING.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
"
-inherit autotools pkgconfig
+inherit autotools pkgconfig features_check
DEPENDS = "frame"
-CXXFLAGS_append_toolchain-clang = " -Wno-pessimizing-move"
+CXXFLAGS:append:toolchain-clang = " -Wno-pessimizing-move"
SRC_URI = "https://launchpad.net/${BPN}/trunk/${PV}/+download/${BPN}-${PV}.tar.bz2"
UPSTREAM_CHECK_URI = "https://launchpad.net/grail/trunk"
@@ -19,9 +19,11 @@ UPSTREAM_CHECK_URI = "https://launchpad.net/grail/trunk"
SRC_URI[md5sum] = "0df1b3ec6167920f310e2effe6e2ad44"
SRC_URI[sha256sum] = "5eed1f650f042481daa3a2de5e7d43261fe343b2a1b1e240f3b7fc26572c9df3"
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}"
+
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
PACKAGECONFIG[x11] = "--with-x11, --without-x11, libxi"
PACKAGE_BEFORE_PN += "${PN}-test"
-FILES_${PN}-test = "${bindir}/grail-test*"
+FILES:${PN}-test = "${bindir}/grail-test*"
SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch b/meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch
index 586ff18c32..e39e7ddd3d 100644
--- a/meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch
+++ b/meta-oe/recipes-support/ccid/ccid/0001-Add-build-rule-for-README.patch
@@ -1,22 +1,24 @@
+From c82680a21c7411ba63e5815786eeb471720faa29 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Wed, 6 Nov 2019 20:10:09 +0800
Subject: [PATCH] Add build rule for README.
fix do_configure error:
Makefile.am: required file `./README' not found
+Upstream-Status: Pending
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+
---
Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.am b/Makefile.am
-index 49574a3..a5a7c2a 100644
+index e77c4c4..fd77ecd 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -26,3 +26,4 @@ libtool: $(LIBTOOL_DEPS)
+@@ -27,3 +27,4 @@ libtool: $(LIBTOOL_DEPS)
ChangeLog:
git log --stat --decorate=short > $@
+README: README.md
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch
deleted file mode 100644
index 477cc31ad2..0000000000
--- a/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-No need to link with libfl.
-
-Upstream-Status: Pending
-Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
-
-Index: ccid-1.4.8/src/Makefile.am
-===================================================================
---- ccid-1.4.8.orig/src/Makefile.am
-+++ ccid-1.4.8/src/Makefile.am
-@@ -53,7 +53,7 @@ PROVIDED_BY_PCSC = debug.c
- endif
-
- libccid_la_SOURCES = $(COMMON) $(USB) $(TOKEN_PARSER) $(PROVIDED_BY_PCSC) $(T1)
--libccid_la_LIBADD = $(LEXLIB) $(LIBUSB_LIBS) $(PTHREAD_LIBS)
-+libccid_la_LIBADD = $(LIBUSB_LIBS) $(PTHREAD_LIBS)
- libccid_la_CFLAGS = $(PCSC_CFLAGS) $(LIBUSB_CFLAGS) $(PTHREAD_CFLAGS) \
- $(SYMBOL_VISIBILITY) -D$(CCID_VERSION) -DSIMCLIST_NO_DUMPRESTORE
- libccid_la_LDFLAGS = -avoid-version
diff --git a/meta-oe/recipes-support/ccid/ccid_1.4.33.bb b/meta-oe/recipes-support/ccid/ccid_1.4.33.bb
deleted file mode 100644
index 3c58894253..0000000000
--- a/meta-oe/recipes-support/ccid/ccid_1.4.33.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Generic USB CCID smart card reader driver"
-HOMEPAGE = "https://ccid.apdu.fr/"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-DEPENDS = "virtual/libusb0 pcsc-lite"
-RDEPENDS_${PN} = "pcsc-lite"
-
-SRC_URI = "https://ccid.apdu.fr/files/ccid-${PV}.tar.bz2 \
- file://no-dep-on-libfl.patch \
- file://0001-Add-build-rule-for-README.patch \
-"
-
-SRC_URI[md5sum] = "b11907894ce2d345439635e2b967e7e5"
-SRC_URI[sha256sum] = "5256da939711deb42b74d05d2bd6bd0c73c4d564feb0c1a50212609eb680e424"
-
-inherit autotools pkgconfig
-
-FILES_${PN} += "${libdir}/pcsc/"
-FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/meta-oe/recipes-support/ccid/ccid_1.5.5.bb b/meta-oe/recipes-support/ccid/ccid_1.5.5.bb
new file mode 100644
index 0000000000..e76881916e
--- /dev/null
+++ b/meta-oe/recipes-support/ccid/ccid_1.5.5.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Generic USB CCID smart card reader driver"
+HOMEPAGE = "https://ccid.apdu.fr/"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "autoconf-archive-native virtual/libusb0 pcsc-lite"
+RDEPENDS:${PN} = "pcsc-lite"
+
+SRC_URI = "https://ccid.apdu.fr/files/ccid-${PV}.tar.bz2 \
+ file://0001-Add-build-rule-for-README.patch \
+"
+
+SRC_URI[sha256sum] = "194708f75fe369d45dd7c15e8b3e8a7db8b49cfc5557574ca2a2e76ef12ca0ca"
+
+inherit autotools pkgconfig
+
+FILES:${PN} += "${libdir}/pcsc/"
+FILES:${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug"
diff --git a/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb b/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb
deleted file mode 100644
index 28d0868c48..0000000000
--- a/meta-oe/recipes-support/ceres-solver/ceres-solver_2.0.0.bb
+++ /dev/null
@@ -1,34 +0,0 @@
-DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
-AUTHOR = "Sameer Agarwal and Keir Mierle and Others"
-HOMEPAGE = "http://ceres-solver.org/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=bb761279816b72be19d7ce646e4e2a14"
-
-DEPENDS = "libeigen glog"
-
-SRC_URI = "git://github.com/ceres-solver/ceres-solver.git"
-SRCREV = "399cda773035d99eaf1f4a129a666b3c4df9d1b1"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-# We don't want path to eigen3 in ceres-solver RSS to be
-# used by components which use CeresConfig.cmake from their
-# own RSS
-# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(Eigen3_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/share/eigen3/cmake)
-# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: list(APPEND EIGEN_INCLUDE_DIR_HINTS ceres-solver/1.14-r0/recipe-sysroot/usr/include/eigen3)
-# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog)
-SSTATE_SCAN_FILES += "*.cmake"
-
-PACKAGECONFIG ??= ""
-
-# suitesparse* recipes will be in meta-ros layer
-PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr"
-PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse"
-PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack"
-
-# Only a static library and headers are created
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
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
new file mode 100644
index 0000000000..18db0721de
--- /dev/null
+++ b/meta-oe/recipes-support/ceres-solver/ceres-solver_2.2.0.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems."
+HOMEPAGE = "http://ceres-solver.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3585a26c9cd9ec0cb36a7d65542878ca"
+
+DEPENDS = "libeigen glog"
+
+SRC_URI = "git://github.com/ceres-solver/ceres-solver.git;branch=master;protocol=https"
+SRCREV = "85331393dc0dff09f6fb9903ab0c4bfa3e134b01"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+do_configure:prepend() {
+ # otherwise https://github.com/ceres-solver/ceres-solver/blob/0b748597889f460764f6c980a00c6f502caa3875/cmake/AddGerritCommitHook.cmake#L68
+ # will try to fetch https://ceres-solver-review.googlesource.com/tools/hooks/commit-msg durind do_configure
+ # which sometimes gets stuck (as there is no TIMEOUT set in DOWNLOAD)
+ # and we really don't need Gerrit's Change-Id tags when just building this
+ touch ${S}/.git/hooks/commit-msg
+}
+
+# We don't want path to eigen3 in ceres-solver RSS to be
+# used by components which use CeresConfig.cmake from their
+# own RSS
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(Eigen3_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/share/eigen3/cmake)
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: list(APPEND EIGEN_INCLUDE_DIR_HINTS ceres-solver/1.14-r0/recipe-sysroot/usr/include/eigen3)
+# ceres-solver/1.14-r0/packages-split/ceres-solver-dev/usr/lib/cmake/Ceres/CeresConfig.cmake: set(glog_DIR ceres-solver/1.14-r0/recipe-sysroot/usr/lib/cmake/glog)
+SSTATE_SCAN_FILES += "*.cmake"
+
+PACKAGECONFIG ??= ""
+
+# suitesparse* recipes will be in meta-ros layer
+PACKAGECONFIG[suitesparse] = "-DSUITESPARSE=ON,-DSUITESPARSE=OFF,suitesparse-config suitesparse-amd suitesparse-camd suitesparse-colamd suitesparse-ccolamd suitesparse-cholmod suitesparse-metis suitesparse-spqr"
+PACKAGECONFIG[cxsparse] = "-DCXSPARSE=ON,-DCXSPARSE=OFF,suitesparse-cxsparse"
+PACKAGECONFIG[lapack] = "-DLAPACK=ON,-DLAPACK=OFF,lapack"
+
+# Only a static library and headers are created
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dev = "${PN}-staticdev"
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-support/ckermit/ckermit/0001-Fix-function-prototype-errors.patch b/meta-oe/recipes-support/ckermit/ckermit/0001-Fix-function-prototype-errors.patch
new file mode 100644
index 0000000000..306a2ee52a
--- /dev/null
+++ b/meta-oe/recipes-support/ckermit/ckermit/0001-Fix-function-prototype-errors.patch
@@ -0,0 +1,106 @@
+From f73eade85b7a1b93f7b9ef6ca9ead9d2441f8f84 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 19:01:38 -0700
+Subject: [PATCH] Fix function prototype errors
+
+Clang 15 is strict, therefore ensure that right headers are pulled in
+and also right function prototypes are used.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ckcmai.c | 4 ++++
+ ckucmd.c | 2 +-
+ ckucmd.h | 2 --
+ ckucon.c | 2 +-
+ ckufio.c | 2 +-
+ ckuusx.c | 2 +-
+ 6 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/ckcmai.c b/ckcmai.c
+index a5640e5..a4e322d 100644
+--- a/ckcmai.c
++++ b/ckcmai.c
+@@ -561,6 +561,10 @@ ACKNOWLEDGMENTS:
+ #include "ckntap.h"
+ #endif /* NT */
+
++#ifndef VMS
++#include <time.h> /* time() */
++#endif
++
+ #ifndef NOSERVER
+ /* Text message definitions.. each should be 256 chars long, or less. */
+ #ifdef MINIX
+diff --git a/ckucmd.c b/ckucmd.c
+index 274dc2d..730f20d 100644
+--- a/ckucmd.c
++++ b/ckucmd.c
+@@ -7356,7 +7356,7 @@ cmdgetc(timelimit) int timelimit; { /* Get a character from the tty. */
+ Returns 0 or greater always.
+ */
+ int
+-cmdconchk() {
++cmdconchk(void) {
+ int x = 0, y;
+ y = pushc ? 1 : 0; /* Have command character pushed? */
+ #ifdef OS2
+diff --git a/ckucmd.h b/ckucmd.h
+index 7cd4ced..5c43cc4 100644
+--- a/ckucmd.h
++++ b/ckucmd.h
+@@ -280,9 +280,7 @@ _PROTOTYP( int cmdsquo, (int) );
+ _PROTOTYP( int cmdgquo, (void) );
+ _PROTOTYP( char * ckcvtdate, (char *, int) );
+ _PROTOTYP( int cmdgetc, (int));
+-#ifndef NOARROWKEYS
+ _PROTOTYP( int cmdconchk, (void) );
+-#endif /* NOARROWKEYS */
+
+ #ifdef CK_RECALL
+ _PROTOTYP( char * cmgetcmd, (char *) );
+diff --git a/ckucon.c b/ckucon.c
+index 50ceb7e..954719e 100644
+--- a/ckucon.c
++++ b/ckucon.c
+@@ -39,8 +39,8 @@ _PROTOTYP( static VOID concld, (void) );
+
+ #ifdef NEXT
+ #undef NSIG
+-#include <sys/wait.h> /* For wait() */
+ #endif /* NEXT */
++#include <sys/wait.h> /* For wait() */
+
+ #include <signal.h> /* Signals */
+
+diff --git a/ckufio.c b/ckufio.c
+index b5bfaae..2a8d4e5 100644
+--- a/ckufio.c
++++ b/ckufio.c
+@@ -142,8 +142,8 @@ _PROTOTYP( int parser, ( int ) );
+
+ #ifdef UNIX /* Pointer arg to wait() allowed */
+ #define CK_CHILD /* Assume this is safe in all UNIX */
++#include <sys/wait.h> /* wait() API */
+ #endif /* UNIX */
+-
+ extern int binary, recursive, stathack;
+ #ifdef CK_CTRLZ
+ extern int eofmethod;
+diff --git a/ckuusx.c b/ckuusx.c
+index d332bed..253f992 100644
+--- a/ckuusx.c
++++ b/ckuusx.c
+@@ -9144,7 +9144,7 @@ char *s; /* a string */
+ #ifndef CK_CURPOS
+ /* Dummies for when cursor control is not supported */
+ int
+-ck_curpos(row, col) {
++ck_curpos(int row, int col) {
+ return(-1);
+ }
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/ckermit/ckermit_302.bb b/meta-oe/recipes-support/ckermit/ckermit_302.bb
index abeeeccd1d..53f2b9d2c5 100644
--- a/meta-oe/recipes-support/ckermit/ckermit_302.bb
+++ b/meta-oe/recipes-support/ckermit/ckermit_302.bb
@@ -8,7 +8,9 @@ SECTION = "console/network"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.TXT;md5=932ca542d6c6cb8a59a0bcd76ab67cc3"
-SRC_URI = "http://www.kermitproject.org/ftp/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}"
+SRC_URI = "http://www.kermitproject.org/ftp/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV} \
+ file://0001-Fix-function-prototype-errors.patch \
+ "
SRC_URI[md5sum] = "eac4dbf18b45775e4cdee5a7c74762b0"
SRC_URI[sha256sum] = "0d5f2cd12bdab9401b4c836854ebbf241675051875557783c332a6a40dac0711"
diff --git a/meta-oe/recipes-support/cli11/cli11/0001-Do-not-download-the-catch-framework-during-configure.patch b/meta-oe/recipes-support/cli11/cli11/0001-Do-not-download-the-catch-framework-during-configure.patch
new file mode 100644
index 0000000000..7e6611b6a8
--- /dev/null
+++ b/meta-oe/recipes-support/cli11/cli11/0001-Do-not-download-the-catch-framework-during-configure.patch
@@ -0,0 +1,41 @@
+From 93557d5c5acf9ebb2c0fa708658e1d36621dd23a Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Wed, 7 Sep 2022 10:05:15 +0900
+Subject: [PATCH] Do not download the catch framework during configure.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ tests/CMakeLists.txt | 15 ---------------
+ 1 file changed, 15 deletions(-)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index 80c4f6a..ae210db 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -74,21 +74,6 @@ if(Catch2_FOUND)
+ endif()
+ message(STATUS "Found Catch2")
+ target_link_libraries(catch_main PUBLIC Catch2::Catch2)
+-else()
+- message(STATUS "Downloading Catch2")
+-
+- # FetchContent would be better, but requires newer CMake.
+- file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/catch2")
+- set(url https://github.com/philsquared/Catch/releases/download/v2.13.7/catch.hpp)
+- file(
+- DOWNLOAD ${url} "${CMAKE_CURRENT_BINARY_DIR}/catch2/catch.hpp"
+- STATUS status
+- EXPECTED_HASH SHA256=ea379c4a3cb5799027b1eb451163dff065a3d641aaba23bf4e24ee6b536bd9bc)
+- list(GET status 0 error)
+- if(error)
+- message(FATAL_ERROR "Could not download ${url}, and Catch2 not found on your system.")
+- endif()
+- target_include_directories(catch_main PUBLIC "${CMAKE_CURRENT_BINARY_DIR}")
+ endif()
+
+ # Target must already exist
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/cli11/cli11_1.9.1.bb b/meta-oe/recipes-support/cli11/cli11_1.9.1.bb
deleted file mode 100644
index 5f022d78af..0000000000
--- a/meta-oe/recipes-support/cli11/cli11_1.9.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "C++11 command line parser"
-DESCRIPTION = "A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface."
-HOMEPAGE = "https://github.com/CLIUtils/CLI11"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b73927b18d5c6cd8d2ed28a6ad539733"
-SRCREV = "5cb3efabce007c3a0230e4cc2e27da491c646b6c"
-PV .= "+git${SRCPV}"
-
-SRC_URI += "gitsm://github.com/CLIUtils/CLI11;branch=v1"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-inherit ptest
-
-# cli11 is a header only C++ library, so the main package will be empty.
-RDEPENDS_${PN}-dev = ""
diff --git a/meta-oe/recipes-support/cli11/cli11_2.3.2.bb b/meta-oe/recipes-support/cli11/cli11_2.3.2.bb
new file mode 100644
index 0000000000..ef3c951bbf
--- /dev/null
+++ b/meta-oe/recipes-support/cli11/cli11_2.3.2.bb
@@ -0,0 +1,26 @@
+SUMMARY = "C++11 command line parser"
+DESCRIPTION = "A command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface."
+HOMEPAGE = "https://github.com/CLIUtils/CLI11"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=afb20fe5f67e21074b10b864d9563c11"
+SRCREV = "291c58789c031208f08f4f261a858b5b7083e8e2"
+PV .= "+git"
+
+SRC_URI += "gitsm://github.com/CLIUtils/CLI11;branch=main;protocol=https \
+ https://github.com/philsquared/Catch/releases/download/v2.13.7/catch.hpp \
+ file://0001-Do-not-download-the-catch-framework-during-configure.patch"
+
+SRC_URI[sha256sum] = "ea379c4a3cb5799027b1eb451163dff065a3d641aaba23bf4e24ee6b536bd9bc"
+S = "${WORKDIR}/git"
+
+do_configure:prepend() {
+ mkdir -p ${S}/tests/catch2
+ cp ${DL_DIR}/catch.hpp ${S}/tests/catch2/catch.hpp
+}
+
+inherit cmake
+
+# cli11 is a header only C++ library, so the main package will be empty.
+RDEPENDS:${PN}-dev = ""
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/cmark/cmark_0.31.0.bb b/meta-oe/recipes-support/cmark/cmark_0.31.0.bb
new file mode 100644
index 0000000000..ce8b4cd493
--- /dev/null
+++ b/meta-oe/recipes-support/cmark/cmark_0.31.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "CommonMark parsing and rendering library and program in C"
+HOMEPAGE = "https://github.com/commonmark/cmark"
+LICENSE = "BSD-2-Clause & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=81f9cae6293cc0345a9144b78152ab62"
+
+SRC_URI = "git://github.com/commonmark/cmark.git;branch=master;protocol=https"
+SRCREV = "8fbf029685482827828b5858444157052f1b0a5f"
+S = "${WORKDIR}/git"
+
+inherit cmake lib_package
+
+EXTRA_OECMAKE += " \
+ -DCMARK_TESTS=OFF \
+ -DCMARK_STATIC=OFF \
+"
diff --git a/meta-oe/recipes-support/cmark/cmark_git.bb b/meta-oe/recipes-support/cmark/cmark_git.bb
deleted file mode 100644
index f74a39b500..0000000000
--- a/meta-oe/recipes-support/cmark/cmark_git.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "CommonMark parsing and rendering library and program in C"
-HOMEPAGE = "https://github.com/commonmark/cmark"
-LICENSE = "BSD-2-Clause & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=81f9cae6293cc0345a9144b78152ab62"
-
-SRC_URI = "git://github.com/commonmark/cmark.git"
-SRCREV = "8daa6b1495124f0b67e6034130e12d7be83e38bd"
-S = "${WORKDIR}/git"
-
-PV = "0.29.0"
-
-inherit cmake lib_package
-
-EXTRA_OECMAKE += " \
- -DCMARK_TESTS=OFF \
- -DCMARK_STATIC=OFF \
-"
diff --git a/meta-oe/recipes-support/colord/colord-native.bb b/meta-oe/recipes-support/colord/colord-native.bb
index 845041cc43..64dd94a9ed 100644
--- a/meta-oe/recipes-support/colord/colord-native.bb
+++ b/meta-oe/recipes-support/colord/colord-native.bb
@@ -1,8 +1,8 @@
require ${BPN}.inc
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-native:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}-native:"
-inherit meson native
+inherit meson pkgconfig native
DEPENDS += " \
meson-native \
diff --git a/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch b/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch
index 278b90e076..aae2be8c1e 100644
--- a/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch
+++ b/meta-oe/recipes-support/colord/colord-native/0001-Move-the-function-cd_icc_create_from_edid-to-avoid-u.patch
@@ -89,11 +89,11 @@ index a5e2328..dec509a 100644
+}
+
diff --git a/lib/colord/cd-icc.c b/lib/colord/cd-icc.c
-index f231814..2c8fe77 100644
+index 8beec43..398ff7a 100644
--- a/lib/colord/cd-icc.c
+++ b/lib/colord/cd-icc.c
-@@ -3094,68 +3094,6 @@ out:
- return ret;
+@@ -3114,68 +3114,6 @@ cd_icc_create_default (CdIcc *icc, GError **error)
+ return cd_icc_create_default_full (icc, CD_ICC_LOAD_FLAGS_NONE, error);
}
-/**
diff --git a/meta-oe/recipes-support/colord/colord.bb b/meta-oe/recipes-support/colord/colord.bb
index f514c0b782..e300222518 100644
--- a/meta-oe/recipes-support/colord/colord.bb
+++ b/meta-oe/recipes-support/colord/colord.bb
@@ -1,10 +1,10 @@
require ${BPN}.inc
-inherit meson gobject-introspection gsettings gettext bash-completion systemd features_check useradd
+inherit meson gobject-introspection gsettings gettext bash-completion systemd features_check useradd pkgconfig
# polkit and gobject-introspection are mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "polkit gobject-introspection-data"
-UNKNOWN_CONFIGURE_WHITELIST_append = " introspection"
+GIR_MESON_OPTION = ""
DEPENDS += " \
${BPN}-native \
@@ -28,9 +28,9 @@ EXTRA_OEMESON = " \
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
PACKAGECONFIG[systemd] = "-Dsystemd=true, -Dsystemd=false, systemd"
-SYSTEMD_SERVICE_${PN} = "colord.service"
+SYSTEMD_SERVICE:${PN} = "colord.service"
-FILES_${PN} += " \
+FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/polkit-1 \
${datadir}/glib-2.0 \
@@ -42,4 +42,4 @@ FILES_${PN} += " \
"
USERADD_PACKAGES = "${PN}"
-USERADD_PARAM_${PN} = "--system --user-group -d /var/lib/colord -s /bin/false colord"
+USERADD_PARAM:${PN} = "--system --user-group -d /var/lib/colord -s /bin/false colord"
diff --git a/meta-oe/recipes-support/colord/colord.inc b/meta-oe/recipes-support/colord/colord.inc
index 7497fed51e..0ae1a30fe6 100644
--- a/meta-oe/recipes-support/colord/colord.inc
+++ b/meta-oe/recipes-support/colord/colord.inc
@@ -1,13 +1,12 @@
SUMMARY = "Making color management just work"
HOMEPAGE = "https://www.freedesktop.org/software/colord/"
-LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://meson.build;beginline=3;endline=3;md5=f42198707d793be58b274d34fd5238c3 \
"
-PV = "1.4.4"
+PV = "1.4.6"
SRC_URI = "https://www.freedesktop.org/software/colord/releases/${BPN}-${PV}.tar.xz"
-SRC_URI[md5sum] = "32c2709a6002d9ee750483aaed6379c8"
-SRC_URI[sha256sum] = "9a0fe80160bf88efddb582a9fc0169f56065276dc3882c47dddb9eecd048c0a5"
+SRC_URI[sha256sum] = "7407631a27bfe5d1b672e7ae42777001c105d860b7b7392283c8c6300de88e6f"
diff --git a/meta-oe/recipes-support/consolation/consolation_0.0.8.bb b/meta-oe/recipes-support/consolation/consolation_0.0.8.bb
deleted file mode 100644
index 90bd560c47..0000000000
--- a/meta-oe/recipes-support/consolation/consolation_0.0.8.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "copy-paste for the Linux console"
-DESCRIPTION = "Consolation is a daemon that provides copy-paste and scrolling \
-support to the Linux console. It is based on the libinput library and \
-supports all pointer devices and settings provided by this library. Similar \
-software include gpm and jamd."
-HOMEPAGE = "https://salsa.debian.org/consolation-team/consolation"
-SECTION = "console/utils"
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=73ca626e1d9048abfc7d599370650827"
-
-DEPENDS = " \
- libevdev \
- libinput \
- udev \
-"
-
-SRC_URI = "git://salsa.debian.org/consolation-team/consolation.git"
-SRCREV = "4581eaece6e49fa2b687efbdbe23b2de452e7902"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig systemd
-
-do_install_append() {
- install -d ${D}${systemd_system_unitdir}
- install -m 644 ${B}/consolation.service ${D}${systemd_system_unitdir}
-}
-
-SYSTEMD_SERVICE_${PN} = "consolation.service"
diff --git a/meta-oe/recipes-support/consolation/consolation_0.0.9.bb b/meta-oe/recipes-support/consolation/consolation_0.0.9.bb
new file mode 100644
index 0000000000..17981b6e9b
--- /dev/null
+++ b/meta-oe/recipes-support/consolation/consolation_0.0.9.bb
@@ -0,0 +1,29 @@
+SUMMARY = "copy-paste for the Linux console"
+DESCRIPTION = "Consolation is a daemon that provides copy-paste and scrolling \
+support to the Linux console. It is based on the libinput library and \
+supports all pointer devices and settings provided by this library. Similar \
+software include gpm and jamd."
+HOMEPAGE = "https://salsa.debian.org/consolation-team/consolation"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7df9eea2f4dfdda489c116099e6fc062"
+
+DEPENDS = " \
+ libevdev \
+ libinput \
+ udev \
+"
+
+SRC_URI = "git://salsa.debian.org/consolation-team/consolation.git;branch=master"
+SRCREV = "5ef08f0cd6ede62de14de477b74fc3611108c676"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig systemd
+
+do_install:append() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 644 ${B}/consolation.service ${D}${systemd_system_unitdir}
+}
+
+SYSTEMD_SERVICE:${PN} = "consolation.service"
diff --git a/meta-oe/recipes-support/cpp-netlib/cpp-netlib/a53f123040998744602f190944464af0e159ea19.patch b/meta-oe/recipes-support/cpp-netlib/cpp-netlib/a53f123040998744602f190944464af0e159ea19.patch
new file mode 100644
index 0000000000..c93b76619c
--- /dev/null
+++ b/meta-oe/recipes-support/cpp-netlib/cpp-netlib/a53f123040998744602f190944464af0e159ea19.patch
@@ -0,0 +1,30 @@
+From a53f123040998744602f190944464af0e159ea19 Mon Sep 17 00:00:00 2001
+From: jjll <jjll@gmv.com>
+Date: Wed, 6 Sep 2023 20:47:41 +0200
+Subject: [PATCH] Compatibility with boost 1.83
+
+Upstream-Status: Backport [https://github.com/cpp-netlib/cpp-netlib/pull/902]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libs/network/src/server_request_parsers_impl.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/boost/network/protocol/http/server/impl/parsers.ipp
++++ b/boost/network/protocol/http/server/impl/parsers.ipp
+@@ -13,6 +13,7 @@
+ #include <tuple>
+ #include <boost/fusion/include/std_tuple.hpp>
+ #include <boost/network/protocol/http/message/header.hpp>
++#include <boost/regex/pending/unicode_iterator.hpp>
+
+ #ifdef BOOST_NETWORK_NO_LIB
+ #ifndef BOOST_NETWORK_INLINE
+@@ -32,7 +33,7 @@ typedef std::basic_string<uint32_t> u32_
+ template <> // <typename Attrib, typename T, typename Enable>
+ struct assign_to_container_from_value<std::string, u32_string, void> {
+ static void call(u32_string const& val, std::string& attr) {
+- u32_to_u8_iterator<u32_string::const_iterator> begin = val.begin(),
++ boost::u32_to_u8_iterator<u32_string::const_iterator> begin = val.begin(),
+ end = val.end();
+ for (; begin != end; ++begin) attr += *begin;
+ }
diff --git a/meta-oe/recipes-support/cpp-netlib/cpp-netlib_git.bb b/meta-oe/recipes-support/cpp-netlib/cpp-netlib_git.bb
index 472b72fc2e..bda5177fc4 100644
--- a/meta-oe/recipes-support/cpp-netlib/cpp-netlib_git.bb
+++ b/meta-oe/recipes-support/cpp-netlib/cpp-netlib_git.bb
@@ -8,13 +8,13 @@ DESCRIPTION = "Modern C++ network programming libraries."
SECTION = "libs"
LICENSE = "BSL-1.0 & MIT & Python-2.0"
LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+PV = "0.13.0"
+SRCREV = "31d304cdf52b485f465ada433d8905171b61cbff"
SRC_URI = "\
git://github.com/cpp-netlib/cpp-netlib.git;protocol=https;branch=0.13-release \
+ file://a53f123040998744602f190944464af0e159ea19.patch \
"
-SRC_URI[sha256sum] = "0b9255bb0668d89867a1f367d770f12d7038db4f5b6111774ef032f669cccad4"
-
-SRCREV = "ca95f04d140acf619892ee02a82e930dd91ff7d4"
S = "${WORKDIR}/git"
@@ -22,5 +22,9 @@ inherit cmake pkgconfig
DEPENDS = "zlib boost openssl"
-EXTRA_OECMAKE_append = " -DCPP-NETLIB_BUILD_TESTS=OFF -DCPP-NETLIB_BUILD_EXAMPLES=OFF"
+EXTRA_OECMAKE:append = " -DCPP-NETLIB_BUILD_TESTS=OFF -DCPP-NETLIB_BUILD_EXAMPLES=OFF"
+do_install:append() {
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/cppnetlib/cppnetlibConfig.cmake
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/cppnetlib/cppnetlibTargets-noconfig.cmake
+}
diff --git a/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch b/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
index 3ff7f0dd31..b956db22fd 100644
--- a/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
+++ b/meta-oe/recipes-support/cpprest/cpprest/disable-float-tests.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Description: new toolchain might have increased the float precision
Author: Gianfranco Costamagna <locutusofborg@debian.org>
Last-Update: 2017-10-28
diff --git a/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch b/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
index 5f1f8a9f9c..961eaf7646 100644
--- a/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
+++ b/meta-oe/recipes-support/cpprest/cpprest/disable-outside-tests.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Description: Debian forbids calls to external websites.
Author: Gianfranco Costamagna <locutus@debian.org>
diff --git a/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb b/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb
deleted file mode 100644
index 1633412cf5..0000000000
--- a/meta-oe/recipes-support/cpprest/cpprest_2.10.18.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design."
-SECTION = "libs/network"
-HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/license.txt;md5=a2e15b954769218ff912468eecd6a02f"
-DEPENDS = "openssl websocketpp zlib boost brotli"
-
-EXTRA_OECMAKE = "-DCPPREST_EXPORT_DIR=cmake/cpprestsdk -DCPPREST_EXCLUDE_BROTLI=OFF -DWERROR=OFF"
-
-SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \
- file://disable-float-tests.patch \
- file://disable-outside-tests.patch "
-
-# tag 2.10.17
-SRCREV= "122d09549201da5383321d870bed45ecb9e168c5"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
diff --git a/meta-oe/recipes-support/cpprest/cpprest_2.10.19.bb b/meta-oe/recipes-support/cpprest/cpprest_2.10.19.bb
new file mode 100644
index 0000000000..aec7286404
--- /dev/null
+++ b/meta-oe/recipes-support/cpprest/cpprest_2.10.19.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design."
+SECTION = "libs/network"
+HOMEPAGE = "https://github.com/Microsoft/cpprestsdk/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${S}/license.txt;md5=a2e15b954769218ff912468eecd6a02f"
+DEPENDS = "openssl websocketpp zlib boost brotli"
+
+EXTRA_OECMAKE = "-DCPPREST_EXPORT_DIR=cmake/cpprestsdk -DCPPREST_EXCLUDE_BROTLI=OFF -DWERROR=OFF"
+
+SRC_URI = "git://github.com/Microsoft/cpprestsdk.git;protocol=https;branch=master \
+ file://disable-float-tests.patch \
+ file://disable-outside-tests.patch "
+
+# tag 2.10.19
+SRCREV= "411a109150b270f23c8c97fa4ec9a0a4a98cdecf"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
diff --git a/meta-oe/recipes-support/cpulimit/cpulimit/0001-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch b/meta-oe/recipes-support/cpulimit/cpulimit/0001-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch
new file mode 100644
index 0000000000..50d0342ec7
--- /dev/null
+++ b/meta-oe/recipes-support/cpulimit/cpulimit/0001-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch
@@ -0,0 +1,41 @@
+From 41cfba0840f58555593fd4bee07db77221043e0b Mon Sep 17 00:00:00 2001
+From: Portia <stephensportia@gmail.com>
+Date: Sun, 1 May 2022 12:43:35 +1000
+Subject: [PATCH] Remove sys/sysctl.h and add missing libgen.h include
+
+- sys/sysctl.h has been deprecated and should be removed
+- Adds missing libgen.h include when calling basename()
+
+Upstream-Status: Inactive-Upstream [2015]
+Signed-off-by: Portia <stephensportia@gmail.com>
+---
+ src/cpulimit.c | 1 -
+ src/process_group.c | 1 +
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cpulimit.c b/src/cpulimit.c
+index 50eabea..5b0ec49 100644
+--- a/src/cpulimit.c
++++ b/src/cpulimit.c
+@@ -38,7 +38,6 @@
+ #include <string.h>
+ #include <sys/stat.h>
+ #include <sys/time.h>
+-#include <sys/sysctl.h>
+ #include <sys/resource.h>
+ #include <sys/types.h>
+ #include <sys/wait.h>
+diff --git a/src/process_group.c b/src/process_group.c
+index 06d73a6..d4f6fab 100644
+--- a/src/process_group.c
++++ b/src/process_group.c
+@@ -24,6 +24,7 @@
+ #include <limits.h>
+ #include <sys/time.h>
+ #include <signal.h>
++#include <libgen.h>
+
+ #include <assert.h>
+
+--
+2.25.1
diff --git a/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb b/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
new file mode 100644
index 0000000000..f88d3b6ca1
--- /dev/null
+++ b/meta-oe/recipes-support/cpulimit/cpulimit_0.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "cpulimit is a tool which limits the CPU usage of a process"
+DESCRIPTION = "cpulimit is a simple program that attempts to limit the CPU usage of a process (expressed in percentage, not in CPU time). This is useful to control batch jobs, when you don't want them to eat too much CPU. It does not act on the nice value or other priority stuff, but on the real CPU usage. Besides it is able to adapt itself to the overall system load, dynamically and quickly."
+HOMEPAGE = "http://cpulimit.sourceforge.net"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86c1c0d961a437e529db93aa3bb32dc4"
+SRCREV ?= "f4d2682804931e7aea02a869137344bb5452a3cd"
+
+SRC_URI = "git://github.com/opsengine/cpulimit.git;protocol=https;branch=master \
+ file://0001-Remove-sys-sysctl.h-and-add-missing-libgen.h-include.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ oe_runmake all
+}
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 ${B}/src/${BPN} ${D}${sbindir}/
+}
+
+CFLAGS += "-D_GNU_SOURCE ${LDFLAGS}"
+
diff --git a/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb b/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb
new file mode 100644
index 0000000000..d53e1a276b
--- /dev/null
+++ b/meta-oe/recipes-support/crucible/crucible_2023.11.02.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Utility that provides userspace support for reading and writing to the i.MX fuses"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=201414b6610203caed355323b1ab3116"
+
+GO_IMPORT = "github.com/usbarmory/crucible"
+SRC_URI = "git://${GO_IMPORT}.git;protocol=https;branch=master"
+
+GO_INSTALL = "\
+ ${GO_IMPORT}/cmd/crucible \
+ ${GO_IMPORT}/cmd/habtool \
+"
+SRCREV = "dec27cd4e0e0db106c0a21d429c04ca8d36bbdd5"
+
+export GOPROXY = "https://proxy.golang.org,direct"
+# Workaround for network access issue during compile step.
+# This needs to be fixed in the recipes buildsystem so that
+# it can be accomplished during do_fetch task.
+do_compile[network] = "1"
+
+inherit go-mod
diff --git a/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-14.bb b/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-14.bb
index 3a049e76da..0e994d8b09 100644
--- a/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-14.bb
+++ b/meta-oe/recipes-support/ctapi-common/ctapi-common_1.1-14.bb
@@ -4,9 +4,8 @@ SECTION = "System Environment/Libraries"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://../ctapi-common.LICENSE;md5=8744cd52545ecb45befebd0da6f70f0a"
-SRC_URI = "http://ftp.riken.jp/Linux/fedora/releases/23/Everything/source/SRPMS/c/${BPN}-${PV}.fc23.src.rpm;extract=ctapi-common.LICENSE \
- http://ftp.riken.jp/Linux/fedora/releases/23/Everything/source/SRPMS/c/${BPN}-${PV}.fc23.src.rpm;extract=ctapi-common.README"
-SRC_URI[md5sum] = "5b7259ef1c8cd9ae801fca7a5cb548c1"
+SRC_URI = "https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/23/Everything/source/SRPMS/c/${BPN}-${PV}.fc23.src.rpm;extract=ctapi-common.LICENSE \
+ https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/23/Everything/source/SRPMS/c/${BPN}-${PV}.fc23.src.rpm;extract=ctapi-common.README"
SRC_URI[sha256sum] = "87a74eb0a66055c34ba2c5c919e74f3211c5950ae1c2cbab967fdf4137f5de91"
do_compile() {
@@ -20,4 +19,4 @@ do_install() {
install -dm 755 ${D}${libdir}/ctapi
}
-FILES_${PN} += "${libdir}/ctapi"
+FILES:${PN} += "${libdir}/ctapi"
diff --git a/meta-oe/recipes-support/cyaml/cyaml_1.4.1.bb b/meta-oe/recipes-support/cyaml/cyaml_1.4.1.bb
new file mode 100644
index 0000000000..f63348a328
--- /dev/null
+++ b/meta-oe/recipes-support/cyaml/cyaml_1.4.1.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Cyaml library"
+DESCRIPTION = "LibCYAML is a library for reading and writing structured YAML documents."
+HOMEPAGE = "https://github.com/tlsa/libcyaml"
+SECTION = "libs"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fe6f0e49348c87bddd5d27803dceaaf0"
+DEPENDS = " \
+ libyaml \
+"
+SRCREV = "07ff8654a270ec9b410acd3152b60de9e9f941af"
+
+SRC_URI = "git://github.com/tlsa/libcyaml.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "'PREFIX=""' 'DESTDIR=${D}' 'CFLAGS=${CFLAGS}' 'LIBDIR=${libdir}' 'INCLUDEDIR=${includedir}' 'VARIANT=release'"
+
+do_compile() {
+ oe_runmake
+}
+do_install() {
+ oe_runmake install
+}
+
+CFLAGS += "-pedantic -Wall -Wextra -O3 -Iinclude" \ No newline at end of file
diff --git a/meta-oe/recipes-support/daemonize/daemonize_git.bb b/meta-oe/recipes-support/daemonize/daemonize_git.bb
index c76632781a..f46dec59fc 100644
--- a/meta-oe/recipes-support/daemonize/daemonize_git.bb
+++ b/meta-oe/recipes-support/daemonize/daemonize_git.bb
@@ -7,7 +7,7 @@ PV = "1.7.8"
inherit autotools
SRCREV = "18869a797dab12bf1c917ba3b4782fef484c407c"
-SRC_URI = "git://github.com/bmc/daemonize.git \
+SRC_URI = "git://github.com/bmc/daemonize.git;branch=master;protocol=https \
"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/daemontools/daemontools/0001-Fix-signature-of-main-function.patch b/meta-oe/recipes-support/daemontools/daemontools/0001-Fix-signature-of-main-function.patch
new file mode 100644
index 0000000000..4b332a000e
--- /dev/null
+++ b/meta-oe/recipes-support/daemontools/daemontools/0001-Fix-signature-of-main-function.patch
@@ -0,0 +1,209 @@
+From 269f18d5e6698fdd34fec2798f10c6fe072f3cd5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Sep 2022 23:36:52 -0700
+Subject: [PATCH] Fix signature of main function
+
+Clang-15 errors out otherewise.
+Include needed headers for missing functions
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/chkshsgr.c | 2 +-
+ src/tai64n.c | 2 +-
+ src/tai64nlocal.c | 2 +-
+ src/trycpp.c | 5 +++--
+ src/tryflock.c | 4 ++--
+ src/trymkffo.c | 2 +-
+ src/trypoll.c | 3 ++-
+ src/trysgact.c | 4 ++--
+ src/trysgprm.c | 4 ++--
+ src/tryshsgr.c | 3 ++-
+ src/tryulong64.c | 4 ++--
+ src/trywaitp.c | 4 ++--
+ src/x86cpuid.c | 2 +-
+ 13 files changed, 22 insertions(+), 19 deletions(-)
+
+diff --git a/src/chkshsgr.c b/src/chkshsgr.c
+index 038afe9..9547a4c 100644
+--- a/src/chkshsgr.c
++++ b/src/chkshsgr.c
+@@ -5,7 +5,7 @@
+ #include <grp.h>
+ #include <unistd.h>
+
+-int main()
++int main(int argc, char *argv[])
+ {
+ gid_t x[4];
+
+diff --git a/src/tai64n.c b/src/tai64n.c
+index 17bdb82..7096ab3 100644
+--- a/src/tai64n.c
++++ b/src/tai64n.c
+@@ -27,7 +27,7 @@ buffer in = BUFFER_INIT(myread,0,inbuf,sizeof inbuf);
+
+ char stamp[TIMESTAMP + 1];
+
+-int main()
++int main(int argc, char *argv[])
+ {
+ char ch;
+
+diff --git a/src/tai64nlocal.c b/src/tai64nlocal.c
+index ce16ad8..2435737 100644
+--- a/src/tai64nlocal.c
++++ b/src/tai64nlocal.c
+@@ -28,7 +28,7 @@ unsigned long nanosecs;
+ unsigned long u;
+ struct tm *t;
+
+-int main()
++int main(int argc, char *argv[])
+ {
+ char ch;
+
+diff --git a/src/trycpp.c b/src/trycpp.c
+index e4503d4..d96c955 100644
+--- a/src/trycpp.c
++++ b/src/trycpp.c
+@@ -1,6 +1,7 @@
+ /* Public domain. */
+-
+-int main()
++#include <stdio.h>
++#include <stdlib.h>
++int main(int argc, char *argv[])
+ {
+ #ifdef NeXT
+ printf("nextstep\n"); exit(0);
+diff --git a/src/tryflock.c b/src/tryflock.c
+index a82ffc2..5ca97d3 100644
+--- a/src/tryflock.c
++++ b/src/tryflock.c
+@@ -3,8 +3,8 @@
+ #include <sys/types.h>
+ #include <sys/file.h>
+ #include <fcntl.h>
+-
+-main()
++void
++main(int argc, char *argv[])
+ {
+ flock(0,LOCK_EX | LOCK_UN | LOCK_NB);
+ }
+diff --git a/src/trymkffo.c b/src/trymkffo.c
+index 9356342..f92414a 100644
+--- a/src/trymkffo.c
++++ b/src/trymkffo.c
+@@ -3,7 +3,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
+-void main()
++void main(int argc, char *argv[])
+ {
+ mkfifo("temp-trymkffo",0);
+ }
+diff --git a/src/trypoll.c b/src/trypoll.c
+index 6506617..cb888cc 100644
+--- a/src/trypoll.c
++++ b/src/trypoll.c
+@@ -3,8 +3,9 @@
+ #include <sys/types.h>
+ #include <fcntl.h>
+ #include <poll.h>
++#include <unistd.h>
+
+-int main()
++int main(int argc, char *argv[])
+ {
+ struct pollfd x;
+
+diff --git a/src/trysgact.c b/src/trysgact.c
+index e264ef2..25da013 100644
+--- a/src/trysgact.c
++++ b/src/trysgact.c
+@@ -1,8 +1,8 @@
+ /* Public domain. */
+
+ #include <signal.h>
+-
+-main()
++void
++main(int argc, char *argv[])
+ {
+ struct sigaction sa;
+ sa.sa_handler = 0;
+diff --git a/src/trysgprm.c b/src/trysgprm.c
+index a46c82c..5a9491c 100644
+--- a/src/trysgprm.c
++++ b/src/trysgprm.c
+@@ -1,8 +1,8 @@
+ /* Public domain. */
+
+ #include <signal.h>
+-
+-main()
++void
++main(int argc, char *argv[])
+ {
+ sigset_t ss;
+
+diff --git a/src/tryshsgr.c b/src/tryshsgr.c
+index c5ed6d6..d111e40 100644
+--- a/src/tryshsgr.c
++++ b/src/tryshsgr.c
+@@ -1,6 +1,7 @@
+ /* Public domain. */
+
+-int main()
++#include <unistd.h>
++int main(int argc, char *argv[])
+ {
+ short x[4];
+
+diff --git a/src/tryulong64.c b/src/tryulong64.c
+index 003548a..20a3a40 100644
+--- a/src/tryulong64.c
++++ b/src/tryulong64.c
+@@ -1,6 +1,6 @@
+ /* Public domain. */
+-
+-int main()
++#include <unistd.h>
++int main(int argc, char *argv[])
+ {
+ unsigned long u;
+ u = 1;
+diff --git a/src/trywaitp.c b/src/trywaitp.c
+index 319b81f..90bc5aa 100644
+--- a/src/trywaitp.c
++++ b/src/trywaitp.c
+@@ -2,8 +2,8 @@
+
+ #include <sys/types.h>
+ #include <sys/wait.h>
+-
+-main()
++void
++main(int argc, char *argv[])
+ {
+ waitpid(0,0,0);
+ }
+diff --git a/src/x86cpuid.c b/src/x86cpuid.c
+index f81c593..1cb1ea6 100644
+--- a/src/x86cpuid.c
++++ b/src/x86cpuid.c
+@@ -7,7 +7,7 @@ void nope()
+ exit(1);
+ }
+
+-int main()
++int main(int argc, char *argv[])
+ {
+ unsigned long x[4];
+ unsigned long y[4];
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-Fix-QA-Issue.patch b/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-Fix-QA-Issue.patch
index 30e37cb1d3..139ff30f2e 100644
--- a/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-Fix-QA-Issue.patch
+++ b/meta-oe/recipes-support/daemontools/daemontools/0001-daemontools-Fix-QA-Issue.patch
@@ -9,6 +9,8 @@ ERROR: daemontools-0.76-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binar
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
src/conf-ld | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff b/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff
index ce1959782a..b5eb7d8b1a 100644
--- a/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff
+++ b/meta-oe/recipes-support/daemontools/daemontools/0001-error.h-include-errno.h-instead-of-extern-int.diff
@@ -4,6 +4,8 @@ Date: Wed, 12 Dec 2007 13:44:15 +0000
Subject: [PATCH] error.h: '#include <errno.h>' instead of 'extern int errno;'
---
+Upstream-Status: Pending
+
daemontools-0.76/src/error.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff b/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff
index 73dce90726..16a0148546 100644
--- a/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff
+++ b/meta-oe/recipes-support/daemontools/daemontools/0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff
@@ -4,6 +4,8 @@ Date: Sun, 24 Feb 2008 10:54:26 +0000
Subject: [PATCH] supervise.c: ./supervise may be a symlink, if it's dangling, create link target
---
+Upstream-Status: Pending
+
daemontools-0.76/src/supervise.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
index 9c07d758ae..98d4a5e45b 100644
--- a/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
+++ b/meta-oe/recipes-support/daemontools/daemontools/cross-compile.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
make sure it can be compiled for cross target
1. never try to compile target binary by native gcc
diff --git a/meta-oe/recipes-support/daemontools/daemontools/warnings.patch b/meta-oe/recipes-support/daemontools/daemontools/warnings.patch
new file mode 100644
index 0000000000..5c9c7114b9
--- /dev/null
+++ b/meta-oe/recipes-support/daemontools/daemontools/warnings.patch
@@ -0,0 +1,76 @@
+Upstream-Status: Pending
+
+Fixup misc warnings
+
+Patch by RiverRat
+
+http://bugs.gentoo.org/124487
+
+--- a/src/chkshsgr.c
++++ b/src/chkshsgr.c
+@@ -1,10 +1,13 @@
+ /* Public domain. */
+
++#include <sys/types.h>
++#include <stdlib.h>
++#include <grp.h>
+ #include <unistd.h>
+
+ int main()
+ {
+- short x[4];
++ gid_t x[4];
+
+ x[0] = x[1] = 0;
+ if (getgroups(1,x) == 0) if (setgroups(1,x) == -1) _exit(1);
+--- a/src/matchtest.c
++++ b/src/matchtest.c
+@@ -1,3 +1,4 @@
++#include <unistd.h>
+ #include "match.h"
+ #include "buffer.h"
+ #include "str.h"
+--- a/src/multilog.c
++++ b/src/multilog.c
+@@ -1,3 +1,4 @@
++#include <stdio.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+--- a/src/prot.c
++++ b/src/prot.c
+@@ -1,5 +1,8 @@
+ /* Public domain. */
+
++#include <sys/types.h>
++#include <unistd.h>
++#include <grp.h>
+ #include "hasshsgr.h"
+ #include "prot.h"
+
+--- a/src/seek_set.c
++++ b/src/seek_set.c
+@@ -1,6 +1,7 @@
+ /* Public domain. */
+
+ #include <sys/types.h>
++#include <unistd.h>
+ #include "seek.h"
+
+ #define SET 0 /* sigh */
+--- a/src/supervise.c
++++ b/src/supervise.c
+@@ -1,3 +1,4 @@
++#include <stdio.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+--- a/src/pathexec_run.c
++++ b/src/pathexec_run.c
+@@ -1,5 +1,6 @@
+ /* Public domain. */
+
++#include <unistd.h>
+ #include "error.h"
+ #include "stralloc.h"
+ #include "str.h"
diff --git a/meta-oe/recipes-support/daemontools/daemontools_0.76.bb b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
index f0c5f7d7de..a35b54e3bc 100644
--- a/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
+++ b/meta-oe/recipes-support/daemontools/daemontools_0.76.bb
@@ -15,11 +15,15 @@ SECTION = "System/Servers"
LIC_FILES_CHKSUM = "file://src/prot.c;beginline=1;endline=1;md5=96964cadf07e8f8c1e2ffb3b507dd647"
LICENSE = "PD"
+DEPENDS += "coreutils"
+
SRC_URI = "http://cr.yp.to/daemontools/${BPN}-${PV}.tar.gz \
file://0001-error.h-include-errno.h-instead-of-extern-int.diff \
file://0002-supervise.c-.-supervise-may-be-a-symlink-if-it-s-da.diff \
file://cross-compile.patch \
file://0001-daemontools-Fix-QA-Issue.patch \
+ file://warnings.patch \
+ file://0001-Fix-signature-of-main-function.patch \
"
SRC_URI[md5sum] = "1871af2453d6e464034968a0fbcb2bfc"
@@ -35,10 +39,10 @@ do_install() {
install -d ${D}/${bindir}
}
-do_install_append_class-target() {
+do_install:append:class-target() {
install -m755 ${S}/command/* ${D}/${bindir}
}
inherit update-alternatives
ALTERNATIVE_PRIORITY = "100"
-ALTERNATIVE_${PN} = "svc svok"
+ALTERNATIVE:${PN} = "svc svok"
diff --git a/meta-oe/recipes-support/dc/double-conversion_3.3.0.bb b/meta-oe/recipes-support/dc/double-conversion_3.3.0.bb
new file mode 100644
index 0000000000..a8fd88a9ad
--- /dev/null
+++ b/meta-oe/recipes-support/dc/double-conversion_3.3.0.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Double conversion libraries"
+DESCRIPTION = "This provides binary-decimal and decimal-binary routines for IEEE doubles."
+HOMEPAGE = "https://github.com/google/double-conversion.git"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ea35644f0ec0d9767897115667e901f"
+
+
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+ git://github.com/google/double-conversion.git;protocol=https;branch=master \
+ file://run-ptest \
+"
+SRCREV = "4f7a25d8ced8c7cf6eee6fd09d6788eaa23c9afe"
+
+inherit cmake ptest
+
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON"
+
+# These ptest use ctest (provided by cmake)
+RDEPENDS:${PN}-ptest += "cmake"
+# Build tests only if ptest is enabled
+EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTING=ON', '', d)}"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/test
+ cp -rf ${B}/test ${D}${PTEST_PATH}
+ install -m 0644 ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}/
+ files="
+ CTestTestfile.cmake
+ test/CTestTestfile.cmake
+ test/cmake_install.cmake
+ test/cctest/CTestTestfile.cmake
+ test/cctest/cmake_install.cmake
+ "
+ for file in $files; do
+ sed -i -e "s|${B}|${PTEST_PATH}|g" -e "s|${S}|${PTEST_PATH}|g" -e "s|${WORKDIR}/recipe-sysroot-native||g" "${D}${PTEST_PATH}/${file}"
+ done
+
+}
diff --git a/meta-oe/recipes-support/dc/files/run-ptest b/meta-oe/recipes-support/dc/files/run-ptest
new file mode 100644
index 0000000000..9240a3f851
--- /dev/null
+++ b/meta-oe/recipes-support/dc/files/run-ptest
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# This script runs tests taken from the github CI for the Double-Conversion library.
+# For more information, please see: https://github.com/google/double-conversion/blob/master/.github/workflows/ci.yml#L60
+
+# Count the number of failed tests
+NUM_FAILS=0
+
+# Run all tests using ctest
+ctest -V
+
+# VCount the number of failed tests by checking the LastTest.log file generated by ctest
+NUM_FAILS=$(grep -c "Failed" Testing/Temporary/LastTest.log)
+
+# Run the tests directly as well, just in case we forgot to add it to ctest
+test/cctest/cctest
+if [ $? -ne 0 ]; then
+ # If the test failed, increment the number of failed tests
+ NUM_FAILS=$(expr $NUM_FAILS + 1)
+fi
+
+# Return the number of failed tests
+exit $NUM_FAILS
diff --git a/meta-oe/recipes-support/devmem2/devmem2.bb b/meta-oe/recipes-support/devmem2/devmem2.bb
deleted file mode 100644
index 9bd1eb73d7..0000000000
--- a/meta-oe/recipes-support/devmem2/devmem2.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Simple program to read/write from/to any location in memory"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://devmem2.c;endline=38;md5=a9eb9f3890384519f435aedf986297cf"
-PR = "r7"
-
-SRC_URI = "http://www.free-electrons.com/pub/mirror/devmem2.c;downloadfilename=devmem2-new.c \
- file://devmem2-fixups-2.patch;apply=yes;striplevel=0 \
- file://0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch"
-
-S = "${WORKDIR}"
-
-CFLAGS += "-DFORCE_STRICT_ALIGNMENT"
-
-python do_unpack_append() {
- os.rename("devmem2-new.c", "devmem2.c")
-}
-
-do_compile() {
- ${CC} -o devmem2 devmem2.c ${CFLAGS} ${LDFLAGS}
-}
-
-do_install() {
- install -d ${D}${bindir}
- install devmem2 ${D}${bindir}
-}
-
-SRC_URI[md5sum] = "e23f236e94be4c429aa1ceac0f01544b"
-SRC_URI[sha256sum] = "3b15515693bae1ebd14d914e46d388edfec2175829ea1576a7a0c8606ebbe639"
diff --git a/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch b/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch
deleted file mode 100644
index 2a57f29891..0000000000
--- a/meta-oe/recipes-support/devmem2/devmem2/0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 1360a907879dd24041797a3b709d49aeac2ab444 Mon Sep 17 00:00:00 2001
-From: Denys Dmytriyenko <denys@ti.com>
-Date: Tue, 29 May 2018 16:55:42 -0400
-Subject: [PATCH] devmem.c: ensure word is 32-bit and add support for 64-bit
- long
-
-Signed-off-by: Denys Dmytriyenko <denys@ti.com>
----
- devmem2.c | 23 +++++++++++++++++------
- 1 file changed, 17 insertions(+), 6 deletions(-)
-
-diff --git a/devmem2.c b/devmem2.c
-index 5845381..68131b2 100644
---- a/devmem2.c
-+++ b/devmem2.c
-@@ -39,6 +39,7 @@
-
- #include <stdio.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <unistd.h>
- #include <string.h>
- #include <errno.h>
-@@ -69,7 +70,7 @@ int main(int argc, char **argv) {
- if(argc < 2) {
- fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
- "\taddress : memory address to act upon\n"
-- "\ttype : access operation type : [b]yte, [h]alfword, [w]ord\n"
-+ "\ttype : access operation type : [b]yte, [h]alfword, [w]ord, [l]ong\n"
- "\tdata : data to be written\n\n",
- argv[0]);
- exit(1);
-@@ -103,9 +104,14 @@ int main(int argc, char **argv) {
- read_result = *((unsigned short *) virt_addr);
- break;
- case 'w':
-- data_size = sizeof(unsigned long);
-+ data_size = sizeof(uint32_t);
- virt_addr = fixup_addr(virt_addr, data_size);
-- read_result = *((unsigned long *) virt_addr);
-+ read_result = *((uint32_t *) virt_addr);
-+ break;
-+ case 'l':
-+ data_size = sizeof(uint64_t);
-+ virt_addr = fixup_addr(virt_addr, data_size);
-+ read_result = *((uint64_t *) virt_addr);
- break;
- default:
- fprintf(stderr, "Illegal data type '%c'.\n", access_type);
-@@ -129,9 +135,14 @@ int main(int argc, char **argv) {
- read_result = *((unsigned short *) virt_addr);
- break;
- case 'w':
-- virt_addr = fixup_addr(virt_addr, sizeof(unsigned long));
-- *((unsigned long *) virt_addr) = write_val;
-- read_result = *((unsigned long *) virt_addr);
-+ virt_addr = fixup_addr(virt_addr, sizeof(uint32_t));
-+ *((uint32_t *) virt_addr) = write_val;
-+ read_result = *((uint32_t *) virt_addr);
-+ break;
-+ case 'l':
-+ virt_addr = fixup_addr(virt_addr, sizeof(uint64_t));
-+ *((uint64_t *) virt_addr) = write_val;
-+ read_result = *((uint64_t *) virt_addr);
- break;
- }
- sprintf(fmt_str, "Write at address 0x%%08lX (%%p): 0x%%0%dlX, "
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch b/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
deleted file mode 100644
index 4517797fc7..0000000000
--- a/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch
+++ /dev/null
@@ -1,91 +0,0 @@
---- devmem2.c 2004-08-05 01:55:25.000000000 +0200
-+++ devmem2_modif.c 2011-01-13 15:48:37.798799784 +0100
-@@ -45,12 +45,16 @@
- #define MAP_SIZE 4096UL
- #define MAP_MASK (MAP_SIZE - 1)
-
-+static inline void *fixup_addr(void *addr, size_t size);
-+
- int main(int argc, char **argv) {
- int fd;
- void *map_base, *virt_addr;
-- unsigned long read_result, writeval;
-+ unsigned long read_result, write_val;
- off_t target;
- int access_type = 'w';
-+ char fmt_str[128];
-+ size_t data_size;
-
- if(argc < 2) {
- fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n"
-@@ -79,38 +83,51 @@
- virt_addr = map_base + (target & MAP_MASK);
- switch(access_type) {
- case 'b':
-+ data_size = sizeof(unsigned char);
-+ virt_addr = fixup_addr(virt_addr, data_size);
- read_result = *((unsigned char *) virt_addr);
- break;
- case 'h':
-+ data_size = sizeof(unsigned short);
-+ virt_addr = fixup_addr(virt_addr, data_size);
- read_result = *((unsigned short *) virt_addr);
- break;
- case 'w':
-+ data_size = sizeof(unsigned long);
-+ virt_addr = fixup_addr(virt_addr, data_size);
- read_result = *((unsigned long *) virt_addr);
- break;
- default:
- fprintf(stderr, "Illegal data type '%c'.\n", access_type);
- exit(2);
- }
-- printf("Value at address 0x%X (%p): 0x%X\n", target, virt_addr, read_result);
-+ sprintf(fmt_str, "Read at address 0x%%08lX (%%p): 0x%%0%dlX\n", 2*data_size);
-+ printf(fmt_str, (unsigned long)target, virt_addr, read_result);
- fflush(stdout);
-
- if(argc > 3) {
-- writeval = strtoul(argv[3], 0, 0);
-+ write_val = strtoul(argv[3], 0, 0);
- switch(access_type) {
- case 'b':
-- *((unsigned char *) virt_addr) = writeval;
-+ virt_addr = fixup_addr(virt_addr, sizeof(unsigned char));
-+ *((unsigned char *) virt_addr) = write_val;
- read_result = *((unsigned char *) virt_addr);
- break;
- case 'h':
-- *((unsigned short *) virt_addr) = writeval;
-+ virt_addr = fixup_addr(virt_addr, sizeof(unsigned short));
-+ *((unsigned short *) virt_addr) = write_val;
- read_result = *((unsigned short *) virt_addr);
- break;
- case 'w':
-- *((unsigned long *) virt_addr) = writeval;
-+ virt_addr = fixup_addr(virt_addr, sizeof(unsigned long));
-+ *((unsigned long *) virt_addr) = write_val;
- read_result = *((unsigned long *) virt_addr);
- break;
- }
-- printf("Written 0x%X; readback 0x%X\n", writeval, read_result);
-+ sprintf(fmt_str, "Write at address 0x%%08lX (%%p): 0x%%0%dlX, "
-+ "readback 0x%%0%dlX\n", 2*data_size, 2*data_size);
-+ printf(fmt_str, (unsigned long)target, virt_addr,
-+ write_val, read_result);
- fflush(stdout);
- }
-
-@@ -119,3 +136,12 @@
- return 0;
- }
-
-+static inline void *fixup_addr(void *addr, size_t size)
-+{
-+#ifdef FORCE_STRICT_ALIGNMENT
-+ unsigned long aligned_addr = (unsigned long)addr;
-+ aligned_addr &= ~(size - 1);
-+ addr = (void *)aligned_addr;
-+#endif
-+ return addr;
-+}
diff --git a/meta-oe/recipes-support/devmem2/devmem2_2.0.bb b/meta-oe/recipes-support/devmem2/devmem2_2.0.bb
new file mode 100644
index 0000000000..aee6bfe3da
--- /dev/null
+++ b/meta-oe/recipes-support/devmem2/devmem2_2.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Simple program to read/write from/to any location in memory"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://devmem2.c;endline=38;md5=a9eb9f3890384519f435aedf986297cf"
+
+SRC_URI = "git://github.com/denix0/devmem2.git;protocol=https;branch=main"
+SRCREV = "5b395a946894eb4f4ef5d07c80a50a88573a541e"
+
+S = "${WORKDIR}/git"
+
+CFLAGS += "-DFORCE_STRICT_ALIGNMENT"
+
+do_compile() {
+ ${CC} -o devmem2 devmem2.c ${CFLAGS} ${LDFLAGS}
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install devmem2 ${D}${bindir}
+}
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.10.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.11.bb
index 4641b0181a..4641b0181a 100644
--- a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.10.bb
+++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.11.bb
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.10.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.10.bb
deleted file mode 100644
index 86353712db..0000000000
--- a/meta-oe/recipes-support/dfu-util/dfu-util_0.10.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "USB Device Firmware Upgrade utility"
-AUTHOR = "Harald Welte <laforge@openmoko.org>"
-HOMEPAGE = "http://dfu-util.sourceforge.net"
-SECTION = "devel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-DEPENDS = "libusb1"
-
-SRC_URI = "http://dfu-util.sourceforge.net/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "8cf55663703cdc6b40f377f999eb8d3d"
-SRC_URI[sha256sum] = "a03dc58dfc79c056819c0544b2a5970537566460102b3d82cfb038c60e619b42"
-
-inherit autotools pkgconfig
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb
new file mode 100644
index 0000000000..17547ca83f
--- /dev/null
+++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.11.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "USB Device Firmware Upgrade utility"
+HOMEPAGE = "http://dfu-util.sourceforge.net"
+SECTION = "devel"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+DEPENDS = "libusb1"
+
+SRC_URI = "http://dfu-util.sourceforge.net/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "b4b53ba21a82ef7e3d4c47df2952adf5fa494f499b6b0b57c58c5d04ae8ff19e"
+
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-support/dhex/dhex_0.69.bb b/meta-oe/recipes-support/dhex/dhex_0.69.bb
index 6f8c86a169..3cc870481f 100644
--- a/meta-oe/recipes-support/dhex/dhex_0.69.bb
+++ b/meta-oe/recipes-support/dhex/dhex_0.69.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://www.dettus.net/dhex/"
DEPENDS = "ncurses"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://README.txt;beginline=229;endline=241;md5=6f252a421b65bcecf624382ba3c899da"
SRC_URI = "http://www.dettus.net/dhex/dhex_0.69.tar.gz"
diff --git a/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb b/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb
index 9fcc278d35..6565097334 100644
--- a/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb
+++ b/meta-oe/recipes-support/digitemp/digitemp_3.7.2.bb
@@ -1,10 +1,10 @@
SUMMARY = "read temperature sensors in a 1-Wire net"
SECTION = "util"
DEPENDS = "libusb1"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
-SRC_URI = "git://github.com/bcl/digitemp"
+SRC_URI = "git://github.com/bcl/digitemp;branch=master;protocol=https"
SRCREV = "a162e63aad35358aab325388f3d5e88121606419"
diff --git a/meta-oe/recipes-support/dool/dool_1.3.1.bb b/meta-oe/recipes-support/dool/dool_1.3.1.bb
new file mode 100644
index 0000000000..b20f8b4015
--- /dev/null
+++ b/meta-oe/recipes-support/dool/dool_1.3.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Dool is a Python3 compatible fork of Dstat"
+DESCRIPTION = "Dool is a command line tool to monitor many aspects of your system: \
+CPU, Memory, Network, Load Average, etc. It also includes a robust plug-in architecture \
+to allow monitoring other system metrics."
+HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+DEPENDS += "asciidoc-native xmlto-native"
+RDEPENDS:${PN} += "python3-core python3-misc python3-resource python3-shell python3-six python3-unixadmin"
+
+SRC_URI = "git://github.com/scottchiefbaker/dool.git;branch=master;protocol=https \
+ "
+
+SRCREV = "30847c748483bc088549486292232d805b086b1f"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+
diff --git a/meta-oe/recipes-support/driverctl/driverctl_0.115.bb b/meta-oe/recipes-support/driverctl/driverctl_0.115.bb
new file mode 100644
index 0000000000..970844f982
--- /dev/null
+++ b/meta-oe/recipes-support/driverctl/driverctl_0.115.bb
@@ -0,0 +1,26 @@
+SUMMARY = "driverctl is a device driver control utility for Linux"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+DEPENDS = "systemd"
+RDEPENDS:${PN} += "bash bash-completion"
+
+SRC_URI = "git://gitlab.com/driverctl/driverctl.git;branch=master;protocol=https"
+SRCREV = "2ba60536eb20ca0a6a751bd8b6501dba84ec45d3"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig systemd features_check
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+FILES:${PN} += " \
+ ${libdir} \
+ ${datadir} \
+ ${systemd_system_unitdir} \
+"
+
diff --git a/meta-oe/recipes-support/dstat/dstat/0001-change-dstat-to-python3.patch b/meta-oe/recipes-support/dstat/dstat/0001-change-dstat-to-python3.patch
deleted file mode 100644
index 06a8498f3c..0000000000
--- a/meta-oe/recipes-support/dstat/dstat/0001-change-dstat-to-python3.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From ce0528cb48666843fed2ad10ece5ecb0ac0b8cf8 Mon Sep 17 00:00:00 2001
-From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
-Date: Fri, 15 May 2020 12:38:49 +0900
-Subject: [PATCH] change dstat to python3.
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- dstat | 2 +-
- examples/curstest | 2 +-
- examples/devtest.py | 2 +-
- examples/mmpipe.py | 2 +-
- examples/mstat.py | 2 +-
- examples/read.py | 2 +-
- examples/tdbtest | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/dstat b/dstat
-index 9359965..f250f06 100755
---- a/dstat
-+++ b/dstat
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- ### This program is free software; you can redistribute it and/or
- ### modify it under the terms of the GNU General Public License
-diff --git a/examples/curstest b/examples/curstest
-index afc4e70..d720cca 100755
---- a/examples/curstest
-+++ b/examples/curstest
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- import curses, sys
-
- #c = curses.wrapper(s)
-diff --git a/examples/devtest.py b/examples/devtest.py
-index 0e9e969..e53babd 100755
---- a/examples/devtest.py
-+++ b/examples/devtest.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
-
- import sys
- sys.path.insert(0, '/usr/share/dstat/')
-diff --git a/examples/mmpipe.py b/examples/mmpipe.py
-index 5c93567..f91515f 100755
---- a/examples/mmpipe.py
-+++ b/examples/mmpipe.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- import select, sys, os
-
- def readpipe(file, tmout = 0.001):
-diff --git a/examples/mstat.py b/examples/mstat.py
-index abf4d07..ac157e4 100755
---- a/examples/mstat.py
-+++ b/examples/mstat.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
-
- ### Example2: simple sub-second monitor (ministat)
-
-diff --git a/examples/read.py b/examples/read.py
-index 556b7ae..a925109 100755
---- a/examples/read.py
-+++ b/examples/read.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
-
- ### Example 1: Direct accessing stats
- ### This is a quick example showing how you can access dstat data
-diff --git a/examples/tdbtest b/examples/tdbtest
-index 528a8ea..ae7fef9 100755
---- a/examples/tdbtest
-+++ b/examples/tdbtest
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- import sys, tdb
-
- db = tdb.tdb('/var/cache/samba/connections.tdb')
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/dstat/dstat_0.7.4.bb b/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
deleted file mode 100644
index 74af54ca53..0000000000
--- a/meta-oe/recipes-support/dstat/dstat_0.7.4.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "versatile resource statics tool"
-DESCRIPTION = "Dstat is a versatile replacement for vmstat, iostat, netstat and ifstat. \
-Dstat overcomes some of their limitations and adds some extra features, more counters \
-and flexibility. Dstat is handy for monitoring systems during performance tuning tests, \
-benchmarks or troubleshooting."
-HOMEPAGE = "http://dag.wiee.rs/home-made/dstat"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-DEPENDS += "asciidoc-native xmlto-native"
-
-SRC_URI = "git://github.com/dagwieers/dstat.git \
- file://0001-change-dstat-to-python3.patch \
- "
-
-SRCREV = "6f5db0aed26bf8cf2700d4ffe90a9bd3436ac728"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- oe_runmake 'DESTDIR=${D}' install
-}
-
-RDEPENDS_${PN} += "python3-core python3-misc python3-resource python3-shell python3-unixadmin"
diff --git a/meta-oe/recipes-support/edid-decode/edid-decode_git.bb b/meta-oe/recipes-support/edid-decode/edid-decode_git.bb
new file mode 100644
index 0000000000..6eaec800ca
--- /dev/null
+++ b/meta-oe/recipes-support/edid-decode/edid-decode_git.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Decode EDID data in human-readable format"
+DESCRIPTION = "edid-decode decodes EDID monitor description data in human-readable format."
+HOMEPAGE = "https://hverkuil.home.xs4all.nl/edid-decode/edid-decode.html"
+
+SECTION = "console/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2ef696d66c156139232201f223c22592"
+
+SRC_URI= "git://git.linuxtv.org/edid-decode.git;protocol=https;branch=master"
+SRCREV = "5920bf2a756b2f748c49ff6a08b9f421026473c5"
+PV = "0.0+git"
+S = "${WORKDIR}/git"
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/eject/eject/eject-timeout.patch b/meta-oe/recipes-support/eject/eject/eject-timeout.patch
index de8146f32a..4511e17069 100644
--- a/meta-oe/recipes-support/eject/eject/eject-timeout.patch
+++ b/meta-oe/recipes-support/eject/eject/eject-timeout.patch
@@ -1,6 +1,6 @@
allow a longer timeout
-Upstream-Status: Backport
+Upstream-Status: Backport
Signed-off-by: Morgan Little <morgan.little@windriver.com>
diff --git a/meta-oe/recipes-support/eject/eject_2.1.5.bb b/meta-oe/recipes-support/eject/eject_2.1.5.bb
index dec2e7ab4c..dd5489e7db 100644
--- a/meta-oe/recipes-support/eject/eject_2.1.5.bb
+++ b/meta-oe/recipes-support/eject/eject_2.1.5.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Eject allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ or ZIP disk) to be ejected under software control."
HOMEPAGE = "http://eject.sourceforge.net/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
inherit autotools gettext update-alternatives
@@ -18,9 +18,8 @@ SRC_URI[sha256sum] = "ef9f7906484cfde4ba223b2682a37058f9a3c7d3bb1adda7a34a67402e
S = "${WORKDIR}/${BPN}"
-PR = "r1"
-do_compile_prepend() {
+do_compile:prepend() {
# PO subdir must be in build directory
if [ ! ${S} = ${B} ]; then
mkdir -p ${B}/po
@@ -28,11 +27,11 @@ do_compile_prepend() {
fi
}
-ALTERNATIVE_${PN} = "volname eject"
+ALTERNATIVE:${PN} = "volname eject"
ALTERNATIVE_LINK_NAME[volname] = "${bindir}/volname"
ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
ALTERNATIVE_PRIORITY[volname] = "100"
ALTERNATIVE_PRIORITY[eject] = "100"
-ALTERNATIVE_${PN}-doc = "eject.1"
+ALTERNATIVE:${PN}-doc = "eject.1"
ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1"
diff --git a/meta-oe/recipes-support/emacs/emacs_27.1.bb b/meta-oe/recipes-support/emacs/emacs_27.1.bb
deleted file mode 100644
index cfc089b3b6..0000000000
--- a/meta-oe/recipes-support/emacs/emacs_27.1.bb
+++ /dev/null
@@ -1,262 +0,0 @@
-SUMMARY = "Emacs is the extensible, customizable, self-documenting real-time display editor"
-HOMEPAGE = "https://www.gnu.org/software/emacs/"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
-
-SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz"
-
-SRC_URI_append_class-target = " file://usemake-docfile-native.patch"
-
-SRC_URI[sha256sum] = "4a4c128f915fc937d61edfc273c98106711b540c9be3cd5d2e2b9b5b2f172e41"
-
-PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls"
-PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5"
-PACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp"
-
-PACKAGECONFIG ??= "gnutls kerberos libgmp"
-
-# We could use --without-all but its better to
-# split it into several packages (size of minimal doesnt change)
-EXTRA_OECONF = " --with-x=no --with-dumping=none"
-
-DEPENDS = "ncurses"
-DEPENDS_append_class-target = " emacs-native"
-
-inherit autotools mime-xdg
-
-
-do_compile_class-native (){
- cd ${B}/lib-src
- oe_runmake make-docfile
- oe_runmake make-fingerprint
-}
-do_install_class-native(){
- install -d ${D}${bindir}
- install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/
- install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/
-}
-
-
-do_install_append(){
- # Delete systemd stuff, extend using DISTRO_FEATURES?
- rm -rf ${D}/${libdir}
- # Extra stuff which isnt needed
- rm -rf ${D}/${datadir}/metainfo
- rm -rf ${D}/${datadir}/info
- # Emacs copies files to ${D} while building, which were unpacked
- # by a different user, we need to restore those
- chown -R root:root ${D}${datadir}
-}
-
-
-# Use a similar strategy to how we build python:
-# Create three packages
-# minimal - A working lisp based text editor
-# base - What would probably work for most
-# full - A fully working emacs
-# The lists of files are long but are worth it
-# Installing "emacs" installs the base package
-PACKAGE_BEFORE_PN = "${PN}-minimal ${PN}-base ${PN}-full"
-RPROVIDES_${PN}-base = "${PN}"
-RDEPENDS_${PN}-base_class-target = "${PN}-minimal"
-RDEPENDS_${PN}-full_class-target = "${PN}"
-
-
-# A minimal version of emacs that works
-FILES_${PN}-minimal = " \
- ${datadir}/${BPN}/${PV}/lisp/loadup.el \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-run.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/backquote.elc \
- ${datadir}/${BPN}/${PV}/lisp/subr.elc \
- ${datadir}/${BPN}/${PV}/lisp/version.elc \
- ${datadir}/${BPN}/${PV}/lisp/widget.elc \
- ${datadir}/${BPN}/${PV}/lisp/custom.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \
- ${datadir}/${BPN}/${PV}/lisp/international/mule.elc \
- ${datadir}/${BPN}/${PV}/lisp/international/mule-conf.elc \
- ${datadir}/${BPN}/${PV}/lisp/env.elc \
- ${datadir}/${BPN}/${PV}/lisp/format.elc \
- ${datadir}/${BPN}/${PV}/lisp/bindings.elc \
- ${datadir}/${BPN}/${PV}/lisp/window.elc \
- ${datadir}/${BPN}/${PV}/lisp/files.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \
- ${datadir}/${BPN}/${PV}/lisp/cus-face.elc \
- ${datadir}/${BPN}/${PV}/lisp/faces.elc \
- ${datadir}/${BPN}/${PV}/lisp/button.elc \
- ${datadir}/${BPN}/${PV}/lisp/loaddefs.el \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \
- ${datadir}/${BPN}/${PV}/lisp/obarray.elc \
- ${datadir}/${BPN}/${PV}/lisp/abbrev.elc \
- ${datadir}/${BPN}/${PV}/lisp/simple.elc \
- ${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \
- ${datadir}/${BPN}/${PV}/lisp/epa-hook.elc \
- ${datadir}/${BPN}/${PV}/lisp/international/mule-cmds.elc \
- ${datadir}/${BPN}/${PV}/lisp/case-table.elc \
- ${datadir}/${BPN}/${PV}/lisp/international/charprop.el \
- ${datadir}/${BPN}/${PV}/lisp/international/characters.elc \
- ${datadir}/${BPN}/${PV}/lisp/international/charscript.elc \
- ${datadir}/${BPN}/${PV}/lisp/composite.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/cyrillic.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/indian.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/english.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/ethiopic.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/european.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/czech.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/greek.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \
- ${datadir}/${BPN}/${PV}/lisp/international/cp51932.elc \
- ${datadir}/${BPN}/${PV}/lisp/international/eucjp-ms.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/korean.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/lao.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/tai-viet.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/thai.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/tibetan.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/vietnamese.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/utf-8-lang.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/georgian.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \
- ${datadir}/${BPN}/${PV}/lisp/language/cham.elc \
- ${datadir}/${BPN}/${PV}/lisp/indent.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \
- ${datadir}/${BPN}/${PV}/lisp/minibuffer.elc \
- ${datadir}/${BPN}/${PV}/lisp/frame.elc \
- ${datadir}/${BPN}/${PV}/lisp/startup.elc \
- ${datadir}/${BPN}/${PV}/lisp/term/tty-colors.elc \
- ${datadir}/${BPN}/${PV}/lisp/font-core.elc \
- ${datadir}/${BPN}/${PV}/lisp/facemenu.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/syntax.elc \
- ${datadir}/${BPN}/${PV}/lisp/font-lock.elc \
- ${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \
- ${datadir}/${BPN}/${PV}/lisp/mouse.elc \
- ${datadir}/${BPN}/${PV}/lisp/select.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/timer.elc \
- ${datadir}/${BPN}/${PV}/lisp/isearch.elc \
- ${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \
- ${datadir}/${BPN}/${PV}/lisp/menu-bar.elc \
- ${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \
- ${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \
- ${datadir}/${BPN}/${PV}/lisp/register.elc \
- ${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/prog-mode.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/elisp-mode.elc \
- ${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \
- ${datadir}/${BPN}/${PV}/lisp/textmodes/fill.elc \
- ${datadir}/${BPN}/${PV}/lisp/newcomment.elc \
- ${datadir}/${BPN}/${PV}/lisp/replace.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/tabulated-list.elc \
- ${datadir}/${BPN}/${PV}/lisp/buff-menu.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \
- ${datadir}/${BPN}/${PV}/lisp/vc/vc-hooks.elc \
- ${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \
- ${datadir}/${BPN}/${PV}/lisp/uniquify.elc \
- ${datadir}/${BPN}/${PV}/lisp/electric.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \
- ${datadir}/${BPN}/${PV}/lisp/cus-start.elc \
- ${datadir}/${BPN}/${PV}/lisp/tooltip.elc \
- ${datadir}/${BPN}/${PV}/lisp/simple.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \
- ${datadir}/${BPN}/${PV}/lisp/term/xterm.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-opt.elc \
- ${datadir}/${BPN}/${PV}/lisp/image.elc \
- ${datadir}/${BPN}/${PV}/lisp/ldefs-boot.el \
- ${datadir}/${BPN}/${PV}/lisp/help.elc \
- ${datadir}/${BPN}/${PV}/lisp/international/uni*.el \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/vc/warnings.elc \
- ${datadir}/${BPN}/${PV}/etc/charsets/ \
- ${datadir}/${BPN}/${PV}/lisp/disp-table.elc \
- ${bindir}/emacs* \
- ${prefix}/libexec \
-"
-
-
-# What works for "most" is relative, but this can be easily extended if needed
-FILES_${PN}-base = " \
- ${datadir}/${BPN}/${PV}/etc/srecode \
- ${datadir}/${BPN}/${PV}/etc/e \
- ${datadir}/${BPN}/${PV}/etc/forms \
- ${datadir}/${BPN}/${PV}/lisp/cedet \
- ${datadir}/${BPN}/${PV}/site-lisp/ \
- ${datadir}/${BPN}/${PV}/lisp/subdirs.el \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-mode.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-defs.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-vars.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-engine.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-styles.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-fonts.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-cmds.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-align.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-menus.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-guess.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/python* \
- ${datadir}/${BPN}/${PV}/lisp/ansi-color.elc \
- ${datadir}/${BPN}/${PV}/lisp/comint.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/ring.elc \
- ${datadir}/${BPN}/${PV}/lisp/json.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \
- ${datadir}/${BPN}/${PV}/lisp/net/tramp-sh.elc \
- ${datadir}/${BPN}/${PV}/lisp/net/tramp.elc \
- ${datadir}/${BPN}/${PV}/lisp/net/tramp-compat.elc \
- ${datadir}/${BPN}/${PV}/lisp/auth-source.elc \
- ${datadir}/${BPN}/${PV}/lisp/password-cache.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio.elc \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio-core.elc \
- ${datadir}/${BPN}/${PV}/lisp/format-spec.elc \
- ${datadir}/${BPN}/${PV}/lisp/ls-lisp.elc \
- ${datadir}/${BPN}/${PV}/lisp/calendar/parse-time.elc \
- ${datadir}/${BPN}/${PV}/lisp/calendar/iso8601.elc \
- ${datadir}/${BPN}/${PV}/lisp/calendar/time-date.elc \
- ${datadir}/${BPN}/${PV}/lisp/shell.elc \
- ${datadir}/${BPN}/${PV}/lisp/pcomplete.elc \
- ${datadir}/${BPN}/${PV}/lisp/net/tramp-integration.elc \
- ${datadir}/${BPN}/${PV}/lisp/files-x.elc \
- ${datadir}/${BPN}/${PV}/lisp/net/trampver.elc \
- ${datadir}/${BPN}/${PV}/lisp/net/tramp-loaddefs.el \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/*perl* \
- ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/smie.elc \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/*asm* \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/cpp* \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/make* \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/sh-script* \
- ${datadir}/${BPN}/${PV}/etc/themes/adwaita-theme.el \
- ${datadir}/${BPN}/${PV}/etc/themes/wheatgrass-theme.el \
- ${datadir}/${BPN}/${PV}/etc/themes/deeper-blue-theme.el \
- ${datadir}/${BPN}/${PV}/etc/themes/light-blue-theme.el \
- ${datadir}/${BPN}/${PV}/etc/themes/misterioso-theme.el \
- ${datadir}/${BPN}/${PV}/etc/themes/tango-theme.el \
- ${datadir}/${BPN}/${PV}/etc/themes/wombat-theme.el \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/prog* \
- ${datadir}/${BPN}/${PV}/lisp/progmodes/executable* \
-"
-
-# Restore FILES for the full package to catch everything left
-FILES_${PN}-full = "${FILES_${PN}}"
-FILES_${PN}-full_append = " ${datadir}/icons"
-
-
-# The following does NOT build a native emacs.
-# It only builds some parts of it that are
-# required to by the build for target emacs.
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/emacs/emacs_29.1.bb b/meta-oe/recipes-support/emacs/emacs_29.1.bb
new file mode 100644
index 0000000000..5cbe4551c0
--- /dev/null
+++ b/meta-oe/recipes-support/emacs/emacs_29.1.bb
@@ -0,0 +1,311 @@
+SUMMARY = "Emacs is the extensible, customizable, self-documenting real-time display editor"
+HOMEPAGE = "https://www.gnu.org/software/emacs/"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
+
+SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz \
+ "
+SRC_URI:append:class-target = " \
+ file://use-emacs-native-tools-for-cross-compiling.patch \
+ file://avoid-running-host-binaries-for-sanity.patch \
+"
+
+SRC_URI[sha256sum] = "d2f881a5cc231e2f5a03e86f4584b0438f83edd7598a09d24a21bd8d003e2e01"
+
+CVE_STATUS[CVE-2007-6109] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
+PACKAGECONFIG[gnutls] = "--with-gnutls=yes,--with-gnutls=no,gnutls"
+PACKAGECONFIG[kerberos] = "--with-kerberos=yes,--with-kerberos=no,krb5"
+PACKAGECONFIG[libgmp] = "--with-libgmp=yes,--with-libgmp=no,gmp"
+PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
+
+PACKAGECONFIG ??= "gnutls kerberos libgmp"
+
+# We could use --without-all but its better to
+# split it into several packages (size of minimal doesnt change)
+EXTRA_OECONF = " --with-x=no --with-dumping=none --disable-build-details"
+
+# Disable seccomp, as its a default dependency for gnutls but it doesnt work when cross-compiling emacs
+EXTRA_OECONF:append = " ${@bb.utils.contains('PACKAGECONFIG', 'gnutls', 'ac_cv_have_decl_SECCOMP_FILTER_FLAG_TSYNC=no ac_cv_have_decl_SECCOMP_SET_MODE_FILTER=no', '', d)}"
+
+
+DEPENDS = "ncurses"
+DEPENDS:append:class-target = " emacs-native"
+
+inherit autotools mime-xdg pkgconfig
+
+
+# Create the required native tools for the target build
+do_compile:class-native (){
+ cd ${B}/lib-src
+ oe_runmake make-docfile
+ oe_runmake make-fingerprint
+ cd ${B}/src
+ oe_runmake bootstrap-emacs
+}
+
+do_install:class-native(){
+ install -d ${D}${bindir}
+ install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/
+ install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/
+ install -m 755 ${B}/src/bootstrap-emacs ${D}/${bindir}/
+}
+
+do_compile:prepend:class-target () {
+ # export EMACS env variables for the native tools to use to allow calling bootstrap-emacs
+ export EMACSLOADPATH=${S}/lisp
+ export EMACSDATA=${S}/etc
+}
+
+
+do_install:prepend:class-target(){
+ # export EMACS env variables for the native tools to use to allow calling bootstrap-emacs
+ export EMACSLOADPATH=${S}/lisp
+ export EMACSDATA=${S}/etc
+}
+
+# Remove build host references to avoid target pollution
+do_compile:prepend () {
+ sed -i -e 's|${TMPDIR}||g' ${B}/src/config.h
+ sed -i -e 's|${B}||g' ${B}/src/epaths.h
+}
+
+do_install:append(){
+ # Delete systemd stuff, extend using DISTRO_FEATURES?
+ rm -rf ${D}/${libdir}
+ # Extra stuff which isnt needed
+ rm -rf ${D}/${datadir}/metainfo
+ rm -rf ${D}/${datadir}/info
+ # Emacs copies files to ${D} while building, which were unpacked
+ # by a different user, we need to restore those
+ chown -R root:root ${D}${datadir}
+}
+
+# Use a similar strategy to how we build python:
+# Create three packages
+# minimal - A working lisp based text editor
+# base - What would probably work for most
+# full - A fully working emacs
+# The lists of files are long but are worth it
+# Installing "emacs" installs the base package
+PACKAGE_BEFORE_PN = "${PN}-minimal ${PN}-base ${PN}-full"
+RPROVIDES:${PN}-base = "${PN}"
+RDEPENDS:${PN}-base:class-target = "${PN}-minimal"
+RDEPENDS:${PN}-full:class-target = "${PN}"
+
+
+# A minimal version of emacs that works
+# These are kept sorted in alphabetical order
+FILES:${PN}-minimal = " \
+ ${bindir}/emacs* \
+ ${datadir}/${BPN}/${PV}/etc/charsets/ \
+ ${datadir}/${BPN}/${PV}/lisp/abbrev.elc \
+ ${datadir}/${BPN}/${PV}/lisp/bindings.elc \
+ ${datadir}/${BPN}/${PV}/lisp/buff-menu.elc \
+ ${datadir}/${BPN}/${PV}/lisp/button.elc \
+ ${datadir}/${BPN}/${PV}/lisp/case-table.elc \
+ ${datadir}/${BPN}/${PV}/lisp/composite.elc \
+ ${datadir}/${BPN}/${PV}/lisp/cus-face.elc \
+ ${datadir}/${BPN}/${PV}/lisp/cus-start.elc \
+ ${datadir}/${BPN}/${PV}/lisp/custom.elc \
+ ${datadir}/${BPN}/${PV}/lisp/disp-table.elc \
+ ${datadir}/${BPN}/${PV}/lisp/electric.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/backquote.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-opt.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/byte-run.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/debug-early.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easy-mmode.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/oclosure.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/rmc.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/rx.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/shorthands.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/syntax.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/tabulated-list.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/timer.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/vc/warnings.elc \
+ ${datadir}/${BPN}/${PV}/lisp/env.elc \
+ ${datadir}/${BPN}/${PV}/lisp/epa-hook.elc \
+ ${datadir}/${BPN}/${PV}/lisp/facemenu.elc \
+ ${datadir}/${BPN}/${PV}/lisp/faces.elc \
+ ${datadir}/${BPN}/${PV}/lisp/files.elc \
+ ${datadir}/${BPN}/${PV}/lisp/font-core.elc \
+ ${datadir}/${BPN}/${PV}/lisp/font-lock.elc \
+ ${datadir}/${BPN}/${PV}/lisp/format.elc \
+ ${datadir}/${BPN}/${PV}/lisp/frame.elc \
+ ${datadir}/${BPN}/${PV}/lisp/help.elc \
+ ${datadir}/${BPN}/${PV}/lisp/image.elc \
+ ${datadir}/${BPN}/${PV}/lisp/indent.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/characters.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/charprop.el \
+ ${datadir}/${BPN}/${PV}/lisp/international/charscript.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/cp51932.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/emoji-zwj.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/eucjp-ms.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/iso-transl.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/mule-cmds.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/mule-conf.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/mule.elc \
+ ${datadir}/${BPN}/${PV}/lisp/international/uni*.el \
+ ${datadir}/${BPN}/${PV}/lisp/isearch.elc \
+ ${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \
+ ${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \
+ ${datadir}/${BPN}/${PV}/lisp/jka-compr.elc \
+ ${datadir}/${BPN}/${PV}/lisp/keymap.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/cham.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/cyrillic.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/czech.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/english.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/ethiopic.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/european.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/georgian.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/greek.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/indian.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/indonesian.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/korean.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/lao.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/philippine.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/tai-viet.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/thai.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/tibetan.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/utf-8-lang.elc \
+ ${datadir}/${BPN}/${PV}/lisp/language/vietnamese.elc \
+ ${datadir}/${BPN}/${PV}/lisp/ldefs-boot.el \
+ ${datadir}/${BPN}/${PV}/lisp/loaddefs.el \
+ ${datadir}/${BPN}/${PV}/lisp/loadup.el \
+ ${datadir}/${BPN}/${PV}/lisp/menu-bar.elc \
+ ${datadir}/${BPN}/${PV}/lisp/minibuffer.elc \
+ ${datadir}/${BPN}/${PV}/lisp/mouse.elc \
+ ${datadir}/${BPN}/${PV}/lisp/newcomment.elc \
+ ${datadir}/${BPN}/${PV}/lisp/obarray.elc \
+ ${datadir}/${BPN}/${PV}/lisp/paren.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/elisp-mode.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/prog-mode.elc \
+ ${datadir}/${BPN}/${PV}/lisp/register.elc \
+ ${datadir}/${BPN}/${PV}/lisp/replace.elc \
+ ${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \
+ ${datadir}/${BPN}/${PV}/lisp/select.elc \
+ ${datadir}/${BPN}/${PV}/lisp/simple.elc \
+ ${datadir}/${BPN}/${PV}/lisp/startup.elc \
+ ${datadir}/${BPN}/${PV}/lisp/subr.elc \
+ ${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \
+ ${datadir}/${BPN}/${PV}/lisp/term/tty-colors.elc \
+ ${datadir}/${BPN}/${PV}/lisp/term/xterm.elc \
+ ${datadir}/${BPN}/${PV}/lisp/textmodes/fill.elc \
+ ${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \
+ ${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \
+ ${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \
+ ${datadir}/${BPN}/${PV}/lisp/thingatpt.elc \
+ ${datadir}/${BPN}/${PV}/lisp/tooltip.elc \
+ ${datadir}/${BPN}/${PV}/lisp/uniquify.elc \
+ ${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \
+ ${datadir}/${BPN}/${PV}/lisp/vc/vc-hooks.elc \
+ ${datadir}/${BPN}/${PV}/lisp/version.elc \
+ ${datadir}/${BPN}/${PV}/lisp/widget.elc \
+ ${datadir}/${BPN}/${PV}/lisp/window.elc \
+ ${prefix}/libexec \
+"
+
+# What works for "most" is relative, but this can be easily extended if needed
+FILES:${PN}-base = " \
+ ${datadir}/${BPN}/${PV}/etc/e \
+ ${datadir}/${BPN}/${PV}/etc/forms \
+ ${datadir}/${BPN}/${PV}/etc/srecode \
+ ${datadir}/${BPN}/${PV}/etc/themes/adwaita-theme.el \
+ ${datadir}/${BPN}/${PV}/etc/themes/deeper-blue-theme.el \
+ ${datadir}/${BPN}/${PV}/etc/themes/light-blue-theme.el \
+ ${datadir}/${BPN}/${PV}/etc/themes/misterioso-theme.el \
+ ${datadir}/${BPN}/${PV}/etc/themes/tango-theme.el \
+ ${datadir}/${BPN}/${PV}/etc/themes/wheatgrass-theme.el \
+ ${datadir}/${BPN}/${PV}/etc/themes/wombat-theme.el \
+ ${datadir}/${BPN}/${PV}/lisp/ansi-color.elc \
+ ${datadir}/${BPN}/${PV}/lisp/auth-source.elc \
+ ${datadir}/${BPN}/${PV}/lisp/calendar/iso8601.elc \
+ ${datadir}/${BPN}/${PV}/lisp/calendar/parse-time.elc \
+ ${datadir}/${BPN}/${PV}/lisp/calendar/time-date.elc \
+ ${datadir}/${BPN}/${PV}/lisp/cedet \
+ ${datadir}/${BPN}/${PV}/lisp/comint.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio-core.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eieio.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/ring.elc \
+ ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/smie.elc \
+ ${datadir}/${BPN}/${PV}/lisp/files-x.elc \
+ ${datadir}/${BPN}/${PV}/lisp/format-spec.elc \
+ ${datadir}/${BPN}/${PV}/lisp/json.elc \
+ ${datadir}/${BPN}/${PV}/lisp/ls-lisp.elc \
+ ${datadir}/${BPN}/${PV}/lisp/net/tramp-compat.elc \
+ ${datadir}/${BPN}/${PV}/lisp/net/tramp-integration.elc \
+ ${datadir}/${BPN}/${PV}/lisp/net/tramp-loaddefs.el \
+ ${datadir}/${BPN}/${PV}/lisp/net/tramp-sh.elc \
+ ${datadir}/${BPN}/${PV}/lisp/net/tramp.elc \
+ ${datadir}/${BPN}/${PV}/lisp/net/trampver.elc \
+ ${datadir}/${BPN}/${PV}/lisp/password-cache.elc \
+ ${datadir}/${BPN}/${PV}/lisp/pcomplete.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/*asm* \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/*perl* \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-align.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-cmds.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-defs.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-engine.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-fonts.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-guess.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-menus.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-mode.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-styles.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cc-vars.elc \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/cpp* \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/executable* \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/make* \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/prog* \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/python* \
+ ${datadir}/${BPN}/${PV}/lisp/progmodes/sh-script* \
+ ${datadir}/${BPN}/${PV}/lisp/shell.elc \
+ ${datadir}/${BPN}/${PV}/lisp/subdirs.el \
+ ${datadir}/${BPN}/${PV}/site-lisp/ \
+"
+
+# Restore FILES for the full package to catch everything left
+FILES:${PN}-full = "${FILES:${PN}}"
+FILES:${PN}-full:append = " ${datadir}/icons"
+
+
+# The following does NOT build a native emacs.
+# It only builds some parts of it that are
+# required to by the build for target emacs.
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/emacs/files/avoid-running-host-binaries-for-sanity.patch b/meta-oe/recipes-support/emacs/files/avoid-running-host-binaries-for-sanity.patch
new file mode 100644
index 0000000000..719ee4bce9
--- /dev/null
+++ b/meta-oe/recipes-support/emacs/files/avoid-running-host-binaries-for-sanity.patch
@@ -0,0 +1,38 @@
+Upstream-Status: Inappropriate [OE-Specific]
+
+Emacs introduced a sanity-check for the build artifacts, where it
+runs the newly built emacs to perform some checks.
+
+This is not going to work for us since we are cross-compiling,
+we need to avoid running target binaries on the host
+
+Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
+
+Index: emacs-29.1/Makefile.in
+===================================================================
+--- emacs-29.1.orig/Makefile.in
++++ emacs-29.1/Makefile.in
+@@ -416,19 +416,10 @@ advice-on-failure:
+ @exit ${exit-status}
+
+ sanity-check:
+- @[ -f .no-advice-on-failure ] && exit 0; true
+- @v=$$(src/emacs${EXEEXT} --batch --eval \
+- '(progn (defun f (n) (if (= 0 n) 1 (* n (f (- n 1))))) (princ (f 10)))' \
+- 2> /dev/null); \
+- [ "X$$v" = "X3628800" ] && exit 0; \
+- echo >&2 '***'; \
+- echo >&2 '*** '"\"make ${make-target}\" succeeded, but Emacs is not functional."; \
+- echo >&2 '***'; \
+- cat Makefile | \
+- sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q;};' | \
+- sed 's/^# /*** /' | grep -v '^\*\*\* ADVICE-ON-FAILURE-' >&2; \
+- echo >&2 '***'; \
+- exit 1
++# The Makefile will try to call the newly built emacs to perform some checks
++# this is not going to work since it was (probably) built for a different architecture.
++# Avoid calling target binaries from the host and simply assume our build artifacts work.
++ exit 0
+
+ .PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 epaths-force-ns-self-contained etc-emacsver
+
diff --git a/meta-oe/recipes-support/emacs/files/use-emacs-native-tools-for-cross-compiling.patch b/meta-oe/recipes-support/emacs/files/use-emacs-native-tools-for-cross-compiling.patch
new file mode 100644
index 0000000000..df5e4bd258
--- /dev/null
+++ b/meta-oe/recipes-support/emacs/files/use-emacs-native-tools-for-cross-compiling.patch
@@ -0,0 +1,106 @@
+Upstream-Status: Inappropriate [OE-Specific]
+
+When building emacs, it builds some tools for the HOST
+that are then used to build for target, such as
+make-fingerprint and make-docfile and bootstrap-emacs,
+this needs to be adapted to be used by bitbake, otherwise
+the compiled executables arent compatible with the HOST.
+
+We also need to be able to use emacs env variables to
+control how bootstrap-emacs is used when cross-compiling.
+
+Use the above mentioned tools provided by the native
+version of the recipe instead.
+
+Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
+
+Index: emacs-29.1/src/Makefile.in
+===================================================================
+--- emacs-29.1.orig/src/Makefile.in
++++ emacs-29.1/src/Makefile.in
+@@ -1,3 +1,4 @@
++
+ ### @configure_input@
+
+ # Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2023 Free Software
+@@ -508,7 +509,7 @@ ifeq ($(CHECK_STRUCTS),true)
+ pdumper.o: dmpstruct.h
+ endif
+ dmpstruct.h: $(srcdir)/dmpstruct.awk
+-dmpstruct.h: $(libsrc)/make-fingerprint$(EXEEXT) $(dmpstruct_headers)
++dmpstruct.h: $(dmpstruct_headers)
+ $(AM_V_GEN)POSIXLY_CORRECT=1 awk -f $(srcdir)/dmpstruct.awk \
+ $(dmpstruct_headers) > $@
+
+@@ -610,8 +611,7 @@ SYSTEM_TYPE = @SYSTEM_TYPE@
+ ## Strictly speaking, emacs does not depend directly on all of $lisp,
+ ## since not all pieces are used on all platforms. But DOC depends
+ ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
+-emacs$(EXEEXT): temacs$(EXEEXT) \
+- lisp.mk $(etc)/DOC $(lisp) \
++emacs$(EXEEXT): lisp.mk $(etc)/DOC $(lisp) \
+ $(lispsource)/international/charprop.el ${charsets}
+ ifeq ($(SYSTEM_TYPE),cygwin)
+ find ${top_builddir} -name '*.eln' | rebase -v -O -T -
+@@ -654,7 +654,7 @@ endif
+ $(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(doc_obj)
+ $(AM_V_GEN)$(MKDIR_P) $(etc)
+ $(AM_V_at)rm -f $(etc)/DOC
+- $(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \
++ make-docfile -d $(srcdir) \
+ $(SOME_MACHINE_OBJECTS) $(doc_obj) > $(etc)/DOC
+
+ $(libsrc)/make-docfile$(EXEEXT) $(libsrc)/make-fingerprint$(EXEEXT): \
+@@ -671,7 +671,7 @@ buildobj.h: Makefile
+ GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m)
+
+ gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
+- $(AM_V_GLOBALS)$(libsrc)/make-docfile -d $(srcdir) -g $(doc_obj) > globals.tmp
++ make-docfile -d $(srcdir) -g $(doc_obj) > globals.tmp
+ $(AM_V_at)$(top_srcdir)/build-aux/move-if-change globals.tmp globals.h
+ $(AM_V_at)echo timestamp > $@
+
+@@ -685,7 +685,7 @@ $(LIBEGNU_ARCHIVE): $(config_h)
+ $(MAKE) -C $(dir $@) all
+
+ ifeq ($(HAVE_PDUMPER),yes)
+-MAKE_PDUMPER_FINGERPRINT = $(libsrc)/make-fingerprint$(EXEEXT)
++MAKE_PDUMPER_FINGERPRINT = make-fingerprint
+ else
+ MAKE_PDUMPER_FINGERPRINT =
+ endif
+Index: emacs-29.1/lisp/Makefile.in
+===================================================================
+--- emacs-29.1.orig/lisp/Makefile.in
++++ emacs-29.1/lisp/Makefile.in
+@@ -53,7 +53,7 @@ FIND_DELETE = @FIND_DELETE@
+ # We never change directory before running Emacs, so a relative file
+ # name is fine, and makes life easier. If we need to change
+ # directory, we can use emacs --chdir.
+-EMACS = ../src/emacs${EXEEXT}
++EMACS = bootstrap-emacs
+
+ # Command line flags for Emacs.
+
+@@ -109,7 +109,7 @@ MAIN_FIRST = ./emacs-lisp/eieio.el ./ema
+ ./org/oc.el ./org/ol.el ./emacs-lisp/cl-lib.el
+
+ # Prevent any settings in the user environment causing problems.
+-unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH
++unexport EMACSDOC EMACSPATH
+
+ # The actual Emacs command run in the targets below.
+ emacs = '$(EMACS)' $(EMACSOPT)
+Index: emacs-29.1/Makefile.in
+===================================================================
+--- emacs-29.1.orig/Makefile.in
++++ emacs-29.1/Makefile.in
+@@ -328,7 +328,7 @@ GLIB_COMPILE_SCHEMAS = glib-compile-sche
+ TRANSFORM = @program_transform_name@
+
+ # Prevent any settings in the user environment causing problems.
+-unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH
++unexport EMACSDOC EMACSPATH
+
+ # What emacs should be called when installed.
+ EMACS_NAME = `echo emacs | sed '$(TRANSFORM)'`
diff --git a/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch b/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch
deleted file mode 100644
index cc0b05c792..0000000000
--- a/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-Upstream-Status: Inappropriate [OE-Specific]
-
-When building emacs, it builds some tools for the HOST
-that are then used to build for target, such as
-make-fingerprint and make-docfile, this needs to be
-adapted to be used by bitbake, otherwise the compiled
-executables arent compatible with the HOST.
-
-Use the above mentioned tools provided by the native
-version of the recipe instead.
-
-Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
-
-Index: emacs-27.1/src/Makefile.in
-===================================================================
---- emacs-27.1.orig/src/Makefile.in
-+++ emacs-27.1/src/Makefile.in
-@@ -472,7 +472,7 @@ ifeq ($(CHECK_STRUCTS),true)
- pdumper.o: dmpstruct.h
- endif
- dmpstruct.h: $(srcdir)/dmpstruct.awk
--dmpstruct.h: $(libsrc)/make-fingerprint$(EXEEXT) $(dmpstruct_headers)
-+dmpstruct.h: $(dmpstruct_headers)
- $(AM_V_GEN)POSIXLY_CORRECT=1 awk -f $(srcdir)/dmpstruct.awk \
- $(dmpstruct_headers) > $@
-
-@@ -566,8 +566,7 @@ ${lispintdir}/characters.elc: ${charscri
- ## Strictly speaking, emacs does not depend directly on all of $lisp,
- ## since not all pieces are used on all platforms. But DOC depends
- ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
--emacs$(EXEEXT): temacs$(EXEEXT) \
-- lisp.mk $(etc)/DOC $(lisp) \
-+emacs$(EXEEXT): lisp.mk $(etc)/DOC $(lisp) \
- $(lispsource)/international/charprop.el ${charsets}
- ifeq ($(DUMPING),unexec)
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
-@@ -596,15 +595,15 @@ endif
- ## for the first time, this prevents any variation between configurations
- ## in the contents of the DOC file.
- ##
--$(etc)/DOC: lisp.mk $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp)
-+$(etc)/DOC: lisp.mk $(obj) $(lisp)
- $(AM_V_GEN)$(MKDIR_P) $(etc)
- $(AM_V_at)rm -f $(etc)/DOC
-- $(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \
-+ make-docfile -d $(srcdir) \
- $(SOME_MACHINE_OBJECTS) $(obj) > $(etc)/DOC
-- $(AM_V_at)$(libsrc)/make-docfile -a $(etc)/DOC -d $(lispsource) \
-+ make-docfile -a $(etc)/DOC -d $(lispsource) \
- $(shortlisp)
-
--$(libsrc)/make-docfile$(EXEEXT) $(libsrc)/make-fingerprint$(EXEEXT): \
-+$(libsrc)/make-fingerprint$(EXEEXT): \
- $(lib)/libgnu.a
- $(MAKE) -C $(dir $@) $(notdir $@)
-
-@@ -622,8 +621,8 @@ am__v_GLOBALS_ = $(am__v_GLOBALS_@AM_DEF
- am__v_GLOBALS_0 = @echo " GEN " globals.h;
- am__v_GLOBALS_1 =
-
--gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
-- $(AM_V_GLOBALS)$(libsrc)/make-docfile -d $(srcdir) -g $(obj) > globals.tmp
-+gl-stamp: $(GLOBAL_SOURCES)
-+ make-docfile -d $(srcdir) -g $(obj) > globals.tmp
- $(AM_V_at)$(top_srcdir)/build-aux/move-if-change globals.tmp globals.h
- $(AM_V_at)echo timestamp > $@
-
-@@ -637,7 +636,7 @@ $(LIBEGNU_ARCHIVE): $(config_h)
- $(MAKE) -C $(dir $@) all
-
- ifeq ($(HAVE_PDUMPER),yes)
-- MAKE_PDUMPER_FINGERPRINT = $(libsrc)/make-fingerprint$(EXEEXT)
-+ MAKE_PDUMPER_FINGERPRINT = make-fingerprint
- else
- MAKE_PDUMPER_FINGERPRINT =
- endif
-@@ -647,7 +646,7 @@ endif
- ## This goes on to affect various things, and the emacs binary fails
- ## to start if Vinstallation_directory has the wrong value.
- temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(EMACSRES) \
-- $(charsets) $(charscript) $(MAKE_PDUMPER_FINGERPRINT)
-+ $(charsets) $(charscript)
- $(AM_V_CCLD)$(CC) -o $@.tmp \
- $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \
- $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(W32_RES_LINK) $(LIBES)
diff --git a/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch b/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch
new file mode 100644
index 0000000000..32fa239084
--- /dev/null
+++ b/meta-oe/recipes-support/enca/enca/0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch
@@ -0,0 +1,30 @@
+From c6a59d512706978e8c67f9a2d84ec650f8763368 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 8 May 2023 18:02:52 -0700
+Subject: [PATCH] Do not use $MKTEMP_PROG in cross-build
+
+$MKTEMP_PROG points to native location which could be absolute path that
+wont exist on target rootfs. Therefore use it from PATH
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4852a2f..d23b384 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -186,7 +186,7 @@ ye_PATH_LOCALE_ALIAS
+
+ dnl Random filename generation in scripts
+ if test -n "$MKTEMP_PROG"; then
+- SHELL_RANDOM_FILENAME='`'$MKTEMP_PROG' /tmp/enca-$$-XXXXXXXX`'
++ SHELL_RANDOM_FILENAME='`mktemp /tmp/enca-$$-XXXXXXXX`'
+ else
+ SHELL_RANDOM_FILENAME='/tmp/enca-$$-$RANDOM'
+ fi
+--
+2.40.1
+
diff --git a/meta-oe/recipes-support/enca/enca/dont-run-tests.patch b/meta-oe/recipes-support/enca/enca/dont-run-tests.patch
index 321d1e6201..1d0170bd73 100644
--- a/meta-oe/recipes-support/enca/enca/dont-run-tests.patch
+++ b/meta-oe/recipes-support/enca/enca/dont-run-tests.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: enca-1.9/Makefile.am
===================================================================
--- enca-1.9.orig/Makefile.am 2005-11-24 11:21:32.000000000 +0100
diff --git a/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch
index baf5547642..2112d8cfab 100644
--- a/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch
+++ b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch
@@ -8,6 +8,8 @@ This patch come straight from the Buildroot source tree.
Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com>
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
---
+Upstream-Status: Pending
+
m4/libiconv.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch b/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch
index 48497d68c8..756745d839 100644
--- a/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch
+++ b/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- enca-1.19/Makefile.am.orig 2006-06-29 15:34:55.000000000 +0100
+++ enca-1.19/Makefile.am 2006-06-29 15:35:20.000000000 +0100
@@ -1,7 +1,7 @@
diff --git a/meta-oe/recipes-support/enca/enca_1.19.bb b/meta-oe/recipes-support/enca/enca_1.19.bb
index 0adf0a29c5..774f05f7c4 100644
--- a/meta-oe/recipes-support/enca/enca_1.19.bb
+++ b/meta-oe/recipes-support/enca/enca_1.19.bb
@@ -4,24 +4,24 @@ HOMEPAGE = "https://cihar.com/software/enca/"
DEPENDS += "gettext-native"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4"
SRC_URI = "https://dl.cihar.com/enca/enca-${PV}.tar.gz \
file://dont-run-tests.patch \
file://makefile-remove-tools.patch \
- file://libenca-003-iconv.patch "
-
+ file://libenca-003-iconv.patch \
+ file://0001-Do-not-use-MKTEMP_PROG-in-cross-build.patch"
SRC_URI[sha256sum] = "4c305cc59f3e57f2cfc150a6ac511690f43633595760e1cb266bf23362d72f8a"
inherit autotools
-do_configure_prepend() {
+do_configure:prepend() {
# remove failing test which checks for something that isn't even used
sed -i -e '/ye_FUNC_SCANF_MODIF_SIZE_T/d' ${S}/configure.ac
}
-do_configure_append() {
+do_configure:append() {
sed -i s:-I/usr/include::g ${B}/Makefile
sed -i s:-I/usr/include::g ${B}/*/Makefile
}
diff --git a/meta-oe/recipes-support/epeg/epeg/0001-configure-Fix-checks-for-libjpeg-and-libexif.patch b/meta-oe/recipes-support/epeg/epeg/0001-configure-Fix-checks-for-libjpeg-and-libexif.patch
new file mode 100644
index 0000000000..1568fe96e1
--- /dev/null
+++ b/meta-oe/recipes-support/epeg/epeg/0001-configure-Fix-checks-for-libjpeg-and-libexif.patch
@@ -0,0 +1,32 @@
+From 4e0c62634b0db6dbad0d41377bb71a8012abd75b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Sep 2022 12:56:54 -0700
+Subject: [PATCH] configure: Fix checks for libjpeg and libexif
+
+Use the functions from the respective library instead of using main
+function which is not part of library
+
+Upstream-Status: Submitted [https://github.com/mattes/epeg/pull/27]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a4f6ebd..e474b1d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -31,8 +31,8 @@ AC_SUBST(version_info)
+ dnl AC_CHECK_FUNCS(fmemopen)
+ dnl AC_CHECK_FUNCS(open_memstream)
+
+-AC_CHECK_LIB([jpeg], [main], [], [echo "libjpeg library not found. Please install it before proceeding"; exit -1])
+-AC_CHECK_LIB([exif], [main], [], [echo "libexif library not found. Please install it before proceeding"; exit -1])
++AC_CHECK_LIB([jpeg], [jpeg_simple_progression], [], [echo "libjpeg library not found. Please install it before proceeding"; exit -1])
++AC_CHECK_LIB([exif], [exif_data_new_from_file], [], [echo "libexif library not found. Please install it before proceeding"; exit -1])
+
+ my_includes=""
+ my_libs="-ljpeg -lexif"
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/epeg/epeg_git.bb b/meta-oe/recipes-support/epeg/epeg_git.bb
index 8ca574014b..e5277b1579 100644
--- a/meta-oe/recipes-support/epeg/epeg_git.bb
+++ b/meta-oe/recipes-support/epeg/epeg_git.bb
@@ -5,7 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e7732a9290ea1e4b034fdc15cf49968d \
file://COPYING-PLAIN;md5=f59cacc08235a546b0c34a5422133035"
DEPENDS = "jpeg libexif"
-SRC_URI = "git://github.com/mattes/epeg.git"
+SRC_URI = "git://github.com/mattes/epeg.git;branch=master;protocol=https \
+ file://0001-configure-Fix-checks-for-libjpeg-and-libexif.patch \
+ "
SRCREV = "9a175cd67eaa61fe45413d8da82da72936567047"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/espeak/espeak_1.48.04.bb b/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
index 78f8f85c96..147a8069fa 100644
--- a/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
+++ b/meta-oe/recipes-support/espeak/espeak_1.48.04.bb
@@ -1,11 +1,12 @@
DESCRIPTION = "eSpeak is a compact open source software speech synthesizer"
SECTION = "base"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c"
SRC_URI = "http://downloads.sourceforge.net/espeak/espeak-1.48.04-source.zip \
file://0001-Fix-build-of-shared-library-on-architectures-needing.patch \
file://0002-tr_languages-cast-string_ordinal-init-values.patch \
+ file://0001-Drop-using-register-keyword-for-storage-classifier.patch \
"
SRC_URI[md5sum] = "cadd7482eaafe9239546bdc09fa244c3"
SRC_URI[sha256sum] = "bf9a17673adffcc28ff7ea18764f06136547e97bbd9edf2ec612f09b207f0659"
@@ -19,7 +20,7 @@ inherit siteinfo qemu
CXXFLAGS += "-DUSE_PORTAUDIO"
TARGET_CC_ARCH += "${LDFLAGS}"
-FILES_${PN} += "${datadir}/espeak-data"
+FILES:${PN} += "${datadir}/espeak-data"
do_configure() {
# "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19, use V19
@@ -64,4 +65,4 @@ do_install() {
cp -R --no-dereference --preserve=mode,links ${S}/espeak-data/* ${D}${datadir}/espeak-data
}
-RDEPENDS_${PN} = "portaudio-v19"
+RDEPENDS:${PN} = "portaudio-v19"
diff --git a/meta-oe/recipes-support/espeak/files/0001-Drop-using-register-keyword-for-storage-classifier.patch b/meta-oe/recipes-support/espeak/files/0001-Drop-using-register-keyword-for-storage-classifier.patch
new file mode 100644
index 0000000000..d9c0d08ec9
--- /dev/null
+++ b/meta-oe/recipes-support/espeak/files/0001-Drop-using-register-keyword-for-storage-classifier.patch
@@ -0,0 +1,38 @@
+From bad6131463275bd8013a82c28fb0b27e882bc801 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Jan 2023 16:07:35 -0800
+Subject: [PATCH] Drop using 'register' keyword for storage classifier
+
+Its gone from C++17 and newer
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/klatt.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/klatt.cpp b/src/klatt.cpp
+index b15f77c..9c51bc5 100755
+--- a/src/klatt.cpp
++++ b/src/klatt.cpp
+@@ -167,7 +167,7 @@ Output = (rnz.a * input) + (rnz.b * oldin1) + (rnz.c * oldin2)
+ #ifdef deleted
+ static double antiresonator(resonator_ptr r, double input)
+ {
+- register double x = (double)r->a * (double)input + (double)r->b * (double)r->p1 + (double)r->c * (double)r->p2;
++ double x = (double)r->a * (double)input + (double)r->b * (double)r->p1 + (double)r->c * (double)r->p2;
+ r->p2 = (double)r->p1;
+ r->p1 = (double)input;
+ return (double)x;
+@@ -176,7 +176,7 @@ static double antiresonator(resonator_ptr r, double input)
+
+ static double antiresonator2(resonator_ptr r, double input)
+ {
+- register double x = (double)r->a * (double)input + (double)r->b * (double)r->p1 + (double)r->c * (double)r->p2;
++ double x = (double)r->a * (double)input + (double)r->b * (double)r->p1 + (double)r->c * (double)r->p2;
+ r->p2 = (double)r->p1;
+ r->p1 = (double)input;
+
+--
+2.39.1
+
diff --git a/meta-oe/recipes-support/espeak/files/0001-Fix-build-of-shared-library-on-architectures-needing.patch b/meta-oe/recipes-support/espeak/files/0001-Fix-build-of-shared-library-on-architectures-needing.patch
index 2590e15841..144c30a62f 100644
--- a/meta-oe/recipes-support/espeak/files/0001-Fix-build-of-shared-library-on-architectures-needing.patch
+++ b/meta-oe/recipes-support/espeak/files/0001-Fix-build-of-shared-library-on-architectures-needing.patch
@@ -10,6 +10,8 @@ patch doesn't affect such architectures.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
+Upstream-Status: Pending
+
src/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/evemu-tools/evemu-tools_git.bb b/meta-oe/recipes-support/evemu-tools/evemu-tools_git.bb
new file mode 100644
index 0000000000..491f10dda0
--- /dev/null
+++ b/meta-oe/recipes-support/evemu-tools/evemu-tools_git.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Kernel evdev device emulation"
+DESCRIPTION = "The evemu library and tools are used to describe devices, record data, create devices and replay data from kernel evdev devices."
+HOMEPAGE = "https://www.freedesktop.org/wiki/Evemu"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+DEPENDS = "libevdev"
+
+SRCREV = "86a5627dbeac8d9d9bc34326a758d6a477e876e4"
+SRC_URI = "git://git@gitlab.freedesktop.org/libevdev/evemu.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+PV = "2.7.0+git"
+
+inherit autotools pkgconfig
+
+PACKAGES =+ "${PN}-python"
+FILES:${PN}-python = "${libdir}/python*/site-packages/*"
+RDEPENDS:${PN}-python = "python3"
+
diff --git a/meta-oe/recipes-support/exiv2/exiv2/0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch b/meta-oe/recipes-support/exiv2/exiv2/0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch
deleted file mode 100644
index 96146a1957..0000000000
--- a/meta-oe/recipes-support/exiv2/exiv2/0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 04d5f4805a86302a0e135a28d58a6c1ff6a68d52 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Thu, 30 Jul 2020 23:03:51 +0200
-Subject: [PATCH] Use compiler -fcf-protection only if compiler/arch supports
- it
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-There have been some PRs they were either rejected or some general suggestion
-for more flags suggested. So
-
-Upstream-Status: Pending
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- cmake/compilerFlags.cmake | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/cmake/compilerFlags.cmake b/cmake/compilerFlags.cmake
-index 12caf42..455525e 100644
---- a/cmake/compilerFlags.cmake
-+++ b/cmake/compilerFlags.cmake
-@@ -26,7 +26,12 @@ if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CYGWIN
- # This fails under Fedora, MinGW GCC 8.3.0 and CYGWIN/MSYS 9.3.0
- if (NOT (MINGW OR CMAKE_HOST_SOLARIS OR CYGWIN OR MSYS) )
- if (COMPILER_IS_GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
-- add_compile_options(-fstack-clash-protection -fcf-protection)
-+ # Gcc does support -fcf-protection on few arches only
-+ CHECK_CXX_COMPILER_FLAG(-fcf-protection COMPILER_SUPPORTS_FCF_PROTECTION)
-+ if (COMPILER_SUPPORTS_FCF_PROTECTION)
-+ add_compile_options(-fcf-protection)
-+ endif()
-+ add_compile_options(-fstack-clash-protection)
- endif()
-
- if( (COMPILER_IS_GCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0) # Not in GCC 4.8
---
-2.21.3
-
diff --git a/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb b/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb
deleted file mode 100644
index ed1e8de5c2..0000000000
--- a/meta-oe/recipes-support/exiv2/exiv2_0.27.3.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Exif, Iptc and XMP metadata manipulation library and tools"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
-
-DEPENDS = "zlib expat"
-
-SRC_URI = "https://exiv2.org/releases/${BPN}-${PV}-Source.tar.gz"
-SRC_URI[sha256sum] = "a79f5613812aa21755d578a297874fb59a85101e793edc64ec2c6bd994e3e778"
-
-# Once patch is obsolete (project should be aware due to PRs), dos2unix can be removed either
-inherit dos2unix
-SRC_URI += "file://0001-Use-compiler-fcf-protection-only-if-compiler-arch-su.patch"
-
-S = "${WORKDIR}/${BPN}-${PV}-Source"
-
-inherit cmake gettext
diff --git a/meta-oe/recipes-support/exiv2/exiv2_0.28.0.bb b/meta-oe/recipes-support/exiv2/exiv2_0.28.0.bb
new file mode 100644
index 0000000000..958810cf7a
--- /dev/null
+++ b/meta-oe/recipes-support/exiv2/exiv2_0.28.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Exif, Iptc and XMP metadata manipulation library and tools"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=625f055f41728f84a8d7938acc35bdc2"
+
+DEPENDS = "zlib expat brotli libinih"
+
+SRC_URI = "https://github.com/Exiv2/${BPN}/releases/download/v${PV}/${BP}-Source.tar.gz"
+SRC_URI[sha256sum] = "89af3b5ef7277753ef7a7b5374ae017c6b9e304db3b688f1948e73e103491f3d"
+# Once patch is obsolete (project should be aware due to PRs), dos2unix can be removed either
+# inherit dos2unix
+S = "${WORKDIR}/${BP}-Source"
+
+inherit cmake gettext
+
+do_install:append:class-target() {
+ # reproducibility: remove build host path
+ sed -i ${D}${libdir}/cmake/exiv2/exiv2Config.cmake \
+ -e 's:${STAGING_DIR_HOST}::g'
+}
diff --git a/meta-oe/recipes-support/farsight/libnice_0.1.16.bb b/meta-oe/recipes-support/farsight/libnice_0.1.16.bb
deleted file mode 100644
index 7bd6478d4c..0000000000
--- a/meta-oe/recipes-support/farsight/libnice_0.1.16.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "Interactive Connectivity Establishment library"
-DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)."
-HOMEPAGE = "http://nice.freedesktop.org/wiki/"
-
-LICENSE = "LGPLv2.1 & MPLv1.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \
- file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
-"
-
-SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
-SRC_URI[md5sum] = "5ad936c43d3c6d33117b2c64982f2fd9"
-SRC_URI[sha256sum] = "06b678066f94dde595a4291588ed27acd085ee73775b8c4e8399e28c01eeefdf"
-
-DEPENDS = "glib-2.0 gnutls"
-
-PACKAGECONFIG ??= "gstreamer1.0"
-PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
-PACKAGECONFIG[gstreamer1.0] = "--with-gstreamer,--without-gstreamer,gstreamer1.0 gstreamer1.0-plugins-base"
-
-inherit autotools pkgconfig gtk-doc gobject-introspection
-
-EXTRA_OECONF += "--without-gstreamer-0.10"
-
-FILES_${PN} += "${libdir}/gstreamer-1.0/*.so"
-FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la"
-FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
-FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
-
-do_configure_prepend() {
- mkdir ${S}/m4 || true
-}
-
-do_compile_append() {
- for i in $(find ${B} -name "*.pc") ; do
- sed -i -e s:${STAGING_DIR_TARGET}::g \
- -e s:/${TARGET_SYS}::g \
- $i
- done
-}
diff --git a/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch
index 82b1c61e9c..730bb7a965 100644
--- a/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch
+++ b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- fbset-2.1/Makefile.orig 2006-05-28 04:04:27.412095480 +0200
+++ fbset-2.1/Makefile 2006-05-28 04:14:05.379231120 +0200
@@ -2,7 +2,7 @@
diff --git a/meta-oe/recipes-support/fbset/fbset-modes.bb b/meta-oe/recipes-support/fbset/fbset-modes.bb
index b768553323..aa5f631c38 100644
--- a/meta-oe/recipes-support/fbset/fbset-modes.bb
+++ b/meta-oe/recipes-support/fbset/fbset-modes.bb
@@ -4,7 +4,6 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PV = "0.1.0"
-PR = "r6"
SRC_URI = "file://fb.modes"
S = "${WORKDIR}"
@@ -18,4 +17,4 @@ do_install() {
# to disable "all" behavior (found when comparing qemuarm and qemux86 signatures)
PACKAGE_ARCH = "${MACHINE_ARCH}"
-CONFFILES_${PN} = "${sysconfdir}/fb.modes"
+CONFFILES:${PN} = "${sysconfdir}/fb.modes"
diff --git a/meta-oe/recipes-support/fbset/fbset_2.1.bb b/meta-oe/recipes-support/fbset/fbset_2.1.bb
index e3e406ff53..690fee0df3 100644
--- a/meta-oe/recipes-support/fbset/fbset_2.1.bb
+++ b/meta-oe/recipes-support/fbset/fbset_2.1.bb
@@ -7,12 +7,11 @@
SUMMARY = "The fbset console tool"
HOMEPAGE = "http://users.telenet.be/geertu/Linux/fbdev/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://fbset.c;endline=19;md5=bf326f82cdfcac391af208f019c5603f"
-RRECOMMENDS_${PN} = "fbset-modes"
+RRECOMMENDS:${PN} = "fbset-modes"
DEPENDS = "bison-native flex-native"
-PR = "r4"
SRC_URI = "${DEBIAN_MIRROR}/main/f/fbset/fbset_2.1.orig.tar.gz \
file://makefile.patch \
@@ -29,7 +28,7 @@ do_install() {
install -m 0644 ${B}/*.8 ${D}${datadir}/man/man8
}
-ALTERNATIVE_fbset = "fbset"
+ALTERNATIVE:fbset = "fbset"
ALTERNATIVE_LINK_NAME[fbset] = "${sbindir}/fbset"
ALTERNATIVE_TARGET[fbset] = "${sbindir}/fbset.real"
ALTERNATIVE_PRIORITY[fbset] = "55"
diff --git a/meta-oe/recipes-support/fftw/fftw/install-bench.patch b/meta-oe/recipes-support/fftw/fftw/install-bench.patch
new file mode 100644
index 0000000000..237c1c0c5c
--- /dev/null
+++ b/meta-oe/recipes-support/fftw/fftw/install-bench.patch
@@ -0,0 +1,43 @@
+Upstream-Status: Pending
+
+--- ./tests/Makefile.am.orig 2021-03-23 11:45:12.756371739 -0400
++++ ./tests/Makefile.am 2021-03-23 19:29:19.692180793 -0400
+@@ -1,21 +1,21 @@
+ AM_CPPFLAGS = -I $(top_srcdir)
+-noinst_PROGRAMS = bench
++bin_PROGRAMS = bench@PREC_SUFFIX@
+ EXTRA_DIST = check.pl README
+
+ if THREADS
+-bench_CFLAGS = $(PTHREAD_CFLAGS)
++bench@PREC_SUFFIX@_CFLAGS = $(PTHREAD_CFLAGS)
+ if !COMBINED_THREADS
+ LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_threads.la
+ endif
+ else
+ if OPENMP
+-bench_CFLAGS = $(OPENMP_CFLAGS)
++bench@PREC_SUFFIX@_CFLAGS = $(OPENMP_CFLAGS)
+ LIBFFTWTHREADS = $(top_builddir)/threads/libfftw3@PREC_SUFFIX@_omp.la
+ endif
+ endif
+
+-bench_SOURCES = bench.c hook.c fftw-bench.c fftw-bench.h
+-bench_LDADD = $(LIBFFTWTHREADS) \
++bench@PREC_SUFFIX@_SOURCES = bench.c hook.c fftw-bench.c fftw-bench.h
++bench@PREC_SUFFIX@_LDADD = $(LIBFFTWTHREADS) \
+ $(top_builddir)/libfftw3@PREC_SUFFIX@.la \
+ $(top_builddir)/libbench2/libbench2.a $(THREADLIBS)
+
+--- ./tools/Makefile.am.orig 2021-03-24 08:22:31.845581620 -0400
++++ ./tools/Makefile.am 2021-03-24 08:24:26.454053573 -0400
+@@ -24,7 +24,7 @@
+ endif
+
+ fftw@PREC_SUFFIX@_wisdom_SOURCES = fftw-wisdom.c
+-fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench-bench.o \
+-$(top_builddir)/tests/bench-fftw-bench.o $(LIBFFTWTHREADS) \
++fftw@PREC_SUFFIX@_wisdom_LDADD = $(top_builddir)/tests/bench@PREC_SUFFIX@-bench.o \
++$(top_builddir)/tests/bench@PREC_SUFFIX@-fftw-bench.o $(LIBFFTWTHREADS) \
+ $(top_builddir)/libfftw3@PREC_SUFFIX@.la \
+ $(top_builddir)/libbench2/libbench2.a $(THREADLIBS)
diff --git a/meta-oe/recipes-support/fftw/fftw/run-ptest b/meta-oe/recipes-support/fftw/fftw/run-ptest
new file mode 100644
index 0000000000..4d19057975
--- /dev/null
+++ b/meta-oe/recipes-support/fftw/fftw/run-ptest
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+cd fftw
+/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/bench
+fftw_result=$?
+cd ../fftwf
+/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/benchf
+fftwf_result=$?
+cd ../fftwl
+/usr/bin/perl -w ./check.pl -r -c=30 -v `pwd`/benchl
+fftwl_result=$?
+
+if [ $fftw_result = "0" ]; then
+ echo "PASS: fftw"
+else
+ echo "FAIL: fftw"
+fi
+if [ $fftwf_result = "0" ]; then
+ echo "PASS: fftwf"
+else
+ echo "FAIL: fftwf"
+fi
+if [ $fftwl_result = "0" ]; then
+ echo "PASS: fftwl"
+else
+ echo "FAIL: fftwl"
+fi
diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.10.bb b/meta-oe/recipes-support/fftw/fftw_3.3.10.bb
new file mode 100644
index 0000000000..af7117da7b
--- /dev/null
+++ b/meta-oe/recipes-support/fftw/fftw_3.3.10.bb
@@ -0,0 +1,103 @@
+DESCRIPTION = "FFTW"
+SECTION = "libs"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+SRC_URI = " \
+ http://www.fftw.org/fftw-${PV}.tar.gz \
+ file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \
+ file://install-bench.patch \
+ file://run-ptest \
+"
+SRC_URI[sha256sum] = "56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467"
+
+inherit autotools pkgconfig ptest
+
+# we had multiple recipes in the past
+PROVIDES = "fftwl fftwf"
+
+EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
+
+CFLAGS += "-D_GNU_SOURCE"
+
+# neon is optional for arm version < 8 -> check tune features
+FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}"
+# neon is suppored for arm version = 8 -> enable
+FFTW_NEON:aarch64 = "--enable-neon"
+FFTW_NEON:class-native = ""
+
+do_configure() {
+ # configure fftw
+ rm -rf ${WORKDIR}/build-fftw
+ mkdir -p ${B}
+ cd ${B}
+ # full (re)configure
+ autotools_do_configure
+ mv ${B} ${WORKDIR}/build-fftw
+
+ # configure fftwl
+ rm -rf ${WORKDIR}/build-fftwl
+ mkdir -p ${B}
+ cd ${B}
+ # configure only
+ oe_runconf --enable-long-double
+ mv ${B} ${WORKDIR}/build-fftwl
+
+ # configure fftwf
+ rm -rf ${WORKDIR}/build-fftwf
+ mkdir -p ${B}
+ cd ${B}
+ # configure only
+ oe_runconf --enable-single ${FFTW_NEON}
+ mv ${B} ${WORKDIR}/build-fftwf
+}
+
+do_compile() {
+ for lib in fftw fftwl fftwf; do
+ cd ${WORKDIR}/build-$lib
+ test -n "${TOOLCHAIN_OPTIONS}" && sed -i -e 's|${TOOLCHAIN_OPTIONS}||g' config.h
+ autotools_do_compile
+ done
+}
+
+do_install() {
+ for lib in fftw fftwl fftwf; do
+ cd ${WORKDIR}/build-$lib
+ autotools_do_install
+ done
+}
+
+do_install_ptest() {
+ for lib in fftw fftwl fftwf; do
+ install -d ${D}${PTEST_PATH}/$lib
+ install -m 0755 ${S}/tests/check.pl ${D}${PTEST_PATH}/$lib
+ cd ${WORKDIR}/build-$lib
+ if [ $lib = "fftw" ]; then
+ mv ${D}${bindir}/bench ${D}${PTEST_PATH}/$lib
+ fi
+ if [ $lib = "fftwl" ]; then
+ mv ${D}${bindir}/benchl ${D}${PTEST_PATH}/$lib
+ fi
+ if [ $lib = "fftwf" ]; then
+ mv ${D}${bindir}/benchf ${D}${PTEST_PATH}/$lib
+ fi
+ done
+}
+
+PACKAGES =+ "libfftw libfftwl libfftwf"
+FILES:libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*"
+FILES:libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*"
+FILES:libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*"
+
+PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf"
+FILES:fftw-wisdom = "${bindir}/fftw-wisdom"
+FILES:fftwl-wisdom = "${bindir}/fftwl-wisdom"
+FILES:fftwf-wisdom = "${bindir}/fftwf-wisdom"
+FILES:fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
+
+FILES:${PN}-dev += "${libdir}/cmake"
+RDEPENDS:${PN}-dev = "libfftw libfftwl libfftwf"
+RDEPENDS:${PN}-ptest += "perl"
+RDEPENDS:${PN}-ptest:remove = "fftw"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.8.bb b/meta-oe/recipes-support/fftw/fftw_3.3.8.bb
deleted file mode 100644
index d9e0ea3409..0000000000
--- a/meta-oe/recipes-support/fftw/fftw_3.3.8.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-DESCRIPTION = "FFTW"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-SRC_URI = " \
- http://www.fftw.org/fftw-${PV}.tar.gz \
- file://0001-NEON-autodetection-segfaults-assume-neon-present.patch \
-"
-SRC_URI[md5sum] = "8aac833c943d8e90d51b697b27d4384d"
-SRC_URI[sha256sum] = "6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303"
-
-inherit autotools pkgconfig
-
-# we had multiple recipes in the past
-PROVIDES = "fftwl fftwf"
-
-EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
-
-CFLAGS += "-D_GNU_SOURCE"
-
-# neon is optional for arm version < 8 -> check tune features
-FFTW_NEON = "${@bb.utils.contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)}"
-# neon is suppored for arm version = 8 -> enable
-FFTW_NEON_aarch64 = "--enable-neon"
-FFTW_NEON_class-native = ""
-
-do_configure() {
- # configure fftw
- rm -rf ${WORKDIR}/build-fftw
- mkdir -p ${B}
- cd ${B}
- # full (re)configure
- autotools_do_configure
- mv ${B} ${WORKDIR}/build-fftw
-
- # configure fftwl
- rm -rf ${WORKDIR}/build-fftwl
- mkdir -p ${B}
- cd ${B}
- # configure only
- oe_runconf --enable-long-double
- mv ${B} ${WORKDIR}/build-fftwl
-
- # configure fftwf
- rm -rf ${WORKDIR}/build-fftwf
- mkdir -p ${B}
- cd ${B}
- # configure only
- oe_runconf --enable-single ${FFTW_NEON}
- mv ${B} ${WORKDIR}/build-fftwf
-}
-
-do_compile() {
- for lib in fftw fftwl fftwf; do
- cd ${WORKDIR}/build-$lib
- autotools_do_compile
- done
-}
-
-do_install() {
- for lib in fftw fftwl fftwf; do
- cd ${WORKDIR}/build-$lib
- autotools_do_install
- done
-}
-
-
-PACKAGES =+ "libfftw libfftwl libfftwf"
-FILES_libfftw = "${libdir}/libfftw3.so.* ${libdir}/libfftw3_*.so.*"
-FILES_libfftwl = "${libdir}/libfftw3l.so.* ${libdir}/libfftw3l_*.so.*"
-FILES_libfftwf = "${libdir}/libfftw3f.so.* ${libdir}/libfftw3f_*.so.*"
-
-PACKAGES =+ "fftw-wisdom fftwl-wisdom fftwf-wisdom fftw-wisdom-to-conf"
-FILES_fftw-wisdom = "${bindir}/fftw-wisdom"
-FILES_fftwl-wisdom = "${bindir}/fftwl-wisdom"
-FILES_fftwf-wisdom = "${bindir}/fftwf-wisdom"
-FILES_fftw-wisdom-to-conf = "${bindir}/fftw-wisdom-to-conf"
-
-FILES_${PN}-dev += "${libdir}/cmake"
-RDEPENDS_${PN}-dev = "libfftw libfftwl libfftwf"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/fltk/fltk-native.bb b/meta-oe/recipes-support/fltk/fltk-native.bb
index 2636287e3a..3e8e2cdf77 100644
--- a/meta-oe/recipes-support/fltk/fltk-native.bb
+++ b/meta-oe/recipes-support/fltk/fltk-native.bb
@@ -2,6 +2,8 @@ require ${BPN}.inc
DEPENDS = "zlib-native jpeg-native libpng-native libxext-native libxft-native"
+SRC_URI += "file://fltk-native-link-libdl.patch"
+
inherit native
EXTRA_OECMAKE += " \
@@ -9,13 +11,13 @@ EXTRA_OECMAKE += " \
-DOPTION_USE_THREADS=OFF \
-DOPTION_USE_XDBE=OFF \
-DOPTION_USE_XFT=OFF \
- -DOPTION_BUILD_EXAMPLES=OFF \
+ -DFLTK_BUILD_TEST=OFF \
-DOPTION_USE_XINERAMA=OFF \
-DOPTION_USE_XFIXES=OFF \
-DOPTION_USE_XCURSOR=OFF \
"
-do_install_append() {
+do_install:append() {
# make sure native fltk-config is not used accidentaly
rm -f ${D}${bindir}/fltk-config
}
diff --git a/meta-oe/recipes-support/fltk/fltk.bb b/meta-oe/recipes-support/fltk/fltk.bb
index 09344cf7d1..82007c4cf4 100644
--- a/meta-oe/recipes-support/fltk/fltk.bb
+++ b/meta-oe/recipes-support/fltk/fltk.bb
@@ -5,14 +5,12 @@ DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
inherit features_check binconfig lib_package gtk-icon-cache mime mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI += " \
- file://0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch \
- file://0004-Fix-build-error-when-enable-package-config-examples.patch \
-"
+SRC_URI += "file://0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch"
EXTRA_OECMAKE = " \
-DOPTION_BUILD_SHARED_LIBS=ON \
-DOPTION_USE_THREADS=ON \
+ -DFLTK_BUILD_TEST=OFF \
-DOPTION_USE_XDBE=ON \
-DOPTION_USE_XFT=ON \
-DFLTK_CONFIG_PATH=${libdir}/cmake \
@@ -20,30 +18,31 @@ EXTRA_OECMAKE = " \
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
-PACKAGECONFIG[examples] = "-DOPTION_BUILD_EXAMPLES=ON,-DOPTION_BUILD_EXAMPLES=OFF,fltk-native"
PACKAGECONFIG[cairo] = "-DOPTION_CAIRO=ON,-DOPTION_CAIRO=OFF,cairo"
PACKAGECONFIG[opengl] = "-DOPTION_USE_GL=ON,-DOPTION_USE_GL=OFF,virtual/libgl"
PACKAGECONFIG[xinerama] = "-DOPTION_USE_XINERAMA=ON,-DOPTION_USE_XINERAMA=OFF,libxinerama"
PACKAGECONFIG[xfixes] = "-DOPTION_USE_XFIXES=ON,-DOPTION_USE_XFIXES=OFF,libxfixes"
PACKAGECONFIG[xcursor] = "-DOPTION_USE_XCURSOR=ON,-DOPTION_USE_XCURSOR=OFF,libxcursor"
-do_install_append() {
- sed -i -e 's,${STAGING_DIR_HOST},,g' ${D}${bindir}/fltk-config
+do_install:append() {
+ sed -i -e 's,${TMPDIR},,g' ${D}${bindir}/fltk-config
+ sed -i -e 's,${TMPDIR},,g' ${D}${datadir}/fltk/UseFLTK.cmake
+ sed -i -e 's,${TMPDIR},,g' ${D}${datadir}/fltk/FLTK-Targets.cmake
}
-python populate_packages_prepend () {
+python populate_packages:prepend () {
if (d.getVar('DEBIAN_NAMES')):
- d.setVar('PKG_${BPN}', 'libfltk${PV}')
+ d.setVar('PKG:${BPN}', 'libfltk${PV}')
}
LEAD_SONAME = "libfltk.so"
# .desktop / icons / mime only necessary for fluid app
-FILES_${PN}-bin += " \
+FILES:${PN}-bin += " \
${datadir}/applications \
${datadir}/icons \
${datadir}/mime \
"
# cmake files
-FILES_${PN}-dev += "${datadir}/fltk"
+FILES:${PN}-dev += "${datadir}/fltk"
diff --git a/meta-oe/recipes-support/fltk/fltk.inc b/meta-oe/recipes-support/fltk/fltk.inc
index 97a1fbfc7e..b1bc83578f 100644
--- a/meta-oe/recipes-support/fltk/fltk.inc
+++ b/meta-oe/recipes-support/fltk/fltk.inc
@@ -1,7 +1,7 @@
SUMMARY = "FLTK is a cross-platform C++ GUI toolkit"
HOMEPAGE = "http://www.fltk.org"
SECTION = "libs"
-LICENSE = "LGPLv2 & FLTK"
+LICENSE = "LGPL-2.0-only & FLTK"
LIC_FILES_CHKSUM = "file://COPYING;md5=f6b26344a24a941a01a5b0826e80b5ca"
SRC_URI = " \
@@ -11,9 +11,8 @@ SRC_URI = " \
file://0002-always-build-fluid-and-export-pointers.patch \
"
-PV = "1.3.5"
-SRC_URI[md5sum] = "0de2b45a1896be2b4a8cafae89b84248"
-SRC_URI[sha256sum] = "2933c72400f9e7c0f4c3a81a1ce98bc9582b2a3edc44b8597ccd26e240e32c3c"
+PV = "1.3.8"
+SRC_URI[sha256sum] = "1d9832409fc08c908c64ab40ad9fd8b0e8af5d203651eb9690b810f41e2f412d"
inherit cmake pkgconfig
diff --git a/meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch b/meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch
index e6e68a0cb8..d1cbb35479 100644
--- a/meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch
+++ b/meta-oe/recipes-support/fltk/fltk/0001-Fl_Preferences.cxx-do-not-use-dlopen-in-case-glibc-s.patch
@@ -18,6 +18,8 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
+Upstream-Status: Pending
+
src/Fl_Preferences.cxx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch b/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch
index cca977c66d..0d91aab3a1 100644
--- a/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch
+++ b/meta-oe/recipes-support/fltk/fltk/0002-always-build-fluid-and-export-pointers.patch
@@ -1,6 +1,6 @@
From 16010cb1a69ea2326d8102b7f1e34b65aca4b278 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 28 Feb 2017 01:20:42 +0100
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Sat, 22 May 2021 12:33:15 +0200
Subject: [PATCH] always build fluid and export pointers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -8,24 +8,24 @@ Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
CMake/export.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMake/export.cmake b/CMake/export.cmake
-index 968186a..95e04eb 100644
+index 6e8bc5d..71b6f6c 100644
--- a/CMake/export.cmake
+++ b/CMake/export.cmake
-@@ -21,7 +21,7 @@
- # final config and export
+@@ -20,7 +20,7 @@
#######################################################################
+
# Set the fluid executable path
--if(CMAKE_CROSSCOMPILING)
-+if(FALSE)
- find_file(FLUID_PATH
- NAMES fluid fluid.exe
- PATHS ENV PATH
+-if (CMAKE_CROSSCOMPILING)
++if (FALSE)
+ find_file(FLUID_PATH
+ NAMES fluid fluid.exe
+ PATHS ENV PATH
--
-2.9.3
+2.31.1
diff --git a/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch b/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch
deleted file mode 100644
index 1f2f8aecf7..0000000000
--- a/meta-oe/recipes-support/fltk/fltk/0003-CMake-build-Force-shared-libs-with-unsuffixed-names.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From bc38fb41044503c9debf5710910c51dd29674b6a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
-Date: Fri, 15 Dec 2017 22:14:01 +0100
-Subject: [PATCH] CMake build: Force shared libs with unsuffixed names
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-For windows build sake CMake complains when a project wants to build shared and
-static libraries with same name. This caused the authors of fltk to generate
-libraries with names suffixed by '_SHARED' when building fltk with cmake -
-autotools builds do not suffix.
-
-Reasons to build shared libs with correct names:
-
-* Shared libraries are the preferred choice for embedded devices
-* There are projects (e.g yoshimi) expecting shared libraries with unsuffixed
- names - as created by autotools build. These projects link against static
- libraries by accident causing unusable binaries.
-
-Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
----
- CMake/macros.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMake/macros.cmake b/CMake/macros.cmake
-index 4def62d..ab675f0 100644
---- a/CMake/macros.cmake
-+++ b/CMake/macros.cmake
-@@ -49,7 +49,7 @@ macro(FL_ADD_LIBRARY LIBNAME LIBTYPE LIBFILES)
- PROPERTIES
- VERSION ${FLTK_VERSION_FULL}
- SOVERSION ${FLTK_VERSION_MAJOR}.${FLTK_VERSION_MINOR}
-- PREFIX "lib" # for MSVC static/shared coexistence
-+ OUTPUT_NAME ${LIBNAME} CLEAN_DIRECT_OUTPUT 1
- )
- endif (${LIBTYPE} STREQUAL "SHARED")
-
---
-2.9.5
-
diff --git a/meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch b/meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch
new file mode 100644
index 0000000000..72bb48a32c
--- /dev/null
+++ b/meta-oe/recipes-support/fltk/fltk/0003-fluid-CMakeLists.txt-Do-not-export-fluid-target.patch
@@ -0,0 +1,42 @@
+From b6985abcb03fb09685da4044963e8f085035b208 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 19 Aug 2021 08:06:45 +0200
+Subject: [PATCH] fluid/CMakeLists.txt: Do not export fluid target
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It does not work for us: The executable 'fluid' is not installed in
+receipe-sysroot. So fltk cmake config contains an invalid reference.
+Consumers of fltk using cmake will fail during configure for this invalid
+reference with something like:
+
+| CMake Error at <...>/recipe-sysroot/usr/share/fltk/FLTK-Targets.cmake:129 (message):
+| The imported target "fluid" references the file
+|
+| "<...>/recipe-sysroot/usr/bin/fluid"
+|
+| but this file does not exist.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ fluid/CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt
+index 472c84c..f971121 100644
+--- a/fluid/CMakeLists.txt
++++ b/fluid/CMakeLists.txt
+@@ -86,7 +86,6 @@ if (APPLE AND (NOT OPTION_APPLE_X11))
+ install (TARGETS fluid DESTINATION ${FLTK_BINDIR})
+ else()
+ install (TARGETS fluid
+- EXPORT FLTK-Targets
+ RUNTIME DESTINATION ${FLTK_BINDIR}
+ LIBRARY DESTINATION ${FLTK_LIBDIR}
+ ARCHIVE DESTINATION ${FLTK_LIBDIR}
+--
+2.31.1
+
diff --git a/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch b/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch
deleted file mode 100644
index 974c02fe61..0000000000
--- a/meta-oe/recipes-support/fltk/fltk/0004-Fix-build-error-when-enable-package-config-examples.patch
+++ /dev/null
@@ -1,182 +0,0 @@
-Fix build error when enable package config examples.
-
-Upstream-Status: Backport [https://github.com/fltk/fltk/commit/16774dd]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-
-From 16774ddc4e000c89e560fde0ced8be9814ef041e Mon Sep 17 00:00:00 2001
-From: Albrecht Schlosser <albrechts.fltk@online.de>
-Date: Wed, 8 Feb 2017 02:06:52 +0000
-Subject: [PATCH] Rename test/help demo program to test/help_dialog.
-
-This change avoids a name conflict with CMake's auto-generated target 'help'
-for "Unix Makefiles", "Ninja", and supposedly other generators as well.
-
-
-git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
----
- CMake/macros.cmake | 5 -----
- documentation/src/examples.dox | 8 +++----
- test/CMakeLists.txt | 27 +++++++++++++++++++----
- test/demo.menu | 2 +-
- test/{help.cxx => help_dialog.cxx} | 6 ++---
- test/{help-test.html => help_dialog.html} | 0
- 6 files changed, 31 insertions(+), 17 deletions(-)
- rename test/{help.cxx => help_dialog.cxx} (88%)
- rename test/{help-test.html => help_dialog.html} (100%)
-
-diff --git a/CMake/macros.cmake b/CMake/macros.cmake
-index 5b0d0fa..7134fcb 100644
---- a/CMake/macros.cmake
-+++ b/CMake/macros.cmake
-@@ -90,11 +90,6 @@ function(CREATE_EXAMPLE NAME SOURCES LIBRARIES)
-
- set (tname ${NAME}) # target name
-
-- # rename reserved target name "help" (CMake 2.8.12 and later)
-- if (${tname} MATCHES "^help$")
-- set (tname "test_help")
-- endif (${tname} MATCHES "^help$")
--
- foreach(src ${SOURCES})
- if ("${src}" MATCHES "\\.fl$")
- list(APPEND flsrcs ${src})
-diff --git a/documentation/src/examples.dox b/documentation/src/examples.dox
-index 5105b7b..7961b02 100644
---- a/documentation/src/examples.dox
-+++ b/documentation/src/examples.dox
-@@ -60,7 +60,7 @@ you build FLTK, unlike those in the 'test' directory shown below.
- </tr>
- <tr>
- <td> \ref examples_hello </td>
--<td> \ref examples_help </td>
-+<td> \ref examples_help_dialog </td>
- <td> \ref examples_iconize </td>
- <td> \ref examples_image </td>
- <td> \ref examples_inactive </td>
-@@ -326,13 +326,13 @@ easily under FLTK.
- tiny demo shows how little is needed to get a functioning application
- running with FLTK. Quite impressive, I'd say.
-
--\subsection examples_help help
-+\subsection examples_help_dialog help_dialog
-
- \par
--\c help displays the built-in FLTK help browser. The
-+\c help_dialog displays the built-in FLTK help browser. The
- Fl_Help_Dialog understands a subset of html and renders
- various image formats. This widget makes it easy to provide help
--pages to the user without depending on the operating system's
-+pages to the user without depending on the operating system's
- html browser.
-
- \subsection examples_iconize iconize
-diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
-index 22ec9ab..4caffa5 100644
---- a/test/CMakeLists.txt
-+++ b/test/CMakeLists.txt
-@@ -1,3 +1,22 @@
-+#
-+# "$Id$"
-+#
-+# CMakeLists.txt used to build test and demo apps by the CMake build system
-+#
-+# Copyright 2004-2017 by Bill Spitzak and others.
-+#
-+# This library is free software. Distribution and use rights are outlined in
-+# the file "COPYING" which should have been included with this file. If this
-+# file is missing or damaged, see the license at:
-+#
-+# http://www.fltk.org/COPYING.php
-+#
-+# Please report all bugs and problems on the following page:
-+#
-+# http://www.fltk.org/str.php
-+#
-+#######################################################################
-+
- set(EXECUTABLE_OUTPUT_PATH ${FLTK_BINARY_DIR}/bin/examples)
-
- #######################################################################
-@@ -64,7 +83,7 @@ CREATE_EXAMPLE(file_chooser file_chooser.cxx "fltk;fltk_images")
- CREATE_EXAMPLE(fonts fonts.cxx fltk)
- CREATE_EXAMPLE(forms forms.cxx "fltk;fltk_forms")
- CREATE_EXAMPLE(hello hello.cxx fltk)
--CREATE_EXAMPLE(help help.cxx "fltk;fltk_images")
-+CREATE_EXAMPLE(help_dialog help_dialog.cxx "fltk;fltk_images")
- CREATE_EXAMPLE(icon icon.cxx fltk)
- CREATE_EXAMPLE(iconize iconize.cxx fltk)
- CREATE_EXAMPLE(image image.cxx fltk)
-@@ -134,7 +153,7 @@ endif(FLTK_HAVE_CAIRO)
- # Note: this is incomplete as of 11 Feb 2015
- # Todo: currently all files are copied, but some of them need configuration:
- # - demo.menu: fluid can't be started (wrong path)
--# - demo.menu: help (help-test.html) can't find its images (not copied)
-+# - demo.menu: help_dialog (help_dialog.html) can't find its images (not copied)
- # - maybe more ...
-
- # prepare for a "better" test file installation path
-@@ -149,11 +168,11 @@ configure_file(demo.menu ${TESTFILE_PATH}/demo.menu COPYONLY)
-
- # use target directory only to avoid redundancy
- configure_file(rgb.txt ${TESTFILE_PATH} COPYONLY)
--configure_file(help-test.html ${TESTFILE_PATH} COPYONLY)
-+configure_file(help_dialog.html ${TESTFILE_PATH} COPYONLY)
- configure_file(browser.cxx ${TESTFILE_PATH} COPYONLY)
- configure_file(editor.cxx ${TESTFILE_PATH} COPYONLY)
- if(APPLE AND NOT OPTION_APPLE_X11)
- configure_file(browser.cxx "${TESTFILE_PATH}/browser.app/Contents/Resources/browser.cxx" COPYONLY)
- configure_file(rgb.txt ${TESTFILE_PATH}/colbrowser.app/Contents/Resources/rgb.txt COPYONLY)
-- configure_file(help-test.html ${TESTFILE_PATH}/help.app/Contents/Resources/help-test.html COPYONLY)
-+ configure_file(help_dialog.html ${TESTFILE_PATH}/help_dialog.app/Contents/Resources/help_dialog.html COPYONLY)
- endif(APPLE AND NOT OPTION_APPLE_X11)
-diff --git a/test/demo.menu b/test/demo.menu
-index 337a71c..97e522a 100644
---- a/test/demo.menu
-+++ b/test/demo.menu
-@@ -77,7 +77,7 @@
- @o:Font Tests...:@of
- @of:Fonts:fonts
- @of:UTF-8:utf8
-- @o:HelpDialog:help
-+ @o:HelpDialog:help_dialog
- @o:Input Choice:input_choice
- @o:Preferences:preferences
- @o:Threading:threads
-diff --git a/test/help.cxx b/test/help_dialog.cxx
-similarity index 88%
-rename from test/help.cxx
-rename to test/help_dialog.cxx
-index f5c51d6..7866641 100644
---- a/test/help.cxx
-+++ b/test/help_dialog.cxx
-@@ -3,7 +3,7 @@
- //
- // Fl_Help_Dialog test program.
- //
--// Copyright 1999-2010 by Easy Software Products.
-+// Copyright 2011-2017 by Bill Spitzak and others.
- //
- // This library is free software. Distribution and use rights are outlined in
- // the file "COPYING" which should have been included with this file. If this
-@@ -46,13 +46,13 @@ main(int argc, // I - Number of command-line arguments
- strcpy(buf, argv[0]);
- char *slash = strrchr(buf, '/');
- if (slash)
-- strcpy(slash, "/../Resources/help-test.html");
-+ strcpy(slash, "/../Resources/help_dialog.html");
- help->load(buf);
-
- #else
-
- if (argc <= 1)
-- help->load("help-test.html");
-+ help->load("help_dialog.html");
- else
- help->load(argv[1]);
-
-diff --git a/test/help-test.html b/test/help_dialog.html
-similarity index 100%
-rename from test/help-test.html
-rename to test/help_dialog.html
diff --git a/meta-oe/recipes-support/fltk/fltk/disable_test.patch b/meta-oe/recipes-support/fltk/fltk/disable_test.patch
index 1f5fd25e04..fe8be5a652 100644
--- a/meta-oe/recipes-support/fltk/fltk/disable_test.patch
+++ b/meta-oe/recipes-support/fltk/fltk/disable_test.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- a/Makefile.orig 2015-11-26 15:35:31.485357862 +0800
+++ b/Makefile 2015-11-26 15:35:37.037357764 +0800
@@ -18,7 +18,7 @@
diff --git a/meta-oe/recipes-support/fltk/fltk/fltk-native-link-libdl.patch b/meta-oe/recipes-support/fltk/fltk/fltk-native-link-libdl.patch
new file mode 100644
index 0000000000..e140ce2166
--- /dev/null
+++ b/meta-oe/recipes-support/fltk/fltk/fltk-native-link-libdl.patch
@@ -0,0 +1,44 @@
+Upstream-Status: Inappropriate [cross build specific]
+
+It fails to build fltk-native on Ubuntu 20.04 with glibc 2.31:
+
+| /path_to/tmp/hosttools/ld: lib/libfltk.a(Fl_Native_File_Chooser.cxx.o): in function `fl_dlopen(char const*, char const*)':
+| Fl_Native_File_Chooser.cxx:(.text+0x61a): undefined reference to `dlopen'
+| /path_to/tmp/hosttools/ld: lib/libfltk.a(Fl_Native_File_Chooser.cxx.o): in function `Fl_GTK_File_Chooser::probe_for_GTK_libs()':
+| Fl_Native_File_Chooser.cxx:(.text+0xf92): undefined reference to `dlerror'
+
+The original fix in fltk-native recipe does not work any more because '-ldl'
+appears before lib/libfltk.a and causes dlopen() unresolved. The reason why it
+doesn't fail on other hosts is that the functions dlopen(), dlerror() etc. have
+been moved to libc.so since glibc 2.34 via the commits in glibc:
+
+0c1c3a771e dlfcn: Move dlopen into libc
+add8d7ea01 dlfcn: Move dlvsym into libc
+6dfc0207eb dlfcn: Move dlinfo into libc
+492560a32e dlfcn: Move dladdr1 into libc
+6a1ed32789 dlfcn: Move dlmopen into libc
+77f876c0e3 dlfcn: Move dlsym into libc
+602252b553 dlfcn: Move dladdr into libc
+d8cce17d2a dlfcn: Move dlclose into libc
+
+Append 'dl' to fltk link items explictly to fix the error.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+---
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index d153b1c..0fe5c11 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -306,7 +306,7 @@ endif (USE_XFT)
+ #######################################################################
+
+ FL_ADD_LIBRARY (fltk STATIC "${STATIC_FILES}")
+-target_link_libraries (fltk ${OPTIONAL_LIBS})
++target_link_libraries (fltk ${OPTIONAL_LIBS} dl)
+
+ #######################################################################
+
diff --git a/meta-oe/recipes-support/fmt/fmt_10.2.1.bb b/meta-oe/recipes-support/fmt/fmt_10.2.1.bb
new file mode 100644
index 0000000000..1437eb4803
--- /dev/null
+++ b/meta-oe/recipes-support/fmt/fmt_10.2.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "open-source formatting library for C++"
+DESCRIPTION = "{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams."
+HOMEPAGE = "https://fmt.dev"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b9257785fc4f3803a4b71b76c1412729"
+
+SRC_URI = "git://github.com/fmtlib/fmt;branch=10.x;protocol=https"
+SRCREV = "e69e5f977d458f2650bb346dadf2ad30c5320281"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/fmt/fmt_7.1.3.bb b/meta-oe/recipes-support/fmt/fmt_7.1.3.bb
deleted file mode 100644
index 9820b86470..0000000000
--- a/meta-oe/recipes-support/fmt/fmt_7.1.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "open-source formatting library for C++"
-DESCRIPTION = "{fmt} is an open-source formatting library for C++. It can be used as a safe and fast alternative to (s)printf and iostreams."
-HOMEPAGE = "https://fmt.dev"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=af88d758f75f3c5c48a967501f24384b"
-
-SRC_URI += "git://github.com/fmtlib/fmt"
-SRCREV = "7bdf0628b1276379886c7f6dda2cef2b3b374f0b"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-inherit ptest
-
-EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch
new file mode 100644
index 0000000000..87a456d16d
--- /dev/null
+++ b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch
@@ -0,0 +1,57 @@
+From 761b4df04a141cc8c9507c741e4046c6c6b00491 Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@fujitsu.com>
+Date: Mon, 11 Sep 2023 09:00:39 +0000
+Subject: [PATCH] Fix const qualifier error
+
+Fixes clang error
+error: incompatible function pointer types assigning to 'OBJECT_NEW_FN' (aka 'void *(*)(void *)') from 'void *(const void *)' [-Wincompatible-function-pointer-types]
+| obj->fnObjectNew = uwac_event_clone;
+| ^ ~~~~~~~~~~~~~~~~
+
+https://github.com/FreeRDP/FreeRDP/commit/6e3c00725aae99d03a0baa65430eceddebd9dee8
+Upstream-Status: Backport
+
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
+---
+ libfreerdp/codec/rfx.c | 4 ++--
+ winpr/include/winpr/collections.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libfreerdp/codec/rfx.c b/libfreerdp/codec/rfx.c
+index ccbc5af..eec7365 100644
+--- a/libfreerdp/codec/rfx.c
++++ b/libfreerdp/codec/rfx.c
+@@ -153,7 +153,7 @@ static void rfx_tile_init(void* obj)
+ }
+ }
+
+-static void* rfx_decoder_tile_new(void* val)
++static void* rfx_decoder_tile_new(const void* val)
+ {
+ RFX_TILE* tile = NULL;
+ WINPR_UNUSED(val);
+@@ -184,7 +184,7 @@ static void rfx_decoder_tile_free(void* obj)
+ }
+ }
+
+-static void* rfx_encoder_tile_new(void* val)
++static void* rfx_encoder_tile_new(const void* val)
+ {
+ WINPR_UNUSED(val);
+ return calloc(1, sizeof(RFX_TILE));
+diff --git a/winpr/include/winpr/collections.h b/winpr/include/winpr/collections.h
+index 807f011..b8c8d9d 100644
+--- a/winpr/include/winpr/collections.h
++++ b/winpr/include/winpr/collections.h
+@@ -36,7 +36,7 @@ extern "C"
+ {
+ #endif
+
+- typedef void* (*OBJECT_NEW_FN)(void* val);
++ typedef void* (*OBJECT_NEW_FN)(const void* val);
+ typedef void (*OBJECT_INIT_FN)(void* obj);
+ typedef void (*OBJECT_UNINIT_FN)(void* obj);
+ typedef void (*OBJECT_FREE_FN)(void* obj);
+--
+2.34.1
+
diff --git a/meta-oe/recipes-support/freerdp/freerdp/0002-Do-not-install-tools-a-CMake-targets.patch b/meta-oe/recipes-support/freerdp/freerdp/0002-Do-not-install-tools-a-CMake-targets.patch
new file mode 100644
index 0000000000..2e5e6a4240
--- /dev/null
+++ b/meta-oe/recipes-support/freerdp/freerdp/0002-Do-not-install-tools-a-CMake-targets.patch
@@ -0,0 +1,45 @@
+From 0ddaeae351295e48365657482f165652051bbca2 Mon Sep 17 00:00:00 2001
+From: Andreas Cord-Landwehr <cordlandwehr@kde.org>
+Date: Wed, 17 Jan 2024 20:00:58 +0100
+Subject: [PATCH] Do not install tools a CMake targets
+
+The cli tools are installed manually and thus are missing in the sysroot
+folder. Do not export their targets because they do not exist and make
+CMake fail when searching for the library.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Andreas Cord-Landwehr <cordlandwehr@kde.org>
+---
+ winpr/tools/hash-cli/CMakeLists.txt | 2 +-
+ winpr/tools/makecert-cli/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/winpr/tools/hash-cli/CMakeLists.txt b/winpr/tools/hash-cli/CMakeLists.txt
+index 9f8c7a8a0..b6d048fec 100644
+--- a/winpr/tools/hash-cli/CMakeLists.txt
++++ b/winpr/tools/hash-cli/CMakeLists.txt
+@@ -43,7 +43,7 @@ set(${MODULE_PREFIX}_LIBS winpr)
+
+ target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
+
+-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools EXPORT WinPRTargets)
++install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools)
+
+ if (WITH_DEBUG_SYMBOLS AND MSVC)
+ install(FILES ${CMAKE_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT symbols)
+diff --git a/winpr/tools/makecert-cli/CMakeLists.txt b/winpr/tools/makecert-cli/CMakeLists.txt
+index 48fda5b5e..c7cf4bfaf 100644
+--- a/winpr/tools/makecert-cli/CMakeLists.txt
++++ b/winpr/tools/makecert-cli/CMakeLists.txt
+@@ -46,7 +46,7 @@ target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} winpr)
+
+ set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "WinPR/Tools")
+
+-install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools EXPORT WinPRTargets)
++install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT tools)
+ if (WITH_DEBUG_SYMBOLS AND MSVC)
+ install(FILES ${CMAKE_PDB_BINARY_DIR}/${MODULE_NAME}.pdb DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT symbols)
+ endif()
+--
+2.40.1
+
diff --git a/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch b/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
index 0f6f575d02..914f08087b 100644
--- a/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
+++ b/meta-oe/recipes-support/freerdp/freerdp/winpr-makecert-Build-with-install-RPATH.patch
@@ -9,6 +9,8 @@ Update it for 2.0.0.
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
winpr/tools/makecert-cli/CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta-oe/recipes-support/freerdp/freerdp3_3.4.0.bb b/meta-oe/recipes-support/freerdp/freerdp3_3.4.0.bb
new file mode 100644
index 0000000000..537d19263d
--- /dev/null
+++ b/meta-oe/recipes-support/freerdp/freerdp3_3.4.0.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "FreeRDP RDP client & server library"
+HOMEPAGE = "http://www.freerdp.com"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+DEPENDS = "openssl libusb1 uriparser cairo icu pkcs11-helper zlib jpeg"
+
+inherit pkgconfig cmake
+
+SRCREV = "708f3764897e06297469a7b0507b3c9ecc041ad7"
+SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'pam pulseaudio wayland x11', d)} \
+ ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'ffmpeg', '', d)} \
+ gstreamer cups pcsc \
+"
+
+EXTRA_OECMAKE = " \
+ -DRDTK_FORCE_STATIC_BUILD=ON \
+ -DUWAC_FORCE_STATIC_BUILD=ON \
+ -DWITH_ADD=ON \
+ -DWITH_BINARY_VERSIONING=ON \
+ -DWITH_CHANNELS=ON \
+ -DWITH_CLIENT_CHANNELS=ON \
+ -DWITH_JPEG=ON \
+ -DWITH_PKCS11=ON \
+ -DWITH_SERVER_CHANNELS=ON \
+ -DWITH_SERVER=ON \
+ -DPKG_CONFIG_RELOCATABLE=OFF \
+ -DWITH_ALSA=OFF \
+ -DWITH_CLIENT_SDL=OFF \
+ -DWITH_SAMPLE=OFF \
+ "
+
+X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
+PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF -DWITH_SHADOW=OFF,${X11_DEPS}"
+PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon"
+PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
+PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
+PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups"
+PACKAGECONFIG[fuse] = "-DWITH_FUSE=ON,-DWITH_FUSE=OFF,fuse3,fuse3"
+PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite"
+PACKAGECONFIG[manpages] = "-DWITH_MANPAGES=ON,-DWITH_MANPAGES=OFF, libxslt-native docbook-xsl-stylesheets-native"
+PACKAGECONFIG[ffmpeg] = "-DWITH_DSP_FFMPEG=ON -DWITH_FFMPEG=ON -DWITH_SWSCALE=ON, -DWITH_DSP_FFMPEG=OFF -DWITH_FFMPEG=OFF -DWITH_SWSCALE=OFF,ffmpeg"
+PACKAGECONFIG[krb5] = "-DWITH_KRB5=ON -DWITH_KRB5_NO_NTLM_FALLBACK=OFF,-DWITH_KRB5=OFF,krb5"
+PACKAGECONFIG[openh264] = "-DWITH_OPENH264=ON,-DWITH_OPENH264=OFF,openh264"
+PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-icd-loader"
+PACKAGECONFIG[lame] = "-DWITH_LAME=ON,-DWITH_LAME=OFF,lame"
+PACKAGECONFIG[faad] = "-DWITH_FAAD=ON,-DWITH_FAAD=OFF,faad2"
+PACKAGECONFIG[faac] = "-DWITH_FAAC=ON,-DWITH_FAAC=OFF,faac"
+
+do_configure:append() {
+ sed -i -e 's|${WORKDIR}||g' ${B}/include/freerdp/buildflags.h
+ sed -i -e 's|${WORKDIR}||g' ${B}/winpr/include/winpr/buildflags.h
+}
+
+FILES:${PN} += "${datadir}"
diff --git a/meta-oe/recipes-support/freerdp/freerdp_2.11.2.bb b/meta-oe/recipes-support/freerdp/freerdp_2.11.2.bb
new file mode 100644
index 0000000000..8de0e39ad7
--- /dev/null
+++ b/meta-oe/recipes-support/freerdp/freerdp_2.11.2.bb
@@ -0,0 +1,92 @@
+# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved
+# Released under the MIT license
+
+DESCRIPTION = "FreeRDP RDP client & server library"
+HOMEPAGE = "http://www.freerdp.com"
+DEPENDS = "openssl alsa-lib libusb1"
+SECTION = "net"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit pkgconfig cmake gitpkgv
+
+PE = "1"
+PKGV = "${GITPKGVTAG}"
+
+SRCREV = "a38c1be9eee39a9bc22b511fffe96e63fdf8ebe7"
+SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
+ file://winpr-makecert-Build-with-install-RPATH.patch \
+ file://0001-Fix-const-qualifier-error.patch \
+ file://0002-Do-not-install-tools-a-CMake-targets.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += " \
+ -DWITH_ALSA=ON \
+ -DWITH_FFMPEG=OFF \
+ -DWITH_CUNIT=OFF \
+ -DWITH_NEON=OFF \
+ -DBUILD_STATIC_LIBS=OFF \
+ -DCMAKE_POSITION_INDEPENDANT_CODE=ON \
+ -DWITH_MANPAGES=OFF \
+ -DPROXY_PLUGINDIR=${libdir}/freerdp/proxy/plugins \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
+ gstreamer cups pcsc server \
+"
+
+X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
+PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}"
+PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon"
+PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
+PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
+PACKAGECONFIG[pcsc] = "-DWITH_PCSC=ON,-DWITH_PCSC=OFF,pcsc-lite"
+PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
+PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups"
+PACKAGECONFIG[server] = "-DWITH_SERVER=ON,-DWITH_SERVER=OFF"
+
+PACKAGES =+ "libfreerdp"
+
+LEAD_SONAME = "libfreerdp.so"
+FILES:libfreerdp = "${libdir}/lib*${SOLIBS}"
+
+PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
+
+do_configure:append() {
+ sed -i -e 's|${WORKDIR}||g' ${B}/buildflags.h
+}
+
+# we will need winpr-makecert to generate TLS certificates
+do_install:append () {
+ install -d ${D}${bindir}
+ install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir}
+ rm -rf ${D}${libdir}/freerdp
+}
+
+python populate_packages:prepend () {
+ freerdp_root = d.expand('${libdir}/freerdp')
+
+ do_split_packages(d, freerdp_root, r'^(audin_.*)\.so$',
+ output_pattern='libfreerdp-plugin-%s',
+ description='FreeRDP plugin %s',
+ prepend=True, extra_depends='libfreerdp-plugin-audin')
+
+ do_split_packages(d, freerdp_root, r'^(rdpsnd_.*)\.so$',
+ output_pattern='libfreerdp-plugin-%s',
+ description='FreeRDP plugin %s',
+ prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
+
+ do_split_packages(d, freerdp_root, r'^(tsmf_.*)\.so$',
+ output_pattern='libfreerdp-plugin-%s',
+ description='FreeRDP plugin %s',
+ prepend=True, extra_depends='libfreerdp-plugin-tsmf')
+
+ do_split_packages(d, freerdp_root, r'^([^-]*)\.so$',
+ output_pattern='libfreerdp-plugin-%s',
+ description='FreeRDP plugin %s',
+ prepend=True, extra_depends='')
+}
diff --git a/meta-oe/recipes-support/freerdp/freerdp_2.3.0.bb b/meta-oe/recipes-support/freerdp/freerdp_2.3.0.bb
deleted file mode 100644
index 8890f6ce91..0000000000
--- a/meta-oe/recipes-support/freerdp/freerdp_2.3.0.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved
-# Released under the MIT license
-
-DESCRIPTION = "FreeRDP RDP client & server library"
-HOMEPAGE = "http://www.freerdp.com"
-DEPENDS = "openssl alsa-lib pcsc-lite"
-SECTION = "net"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-inherit pkgconfig cmake gitpkgv
-
-PE = "1"
-PKGV = "${GITPKGVTAG}"
-
-SRCREV = "14c7f7aed7dd4e2454ee0cd81028b9f790885021"
-SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0 \
- file://winpr-makecert-Build-with-install-RPATH.patch \
-"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE += " \
- -DWITH_ALSA=ON \
- -DWITH_PCSC=ON \
- -DWITH_FFMPEG=OFF \
- -DWITH_CUNIT=OFF \
- -DWITH_NEON=OFF \
- -DBUILD_STATIC_LIBS=OFF \
- -DCMAKE_POSITION_INDEPENDANT_CODE=ON \
- -DWITH_MANPAGES=OFF \
-"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'directfb pam pulseaudio wayland x11', d)}\
- gstreamer cups \
-"
-
-X11_DEPS = "virtual/libx11 libxinerama libxext libxcursor libxv libxi libxrender libxfixes libxdamage libxrandr libxkbfile"
-PACKAGECONFIG[x11] = "-DWITH_X11=ON -DWITH_XINERAMA=ON -DWITH_XEXT=ON -DWITH_XCURSOR=ON -DWITH_XV=ON -DWITH_XI=ON -DWITH_XRENDER=ON -DWITH_XFIXES=ON -DWITH_XDAMAGE=ON -DWITH_XRANDR=ON -DWITH_XKBFILE=ON,-DWITH_X11=OFF,${X11_DEPS}"
-PACKAGECONFIG[wayland] = "-DWITH_WAYLAND=ON,-DWITH_WAYLAND=OFF,wayland wayland-native libxkbcommon"
-PACKAGECONFIG[directfb] = "-DWITH_DIRECTFB=ON,-DWITH_DIRECTFB=OFF,directfb"
-PACKAGECONFIG[pam] = "-DWITH_PAM=ON,-DWITH_PAM=OFF,libpam"
-PACKAGECONFIG[pulseaudio] = "-DWITH_PULSEAUDIO=ON,-DWITH_PULSEAUDIO=OFF,pulseaudio"
-PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER_1_0=ON,-DWITH_GSTREAMER_1_0=OFF,gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[cups] = "-DWITH_CUPS=ON,-DWITH_CUPS=OFF,cups"
-
-PACKAGES =+ "libfreerdp"
-
-LEAD_SONAME = "libfreerdp.so"
-FILES_libfreerdp = "${libdir}/lib*${SOLIBS}"
-
-PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
-
-# we will need winpr-makecert to generate TLS certificates
-do_install_append () {
- install -d ${D}${bindir}
- install -m755 winpr/tools/makecert-cli/winpr-makecert ${D}${bindir}
- rm -rf ${D}${libdir}/cmake
- rm -rf ${D}${libdir}/freerdp
-}
-
-python populate_packages_prepend () {
- freerdp_root = d.expand('${libdir}/freerdp')
-
- do_split_packages(d, freerdp_root, '^(audin_.*)\.so$',
- output_pattern='libfreerdp-plugin-%s',
- description='FreeRDP plugin %s',
- prepend=True, extra_depends='libfreerdp-plugin-audin')
-
- do_split_packages(d, freerdp_root, '^(rdpsnd_.*)\.so$',
- output_pattern='libfreerdp-plugin-%s',
- description='FreeRDP plugin %s',
- prepend=True, extra_depends='libfreerdp-plugin-rdpsnd')
-
- do_split_packages(d, freerdp_root, '^(tsmf_.*)\.so$',
- output_pattern='libfreerdp-plugin-%s',
- description='FreeRDP plugin %s',
- prepend=True, extra_depends='libfreerdp-plugin-tsmf')
-
- do_split_packages(d, freerdp_root, '^([^-]*)\.so$',
- output_pattern='libfreerdp-plugin-%s',
- description='FreeRDP plugin %s',
- prepend=True, extra_depends='')
-}
diff --git a/meta-oe/recipes-support/function2/function2_4.1.0.bb b/meta-oe/recipes-support/function2/function2_4.1.0.bb
deleted file mode 100644
index 56dc30acdc..0000000000
--- a/meta-oe/recipes-support/function2/function2_4.1.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Improved drop-in replacement for std::function"
-DESCRIPTION = "Provides improved implementations of std::function."
-HOMEPAGE = "https://naios.github.io/function2"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-SRCREV = "3a0746bf5f601dfed05330aefcb6854354fce07d"
-PV .= "+git${SRCPV}"
-
-SRC_URI += "gitsm://github.com/Naios/function2"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-inherit ptest
-
-# Installs some data to incorrect top-level /usr directory
-do_install_append() {
- mkdir -p ${D}/${datadir}/function2
- mv ${D}/${prefix}/Readme.md ${D}/${datadir}/function2/
- mv ${D}/${prefix}/LICENSE.txt ${D}/${datadir}/function2/
-}
diff --git a/meta-oe/recipes-support/function2/function2_4.2.4.bb b/meta-oe/recipes-support/function2/function2_4.2.4.bb
new file mode 100644
index 0000000000..98d05f6e25
--- /dev/null
+++ b/meta-oe/recipes-support/function2/function2_4.2.4.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Improved drop-in replacement for std::function"
+DESCRIPTION = "Provides improved implementations of std::function."
+HOMEPAGE = "https://naios.github.io/function2"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+SRCREV = "a354bd093d2b6e50c9325dbce84d20b4e77aabc6"
+PV .= "+git"
+
+SRC_URI += "gitsm://github.com/Naios/function2;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+inherit ptest
+
+# Installs some data to incorrect top-level /usr directory
+do_install:append() {
+ mkdir -p ${D}/${datadir}/function2
+ mv ${D}/${prefix}/Readme.md ${D}/${datadir}/function2/
+ mv ${D}/${prefix}/LICENSE.txt ${D}/${datadir}/function2/
+}
diff --git a/meta-oe/recipes-support/gd/gd/0001-Fix-deprecared-function-prototypes.patch b/meta-oe/recipes-support/gd/gd/0001-Fix-deprecared-function-prototypes.patch
new file mode 100644
index 0000000000..5ac5170721
--- /dev/null
+++ b/meta-oe/recipes-support/gd/gd/0001-Fix-deprecared-function-prototypes.patch
@@ -0,0 +1,115 @@
+From 6379331cd0647fc6f149f55e4505a9a92e4f159f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 22 Aug 2022 22:43:26 -0700
+Subject: [PATCH] Fix deprecared function prototypes
+
+Fixes following errors:
+error: a function definition without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]
+
+Upstream-Status: Submitted [https://github.com/libgd/libgd/pull/835]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/gd_nnquant.c | 32 +++++++-------------------------
+ src/gd_tiff.c | 4 +---
+ 2 files changed, 8 insertions(+), 28 deletions(-)
+
+diff --git a/src/gd_nnquant.c b/src/gd_nnquant.c
+index 8b9aa794..013f7160 100644
+--- a/src/gd_nnquant.c
++++ b/src/gd_nnquant.c
+@@ -112,12 +112,7 @@ typedef struct {
+
+ /* Initialise network in range (0,0,0,0) to (255,255,255,255) and set parameters
+ ----------------------------------------------------------------------- */
+-static void initnet(nnq, thepic, len, sample, colours)
+-nn_quant *nnq;
+-unsigned char *thepic;
+-int len;
+-int sample;
+-int colours;
++static void initnet(nn_quant *nnq, unsigned char *thepic, int len, int sample, int colours)
+ {
+ register int i;
+ register int *p;
+@@ -163,9 +158,7 @@ static void unbiasnet(nn_quant *nnq)
+ }
+
+ /* Output colormap to unsigned char ptr in RGBA format */
+-static void getcolormap(nnq, map)
+-nn_quant *nnq;
+-unsigned char *map;
++static void getcolormap(nn_quant *nnq, unsigned char *map)
+ {
+ int i,j;
+ for(j=0; j < nnq->netsize; j++) {
+@@ -232,9 +225,7 @@ static void inxbuild(nn_quant *nnq)
+
+ /* Search for ABGR values 0..255 (after net is unbiased) and return colour index
+ ---------------------------------------------------------------------------- */
+-static unsigned int inxsearch(nnq, al,b,g,r)
+-nn_quant *nnq;
+-register int al, b, g, r;
++static unsigned int inxsearch(nn_quant *nnq, int al, int b, int g, int r)
+ {
+ register int i, j, dist, a, bestd;
+ register int *p;
+@@ -306,9 +297,7 @@ register int al, b, g, r;
+
+ /* Search for biased ABGR values
+ ---------------------------- */
+-static int contest(nnq, al,b,g,r)
+-nn_quant *nnq;
+-register int al,b,g,r;
++static int contest(nn_quant *nnq, int al, int b, int g, int r)
+ {
+ /* finds closest neuron (min dist) and updates freq */
+ /* finds best neuron (min dist-bias) and returns position */
+@@ -362,9 +351,7 @@ register int al,b,g,r;
+ /* Move neuron i towards biased (a,b,g,r) by factor alpha
+ ---------------------------------------------------- */
+
+-static void altersingle(nnq, alpha,i,al,b,g,r)
+-nn_quant *nnq;
+-register int alpha,i,al,b,g,r;
++static void altersingle(nn_quant *nnq, int alpha, int i,int al, int b, int g, int r)
+ {
+ register int *n;
+
+@@ -382,10 +369,7 @@ register int alpha,i,al,b,g,r;
+ /* Move adjacent neurons by precomputed alpha*(1-((i-j)^2/[r]^2)) in radpower[|i-j|]
+ --------------------------------------------------------------------------------- */
+
+-static void alterneigh(nnq, rad,i,al,b,g,r)
+-nn_quant *nnq;
+-int rad,i;
+-register int al,b,g,r;
++static void alterneigh(nn_quant *nnq, int rad, int i, int al,int b,int g, int r)
+ {
+ register int j,k,lo,hi,a;
+ register int *p, *q;
+@@ -429,9 +413,7 @@ register int al,b,g,r;
+ /* Main Learning Loop
+ ------------------ */
+
+-static void learn(nnq, verbose) /* Stu: N.B. added parameter so that main() could control verbosity. */
+-nn_quant *nnq;
+-int verbose;
++static void learn(nn_quant *nnq, int verbose) /* Stu: N.B. added parameter so that main() could control verbosity. */
+ {
+ register int i,j,al,b,g,r;
+ int radius,rad,alpha,step,delta,samplepixels;
+diff --git a/src/gd_tiff.c b/src/gd_tiff.c
+index 7f72b610..3d90e61a 100644
+--- a/src/gd_tiff.c
++++ b/src/gd_tiff.c
+@@ -446,9 +446,7 @@ BGD_DECLARE(void) gdImageTiffCtx(gdImagePtr image, gdIOCtx *out)
+ }
+
+ /* Check if we are really in 8bit mode */
+-static int checkColorMap(n, r, g, b)
+-int n;
+-uint16_t *r, *g, *b;
++static int checkColorMap(int n, uint16_t *r, uint16_t *g, uint16_t *b)
+ {
+ while (n-- > 0)
+ if (*r++ >= 256 || *g++ >= 256 || *b++ >= 256)
diff --git a/meta-oe/recipes-support/gd/gd_2.3.1.bb b/meta-oe/recipes-support/gd/gd_2.3.1.bb
deleted file mode 100644
index 60abe73a14..0000000000
--- a/meta-oe/recipes-support/gd/gd_2.3.1.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images"
-DESCRIPTION = "The gd graphics library allows your code to quickly draw images \
-complete with lines, arcs, text, multiple colors, cut and paste from other \
-images, and flood fills, and to write out the result as a PNG or JPEG file. \
-This is particularly useful in Web applications, where PNG and JPEG are two \
-of the formats accepted for inline images by most browsers. Note that gd is not \
-a paint program."
-HOMEPAGE = "http://libgd.github.io/"
-
-SECTION = "libs"
-LICENSE = "GD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8e5bc8627b9494741c905d65238c66b7"
-
-DEPENDS = "freetype libpng jpeg zlib tiff"
-
-SRC_URI = "git://github.com/libgd/libgd.git;branch=master \
- "
-
-SRCREV = "75ef79c9b013fb5eafd92710b3867827682fd52d"
-
-S = "${WORKDIR}/git"
-
-inherit autotools binconfig gettext pkgconfig
-
-EXTRA_OECONF += " --disable-rpath \
- --with-jpeg=${STAGING_LIBDIR}/.. \
- --with-freetype=yes \
- --without-fontconfig \
- --without-webp \
- --without-xpm \
- --without-x \
- "
-
-EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"'
-
-DEBUG_OPTIMIZATION_append = " -Wno-error=maybe-uninitialized"
-
-do_install_append_class-target() {
- # cleanup buildpaths from gdlib.pc
- sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc
-}
-
-PACKAGES += "${PN}-tools"
-
-FILES_${PN} = "${libdir}/lib*${SOLIBS}"
-FILES_${PN}-tools = "${bindir}/*"
-
-PROVIDES += "${PN}-tools"
-RPROVIDES_${PN}-tools = "${PN}-tools"
-RDEPENDS_${PN}-tools = "perl perl-module-strict"
-
-CVE_PRODUCT = "libgd"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/gd/gd_2.3.3.bb b/meta-oe/recipes-support/gd/gd_2.3.3.bb
new file mode 100644
index 0000000000..cc2c1571e6
--- /dev/null
+++ b/meta-oe/recipes-support/gd/gd_2.3.3.bb
@@ -0,0 +1,55 @@
+SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images"
+DESCRIPTION = "The gd graphics library allows your code to quickly draw images \
+complete with lines, arcs, text, multiple colors, cut and paste from other \
+images, and flood fills, and to write out the result as a PNG or JPEG file. \
+This is particularly useful in Web applications, where PNG and JPEG are two \
+of the formats accepted for inline images by most browsers. Note that gd is not \
+a paint program."
+HOMEPAGE = "http://libgd.github.io/"
+
+SECTION = "libs"
+LICENSE = "GD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ace63adfdac78400fc30fa22ee9c1bb1"
+
+DEPENDS = "freetype libpng jpeg zlib tiff"
+
+SRC_URI = "git://github.com/libgd/libgd.git;nobranch=1;protocol=https \
+ file://0001-Fix-deprecared-function-prototypes.patch \
+ "
+
+SRCREV = "b5319a41286107b53daa0e08e402aa1819764bdc"
+
+S = "${WORKDIR}/git"
+
+inherit autotools binconfig gettext pkgconfig
+
+EXTRA_OECONF += " --disable-rpath \
+ --with-jpeg=${STAGING_LIBDIR}/.. \
+ --with-freetype=yes \
+ --without-fontconfig \
+ --without-webp \
+ --without-xpm \
+ --without-x \
+ "
+
+EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"'
+
+DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized"
+
+do_install:append:class-target() {
+ # cleanup buildpaths from gdlib.pc
+ sed -i -e 's#${STAGING_DIR_HOST}##g' ${D}${libdir}/pkgconfig/gdlib.pc
+}
+
+PACKAGES += "${PN}-tools"
+
+FILES:${PN} = "${libdir}/lib*${SOLIBS}"
+FILES:${PN}-tools = "${bindir}/*"
+
+PROVIDES += "${PN}-tools"
+RPROVIDES:${PN}-tools = "${PN}-tools"
+RDEPENDS:${PN}-tools = "perl perl-module-strict"
+
+CVE_PRODUCT = "libgd"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb b/meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb
index 118e3c50c8..4d97b1a419 100644
--- a/meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb
+++ b/meta-oe/recipes-support/gengetopt/gengetopt_2.23.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Gengetopt is a tool to write command line option parsing code for
SECTION = "utils"
HOMEPAGE = "https://www.gnu.org/software/gengetopt/gengetopt.html"
-LICENSE = "GPLv3+"
+LICENSE = "GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=ff95bfe019feaf92f524b73dd79e76eb"
SRC_URI = "${GNU_MIRROR}/gengetopt/${BPN}-${PV}.tar.xz"
@@ -13,4 +13,6 @@ SRC_URI[sha256sum] = "b941aec9011864978dd7fdeb052b1943535824169d2aa2b0e7eae9ab80
inherit autotools texinfo
+CXXFLAGS += "-std=c++14"
+
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/gflags/gflags_2.2.2.bb b/meta-oe/recipes-support/gflags/gflags_2.2.2.bb
index 6eea0c00ec..a9a867b575 100644
--- a/meta-oe/recipes-support/gflags/gflags_2.2.2.bb
+++ b/meta-oe/recipes-support/gflags/gflags_2.2.2.bb
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/gflags/gflags"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df"
-SRC_URI = "git://github.com/gflags/gflags.git"
+SRC_URI = "git://github.com/gflags/gflags.git;branch=master;protocol=https"
SRCREV = "e171aa2d15ed9eb17054558e0b3a6a413bb01067"
S = "${WORKDIR}/git"
@@ -13,8 +13,8 @@ inherit cmake
EXTRA_OECMAKE="-DBUILD_SHARED_LIBS=ON -DREGISTER_INSTALL_PREFIX=OFF -DLIB_INSTALL_DIR=${baselib}"
PACKAGES =+ "${PN}-bash-completion"
-FILES_${PN}-bash-completion += "${bindir}/gflags_completions.sh"
+FILES:${PN}-bash-completion += "${bindir}/gflags_completions.sh"
-RDEPENDS_${PN}-bash-completion = "bash bash-completion"
+RDEPENDS:${PN}-bash-completion = "bash bash-completion"
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/glog/glog/0001-Change-SleepForMilliseconds-parameter-from-unsigned-.patch b/meta-oe/recipes-support/glog/glog/0001-Change-SleepForMilliseconds-parameter-from-unsigned-.patch
new file mode 100644
index 0000000000..3732c62cd0
--- /dev/null
+++ b/meta-oe/recipes-support/glog/glog/0001-Change-SleepForMilliseconds-parameter-from-unsigned-.patch
@@ -0,0 +1,33 @@
+From 176230435cb4b64ff7f2d97f77a04579ad9ca239 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 18 Feb 2023 13:14:14 -0800
+Subject: [PATCH] Change SleepForMilliseconds parameter from unsigned int -> long
+
+Fixes following error on 32bit platforms
+
+src/googletest.h:631:35: error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'long' in initializer list [-Wc++11-narrowing]
+ const struct timespec req = {0, t * 1000 * 1000};
+ ^~~~~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/google/glog/pull/894]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/googletest.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/googletest.h b/src/googletest.h
+index 5761361..836b06c 100644
+--- a/src/googletest.h
++++ b/src/googletest.h
+@@ -625,7 +625,7 @@ class Thread {
+ #endif
+ };
+
+-static inline void SleepForMilliseconds(unsigned t) {
++static inline void SleepForMilliseconds(long t) {
+ #ifndef GLOG_OS_WINDOWS
+ # if defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 199309L
+ const struct timespec req = {0, t * 1000 * 1000};
+--
+2.39.2
+
diff --git a/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch b/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch
deleted file mode 100644
index 577007a62e..0000000000
--- a/meta-oe/recipes-support/glog/glog/0001-Find-Libunwind-during-configure.patch
+++ /dev/null
@@ -1,118 +0,0 @@
---- /dev/null
-+++ b/cmake/FindLibunwind.cmake
-@@ -0,0 +1,54 @@
-+# - Try to find libunwind
-+# Once done this will define
-+#
-+# Libunwind_FOUND - system has libunwind
-+# unwind - cmake target for libunwind
-+
-+find_library (UNWIND_LIBRARY NAMES unwind DOC "unwind library")
-+include (CheckIncludeFile)
-+check_include_file (libunwind.h HAVE_LIBUNWIND_H)
-+check_include_file (unwind.h HAVE_UNWIND_H)
-+
-+if (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
-+ set(LIBUNWIND_ARCH "arm")
-+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
-+ set(LIBUNWIND_ARCH "aarch64")
-+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR
-+ CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64" OR
-+ CMAKE_SYSTEM_PROCESSOR STREQUAL "corei7-64")
-+ set(LIBUNWIND_ARCH "x86_64")
-+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
-+ set(LIBUNWIND_ARCH "x86")
-+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64")
-+ set(LIBUNWIND_ARCH "ppc64")
-+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc")
-+ set(LIBUNWIND_ARCH "ppc32")
-+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
-+ set(LIBUNWIND_ARCH "mips")
-+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^hppa")
-+ set(LIBUNWIND_ARCH "hppa")
-+elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^ia64")
-+ set(LIBUNWIND_ARCH "ia64")
-+endif()
-+
-+find_library (UNWIND_LIBRARY_PLATFORM NAMES "unwind-${LIBUNWIND_ARCH}" DOC "unwind library platform")
-+if (UNWIND_LIBRARY_PLATFORM)
-+ set(HAVE_LIB_UNWIND "1")
-+endif()
-+
-+include(FindPackageHandleStandardArgs)
-+# handle the QUIETLY and REQUIRED arguments and set Libunwind_FOUND to TRUE
-+# if all listed variables are TRUE
-+find_package_handle_standard_args(Libunwind DEFAULT_MSG
-+ UNWIND_LIBRARY HAVE_LIBUNWIND_H HAVE_UNWIND_H HAVE_LIB_UNWIND)
-+
-+mark_as_advanced (UNWIND_LIBRARY UNWIND_LIBRARY_PLATFORM)
-+
-+if (Libunwind_FOUND)
-+ add_library(unwind INTERFACE IMPORTED)
-+ set_target_properties(unwind PROPERTIES
-+ INTERFACE_LINK_LIBRARIES "${UNWIND_LIBRARY};${UNWIND_LIBRARY_PLATFORM}"
-+ )
-+else()
-+ message("Can't find libunwind library")
-+endif()
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -64,7 +64,6 @@ check_include_file (dlfcn.h HAVE_DLFCN_H
- check_include_file (execinfo.h HAVE_EXECINFO_H)
- check_include_file (glob.h HAVE_GLOB_H)
- check_include_file (inttypes.h HAVE_INTTYPES_H)
--check_include_file (libunwind.h HAVE_LIBUNWIND_H)
- check_include_file (memory.h HAVE_MEMORY_H)
- check_include_file (pwd.h HAVE_PWD_H)
- check_include_file (stdint.h HAVE_STDINT_H)
-@@ -80,7 +79,6 @@ check_include_file (syscall.h HAVE_SYSCA
- check_include_file (syslog.h HAVE_SYSLOG_H)
- check_include_file (ucontext.h HAVE_UCONTEXT_H)
- check_include_file (unistd.h HAVE_UNISTD_H)
--check_include_file (unwind.h HAVE_UNWIND_H)
- check_include_file (pwd.h HAVE_PWD_H)
-
- check_include_file_cxx ("ext/hash_map" HAVE_EXT_HASH_MAP)
-@@ -116,11 +114,9 @@ check_cxx_compiler_flag (-Wunnamed-type-
- # snprintf as an inline function
- check_symbol_exists (snprintf stdio.h HAVE_SNPRINTF)
-
--check_library_exists (unwind get_static_proc_name "" HAVE_LIB_UNWIND)
- check_library_exists (dbghelp UnDecorateSymbolName "" HAVE_DBGHELP)
-
--find_library (UNWIND_LIBRARY NAMES unwind DOC "unwind library")
--mark_as_advanced (UNWIND_LIBRARY)
-+find_package(Libunwind)
-
- check_c_source_compiles ("
- #include <stdlib.h>
-@@ -471,9 +467,9 @@ add_library(glog::glog ALIAS glog)
-
- set_target_properties (glog PROPERTIES POSITION_INDEPENDENT_CODE ON)
-
--if (UNWIND_LIBRARY)
-- target_link_libraries (glog PUBLIC ${UNWIND_LIBRARY})
--endif (UNWIND_LIBRARY)
-+if (Libunwind_FOUND)
-+ target_link_libraries (glog PUBLIC unwind)
-+endif (Libunwind_FOUND)
-
- if (HAVE_DBGHELP)
- target_link_libraries (glog PUBLIC dbghelp)
-@@ -678,6 +674,7 @@ export (PACKAGE glog)
- install (FILES
- ${CMAKE_CURRENT_BINARY_DIR}/glog-config.cmake
- ${CMAKE_CURRENT_BINARY_DIR}/glog-config-version.cmake
-+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindLibunwind.cmake
- DESTINATION ${_glog_CMake_INSTALLDIR})
-
- install (EXPORT glog-targets NAMESPACE glog:: DESTINATION
---- a/glog-config.cmake.in
-+++ b/glog-config.cmake.in
-@@ -8,4 +8,6 @@ include (CMakeFindDependencyMacro)
-
- @gflags_DEPENDENCY@
-
-+find_dependency (Libunwind)
-+
- include ("${CMAKE_CURRENT_LIST_DIR}/glog-targets.cmake")
diff --git a/meta-oe/recipes-support/glog/glog/libexecinfo.patch b/meta-oe/recipes-support/glog/glog/libexecinfo.patch
new file mode 100644
index 0000000000..a791a40dbc
--- /dev/null
+++ b/meta-oe/recipes-support/glog/glog/libexecinfo.patch
@@ -0,0 +1,40 @@
+From 19d00c15710840910a7397252c14d612746631fe Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 8 Mar 2021 14:58:40 -0800
+Subject: [PATCH] Link libexecinfo if its found, this is needed for musl based
+ systems
+
+Fixes
+ld: libglog.so.0.4.0: undefined reference to `backtrace'
+| collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 846b444..1553358 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -162,6 +162,7 @@ cmake_pop_check_state ()
+ check_cxx_symbol_exists (snprintf cstdio HAVE_SNPRINTF)
+
+ check_library_exists (dbghelp UnDecorateSymbolName "" HAVE_DBGHELP)
++check_library_exists (execinfo backtrace "" HAVE_EXECINFO)
+
+ check_cxx_source_compiles ("
+ #include <cstdlib>
+@@ -629,6 +630,10 @@ if (Unwind_FOUND)
+ set (Unwind_DEPENDENCY "find_dependency (Unwind ${Unwind_VERSION})")
+ endif (Unwind_FOUND)
+
++if (HAVE_EXECINFO)
++ target_link_libraries (glog PUBLIC execinfo)
++endif (HAVE_EXECINFO)
++
+ if (HAVE_DBGHELP)
+ target_link_libraries (glog PRIVATE dbghelp)
+ set (glog_libraries_options_for_static_linking "${glog_libraries_options_for_static_linking} -ldbghelp")
diff --git a/meta-oe/recipes-support/glog/glog_0.4.0.bb b/meta-oe/recipes-support/glog/glog_0.4.0.bb
deleted file mode 100644
index 8dc84e4125..0000000000
--- a/meta-oe/recipes-support/glog/glog_0.4.0.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "The glog library implements application-level logging. This \
-library provides logging APIs based on C++-style streams and various helper \
-macros."
-HOMEPAGE = "https://github.com/google/glog"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b"
-
-SRC_URI = " \
- git://github.com/google/glog.git;nobranch=1 \
- file://0001-Find-Libunwind-during-configure.patch \
-"
-
-SRCREV = "96a2f23dca4cc7180821ca5f32e526314395d26a"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ?= "shared unwind"
-PACKAGECONFIG_remove_riscv64 = "unwind"
-PACKAGECONFIG_remove_riscv32 = "unwind"
-
-PACKAGECONFIG[unwind] = "-DWITH_UNWIND=ON,-DWITH_UNWIND=OFF,libunwind,libunwind"
-PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
-
-do_configure_append() {
- # remove WORKDIR info to improve reproducibility
- if [ -f "${B}/config.h" ] ; then
- sed -i 's/'$(echo ${WORKDIR} | sed 's_/_\\/_g')'/../g' ${B}/config.h
- fi
-}
diff --git a/meta-oe/recipes-support/glog/glog_0.6.0.bb b/meta-oe/recipes-support/glog/glog_0.6.0.bb
new file mode 100644
index 0000000000..ec39604f44
--- /dev/null
+++ b/meta-oe/recipes-support/glog/glog_0.6.0.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "The glog library implements application-level logging. This \
+library provides logging APIs based on C++-style streams and various helper \
+macros."
+HOMEPAGE = "https://github.com/google/glog"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b"
+
+SRC_URI = " \
+ git://github.com/google/glog.git;branch=master;protocol=https \
+ file://libexecinfo.patch \
+ file://0001-Change-SleepForMilliseconds-parameter-from-unsigned-.patch \
+"
+
+SRCREV = "b33e3bad4c46c8a6345525fd822af355e5ef9446"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+PACKAGECONFIG ?= "shared unwind 64bit-atomics"
+PACKAGECONFIG:remove:riscv64 = "unwind"
+PACKAGECONFIG:remove:riscv32 = "unwind 64bit-atomics"
+PACKAGECONFIG:remove:mipsarch = "64bit-atomics"
+PACKAGECONFIG:remove:armv5 = "64bit-atomics"
+PACKAGECONFIG:remove:armv6 = "64bit-atomics"
+
+PACKAGECONFIG:append:libc-musl:riscv64 = " execinfo"
+PACKAGECONFIG:append:libc-musl:riscv32 = " execinfo"
+
+PACKAGECONFIG[unwind] = "-DWITH_UNWIND=ON,-DWITH_UNWIND=OFF,libunwind,libunwind"
+PACKAGECONFIG[execinfo] = ",,libexecinfo"
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
+PACKAGECONFIG[64bit-atomics] = ",-DCMAKE_CXX_STANDARD_LIBRARIES='-latomic',,"
+
+do_configure:append() {
+ # remove WORKDIR info to improve reproducibility
+ if [ -f "${B}/config.h" ] ; then
+ sed -i 's/'$(echo ${WORKDIR} | sed 's_/_\\/_g')'/../g' ${B}/config.h
+ fi
+}
+
+FILES:${PN}-dev += "${datadir}/${BPN}/cmake"
diff --git a/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb b/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb
deleted file mode 100644
index 146747eee1..0000000000
--- a/meta-oe/recipes-support/gnulib/gnulib_2018-03-07.03.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "The GNU portability library"
-DESCRIPTION = "A collection of software subroutines which are designed to \
-be usable on many operating systems. The goal of the project \
-is to make it easy for free software authors to make their \
-software run on many operating systems. Since source is designed \
-to be copied from gnulib, it is not a library per-se, as much \
-as a collection of portable idioms to be used in other projects."
-
-HOMEPAGE = "http://www.gnu.org/software/gnulib/"
-SECTION = "devel"
-LICENSE = "LGPLv2+"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=56a22a6e5bcce45e2c8ac184f81412b5"
-SRCREV = "0d6e3307bbdb8df4d56043d5f373eeeffe4cbef3"
-
-SRC_URI = "git://git.sv.gnu.org/gnulib.git \
-"
-
-S = "${WORKDIR}/git"
-
-inherit utils
-
-do_install () {
- cd ${S}
- check_git_config
- git checkout master
- git clone ${S} ${D}/${datadir}/gnulib
-}
-
-do_patch[noexec] = "1"
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-do_package[noexec] = "1"
-do_packagedata[noexec] = "1"
-deltask package_write_ipk
-deltask package_write_deb
-deltask package_write_rpm
-deltask do_deploy_archives
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/gnulib/gnulib_202401.bb b/meta-oe/recipes-support/gnulib/gnulib_202401.bb
new file mode 100644
index 0000000000..41675d3587
--- /dev/null
+++ b/meta-oe/recipes-support/gnulib/gnulib_202401.bb
@@ -0,0 +1,37 @@
+SUMMARY = "The GNU portability library"
+DESCRIPTION = "A collection of software subroutines which are designed to \
+be usable on many operating systems. The goal of the project \
+is to make it easy for free software authors to make their \
+software run on many operating systems. Since source is designed \
+to be copied from gnulib, it is not a library per-se, as much \
+as a collection of portable idioms to be used in other projects."
+
+HOMEPAGE = "http://www.gnu.org/software/gnulib/"
+SECTION = "devel"
+LICENSE = "LGPL-2.0-or-later"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=56a22a6e5bcce45e2c8ac184f81412b5"
+SRCREV = "c99c8d491850dc3a6e0b8604a2729d8bc5c0eff1"
+
+SRC_URI = "git://git.savannah.gnu.org/git/gnulib.git;branch=stable-${PV};protocol=https \
+"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+ install -d ${D}/${datadir}/gnulib
+ cp --no-preserve=ownership --recursive ${S}/* ${D}/${datadir}/gnulib/
+ cp --no-preserve=ownership --recursive ${S}/.git ${D}/${datadir}/gnulib/
+}
+
+do_patch[noexec] = "1"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_package[noexec] = "1"
+do_packagedata[noexec] = "1"
+deltask package_write_ipk
+deltask package_write_deb
+deltask package_write_rpm
+deltask do_deploy_archives
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.3.bb b/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.3.bb
new file mode 100644
index 0000000000..f945a30f36
--- /dev/null
+++ b/meta-oe/recipes-support/googlebenchmark/googlebenchmark_1.8.3.bb
@@ -0,0 +1,20 @@
+DESCRIPTION = "A microbenchmark support library"
+HOMEPAGE = "https://github.com/google/benchmark"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRC_URI = "git://github.com/google/benchmark.git;protocol=https;branch=main"
+SRCREV = "344117638c8ff7e239044fd0fa7085839fc03021"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE = " \
+ -DBUILD_SHARED_LIBS=yes \
+ -DBENCHMARK_ENABLE_TESTING=no \
+ -DCMAKE_BUILD_TYPE=Release \
+"
+
+inherit cmake
+
+FILES:${PN}-dev += "${libdir}/cmake"
diff --git a/meta-oe/recipes-support/gosu/gosu_1.17.bb b/meta-oe/recipes-support/gosu/gosu_1.17.bb
new file mode 100644
index 0000000000..a29d6bce45
--- /dev/null
+++ b/meta-oe/recipes-support/gosu/gosu_1.17.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Simple Go-based setuid+setgid+setgroups+exec"
+HOMEPAGE = "https://github.com/tianon/gosu"
+DESCRIPTION = "This is a simple tool grown out of the simple fact that su and sudo have very strange and often annoying TTY and signal-forwarding behavior."
+LICENSE = "Apache-2.0 "
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+GO_IMPORT = "github.com/tianon/gosu"
+SRC_URI = "git://${GO_IMPORT}.git;branch=master;protocol=https \
+ git://github.com/moby/sys;name=user;destsuffix=${S}/src/github.com/moby/sys;branch=main;protocol=https \
+ git://github.com/golang/sys;name=sys;destsuffix=${S}/src/golang.org/x/sys;branch=master;protocol=https \
+"
+SRCREV = "0d1847490b448a17eb347e5e357f2c0478df87ad"
+#v0.1.0
+SRCREV_user = "c0711cde08c8fa33857a2c28721659267f49b5e2"
+#v0.1.0
+SRCREV_sys = "95e765b1cc43ac521bd4fd501e00774e34401449"
+
+SRCREV_FORMAT .= "_user_sys"
+
+inherit go
+
+CGO_ENABLED = "1"
+
+do_compile:prepend() {
+ # New Go versions has Go modules support enabled by default
+ export GO111MODULE=off
+}
+
+RDEPENDS:${PN}-dev += "bash"
diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
deleted file mode 100644
index 2fd21c2783..0000000000
--- a/meta-oe/recipes-support/gperftools/gperftools/0001-Support-Atomic-ops-on-clang.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From aa0a63209af6813d87255ec3ab339f2dbbf27d6d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 6 Mar 2017 13:38:46 -0800
-Subject: [PATCH] Support Atomic ops on clang
-
-clang pretends to be gcc 4.2 which is a lie
-it actually supports a lot more features then
-gcc 4.2, here it depends on gcc 4.7 to enable
-the atomics and fails for clang
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Upstream-Status: Pending
-
----
- src/base/atomicops.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/base/atomicops.h b/src/base/atomicops.h
-index dac95be..390733c 100644
---- a/src/base/atomicops.h
-+++ b/src/base/atomicops.h
-@@ -124,7 +124,7 @@
- #include "base/atomicops-internals-linuxppc.h"
- #elif defined(__GNUC__) && defined(__mips__)
- #include "base/atomicops-internals-mips.h"
--#elif defined(__GNUC__) && GCC_VERSION >= 40700
-+#elif defined(__GNUC__) && GCC_VERSION >= 40700 || defined(__clang__)
- #include "base/atomicops-internals-gcc.h"
- #elif defined(__clang__) && CLANG_VERSION >= 30400
- #include "base/atomicops-internals-gcc.h"
diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
index ab3ceb964f..2ea54e48c9 100644
--- a/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
+++ b/meta-oe/recipes-support/gperftools/gperftools/0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch
@@ -12,15 +12,15 @@ Upstream-Status: Pending
1 file changed, 2 insertions(+)
diff --git a/configure.ac b/configure.ac
-index 70b49a3..8154c5c 100644
+index 68fd51c..4cb71fe 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -51,6 +51,8 @@ case "$host" in
- *-cygwin*) default_enable_heap_checker=no; default_enable_cpu_profiler=no;;
- *-freebsd*) default_enable_heap_checker=no;;
- *-darwin*) default_enable_heap_checker=no;;
+@@ -53,6 +53,8 @@ case "$host" in
+ need_nanosleep=no;;
+ *-cygwin*) default_enable_cpu_profiler=no;;
+ *-linux*) default_enable_heap_checker=yes; heap_checker_supported=yes;;
+ *-musl*) default_enable_heap_checker=no; default_enable_heap_profiler=no;
+ default_enable_debugalloc=no; default_enable_libunwind=no;
esac
- # Currently only backtrace works on s390.
+ # Currently only backtrace works on s390 and OSX.
diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
deleted file mode 100644
index cb4ead3176..0000000000
--- a/meta-oe/recipes-support/gperftools/gperftools/0001-fix-build-with-musl-libc.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 696674a800cb6d2070897a565b92d7e63022a8f1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 16 Jul 2017 15:51:28 -0700
-Subject: [PATCH] fix build with musl libc
-
-Patch from https://github.com/gperftools/gperftools/pull/765/
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/malloc_hook_mmap_linux.h | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/malloc_hook_mmap_linux.h b/src/malloc_hook_mmap_linux.h
-index e2efb05..66b3110 100644
---- a/src/malloc_hook_mmap_linux.h
-+++ b/src/malloc_hook_mmap_linux.h
-@@ -46,6 +46,10 @@
- #include <errno.h>
- #include "base/linux_syscall_support.h"
-
-+#ifndef __GLIBC__
-+typedef off64_t __off64_t;
-+#endif
-+
- // The x86-32 case and the x86-64 case differ:
- // 32b has a mmap2() syscall, 64b does not.
- // 64b and 32b have different calling conventions for mmap().
-@@ -175,7 +179,7 @@ extern "C" void* mmap64(void *start, size_t length, int prot, int flags,
- return result;
- }
-
--# if !defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH)
-+# if defined(__GLIBC__) && (!defined(__USE_FILE_OFFSET64) || !defined(__REDIRECT_NTH))
-
- extern "C" void* mmap(void *start, size_t length, int prot, int flags,
- int fd, off_t offset) __THROW {
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch
deleted file mode 100644
index 4029a69c5c..0000000000
--- a/meta-oe/recipes-support/gperftools/gperftools/0001-profile-handler-Specify-libc-specific-thread_id.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0a504852ed6e56620d1df26b503c4aa2b5b74760 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 31 Oct 2020 16:12:36 -0700
-Subject: [PATCH] profile-handler: Specify libc specific thread_id
-
-We need to know internal _sigev_un is glibc specific, add an else for
-musl case
-
-Fixes build issue
-../git/src/profile-handler.cc:275:8: error: no member named '_sigev_un' in 'sigevent'
- sevp._sigev_un._tid = sys_gettid();
- ~~~~ ^
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/profile-handler.cc | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/profile-handler.cc b/src/profile-handler.cc
-index 7fdcb69..5867118 100644
---- a/src/profile-handler.cc
-+++ b/src/profile-handler.cc
-@@ -272,7 +272,11 @@ static void StartLinuxThreadTimer(int timer_type, int signal_number,
- struct itimerspec its;
- memset(&sevp, 0, sizeof(sevp));
- sevp.sigev_notify = SIGEV_THREAD_ID;
-+#ifdef __GLIBC__
- sevp._sigev_un._tid = sys_gettid();
-+#else
-+ sevp.sigev_notify_thread_id = sys_gettid();
-+#endif
- sevp.sigev_signo = signal_number;
- clockid_t clock = CLOCK_THREAD_CPUTIME_ID;
- if (timer_type == ITIMER_REAL) {
---
-2.29.2
-
diff --git a/meta-oe/recipes-support/gperftools/gperftools/0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch b/meta-oe/recipes-support/gperftools/gperftools/0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch
new file mode 100644
index 0000000000..1142df0be9
--- /dev/null
+++ b/meta-oe/recipes-support/gperftools/gperftools/0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch
@@ -0,0 +1,59 @@
+From d675808d300278a9e7143428cfecf3fda61cc9a2 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Thu, 21 Mar 2024 10:59:29 +0000
+Subject: [PATCH] src/mmap_hook.cc: Fix build for 32bit machine
+
+Fixed build error on 32bit machine:
+
+../git/src/mmap_hook.cc:309:31: error: static assertion failed
+ 309 | static_assert(sizeof(int32_t) == sizeof(off_t), "");
+
+This is because oe's off_t is 64bit on both 32 and 64bit system, which is the
+default value of glibc, so the assertion would be failed on 32bit system, and
+remove mmap() and mmap64() to fix the redefined error.
+
+Upstream-Status: Inappropriate [OE-Specific]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ src/mmap_hook.cc | 22 ----------------------
+ 1 file changed, 22 deletions(-)
+
+diff --git a/src/mmap_hook.cc b/src/mmap_hook.cc
+index 0a0f62f..27425e4 100644
+--- a/src/mmap_hook.cc
++++ b/src/mmap_hook.cc
+@@ -302,30 +302,8 @@ void* mmap(void* start, size_t length, int prot, int flags, int fd, off_t off) _
+
+ #define HOOKED_MMAP
+
+-#elif defined(DEFINED_DO_MMAP) && defined(__linux__) && !GOOD_LINUX_SYSTEM
+-// Linuxes with 32-bit off_t. We're being careful with mmap64 being
+-// 64-bit and mmap being 32-bit.
+-
+-static_assert(sizeof(int32_t) == sizeof(off_t), "");
+-
+-extern "C" void* mmap64(void* start, size_t length, int prot, int flags, int fd, int64_t off)
+- __THROW ATTRIBUTE_SECTION(malloc_hook);
+-extern "C" void* mmap(void* start, size_t length, int prot, int flags, int fd, off_t off)
+- __THROW ATTRIBUTE_SECTION(malloc_hook);
+-
+-void* mmap(void *start, size_t length, int prot, int flags, int fd, off_t off) __THROW {
+- return do_mmap_with_hooks(start, length, prot, flags, fd, off);
+-}
+-
+-void* mmap64(void *start, size_t length, int prot, int flags, int fd, int64_t off) __THROW {
+- return do_mmap_with_hooks(start, length, prot, flags, fd, off);
+-}
+-
+-#define HOOKED_MMAP
+-
+ #endif // Linux/32-bit off_t case
+
+-
+ #ifdef HOOKED_MMAP
+
+ extern "C" int munmap(void* start, size_t length) __THROW ATTRIBUTE_SECTION(malloc_hook);
+--
+2.35.5
+
diff --git a/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch b/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
index c3c5784186..15eacc8993 100644
--- a/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
+++ b/meta-oe/recipes-support/gperftools/gperftools/disable_libunwind_aarch64.patch
@@ -12,11 +12,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
configure.ac | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/configure.ac b/configure.ac
-index 8154c5c..063b260 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -69,6 +69,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [return __PPC64__])],
+@@ -76,6 +76,11 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [re
[default_enable_libunwind=yes
default_tcmalloc_pagesize=8])
diff --git a/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch b/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch
new file mode 100644
index 0000000000..800fa3a84f
--- /dev/null
+++ b/meta-oe/recipes-support/gperftools/gperftools/ppc-musl.patch
@@ -0,0 +1,61 @@
+From 328805fd16930deefda400a77e9c2c5d17d04d29 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 13 Mar 2021 00:42:25 -0800
+Subject: [PATCH] Compatibility fixes for musl.
+
+---
+Upstream-Status: Pending
+
+ src/getpc.h | 4 ++++
+ src/stacktrace_powerpc-linux-inl.h | 8 ++++++--
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/getpc.h b/src/getpc.h
+index 87d18b6..c569731 100644
+--- a/src/getpc.h
++++ b/src/getpc.h
+@@ -68,6 +68,10 @@
+ typedef ucontext ucontext_t;
+ #endif
+
++#if defined(__powerpc__) && !defined(PT_NIP)
++#define PT_NIP 32
++#endif
++
+ namespace tcmalloc {
+ namespace getpc {
+
+diff --git a/src/stacktrace_powerpc-linux-inl.h b/src/stacktrace_powerpc-linux-inl.h
+index 883e7d2..212bd25 100644
+--- a/src/stacktrace_powerpc-linux-inl.h
++++ b/src/stacktrace_powerpc-linux-inl.h
+@@ -186,7 +186,7 @@ static int GET_STACK_TRACE_OR_FRAMES {
+ ucontext_t uc;
+ // We don't care about the rest, since the IP value is at 'uc' field.
+ } *sigframe = reinterpret_cast<signal_frame_64*>(current);
+- result[n] = (void*) sigframe->uc.uc_mcontext.gp_regs[PT_NIP];
++ result[n] = (void*) sigframe->uc.uc_mcontext.gp_regs[32];
+ }
+ #else
+ if (sigtramp32_vdso && (sigtramp32_vdso == current->return_addr)) {
+@@ -196,7 +196,7 @@ static int GET_STACK_TRACE_OR_FRAMES {
+ mcontext_t mctx;
+ // We don't care about the rest, since IP value is at 'mctx' field.
+ } *sigframe = reinterpret_cast<signal_frame_32*>(current);
+- result[n] = (void*) sigframe->mctx.gregs[PT_NIP];
++ result[n] = (void*) sigframe->mctx.gregs[32];
+ } else if (sigtramp32_rt_vdso && (sigtramp32_rt_vdso == current->return_addr)) {
+ struct rt_signal_frame_32 {
+ char dummy[64 + 16];
+@@ -204,7 +204,11 @@ static int GET_STACK_TRACE_OR_FRAMES {
+ ucontext_t uc;
+ // We don't care about the rest, since IP value is at 'uc' field.A
+ } *sigframe = reinterpret_cast<rt_signal_frame_32*>(current);
++#if defined(__GLIBC__)
+ result[n] = (void*) sigframe->uc.uc_mcontext.uc_regs->gregs[PT_NIP];
++#else
++ result[n] = (void*) sigframe->uc.uc_mcontext.gregs[32];
++#endif
+ }
+ #endif
+
diff --git a/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch b/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
deleted file mode 100644
index 10274a6dec..0000000000
--- a/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 259b420444c52463795b4b582a2ab7511149eea7 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 16 Oct 2017 21:26:40 -0700
-Subject: [PATCH] sgidef.h does not exist on musl and its not needed to compile
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
-
----
- src/base/linux_syscall_support.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/base/linux_syscall_support.h b/src/base/linux_syscall_support.h
-index 70431ca..b23ca59 100644
---- a/src/base/linux_syscall_support.h
-+++ b/src/base/linux_syscall_support.h
-@@ -164,7 +164,7 @@ extern "C" {
- #include <endian.h>
- #include <fcntl.h>
-
--#ifdef __mips__
-+#if defined(__mips__) && defined(__glibc__)
- /* Include definitions of the ABI currently in use. */
- #include <sgidefs.h>
- #endif
diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.15.bb b/meta-oe/recipes-support/gperftools/gperftools_2.15.bb
new file mode 100644
index 0000000000..bd3b2afaea
--- /dev/null
+++ b/meta-oe/recipes-support/gperftools/gperftools_2.15.bb
@@ -0,0 +1,65 @@
+SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
+HOMEPAGE = "https://github.com/gperftools/gperftools"
+DESCRIPTION = "The gperftools, previously called google-perftools, package contains some \
+utilities to improve and analyze the performance of C++ programs. \
+Included are an optimized thread-caching malloc() and cpu and heap profiling utilities. \
+"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
+
+DEPENDS:append:libc-musl = " libucontext"
+
+SRCREV = "365060c4213a48adb27f63d5dfad41b3dfbdd62e"
+SRC_URI = "git://github.com/gperftools/gperftools;branch=master;protocol=https \
+ file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
+ file://disable_libunwind_aarch64.patch \
+ file://0001-src-mmap_hook.cc-Fix-build-for-32bit-machine.patch \
+ "
+
+SRC_URI:append:libc-musl = " file://ppc-musl.patch"
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+
+# On mips, we have the following error.
+# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
+# Segmentation fault (core dumped)
+COMPATIBLE_HOST:mipsarch = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+
+# Disable thumb1
+# {standard input}: Assembler messages:
+# {standard input}:434: Error: lo register required -- `ldr pc,[sp]'
+# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:toolchain-clang:arm = "arm"
+
+EXTRA_OECONF:append:libc-musl:powerpc64le = " --disable-cpu-profiler"
+EXTRA_OECONF:append:libc-musl:powerpc = " --disable-cpu-profiler"
+PACKAGECONFIG ?= "libunwind static"
+PACKAGECONFIG:remove:arm:libc-musl = "libunwind"
+PACKAGECONFIG:remove:riscv64 = "libunwind"
+PACKAGECONFIG:remove:riscv32 = "libunwind"
+
+PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
+PACKAGECONFIG[static] = "--enable-static,--disable-static,"
+
+PACKAGE_BEFORE_PN += "libtcmalloc-minimal"
+FILES:libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}"
+
+# pprof tool requires Getopt::long and POSIX perl5 modules.
+# Also runs `objdump` on each cpuprofile data file
+RDEPENDS:${PN} += " \
+ binutils \
+ curl \
+ perl-module-carp \
+ perl-module-cwd \
+ perl-module-getopt-long \
+ perl-module-overloading \
+ perl-module-posix \
+"
+
+RDEPENDS:${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb b/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb
deleted file mode 100644
index 2a386086f5..0000000000
--- a/meta-oe/recipes-support/gperftools/gperftools_2.8.1.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
-HOMEPAGE = "https://github.com/gperftools/gperftools"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
-
-SRCREV = "d8eb315fb18f6fb0d6efa923401f166343727bc6"
-SRC_URI = "git://github.com/gperftools/gperftools \
- file://0001-Support-Atomic-ops-on-clang.patch \
- file://0001-fix-build-with-musl-libc.patch \
- file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
- file://disable_libunwind_aarch64.patch \
- file://sgidef.patch \
- file://0001-profile-handler-Specify-libc-specific-thread_id.patch \
- "
-
-inherit autotools
-
-S = "${WORKDIR}/git"
-
-# On mips, we have the following error.
-# do_page_fault(): sending SIGSEGV to ls for invalid read access from 00000008
-# Segmentation fault (core dumped)
-COMPATIBLE_HOST_mipsarch = "null"
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
-
-# Disable thumb1
-# {standard input}: Assembler messages:
-# {standard input}:434: Error: lo register required -- `ldr pc,[sp]'
-# Makefile:4538: recipe for target 'src/base/libtcmalloc_la-linuxthreads.lo' failed
-ARM_INSTRUCTION_SET_armv5 = "arm"
-ARM_INSTRUCTION_SET_toolchain-clang_arm = "arm"
-
-PACKAGECONFIG ?= "libunwind static"
-PACKAGECONFIG_remove_arm_libc-musl = "libunwind"
-PACKAGECONFIG_remove_riscv64 = "libunwind"
-PACKAGECONFIG_remove_riscv32 = "libunwind"
-
-PACKAGECONFIG[libunwind] = "--enable-libunwind,--disable-libunwind,libunwind"
-PACKAGECONFIG[static] = "--enable-static,--disable-static,"
-
-PACKAGE_BEFORE_PN += "libtcmalloc-minimal"
-FILES_libtcmalloc-minimal = "${libdir}/libtcmalloc_minimal*${SOLIBS} ${libdir}/libtcmalloc_minimal_debug*${SOLIBS}"
-
-# pprof tool requires Getopt::long and POSIX perl5 modules.
-# Also runs `objdump` on each cpuprofile data file
-RDEPENDS_${PN} += "binutils perl-module-getopt-long perl-module-posix"
-
-RDEPENDS_${PN} += "libtcmalloc-minimal (= ${EXTENDPKGV})"
-
diff --git a/meta-oe/recipes-support/gpm/gpm_git.bb b/meta-oe/recipes-support/gpm/gpm_git.bb
index 600b25df86..31503e9c62 100644
--- a/meta-oe/recipes-support/gpm/gpm_git.bb
+++ b/meta-oe/recipes-support/gpm/gpm_git.bb
@@ -4,16 +4,15 @@ for the console and xterm, with sample clients included \
(emacs, etc)."
HOMEPAGE = "https://www.nico.schottelius.org/software/gpm"
SECTION = "console/utils"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760"
PV = "1.99.7+git${SRCREV}"
-PR = "r2"
SRCREV = "e82d1a653ca94aa4ed12441424da6ce780b1e530"
DEPENDS = "ncurses bison-native"
-SRC_URI = "git://github.com/telmich/gpm;protocol=git \
+SRC_URI = "git://github.com/telmich/gpm;protocol=https;branch=master \
file://init \
file://gpm.service.in \
"
@@ -25,15 +24,15 @@ inherit autotools-brokensep update-rc.d systemd texinfo
INITSCRIPT_NAME = "gpm"
INITSCRIPT_PARAMS = "defaults"
-do_configure_prepend() {
+do_configure:prepend() {
(cd ${S};./autogen.sh;cd -)
}
-do_install_append () {
+do_install:append () {
install -d ${D}${systemd_system_unitdir}
sed 's:@bindir@:${sbindir}:' < ${WORKDIR}/gpm.service.in >${D}${systemd_system_unitdir}/gpm.service
install -D -m 0755 ${WORKDIR}/init ${D}${INIT_D_DIR}/gpm
ln -s libgpm.so.2 ${D}${libdir}/libgpm.so
}
-SYSTEMD_SERVICE_${PN} = "gpm.service"
+SYSTEMD_SERVICE:${PN} = "gpm.service"
diff --git a/meta-oe/recipes-support/gradm/gradm/0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch
index 09a60127a4..5ef39ea33d 100644
--- a/meta-oe/recipes-support/gradm/gradm/0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch
+++ b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Makefile: Append instead of overriding LDFLAGS
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/gradm/gradm/0001-make-Define-SBINDIR-flag.patch b/meta-oe/recipes-support/gradm/gradm/0001-make-Define-SBINDIR-flag.patch
new file mode 100644
index 0000000000..1c0f3bfbae
--- /dev/null
+++ b/meta-oe/recipes-support/gradm/gradm/0001-make-Define-SBINDIR-flag.patch
@@ -0,0 +1,69 @@
+From 12bc62ac26df012fc143913b6e046a3cf5127db2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 23 Apr 2022 09:20:49 -0700
+Subject: [PATCH] make: Define SBINDIR flag
+
+Provides a facility to control install locations of /sbin elements from
+environment
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index deed94c..9190fe9 100644
+--- a/Makefile
++++ b/Makefile
+@@ -25,6 +25,7 @@ MKNOD=/bin/mknod
+ CC=/usr/bin/gcc
+ FIND=/usr/bin/find
+ LIBS := $(shell if [ "`uname -m`" != "sparc64" -a "`uname -m`" != "x86_64" ]; then echo "-lfl" ; else echo "" ; fi)
++SBINDIR=/sbin
+ OPT_FLAGS := -O2
+ # for older versions of grsecurity, comment the above line and uncomment the below:
+ #OPT_FLAGS := $(shell if [ "`uname -m`" != "sparc64" ] && [ "`uname -m`" != "x86_64" ]; then echo "-O2" ; else echo "-O2 -m64" ; fi)
+@@ -136,15 +137,15 @@ lex.learn_pass1.o: lex.learn_pass1.c learn_pass1.tab.h
+ lex.learn_pass2.o: lex.learn_pass2.c learn_pass2.tab.h
+
+ install: $(GRADM_BIN) gradm.8 policy grlearn
+- @mkdir -p $(DESTDIR)/sbin
++ @mkdir -p $(DESTDIR)$(SBINDIR)
+ @echo "Installing gradm..."
+- @$(INSTALL) -m 0755 $(GRADM_BIN) $(DESTDIR)/sbin
++ @$(INSTALL) -m 0755 $(GRADM_BIN) $(DESTDIR)$(SBINDIR)
+ @if [ -f $(GRADM_PAM) ] ; then \
+ echo "Installing gradm_pam..." ; \
+- $(INSTALL) -m 4755 $(GRADM_PAM) $(DESTDIR)/sbin ; \
++ $(INSTALL) -m 4755 $(GRADM_PAM) $(DESTDIR)$(SBINDIR) ; \
+ fi
+ @echo "Installing grlearn..."
+- @$(INSTALL) -m 0700 grlearn $(DESTDIR)/sbin
++ @$(INSTALL) -m 0700 grlearn $(DESTDIR)$(SBINDIR)
+ @mkdir -p -m 700 $(DESTDIR)$(GRSEC_DIR)
+ @if [ ! -f $(DESTDIR)$(GRSEC_DIR)/policy ] ; then \
+ if [ -f $(DESTDIR)$(GRSEC_DIR)/acl ] ; then \
+@@ -170,15 +171,15 @@ install: $(GRADM_BIN) gradm.8 policy grlearn
+ echo "KERNEL==\"grsec\", MODE=\"0622\"" >> $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \
+ echo "LABEL=\"permissions_end\"" >> $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \
+ fi
+- @if [ -f $(DESTDIR)/sbin/udevadm ] ; then \
+- $(DESTDIR)/sbin/udevadm trigger --action=change ; \
++ @if [ -f $(DESTDIR)$(SBINDIR)/udevadm ] ; then \
++ $(DESTDIR)$(SBINDIR)/udevadm trigger --action=change ; \
+ fi
+ @echo "Installing gradm manpage..."
+ @mkdir -p $(DESTDIR)$(MANDIR)/man8
+ @$(INSTALL) -m 0644 gradm.8 $(DESTDIR)$(MANDIR)/man8/$(GRADM_BIN).8
+- @if [ -x /sbin/$(GRADM_BIN) ] ; then \
++ @if [ -x $(SBINDIR)/$(GRADM_BIN) ] ; then \
+ if [ -z $(DESTDIR) ] && [ ! -f $(GRSEC_DIR)/pw ] ; then \
+- /sbin/$(GRADM_BIN) -P ; \
++ $(SBINDIR)/$(GRADM_BIN) -P ; \
+ fi \
+ fi
+ @true
+--
+2.36.0
+
diff --git a/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb b/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb
deleted file mode 100644
index 7ed46f82c5..0000000000
--- a/meta-oe/recipes-support/gradm/gradm_3.1-201903191516.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-SUMMARY = "Administration program for the grsecurity RBAC syste"
-DESCRIPTION = "\
-gradm is the userspace RBAC parsing and authentication program for \
-grsecurity grsecurity aims to be a complete security system. gradm \
-performs several tasks for the RBAC system including authenticated \
-via a password to the kernel and parsing rules to be passed to the \
-kernel"
-HOMEPAGE = "http://grsecurity.net/index.php"
-SECTION = "admin"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b"
-DEPENDS = "flex-native bison-native ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
-
-SRC_URI = "http://grsecurity.net/stable/${BP}.tar.gz \
- file://0001-Makefile-remove-strip.patch \
- file://0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch \
- "
-SRC_URI[md5sum] = "5099c715433981d5a3eed8ded7c5bbc0"
-SRC_URI[sha256sum] = "d3a0b6383ff97a2054941d71133c737efae66afdd8eef59346c031ae15c75ff3"
-
-S = "${WORKDIR}/gradm"
-
-inherit autotools-brokensep
-
-do_compile() {
- oe_runmake 'CC=${CC}' \
- 'LIBS=' \
- 'OPT_FLAGS=${CFLAGS}' \
- 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
- 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
- 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)}
-}
-
-do_install() {
- oe_runmake 'CC=${CC}' \
- 'DESTDIR=${D}' \
- 'LIBS=' \
- 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
- 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
- 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
- install
-
- # The device nodes are generated by postinstall or udev
- rm -rf ${D}/dev
-}
-
-pkg_postinst_ontarget_${PN}() {
- /bin/mknod -m 0622 /dev/grsec c 1 13
-}
diff --git a/meta-oe/recipes-support/gradm/gradm_3.1-202111052217.bb b/meta-oe/recipes-support/gradm/gradm_3.1-202111052217.bb
new file mode 100644
index 0000000000..c82b529f96
--- /dev/null
+++ b/meta-oe/recipes-support/gradm/gradm_3.1-202111052217.bb
@@ -0,0 +1,51 @@
+SUMMARY = "Administration program for the grsecurity RBAC syste"
+DESCRIPTION = "\
+gradm is the userspace RBAC parsing and authentication program for \
+grsecurity grsecurity aims to be a complete security system. gradm \
+performs several tasks for the RBAC system including authenticated \
+via a password to the kernel and parsing rules to be passed to the \
+kernel"
+HOMEPAGE = "http://grsecurity.net/index.php"
+SECTION = "admin"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b"
+DEPENDS = "flex-native bison-native ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
+
+SRC_URI = "http://grsecurity.net/stable/${BP}.tar.gz \
+ file://0001-Makefile-remove-strip.patch \
+ file://0001-Makefile-Append-instead-of-overriding-LDFLAGS.patch \
+ file://0001-make-Define-SBINDIR-flag.patch \
+ "
+SRC_URI[sha256sum] = "2459290f367a47c8a1ce4ea2ec08359799ea33dc15ed4436439596ce88284fb9"
+
+S = "${WORKDIR}/gradm"
+
+inherit autotools-brokensep
+
+do_compile() {
+ oe_runmake 'CC=${CC}' \
+ 'LIBS=' \
+ 'OPT_FLAGS=${CFLAGS}' \
+ 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
+ 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
+ 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)}
+}
+
+do_install() {
+ oe_runmake 'CC=${CC}' \
+ 'DESTDIR=${D}' \
+ 'SBINDIR=${base_sbindir}' \
+ 'LIBS=' \
+ 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \
+ 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \
+ 'BISON=${STAGING_BINDIR_NATIVE}/bison' \
+ install
+
+ # The device nodes are generated by postinstall or udev
+ rm -rf ${D}/dev
+}
+
+pkg_postinst_ontarget:${PN}() {
+ /bin/mknod -m 0622 /dev/grsec c 1 13
+}
diff --git a/meta-oe/recipes-support/gsl/gsl.inc b/meta-oe/recipes-support/gsl/gsl.inc
index 40613930b5..d0fa9344eb 100644
--- a/meta-oe/recipes-support/gsl/gsl.inc
+++ b/meta-oe/recipes-support/gsl/gsl.inc
@@ -1,9 +1,12 @@
DESCRIPTION = "GNU Scientific Library"
HOMEPAGE = "http://www.gnu.org/software/gsl/"
SECTION = "libs"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit autotools pkgconfig binconfig
LEAD_SONAME = "libgsl.so"
+
+# Uses fpu_control.h which is glibc only header see ieee-utils/fp-gnuppc.c
+COMPATIBLE_HOST:libc-musl:powerpc = "null"
diff --git a/meta-oe/recipes-support/gsl/gsl_2.6.bb b/meta-oe/recipes-support/gsl/gsl_2.6.bb
deleted file mode 100644
index 367a08321e..0000000000
--- a/meta-oe/recipes-support/gsl/gsl_2.6.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-include gsl.inc
-
-SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz"
-SRC_URI[md5sum] = "bda73a3dd5ff2f30b5956764399db6e7"
-SRC_URI[sha256sum] = "b782339fc7a38fe17689cb39966c4d821236c28018b6593ddb6fd59ee40786a8"
diff --git a/meta-oe/recipes-support/gsl/gsl_2.7.1.bb b/meta-oe/recipes-support/gsl/gsl_2.7.1.bb
new file mode 100644
index 0000000000..a4dc1437e2
--- /dev/null
+++ b/meta-oe/recipes-support/gsl/gsl_2.7.1.bb
@@ -0,0 +1,4 @@
+include gsl.inc
+
+SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz"
+SRC_URI[sha256sum] = "dcb0fbd43048832b757ff9942691a8dd70026d5da0ff85601e52687f6deeb34b"
diff --git a/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch b/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch
new file mode 100644
index 0000000000..6ae02deb24
--- /dev/null
+++ b/meta-oe/recipes-support/gsoap/gsoap/0001-Simplify-check-for-gethostbyname_r.patch
@@ -0,0 +1,96 @@
+From fa923a50790c907725c822b2fc7d63b2da62b4ad Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 12 Mar 2023 13:34:55 -0700
+Subject: [PATCH] Simplify check for gethostbyname_r()
+
+This helps build fix with musl.
+
+Imported from Alpine: https://git.alpinelinux.org/aports/tree/community/gsoap/musl-fixes.patch
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ gsoap/stdsoap2.c | 6 ++----
+ gsoap/stdsoap2.cpp | 10 ++--------
+ 2 files changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/gsoap/stdsoap2.c b/gsoap/stdsoap2.c
+index 654a1e1..fa31d02 100644
+--- a/gsoap/stdsoap2.c
++++ b/gsoap/stdsoap2.c
+@@ -5463,7 +5463,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
+ hostent = NULL;
+ soap->errnum = h_errno;
+ }
+-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && defined(HAVE_GETHOSTBYNAME_R)
++#elif defined(HAVE_GETHOSTBYNAME_R)
+ while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
+ {
+ if (tmpbuf != soap->tmpbuf)
+@@ -5478,8 +5478,6 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
+ if (!tmpbuf)
+ break;
+ }
+-#elif defined(HAVE_GETHOSTBYNAME_R)
+- hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum);
+ #elif defined(VXWORKS)
+ /* vxWorks compatible */
+ /* If the DNS resolver library resolvLib has been configured in the vxWorks
+@@ -23112,7 +23110,7 @@ soap_strerror(struct soap *soap)
+ {
+ #ifndef WIN32
+ # ifdef HAVE_STRERROR_R
+-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
++# if 1
+ err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
+ if (err != 0)
+ soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
+diff --git a/gsoap/stdsoap2.cpp b/gsoap/stdsoap2.cpp
+index 654a1e1..5fd5fd6 100644
+--- a/gsoap/stdsoap2.cpp
++++ b/gsoap/stdsoap2.cpp
+@@ -5430,7 +5430,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
+ {
+ #if (defined(_AIX43) || defined(TRU64) || defined(HP_UX)) && defined(HAVE_GETHOSTBYNAME_R)
+ struct hostent_data ht_data;
+-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && defined(HAVE_GETHOSTBYNAME_R)
++#elif defined(HAVE_GETHOSTBYNAME_R)
+ int r;
+ char *tmpbuf = soap->tmpbuf;
+ size_t tmplen = sizeof(soap->tmpbuf);
+@@ -5463,7 +5463,7 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
+ hostent = NULL;
+ soap->errnum = h_errno;
+ }
+-#elif (!defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600 || defined(__ANDROID__) || defined(FREEBSD) || defined(__FreeBSD__)) && !defined(SUN_OS) && defined(HAVE_GETHOSTBYNAME_R)
++#elif defined(HAVE_GETHOSTBYNAME_R)
+ while ((r = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &hostent, &soap->errnum)) < 0)
+ {
+ if (tmpbuf != soap->tmpbuf)
+@@ -5478,8 +5478,6 @@ tcp_gethostbyname(struct soap *soap, const char *addr, struct hostent *hostent,
+ if (!tmpbuf)
+ break;
+ }
+-#elif defined(HAVE_GETHOSTBYNAME_R)
+- hostent = gethostbyname_r(addr, hostent, tmpbuf, tmplen, &soap->errnum);
+ #elif defined(VXWORKS)
+ /* vxWorks compatible */
+ /* If the DNS resolver library resolvLib has been configured in the vxWorks
+@@ -23112,13 +23110,9 @@ soap_strerror(struct soap *soap)
+ {
+ #ifndef WIN32
+ # ifdef HAVE_STRERROR_R
+-# if !defined(_GNU_SOURCE) || (!(~_GNU_SOURCE+1) && ((!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)))
+ err = strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* XSI-compliant */
+ if (err != 0)
+ soap_strcpy(soap->msgbuf, sizeof(soap->msgbuf), "unknown error");
+-# else
+- return strerror_r(err, soap->msgbuf, sizeof(soap->msgbuf)); /* GNU-specific */
+-# endif
+ # else
+ return strerror(err);
+ # endif
+--
+2.39.2
+
diff --git a/meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb b/meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb
deleted file mode 100644
index 0249d09e48..0000000000
--- a/meta-oe/recipes-support/gsoap/gsoap_2.8.106.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \
-for the development of SOAP Web Services and clients."
-SECTION = "devel"
-LICENSE = "GPL-2.0-with-OpenSSL-exception"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \
- file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip \
- "
-SRC_URI[md5sum] = "0925d25bc455047b01d4fe9814d30173"
-SRC_URI[sha256sum] = "4e74838baf5437e95ae17aa3efb48bd0621f483bff4424f6255fcf327ff80765"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
-
-S = "${WORKDIR}/${BPN}-2.8"
-
-PARALLEL_MAKE = ""
-
-EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
-
-DEPENDS = "openssl zlib flex bison bison-native"
-DEPENDS_append_class-target = " gsoap-native"
-
-do_install_append() {
- install -d ${D}${libdir}
- for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck
- do
- oe_libinstall -C gsoap $lib ${D}${libdir}
- done
-}
-
-do_install_class-native() {
- oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install
-}
-
-FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2"
-FILES_${PN} += "${datadir}"
-FILES_${PN}-staticdev = "${libdir}"
-FILES_${PN}-dev = "${includedir}"
-RRECOMMENDS_${PN}-dev = "${PN}-staticdev"
diff --git a/meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb b/meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb
new file mode 100644
index 0000000000..6d8b53d308
--- /dev/null
+++ b/meta-oe/recipes-support/gsoap/gsoap_2.8.126.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \
+for the development of SOAP Web Services and clients."
+SECTION = "devel"
+LICENSE = "GPL-2.0-with-OpenSSL-exception"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4f40a941379143186f9602242c3fb729 \
+ file://GPLv2_license.txt;md5=a33672dbe491b6517750a0389063508b"
+
+SRC_URI = "https://prdownloads.sourceforge.net/${BPN}2/${BPN}_${PV}.zip"
+SRC_URI:append:libc-musl = " file://0001-Simplify-check-for-gethostbyname_r.patch"
+SRC_URI[sha256sum] = "b65190ebf8c2517d6fafbdc2000bc7bc650d921a02f4aa53eb1e3df267592c4a"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
+
+S = "${WORKDIR}/${BPN}-2.8"
+
+EXTRA_OECONF += "--enable-ipv6 --enable-c-locale"
+PARALLEL_MAKE = ""
+
+EXTRA_OEMAKE:class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
+
+DEPENDS = "openssl zlib flex bison bison-native"
+DEPENDS:append:class-target = " gsoap-native"
+
+do_install:append() {
+ install -d ${D}${libdir}
+ for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck
+ do
+ oe_libinstall -C gsoap $lib ${D}${libdir}
+ done
+}
+
+do_install:class-native() {
+ oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install
+}
+
+FILES:${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2"
+FILES:${PN} += "${datadir}"
+FILES:${PN}-staticdev = "${libdir}"
+FILES:${PN}-dev = "${includedir}"
+RRECOMMENDS:${PN}-dev = "${PN}-staticdev"
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/0001-sata.c-Declare-ata_get_powermode-prototype.patch b/meta-oe/recipes-support/hddtemp/hddtemp/0001-sata.c-Declare-ata_get_powermode-prototype.patch
new file mode 100644
index 0000000000..5703d3c241
--- /dev/null
+++ b/meta-oe/recipes-support/hddtemp/hddtemp/0001-sata.c-Declare-ata_get_powermode-prototype.patch
@@ -0,0 +1,33 @@
+From c5ca31940d1d1889ef2cc6974c18ff24ab406748 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 16:42:23 -0700
+Subject: [PATCH] sata.c: Declare ata_get_powermode prototype
+
+Fixes build warnings/errors
+
+sata.c:127:10: error: call to undeclared function 'ata_get_powermode'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+| switch(ata_get_powermode(dsk->fd))
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/sata.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/sata.c b/src/sata.c
+index d67621f..4172245 100644
+--- a/src/sata.c
++++ b/src/sata.c
+@@ -52,7 +52,8 @@
+ (((u16)(__x) & (u16)0xff00U) >> 8) )); \
+ })
+
+-
++extern enum e_powermode ata_get_powermode(int device);
++
+ static int sata_probe(int device) {
+ int bus_num;
+ unsigned char cmd[4] = { WIN_IDENTIFY, 0, 0, 1 };
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch
index 1ec6a61b31..1a541e32fd 100644
--- a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch
+++ b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Auto-detect disks if none specified
Refer to:
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch
index 8f6b9c3c4b..78de64c99d 100644
--- a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch
+++ b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -ru hddtemp-0.3-beta15.orig/configure.in hddtemp-0.3-beta15/configure.in
--- hddtemp-0.3-beta15.orig/configure.in 2005-10-17 20:14:19.000000000 +0100
+++ hddtemp-0.3-beta15/configure.in 2008-06-27 00:00:46.000000000 +0100
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff
index 057b1fd1d3..60953381a1 100644
--- a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff
+++ b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff
@@ -6,7 +6,7 @@ Filtered with:
filterdiff -p1 -x README -x 'debian/*'
-Upstream-Status: unmaintained
+Upstream-Status: Inappropriate [unmaintained]
Index: hddtemp-0.3-beta15/doc/hddtemp.8
===================================================================
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb b/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
index d5da2b688a..b204ea4dd6 100644
--- a/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
+++ b/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb
@@ -1,8 +1,7 @@
SUMMARY = "Hard disk temperature monitor daemon"
SECTION = "console/network"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
-PR = "r1"
SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/hddtemp/hddtemp-0.3-beta15.tar.bz2 \
file://hddtemp-no-nls-support.patch \
@@ -10,6 +9,7 @@ SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/hddtemp/hddtemp-0.3-beta15.tar.bz2 \
file://hddtemp-0.3-beta15-autodetect-717479.patch \
file://0001-backtrace-Replace-struct-ucontext-with-ucontext_t.patch \
file://0001-configure.ac-Rename-to-configure.ac-and-use-external.patch \
+ file://0001-sata.c-Declare-ata_get_powermode-prototype.patch \
file://hddtemp.db \
file://init \
"
@@ -21,9 +21,9 @@ LIC_FILES_CHKSUM = "file://GPL-2;md5=eb723b61539feef013de476e68b5c50a"
inherit autotools gettext update-rc.d
-FILES_${PN} += "/usr/share/misc/hddtemp.db"
+FILES:${PN} += "/usr/share/misc/hddtemp.db"
-do_install_append() {
+do_install:append() {
install -d ${D}/usr/share/misc/
install -m 0644 ${WORKDIR}/hddtemp.db ${D}/usr/share/misc/hddtemp.db
install -d ${D}${sysconfdir}/init.d
diff --git a/meta-oe/recipes-support/hdf5/files/0001-cmake-remove-build-flags.patch b/meta-oe/recipes-support/hdf5/files/0001-cmake-remove-build-flags.patch
new file mode 100644
index 0000000000..68d9c3a3cf
--- /dev/null
+++ b/meta-oe/recipes-support/hdf5/files/0001-cmake-remove-build-flags.patch
@@ -0,0 +1,96 @@
+From 4fa437782261c0da785d4574ad3a03700f624e66 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Tue, 19 Sep 2023 02:56:09 +0000
+Subject: [PATCH] cmake: remove build flags
+
+Don't generate the build host related info and reemove the build flags
+to improve reproducibility.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ config/cmake/libhdf5.settings.cmake.in | 18 +++++++++---------
+ src/H5make_libsettings.c | 17 -----------------
+ 2 files changed, 9 insertions(+), 26 deletions(-)
+
+diff --git a/config/cmake/libhdf5.settings.cmake.in b/config/cmake/libhdf5.settings.cmake.in
+index f60f0de..f4433c0 100644
+--- a/config/cmake/libhdf5.settings.cmake.in
++++ b/config/cmake/libhdf5.settings.cmake.in
+@@ -23,23 +23,23 @@ Linking Options:
+ ----------------
+ Libraries: @BUILD_NAME_EXT@
+ Statically Linked Executables: @BUILD_STATIC_EXECS@
+- LDFLAGS: @CMAKE_SHARED_LINKER_FLAGS@
++ LDFLAGS:
+ H5_LDFLAGS: @H5_LDFLAGS@
+ AM_LDFLAGS: @AM_LDFLAGS@
+ Extra libraries: @LINK_LIBS@
+- Archiver: @CMAKE_AR@
+- AR_FLAGS:
+- Ranlib: @CMAKE_RANLIB@
++ Archiver:
++ AR_FLAGS:
++ Ranlib:
+
+ Languages:
+ ----------
+ C: YES
+- C Compiler: @CMAKE_C_COMPILER@ @CMAKE_C_COMPILER_VERSION@
++ C Compiler:
+ CPPFLAGS: @CPPFLAGS@
+ H5_CPPFLAGS: @H5_CPPFLAGS@
+ AM_CPPFLAGS: @AM_CPPFLAGS@
+- CFLAGS: @CMAKE_C_FLAGS@
+- H5_CFLAGS: @HDF5_CMAKE_C_FLAGS@
++ CFLAGS:
++ H5_CFLAGS:
+ AM_CFLAGS: @AM_CFLAGS@
+ Shared C Library: @H5_ENABLE_SHARED_LIB@
+ Static C Library: @H5_ENABLE_STATIC_LIB@
+@@ -51,11 +51,11 @@ Languages:
+ AM Fortran Flags: @AM_FCFLAGS@
+ Shared Fortran Library: @H5_ENABLE_SHARED_LIB@
+ Static Fortran Library: @H5_ENABLE_STATIC_LIB@
+- Module Directory: @CMAKE_Fortran_MODULE_DIRECTORY@
++ Module Directory:
+
+ C++: @HDF5_BUILD_CPP_LIB@
+ C++ Compiler: @CMAKE_CXX_COMPILER@ @CMAKE_CXX_COMPILER_VERSION@
+- C++ Flags: @CMAKE_CXX_FLAGS@
++ C++ Flags:
+ H5 C++ Flags: @HDF5_CMAKE_CXX_FLAGS@
+ AM C++ Flags: @AM_CXXFLAGS@
+ Shared C++ Library: @H5_ENABLE_SHARED_LIB@
+diff --git a/src/H5make_libsettings.c b/src/H5make_libsettings.c
+index 2661288..7c0f84f 100644
+--- a/src/H5make_libsettings.c
++++ b/src/H5make_libsettings.c
+@@ -205,23 +205,6 @@ information about the library build configuration\n";
+ fprintf(rawoutstream, "/* Generated automatically by H5make_libsettings -- do not edit */\n\n\n");
+ fputs(FileHeader, rawoutstream); /*the copyright notice--see top of this file */
+
+- fprintf(rawoutstream, " *\n * Created:\t\t%s %2d, %4d\n", month_name[tm->tm_mon], tm->tm_mday,
+- 1900 + tm->tm_year);
+- if (pwd || real_name[0] || host_name[0]) {
+- fprintf(rawoutstream, " *\t\t\t");
+- if (real_name[0])
+- fprintf(rawoutstream, "%s <", real_name);
+-#ifdef H5_HAVE_GETPWUID
+- if (pwd)
+- fputs(pwd->pw_name, rawoutstream);
+-#endif
+- if (host_name[0])
+- fprintf(rawoutstream, "@%s", host_name);
+- if (real_name[0])
+- fprintf(rawoutstream, ">");
+- fputc('\n', rawoutstream);
+- }
+-
+ fprintf(rawoutstream, " *\n * Purpose:\t\t");
+
+ for (s = purpose; *s; s++) {
+--
+2.35.5
+
diff --git a/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch b/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch
deleted file mode 100644
index bdc1fa5f96..0000000000
--- a/meta-oe/recipes-support/hdf5/files/0001-cross-compiling-support.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 1b4fadf550587b46e405d7ccb777dcb00aa791a2 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 29 Jan 2019 15:39:15 +0800
-Subject: [PATCH 1/2] cross compiling support
-
-Do not generate config files at build time, use pre-generated
-files to instead.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- CMakeLists.txt | 6 ++++++
- src/CMakeLists.txt | 23 -----------------------
- 2 files changed, 6 insertions(+), 23 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -770,4 +770,10 @@ endif ()
- #-----------------------------------------------------------------------------
- configure_file (${HDF_RESOURCES_DIR}/H5pubconf.h.in ${HDF5_BINARY_DIR}/H5pubconf.h @ONLY)
-
-+#-----------------------------------------------------------------------------
-+# Copy the pre-generated files in place
-+#-----------------------------------------------------------------------------
-+configure_file(H5Tinit.c H5Tinit.c COPYONLY)
-+configure_file(H5lib_settings.c H5lib_settings.c COPYONLY)
-+
- include (CMakeInstallation.cmake)
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -613,36 +613,9 @@ set (H5_PRIVATE_HEADERS
- #-----------------------------------------------------------------------------
- add_executable (H5detect ${HDF5_SRC_DIR}/H5detect.c)
- TARGET_C_PROPERTIES (H5detect STATIC " " " ")
--if (MSVC OR MINGW)
-- target_link_libraries (H5detect "ws2_32.lib")
--endif ()
--if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
-- set_property(TARGET H5detect PROPERTY LINK_FLAGS "-O0")
--endif ()
--
--add_custom_command (
-- OUTPUT ${HDF5_BINARY_DIR}/H5Tinit.c
-- COMMAND $<TARGET_FILE:H5detect>
-- ARGS > ${HDF5_BINARY_DIR}/H5Tinit.c
-- DEPENDS H5detect
--)
-
- add_executable (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c)
- TARGET_C_PROPERTIES (H5make_libsettings STATIC " " " ")
--if (MSVC OR MINGW)
-- target_link_libraries (H5make_libsettings "ws2_32.lib")
--endif ()
--if (CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
-- set_property(TARGET H5make_libsettings PROPERTY LINK_FLAGS "-O0")
--endif ()
--
--add_custom_command (
-- OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c
-- COMMAND $<TARGET_FILE:H5make_libsettings>
-- ARGS > ${HDF5_BINARY_DIR}/H5lib_settings.c
-- DEPENDS H5make_libsettings
-- WORKING_DIRECTORY ${HDF5_BINARY_DIR}
--)
-
- if (GENERATE_ERROR_HEADERS)
- find_package (Perl)
diff --git a/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch b/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch
index 6f893787f8..f0eb05a1e7 100644
--- a/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch
+++ b/meta-oe/recipes-support/hdf5/files/0002-Remove-suffix-shared-from-shared-library-name.patch
@@ -10,20 +10,19 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
CMakeLists.txt | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 9af14d5..05100e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -153,18 +153,18 @@ set (HDF5_F90_TEST_LIB_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-static")
- set (HDF5_F90_C_TEST_LIB_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-static")
- set (HDF5_HL_F90_LIB_TARGET "${HDF5_HL_F90_LIB_CORENAME}-static")
- set (HDF5_HL_F90_C_LIB_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-static")
+@@ -191,19 +191,19 @@ set (HDF5_HL_F90_C_LIB_TARGET "${HDF
+ set (HDF5_JAVA_JNI_LIB_TARGET "${HDF5_JAVA_JNI_LIB_CORENAME}")
+ set (HDF5_JAVA_HDF5_LIB_TARGET "${HDF5_JAVA_HDF5_LIB_CORENAME}")
+ set (HDF5_JAVA_TEST_LIB_TARGET "${HDF5_JAVA_TEST_LIB_CORENAME}")
-set (HDF5_LIBSH_TARGET "${HDF5_LIB_CORENAME}-shared")
-set (HDF5_TEST_LIBSH_TARGET "${HDF5_TEST_LIB_CORENAME}-shared")
-set (HDF5_CPP_LIBSH_TARGET "${HDF5_CPP_LIB_CORENAME}-shared")
-set (HDF5_HL_LIBSH_TARGET "${HDF5_HL_LIB_CORENAME}-shared")
-set (HDF5_HL_CPP_LIBSH_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-shared")
-set (HDF5_TOOLS_LIBSH_TARGET "${HDF5_TOOLS_LIB_CORENAME}-shared")
+-set (HDF5_UTILS_LIBSH_TARGET "${HDF5_UTILS_LIB_CORENAME}-shared")
-set (HDF5_F90_LIBSH_TARGET "${HDF5_F90_LIB_CORENAME}-shared")
-set (HDF5_F90_C_LIBSH_TARGET "${HDF5_F90_C_LIB_CORENAME}-shared")
-set (HDF5_F90_TEST_LIBSH_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-shared")
@@ -36,6 +35,7 @@ index 9af14d5..05100e3 100644
+set (HDF5_HL_LIBSH_TARGET "${HDF5_HL_LIB_CORENAME}")
+set (HDF5_HL_CPP_LIBSH_TARGET "${HDF5_HL_CPP_LIB_CORENAME}")
+set (HDF5_TOOLS_LIBSH_TARGET "${HDF5_TOOLS_LIB_CORENAME}")
++set (HDF5_UTILS_LIBSH_TARGET "${HDF5_UTILS_LIB_CORENAME}")
+set (HDF5_F90_LIBSH_TARGET "${HDF5_F90_LIB_CORENAME}")
+set (HDF5_F90_C_LIBSH_TARGET "${HDF5_F90_C_LIB_CORENAME}")
+set (HDF5_F90_TEST_LIBSH_TARGET "${HDF5_F90_TEST_LIB_CORENAME}")
@@ -45,6 +45,3 @@ index 9af14d5..05100e3 100644
#-----------------------------------------------------------------------------
# Define some CMake variables for use later in the project
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c b/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c
deleted file mode 100755
index 8057a7ad83..0000000000
--- a/meta-oe/recipes-support/hdf5/files/H5Tinit-32.c
+++ /dev/null
@@ -1,975 +0,0 @@
-/* Generated automatically by H5detect -- do not edit */
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
- * All rights reserved. *
- * *
- * This file is part of HDF5. The full HDF5 copyright notice, including *
- * terms governing use, modification, and redistribution, is contained in *
- * the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
- * If you do not have access to either file, you may request a copy from *
- * help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Created: Mar 5, 2019
- * root <root@qemuarm>
- *
- * Purpose: This machine-generated source code contains
- * information about the various integer and
- * floating point numeric formats found on this
- * architecture. The parameters below should be
- * checked carefully and errors reported to the
- * HDF5 maintainer.
- *
- * Each of the numeric formats listed below are
- * printed from most significant bit to least
- * significant bit even though the actual bytes
- * might be stored in a different order in
- * memory. The integers above each binary byte
- * indicate the relative order of the bytes in
- * memory; little-endian machines have
- * decreasing numbers while big-endian machines
- * have increasing numbers.
- *
- * The fields of the numbers are printed as
- * letters with `S' for the mantissa sign bit,
- * `M' for the mantissa magnitude, and `E' for
- * the exponent. The exponent has an associated
- * bias which can be subtracted to find the
- * true exponent. The radix point is assumed
- * to be before the first `M' bit. Any bit
- * of a floating-point value not falling into one
- * of these categories is printed as a question
- * mark. Bits of integer types are printed as
- * `I' for 2's complement and `U' for magnitude.
- *
- * If the most significant bit of the normalized
- * mantissa (always a `1' except for `0.0') is
- * not stored then an `implicit=yes' appears
- * under the field description. In thie case,
- * the radix point is still assumed to be
- * before the first `M' but after the implicit
- * bit.
- *
- * Modifications:
- *
- * DO NOT MAKE MODIFICATIONS TO THIS FILE!
- * It was generated by code in `H5detect.c'.
- *
- *-------------------------------------------------------------------------
- */
-
-/****************/
-/* Module Setup */
-/****************/
-
-#define H5T_PACKAGE /*suppress error about including H5Tpkg.h*/
-
-
-/***********/
-/* Headers */
-/***********/
-#include "H5private.h" /* Generic Functions */
-#include "H5Eprivate.h" /* Error handling */
-#include "H5FLprivate.h" /* Free Lists */
-#include "H5Iprivate.h" /* IDs */
-#include "H5Tpkg.h" /* Datatypes */
-
-
-/****************/
-/* Local Macros */
-/****************/
-
-
-/******************/
-/* Local Typedefs */
-/******************/
-
-
-/********************/
-/* Package Typedefs */
-/********************/
-
-
-/********************/
-/* Local Prototypes */
-/********************/
-
-
-/********************/
-/* Public Variables */
-/********************/
-
-
-/*****************************/
-/* Library Private Variables */
-/*****************************/
-
-
-/*********************/
-/* Package Variables */
-/*********************/
-
-
-
-/*******************/
-/* Local Variables */
-/*******************/
-
-
-
-/*-------------------------------------------------------------------------
- * Function: H5TN_init_interface
- *
- * Purpose: Initialize pre-defined native datatypes from code generated
- * during the library configuration by H5detect.
- *
- * Return: Success: non-negative
- * Failure: negative
- *
- * Programmer: Robb Matzke
- * Wednesday, December 16, 1998
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5TN_init_interface(void)
-{
- H5T_t *dt = NULL;
- herr_t ret_value = SUCCEED;
-
- FUNC_ENTER_NOAPI(FAIL)
-
- /*
- * 0
- * IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_SCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_SCHAR_ALIGN_g = 1;
- H5T_NATIVE_SCHAR_COMP_ALIGN_g = 1;
-
- /*
- * 0
- * UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UCHAR_ALIGN_g = 1;
-
- /*
- * 1 0
- * IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_SHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_SHORT_ALIGN_g = 1;
- H5T_NATIVE_SHORT_COMP_ALIGN_g = 2;
-
- /*
- * 1 0
- * UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_USHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_USHORT_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_ALIGN_g = 1;
- H5T_NATIVE_INT_COMP_ALIGN_g = 4;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_LONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_LONG_ALIGN_g = 1;
- H5T_NATIVE_LONG_COMP_ALIGN_g = 4;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_ULONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_ULONG_ALIGN_g = 1;
-
- /*
- * 0
- * IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT8_ALIGN_g = 1;
-
- /*
- * 0
- * UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT8_ALIGN_g = 1;
-
- /*
- * 0
- * IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_LEAST8_ALIGN_g = 1;
-
- /*
- * 0
- * UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_LEAST8_ALIGN_g = 1;
-
- /*
- * 0
- * IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_FAST8_ALIGN_g = 1;
-
- /*
- * 0
- * UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_FAST8_ALIGN_g = 1;
-
- /*
- * 1 0
- * IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT16_ALIGN_g = 1;
-
- /*
- * 1 0
- * UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT16_ALIGN_g = 1;
-
- /*
- * 1 0
- * IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_LEAST16_ALIGN_g = 1;
-
- /*
- * 1 0
- * UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_LEAST16_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_FAST16_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_FAST16_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT32_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT32_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_LEAST32_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_LEAST32_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_FAST32_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_FAST32_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_LEAST64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_LEAST64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_FAST64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_FAST64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_LLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_LLONG_ALIGN_g = 1;
- H5T_NATIVE_LLONG_COMP_ALIGN_g = 8;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_ULLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_ULLONG_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
- * Implicit bit? yes
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_FLOAT;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.f.sign = 31;
- dt->shared->u.atomic.u.f.epos = 23;
- dt->shared->u.atomic.u.f.esize = 8;
- dt->shared->u.atomic.u.f.ebias = 0x0000007f;
- dt->shared->u.atomic.u.f.mpos = 0;
- dt->shared->u.atomic.u.f.msize = 23;
- dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
- dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
- if((H5T_NATIVE_FLOAT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_FLOAT_ALIGN_g = 1;
- H5T_NATIVE_FLOAT_COMP_ALIGN_g = 4;
-
- /*
- * 7 6 5 4
- * SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM
- * 3 2 1 0
- * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
- * Implicit bit? yes
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_FLOAT;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.f.sign = 63;
- dt->shared->u.atomic.u.f.epos = 52;
- dt->shared->u.atomic.u.f.esize = 11;
- dt->shared->u.atomic.u.f.ebias = 0x000003ff;
- dt->shared->u.atomic.u.f.mpos = 0;
- dt->shared->u.atomic.u.f.msize = 52;
- dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
- dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
- if((H5T_NATIVE_DOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_DOUBLE_ALIGN_g = 1;
- H5T_NATIVE_DOUBLE_COMP_ALIGN_g = 8;
-
- /*
- * 7 6 5 4
- * SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM
- * 3 2 1 0
- * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
- * Implicit bit? yes
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_FLOAT;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.f.sign = 63;
- dt->shared->u.atomic.u.f.epos = 52;
- dt->shared->u.atomic.u.f.esize = 11;
- dt->shared->u.atomic.u.f.ebias = 0x000003ff;
- dt->shared->u.atomic.u.f.mpos = 0;
- dt->shared->u.atomic.u.f.msize = 52;
- dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
- dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
- if((H5T_NATIVE_LDOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_LDOUBLE_ALIGN_g = 1;
- H5T_NATIVE_LDOUBLE_COMP_ALIGN_g = 8;
-
- /* Set the native order for this machine */
- H5T_native_order_g = H5T_ORDER_LE;
-
- /* Structure alignment for pointers, hvl_t, hobj_ref_t, hdset_reg_ref_t */
- H5T_POINTER_COMP_ALIGN_g = 4;
- H5T_HVL_COMP_ALIGN_g = 4;
- H5T_HOBJREF_COMP_ALIGN_g = 8;
- H5T_HDSETREGREF_COMP_ALIGN_g = 1;
-
-done:
- if(ret_value < 0) {
- if(dt != NULL) {
- dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
- dt = H5FL_FREE(H5T_t, dt);
- } /* end if */
- } /* end if */
-
- FUNC_LEAVE_NOAPI(ret_value);
-} /* end H5TN_init_interface() */
-
-/****************************************/
-/* ALIGNMENT and signal-handling status */
-/****************************************/
-/* Signal() support: yes */
-/* setjmp() support: yes */
-/* longjmp() support: yes */
-/* sigsetjmp() support: yes */
-/* siglongjmp() support: yes */
-/* sigprocmask() support: yes */
-
-/******************************/
-/* signal handlers statistics */
-/******************************/
-/* signal_handlers tested: 15 times */
-/* sigbus_handler called: 5 times */
-/* sigsegv_handler called: 5 times */
-/* sigill_handler called: 5 times */
diff --git a/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c b/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c
deleted file mode 100644
index 85f79a6ae7..0000000000
--- a/meta-oe/recipes-support/hdf5/files/H5Tinit-64.c
+++ /dev/null
@@ -1,991 +0,0 @@
-/* Generated automatically by H5detect -- do not edit */
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
- * All rights reserved. *
- * *
- * This file is part of HDF5. The full HDF5 copyright notice, including *
- * terms governing use, modification, and redistribution, is contained in *
- * the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
- * If you do not have access to either file, you may request a copy from *
- * help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Created: Jan 29, 2019
- * root <root@qemux86-64>
- *
- * Purpose: This machine-generated source code contains
- * information about the various integer and
- * floating point numeric formats found on this
- * architecture. The parameters below should be
- * checked carefully and errors reported to the
- * HDF5 maintainer.
- *
- * Each of the numeric formats listed below are
- * printed from most significant bit to least
- * significant bit even though the actual bytes
- * might be stored in a different order in
- * memory. The integers above each binary byte
- * indicate the relative order of the bytes in
- * memory; little-endian machines have
- * decreasing numbers while big-endian machines
- * have increasing numbers.
- *
- * The fields of the numbers are printed as
- * letters with `S' for the mantissa sign bit,
- * `M' for the mantissa magnitude, and `E' for
- * the exponent. The exponent has an associated
- * bias which can be subtracted to find the
- * true exponent. The radix point is assumed
- * to be before the first `M' bit. Any bit
- * of a floating-point value not falling into one
- * of these categories is printed as a question
- * mark. Bits of integer types are printed as
- * `I' for 2's complement and `U' for magnitude.
- *
- * If the most significant bit of the normalized
- * mantissa (always a `1' except for `0.0') is
- * not stored then an `implicit=yes' appears
- * under the field description. In thie case,
- * the radix point is still assumed to be
- * before the first `M' but after the implicit
- * bit.
- *
- * Modifications:
- *
- * DO NOT MAKE MODIFICATIONS TO THIS FILE!
- * It was generated by code in `H5detect.c'.
- *
- *-------------------------------------------------------------------------
- */
-
-/****************/
-/* Module Setup */
-/****************/
-
-#define H5T_PACKAGE /*suppress error about including H5Tpkg.h*/
-
-
-/***********/
-/* Headers */
-/***********/
-#include "H5private.h" /* Generic Functions */
-#include "H5Eprivate.h" /* Error handling */
-#include "H5FLprivate.h" /* Free Lists */
-#include "H5Iprivate.h" /* IDs */
-#include "H5Tpkg.h" /* Datatypes */
-
-
-/****************/
-/* Local Macros */
-/****************/
-
-
-/******************/
-/* Local Typedefs */
-/******************/
-
-
-/********************/
-/* Package Typedefs */
-/********************/
-
-
-/********************/
-/* Local Prototypes */
-/********************/
-
-
-/********************/
-/* Public Variables */
-/********************/
-
-
-/*****************************/
-/* Library Private Variables */
-/*****************************/
-
-
-/*********************/
-/* Package Variables */
-/*********************/
-
-
-
-/*******************/
-/* Local Variables */
-/*******************/
-
-
-
-/*-------------------------------------------------------------------------
- * Function: H5TN_init_interface
- *
- * Purpose: Initialize pre-defined native datatypes from code generated
- * during the library configuration by H5detect.
- *
- * Return: Success: non-negative
- * Failure: negative
- *
- * Programmer: Robb Matzke
- * Wednesday, December 16, 1998
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5TN_init_interface(void)
-{
- H5T_t *dt = NULL;
- herr_t ret_value = SUCCEED;
-
- FUNC_ENTER_NOAPI(FAIL)
-
- /*
- * 0
- * IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_SCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_SCHAR_ALIGN_g = 1;
- H5T_NATIVE_SCHAR_COMP_ALIGN_g = 1;
-
- /*
- * 0
- * UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UCHAR_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UCHAR_ALIGN_g = 1;
-
- /*
- * 1 0
- * IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_SHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_SHORT_ALIGN_g = 1;
- H5T_NATIVE_SHORT_COMP_ALIGN_g = 2;
-
- /*
- * 1 0
- * UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_USHORT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_USHORT_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_ALIGN_g = 1;
- H5T_NATIVE_INT_COMP_ALIGN_g = 4;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_LONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_LONG_ALIGN_g = 1;
- H5T_NATIVE_LONG_COMP_ALIGN_g = 8;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_ULONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_ULONG_ALIGN_g = 1;
-
- /*
- * 0
- * IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT8_ALIGN_g = 1;
-
- /*
- * 0
- * UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT8_ALIGN_g = 1;
-
- /*
- * 0
- * IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_LEAST8_ALIGN_g = 1;
-
- /*
- * 0
- * UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_LEAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_LEAST8_ALIGN_g = 1;
-
- /*
- * 0
- * IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_FAST8_ALIGN_g = 1;
-
- /*
- * 0
- * UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 1;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 8;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_FAST8_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_FAST8_ALIGN_g = 1;
-
- /*
- * 1 0
- * IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT16_ALIGN_g = 1;
-
- /*
- * 1 0
- * UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT16_ALIGN_g = 1;
-
- /*
- * 1 0
- * IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_LEAST16_ALIGN_g = 1;
-
- /*
- * 1 0
- * UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 2;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 16;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_LEAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_LEAST16_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_FAST16_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_FAST16_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_FAST16_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT32_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT32_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_LEAST32_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_LEAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_LEAST32_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_FAST32_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_FAST32_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_FAST32_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_LEAST64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_LEAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_LEAST64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_INT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_INT_FAST64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_UINT_FAST64_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_UINT_FAST64_ALIGN_g = 1;
-
- /*
- * 7 6 5 4
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * 3 2 1 0
- * IIIIIIII IIIIIIII IIIIIIII IIIIIIII
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_2;
- if((H5T_NATIVE_LLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_LLONG_ALIGN_g = 1;
- H5T_NATIVE_LLONG_COMP_ALIGN_g = 8;
-
- /*
- * 7 6 5 4
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * 3 2 1 0
- * UUUUUUUU UUUUUUUU UUUUUUUU UUUUUUUU
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_INTEGER;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.i.sign = H5T_SGN_NONE;
- if((H5T_NATIVE_ULLONG_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_ULLONG_ALIGN_g = 1;
-
- /*
- * 3 2 1 0
- * SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
- * Implicit bit? yes
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_FLOAT;
- dt->shared->size = 4;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 32;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.f.sign = 31;
- dt->shared->u.atomic.u.f.epos = 23;
- dt->shared->u.atomic.u.f.esize = 8;
- dt->shared->u.atomic.u.f.ebias = 0x0000007f;
- dt->shared->u.atomic.u.f.mpos = 0;
- dt->shared->u.atomic.u.f.msize = 23;
- dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
- dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
- if((H5T_NATIVE_FLOAT_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_FLOAT_ALIGN_g = 1;
- H5T_NATIVE_FLOAT_COMP_ALIGN_g = 4;
-
- /*
- * 7 6 5 4
- * SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM
- * 3 2 1 0
- * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
- * Implicit bit? yes
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_FLOAT;
- dt->shared->size = 8;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 64;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.f.sign = 63;
- dt->shared->u.atomic.u.f.epos = 52;
- dt->shared->u.atomic.u.f.esize = 11;
- dt->shared->u.atomic.u.f.ebias = 0x000003ff;
- dt->shared->u.atomic.u.f.mpos = 0;
- dt->shared->u.atomic.u.f.msize = 52;
- dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
- dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
- if((H5T_NATIVE_DOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_DOUBLE_ALIGN_g = 1;
- H5T_NATIVE_DOUBLE_COMP_ALIGN_g = 8;
-
- /*
- * 15 14 13 12
- * ???????? ???????? ???????? ????????
- * 11 10 9 8
- * ???????? ???????? SEEEEEEE EEEEEEEE
- * 7 6 5 4
- * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
- * 3 2 1 0
- * MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
- * Implicit bit? no
- * Alignment: none
- */
- if(NULL == (dt = H5T__alloc()))
- HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed")
- dt->shared->state = H5T_STATE_IMMUTABLE;
- dt->shared->type = H5T_FLOAT;
- dt->shared->size = 16;
- dt->shared->u.atomic.order = H5T_ORDER_LE;
- dt->shared->u.atomic.offset = 0;
- dt->shared->u.atomic.prec = 80;
- dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
- dt->shared->u.atomic.u.f.sign = 79;
- dt->shared->u.atomic.u.f.epos = 64;
- dt->shared->u.atomic.u.f.esize = 15;
- dt->shared->u.atomic.u.f.ebias = 0x00003fff;
- dt->shared->u.atomic.u.f.mpos = 0;
- dt->shared->u.atomic.u.f.msize = 64;
- dt->shared->u.atomic.u.f.norm = H5T_NORM_NONE;
- dt->shared->u.atomic.u.f.pad = H5T_PAD_ZERO;
- if((H5T_NATIVE_LDOUBLE_g = H5I_register(H5I_DATATYPE, dt, FALSE)) < 0)
- HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype")
- H5T_NATIVE_LDOUBLE_ALIGN_g = 1;
- H5T_NATIVE_LDOUBLE_COMP_ALIGN_g = 16;
-
- /* Set the native order for this machine */
- H5T_native_order_g = H5T_ORDER_LE;
-
- /* Structure alignment for pointers, hvl_t, hobj_ref_t, hdset_reg_ref_t */
- H5T_POINTER_COMP_ALIGN_g = 8;
- H5T_HVL_COMP_ALIGN_g = 8;
- H5T_HOBJREF_COMP_ALIGN_g = 8;
- H5T_HDSETREGREF_COMP_ALIGN_g = 1;
-
-done:
- if(ret_value < 0) {
- if(dt != NULL) {
- dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
- dt = H5FL_FREE(H5T_t, dt);
- } /* end if */
- } /* end if */
-
- FUNC_LEAVE_NOAPI(ret_value);
-} /* end H5TN_init_interface() */
-
-/****************************************/
-/* ALIGNMENT and signal-handling status */
-/****************************************/
-/* Signal() support: yes */
-/* setjmp() support: yes */
-/* longjmp() support: yes */
-/* sigsetjmp() support: yes */
-/* siglongjmp() support: yes */
-/* sigprocmask() support: yes */
-
-/******************************/
-/* signal handlers statistics */
-/******************************/
-/* signal_handlers tested: 15 times */
-/* sigbus_handler called: 5 times */
-/* sigsegv_handler called: 5 times */
-/* sigill_handler called: 5 times */
diff --git a/meta-oe/recipes-support/hdf5/files/H5lib_settings.c b/meta-oe/recipes-support/hdf5/files/H5lib_settings.c
deleted file mode 100644
index c243aee121..0000000000
--- a/meta-oe/recipes-support/hdf5/files/H5lib_settings.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Generated automatically by H5make_libsettings -- do not edit */
-
-
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
- * All rights reserved. *
- * *
- * This file is part of HDF5. The full HDF5 copyright notice, including *
- * terms governing use, modification, and redistribution, is contained in *
- * the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
- * If you do not have access to either file, you may request a copy from *
- * help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Created: Jan 29, 2019
- * root <root@qemux86-64>
- *
- * Purpose: This machine-generated source code contains
- * information about the library build configuration
- *
- * Modifications:
- *
- * DO NOT MAKE MODIFICATIONS TO THIS FILE!
- * It was generated by code in `H5make_libsettings.c'.
- *
- *-------------------------------------------------------------------------
- */
-
-char H5libhdf5_settings[]=
- " SUMMARY OF THE HDF5 CONFIGURATION\n"
- " =================================\n"
- "\n"
- "General Information:\n"
- "-------------------\n"
- " HDF5 Version: 1.8.19\n"
- " Configured on: 2019-01-29\n"
- " Configured by: Ninja\n"
- " Configure mode: CMAKE 3.12.2\n"
- " Host system: Linux-4.4.0-31-generic\n"
- " Uname information: Linux\n"
- " Byte sex: little-endian\n"
- " Libraries: \n"
- " Installation point: /usr\n"
- "\n"
- "Compiling Options:\n"
- "------------------\n"
- " Compilation Mode: \n"
- " H5_CFLAGS: \n"
- " AM_CFLAGS: \n"
- " CPPFLAGS: \n"
- " H5_CPPFLAGS: \n"
- " AM_CPPFLAGS: \n"
- " Shared C Library: YES\n"
- " Static C Library: YES\n"
- " Statically Linked Executables: OFF\n"
- " LDFLAGS: -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed\n"
- " AM_LDFLAGS: \n"
- " Extra libraries: m;dl\n"
- " Debugged Packages: \n"
- " API Tracing: OFF\n"
- "\n"
- "Languages:\n"
- "----------\n"
- " Fortran: OFF\n"
- " Fortran Compiler: \n"
- " Fortran 2003 Compiler: \n"
- " Fortran Flags: \n"
- " H5 Fortran Flags: \n"
- " AM Fortran Flags: \n"
- " Shared Fortran Library: YES\n"
- " Static Fortran Library: YES\n"
- "\n"
- " H5 C++ Flags: \n"
- " AM C++ Flags: \n"
- " Shared C++ Library: YES\n"
- " Static C++ Library: YES\n"
- "\n"
- "Features:\n"
- "---------\n"
- " Parallel HDF5: OFF\n"
- " High Level library: ON\n"
- " Threadsafety: OFF\n"
- " Default API Mapping: v18\n"
- " With Deprecated Public Symbols: ON\n"
- " I/O filters (external): \n"
- " MPE: \n"
- " Direct VFD: \n"
- " dmalloc: \n"
- "Clear file buffers before write: ON\n"
- " Using memory checker: OFF\n"
- " Function Stack Tracing: OFF\n"
- " Strict File Format Checks: OFF\n"
- " Optimization Instrumentation: \n"
-;
-
diff --git a/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb b/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb
new file mode 100644
index 0000000000..b8a81bb0b7
--- /dev/null
+++ b/meta-oe/recipes-support/hdf5/hdf5_1.14.2.bb
@@ -0,0 +1,62 @@
+SUMMARY = "Management suite for extremely large and complex data collections"
+DESCRIPTION = "Unique technology suite that makes possible the management of \
+extremely large and complex data collections"
+HOMEPAGE = "https://www.hdfgroup.org/"
+SECTION = "libs"
+
+LICENSE = "HDF5"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9ba0f3d878ab6c2403c86e9b0362d998"
+
+inherit cmake siteinfo qemu multilib_header multilib_script
+
+DEPENDS += "qemu-native zlib"
+
+SRC_URI = " \
+ https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.14/hdf5-${PV}/src/${BPN}-${PV}.tar.bz2 \
+ file://0002-Remove-suffix-shared-from-shared-library-name.patch \
+ file://0001-cmake-remove-build-flags.patch \
+"
+SRC_URI[sha256sum] = "ea3c5e257ef322af5e77fc1e52ead3ad6bf3bb4ac06480dd17ee3900d7a24cfb"
+
+FILES:${PN} += "${libdir}/libhdf5.settings ${datadir}/*"
+
+EXTRA_OECMAKE = " \
+ -DHDF5_INSTALL_CMAKE_DIR=${libdir}/cmake \
+ -DCMAKE_INSTALL_PREFIX='${prefix}' \
+ -DHDF5_INSTALL_LIB_DIR='${baselib}' \
+"
+EXTRA_OECMAKE:prepend:class-target = "-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper "
+
+gen_emu() {
+ # Write out a qemu wrapper that will be used by cmake
+ # so that it can run target helper binaries through that.
+ qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
+ cat > ${WORKDIR}/qemuwrapper << EOF
+#!/bin/sh
+$qemu_binary "\$@"
+EOF
+ chmod +x ${WORKDIR}/qemuwrapper
+}
+
+do_unpack[postfuncs] += "gen_emu"
+
+MULTILIB_SCRIPTS += "${PN}:${bindir}/h5cc \
+ ${PN}:${bindir}/h5hlcc \
+"
+
+do_install:append() {
+ # Used for generating config files on target
+ install -m 755 ${B}/bin/H5detect ${D}${bindir}
+ install -m 755 ${B}/bin/H5make_libsettings ${D}${bindir}
+ oe_multilib_header H5pubconf.h
+ # remove the buildpath
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/pkgconfig/hdf5.pc
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/hdf5-targets.cmake
+ sed -i -e 's|${RECIPE_SYSROOT_NATIVE}||g' ${D}${bindir}/h5hlcc
+ sed -i -e 's|${RECIPE_SYSROOT_NATIVE}||g' ${D}${bindir}/h5cc
+}
+
+BBCLASSEXTEND = "native"
+
+# h5fuse.sh script needs bash
+RDEPENDS:${PN} += "bash"
diff --git a/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb b/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb
deleted file mode 100644
index 11285451aa..0000000000
--- a/meta-oe/recipes-support/hdf5/hdf5_1.8.21.bb
+++ /dev/null
@@ -1,58 +0,0 @@
-SUMMARY = "Management suite for extremely large and complex data collections"
-DESCRIPTION = "Unique technology suite that makes possible the management of \
-extremely large and complex data collections"
-HOMEPAGE = "https://www.hdfgroup.org/"
-SECTION = "libs"
-
-LICENSE = "HDF5"
-LIC_FILES_CHKSUM = "file://COPYING;md5=57e5351b17591e659eedae107265c606"
-
-inherit cmake siteinfo
-
-SRC_URI = " \
- https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-${PV}/src/${BPN}-${PV}.tar.bz2 \
- file://H5lib_settings.c \
- file://H5Tinit-64.c \
- file://H5Tinit-32.c \
- file://0001-cross-compiling-support.patch \
- file://0002-Remove-suffix-shared-from-shared-library-name.patch \
-"
-SRC_URI[md5sum] = "2d2408f2a9dfb5c7b79998002e9a90e9"
-SRC_URI[sha256sum] = "e5b1b1dee44a64b795a91c3321ab7196d9e0871fe50d42969761794e3899f40d"
-
-FILES_${PN} += "${libdir}/libhdf5.settings ${datadir}/*"
-
-EXTRA_OECMAKE = " \
- -DTEST_LFS_WORKS_RUN=0 \
- -DTEST_LFS_WORKS_RUN__TRYRUN_OUTPUT=0 \
- -DH5_PRINTF_LL_TEST_RUN=1 \
- -DH5_PRINTF_LL_TEST_RUN__TRYRUN_OUTPUT='8' \
- -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN=0 \
- -DH5_LDOUBLE_TO_LONG_SPECIAL_RUN__TRYRUN_OUTPUT= \
- -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN=0 \
- -DH5_LONG_TO_LDOUBLE_SPECIAL_RUN__TRYRUN_OUTPUT= \
- -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN=0 \
- -DH5_LDOUBLE_TO_LLONG_ACCURATE_RUN__TRYRUN_OUTPUT= \
- -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN=0 \
- -DH5_LLONG_TO_LDOUBLE_CORRECT_RUN__TRYRUN_OUTPUT= \
- -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN=0 \
- -DH5_NO_ALIGNMENT_RESTRICTIONS_RUN__TRYRUN_OUTPUT= \
- -DCMAKE_INSTALL_PREFIX='${prefix}' \
- -DHDF5_INSTALL_LIB_DIR='${baselib}' \
-"
-
-do_unpack[postfuncs] += "gen_hd5file"
-gen_hd5file() {
- install -m 544 ${WORKDIR}/H5lib_settings.c ${S}
- install -m 544 ${WORKDIR}/H5Tinit-${SITEINFO_BITS}.c ${S}/H5Tinit.c
-}
-
-do_install_append() {
- # Used for generating config files on target
- install -m 755 ${B}/bin/H5detect ${D}${bindir}
- install -m 755 ${B}/bin/H5make_libsettings ${D}${bindir}
-}
-
-BBCLASSEXTEND = "native"
-
-SRC_DISTRIBUTE_LICENSES += "HDF5"
diff --git a/meta-oe/recipes-support/hidapi/hidapi/0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch b/meta-oe/recipes-support/hidapi/hidapi/0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch
deleted file mode 100644
index f3cd1015f9..0000000000
--- a/meta-oe/recipes-support/hidapi/hidapi/0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ce3ab6ba4b8176d100ac535a39e3d5b0c517989b Mon Sep 17 00:00:00 2001
-From: Jan Palus <atler@pld-linux.org>
-Date: Fri, 15 Jan 2021 14:32:14 +0100
-Subject: [PATCH] configure.ac: remove duplicate AC_CONFIG_MACRO_DIR (#226)
-
-fixes build with autoconf 2.70
-Upstream-Status: Backport [https://github.com/libusb/hidapi/pull/226]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 220909a..77da67a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -13,7 +13,6 @@ LTLDFLAGS="-version-info ${lt_current}:${lt_revision}:${lt_age}"
-
- AC_CONFIG_MACRO_DIR([m4])
- AM_INIT_AUTOMAKE([foreign -Wall -Werror])
--AC_CONFIG_MACRO_DIR([m4])
-
- m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
- LT_INIT
---
-2.30.0
-
diff --git a/meta-oe/recipes-support/hidapi/hidapi_0.14.0.bb b/meta-oe/recipes-support/hidapi/hidapi_0.14.0.bb
new file mode 100644
index 0000000000..c7a487ba5c
--- /dev/null
+++ b/meta-oe/recipes-support/hidapi/hidapi_0.14.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A Simple library for communicating with USB and Bluetooth HID devices"
+HOMEPAGE = "http://www.signal11.us/oss/hidapi/"
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause | GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077"
+
+DEPENDS = "libusb udev"
+RDEPENDS:${PN}:append:libc-glibc = " glibc-gconv-utf-16"
+
+inherit autotools pkgconfig
+
+SRC_URI = "git://github.com/libusb/hidapi.git;protocol=https;branch=master"
+SRCREV = "d3013f0af3f4029d82872c1a9487ea461a56dee4"
+S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/hidapi/hidapi_git.bb b/meta-oe/recipes-support/hidapi/hidapi_git.bb
deleted file mode 100644
index 76f5dc7624..0000000000
--- a/meta-oe/recipes-support/hidapi/hidapi_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A Simple library for communicating with USB and Bluetooth HID devices"
-AUTHOR = "Alan Ott"
-HOMEPAGE = "http://www.signal11.us/oss/hidapi/"
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause | GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077"
-
-DEPENDS = "libusb udev"
-
-inherit autotools pkgconfig
-
-SRC_URI = "git://github.com/libusb/hidapi.git;protocol=https \
- file://0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch \
-"
-PV = "0.10.1"
-SRCREV = "f6d0073fcddbdda24549199445e844971d3c9cef"
-S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/hstr/files/0001-Use-OE-specific-checks-for-ncurses.patch b/meta-oe/recipes-support/hstr/files/0001-Use-OE-specific-checks-for-ncurses.patch
new file mode 100644
index 0000000000..421d824ee0
--- /dev/null
+++ b/meta-oe/recipes-support/hstr/files/0001-Use-OE-specific-checks-for-ncurses.patch
@@ -0,0 +1,42 @@
+From f3fb4f12fac75efe0d8f1a923ad5992a7433d0db Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 2 Mar 2022 06:22:15 +0000
+Subject: [PATCH] Use OE-specific checks for ncurses
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/include/hstr.h | 2 +-
+ src/include/hstr_curses.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/include/hstr.h b/src/include/hstr.h
+index 5eac881..c47cadb 100644
+--- a/src/include/hstr.h
++++ b/src/include/hstr.h
+@@ -26,7 +26,7 @@
+ #elif defined(__FreeBSD__)
+ #include <ncurses.h>
+ #else
+- #include <ncursesw/curses.h>
++ #include <curses.h>
+ #endif
+ #include <readline/chardefs.h>
+ #include <signal.h>
+diff --git a/src/include/hstr_curses.h b/src/include/hstr_curses.h
+index 8a50ab9..1f081a8 100644
+--- a/src/include/hstr_curses.h
++++ b/src/include/hstr_curses.h
+@@ -24,7 +24,7 @@
+ #elif defined(__FreeBSD__)
+ #include <ncurses.h>
+ #else
+-#include <ncursesw/curses.h>
++#include <curses.h>
+ #endif
+
+ #define color_attr_on(C) if(terminal_has_colors()) { attron(C); }
+--
+2.31.1
+
diff --git a/meta-oe/recipes-support/hstr/files/0001-configure.ac-Don-t-use-AC_CHECK_FILE.patch b/meta-oe/recipes-support/hstr/files/0001-configure.ac-Don-t-use-AC_CHECK_FILE.patch
new file mode 100644
index 0000000000..832d768ff3
--- /dev/null
+++ b/meta-oe/recipes-support/hstr/files/0001-configure.ac-Don-t-use-AC_CHECK_FILE.patch
@@ -0,0 +1,33 @@
+From d5ad538adb9fcbad8a3b4e46f266b668301cb1c4 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Wed, 2 Mar 2022 05:36:48 +0000
+Subject: [PATCH] configure.ac: Don't use AC_CHECK_FILE
+
+AC_CHECK_FILE is not suitable for cross-compile, so
+remove it to fix configure error:
+cannot check for file existence when cross compiling
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 775c795..bd99188 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -116,9 +116,6 @@ AC_TYPE_SIZE_T
+ AC_FUNC_MALLOC
+ AC_CHECK_FUNCS([memset strdup strstr])
+
+-# Bash@Ubuntu@Windows
+-AC_CHECK_FILE(/tmp/hstr-ms-wsl,AC_DEFINE(__MS_WSL__), [])
+-
+ # Bash CLI autocomplete
+ AC_ARG_WITH([bash-completion-dir],
+ AS_HELP_STRING([--with-bash-completion-dir[=PATH]],
+--
+2.31.1
+
diff --git a/meta-oe/recipes-support/hstr/hstr_3.1.0.bb b/meta-oe/recipes-support/hstr/hstr_3.1.0.bb
new file mode 100644
index 0000000000..a641feef6f
--- /dev/null
+++ b/meta-oe/recipes-support/hstr/hstr_3.1.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "bash and zsh shell history suggest box - easily view, navigate, search and manage your command history."
+HOMEPAGE = "http://dvorka.github.io/hstr/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
+
+DEPENDS = "ncurses readline"
+
+SRC_URI = "https://github.com/dvorka/hstr/releases/download/3.1/hstr-${PV}-tarball.tgz \
+ file://0001-configure.ac-Don-t-use-AC_CHECK_FILE.patch \
+ file://0001-Use-OE-specific-checks-for-ncurses.patch"
+
+S = "${WORKDIR}/${BPN}"
+
+SRC_URI[sha256sum] = "4dabf61f045f022bac8bc909e5fd96041af6c53df56d97dfa3cfbf49af4453a5"
+
+inherit autotools pkgconfig bash-completion
diff --git a/meta-oe/recipes-support/htop/files/0001-Use-pkg-config.patch b/meta-oe/recipes-support/htop/files/0001-Use-pkg-config.patch
index 93d6d58573..3d113efa15 100644
--- a/meta-oe/recipes-support/htop/files/0001-Use-pkg-config.patch
+++ b/meta-oe/recipes-support/htop/files/0001-Use-pkg-config.patch
@@ -1,4 +1,4 @@
-From 14100c6fc2cce7260ca5ace81094aee0ae40dd07 Mon Sep 17 00:00:00 2001
+From 0d49ee6416e389b9a7ba693588c2eaf129306a01 Mon Sep 17 00:00:00 2001
From: Paul Barker <pbarker@toganlabs.com>
Date: Sun, 5 Nov 2017 22:07:30 +0000
Subject: [PATCH] htop: Update to v2.0.2
@@ -9,40 +9,39 @@ ncurses*-config applications.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
-Upstream-status: Inappropriate
- (`ncurses*-config` can be used outside of OpenEmbedded)
+Upstream-Status: Inappropriate [`ncurses*-config` can be used outside of OpenEmbedded]
---
configure.ac | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 115d894..0e0a1eb 100644
+index e4df238a..2a31b201 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -205,10 +205,10 @@ AS_VAR_POPDEF([CACHEVAR])dnl
-
- AC_ARG_ENABLE(unicode, [AS_HELP_STRING([--enable-unicode], [enable Unicode support])], ,enable_unicode="yes")
+@@ -391,10 +391,10 @@ AC_ARG_ENABLE([unicode],
+ [],
+ [enable_unicode=yes])
if test "x$enable_unicode" = xyes; then
-- HTOP_CHECK_SCRIPT([ncursesw6], [addnwstr], [HAVE_LIBNCURSESW], "ncursesw6-config",
-- HTOP_CHECK_SCRIPT([ncursesw], [addnwstr], [HAVE_LIBNCURSESW], "ncursesw6-config",
-- HTOP_CHECK_SCRIPT([ncursesw], [addnwstr], [HAVE_LIBNCURSESW], "ncursesw5-config",
-- HTOP_CHECK_SCRIPT([ncurses], [addnwstr], [HAVE_LIBNCURSESW], "ncurses5-config",
-+ HTOP_CHECK_SCRIPT([ncursesw6], [addnwstr], [HAVE_LIBNCURSESW], "pkg-config ncursesw6",
-+ HTOP_CHECK_SCRIPT([ncursesw], [addnwstr], [HAVE_LIBNCURSESW], "pkg-config ncursesw6",
-+ HTOP_CHECK_SCRIPT([ncursesw], [addnwstr], [HAVE_LIBNCURSESW], "pkg-config ncursesw5",
-+ HTOP_CHECK_SCRIPT([ncurses], [addnwstr], [HAVE_LIBNCURSESW], "pkg-config ncurses5",
+- HTOP_CHECK_SCRIPT([ncursesw6], [waddwstr], [HAVE_LIBNCURSESW], "ncursesw6-config",
+- HTOP_CHECK_SCRIPT([ncursesw], [waddwstr], [HAVE_LIBNCURSESW], "ncursesw6-config",
+- HTOP_CHECK_SCRIPT([ncursesw], [wadd_wch], [HAVE_LIBNCURSESW], "ncursesw5-config",
+- HTOP_CHECK_SCRIPT([ncurses], [wadd_wch], [HAVE_LIBNCURSESW], "ncurses5-config",
++ HTOP_CHECK_SCRIPT([ncursesw6], [waddwstr], [HAVE_LIBNCURSESW], "pkg-config ncursesw6",
++ HTOP_CHECK_SCRIPT([ncursesw], [waddwstr], [HAVE_LIBNCURSESW], "pkg-config ncursesw6",
++ HTOP_CHECK_SCRIPT([ncursesw], [wadd_wch], [HAVE_LIBNCURSESW], "pkg-config ncursesw5",
++ HTOP_CHECK_SCRIPT([ncurses], [wadd_wch], [HAVE_LIBNCURSESW], "pkg-config ncurses5",
HTOP_CHECK_LIB([ncursesw6], [addnwstr], [HAVE_LIBNCURSESW],
HTOP_CHECK_LIB([ncursesw], [addnwstr], [HAVE_LIBNCURSESW],
HTOP_CHECK_LIB([ncurses], [addnwstr], [HAVE_LIBNCURSESW],
-@@ -225,8 +225,8 @@ if test "x$enable_unicode" = xyes; then
+@@ -416,8 +416,8 @@ if test "x$enable_unicode" = xyes; then
# (at this point we already link against a working ncurses library with wide character support)
AC_SEARCH_LIBS([keypad], [tinfow tinfo])
else
-- HTOP_CHECK_SCRIPT([ncurses6], [refresh], [HAVE_LIBNCURSES], "ncurses6-config",
-- HTOP_CHECK_SCRIPT([ncurses], [refresh], [HAVE_LIBNCURSES], "ncurses5-config",
-+ HTOP_CHECK_SCRIPT([ncurses6], [refresh], [HAVE_LIBNCURSES], "pkg-config ncurses6",
-+ HTOP_CHECK_SCRIPT([ncurses], [refresh], [HAVE_LIBNCURSES], "pkg-config ncurses5",
- HTOP_CHECK_LIB([ncurses6], [refresh], [HAVE_LIBNCURSES],
- HTOP_CHECK_LIB([ncurses], [refresh], [HAVE_LIBNCURSES],
- missing_libraries="$missing_libraries libncurses"
+- HTOP_CHECK_SCRIPT([ncurses6], [wnoutrefresh], [HAVE_LIBNCURSES], [ncurses6-config],
+- HTOP_CHECK_SCRIPT([ncurses], [wnoutrefresh], [HAVE_LIBNCURSES], [ncurses5-config],
++ HTOP_CHECK_SCRIPT([ncurses6], [wnoutrefresh], [HAVE_LIBNCURSES], [pkg-config ncurses6],
++ HTOP_CHECK_SCRIPT([ncurses], [wnoutrefresh], [HAVE_LIBNCURSES], [pkg-config ncurses5],
+ HTOP_CHECK_LIB([ncurses6], [doupdate], [HAVE_LIBNCURSES],
+ HTOP_CHECK_LIB([ncurses], [doupdate], [HAVE_LIBNCURSES],
+ HTOP_CHECK_LIB([curses], [doupdate], [HAVE_LIBNCURSES],
diff --git a/meta-oe/recipes-support/htop/htop_3.0.5.bb b/meta-oe/recipes-support/htop/htop_3.0.5.bb
deleted file mode 100644
index 8e9b95d91d..0000000000
--- a/meta-oe/recipes-support/htop/htop_3.0.5.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Interactive process viewer"
-HOMEPAGE = "https://htop.dev"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4099d367cd5e59b6d4fc1ee33accb891"
-
-DEPENDS = "ncurses"
-
-SRC_URI = "git://github.com/htop-dev/htop.git \
- file://0001-Use-pkg-config.patch \
- "
-SRCREV = "ce6d60e7def146c13d0b8bca4642e7401a0a8995"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= " \
- unicode \
- linux-affinity \
- delayacct \
-"
-PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz"
-PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver"
-PACKAGECONFIG[ancient-vserver] = "--enable-ancient-vserver,--disable-ancient-vserver"
-PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode"
-PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc"
-PACKAGECONFIG[linux-affinity] = "--enable-linux-affinity,--disable-linux-affinity"
-PACKAGECONFIG[setuid] = "--enable-setuid,--disable-setuid"
-PACKAGECONFIG[delayacct] = "--enable-delayacct,--disable-delayacct,libnl"
-PACKAGECONFIG[sensors] = "--with-sensors,--without-sensors,lmsensors,lmsensors-libsensors"
-
-FILES_${PN} += "${datadir}/icons/hicolor/scalable/apps/htop.svg"
diff --git a/meta-oe/recipes-support/htop/htop_3.3.0.bb b/meta-oe/recipes-support/htop/htop_3.3.0.bb
new file mode 100644
index 0000000000..cd5b766f0f
--- /dev/null
+++ b/meta-oe/recipes-support/htop/htop_3.3.0.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Interactive process viewer"
+HOMEPAGE = "https://htop.dev"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+DEPENDS = "ncurses"
+
+SRC_URI = "git://github.com/htop-dev/htop.git;branch=main;protocol=https \
+ file://0001-Use-pkg-config.patch \
+"
+SRCREV = "68c970c7ef4a0682760ed570b3d82388ae7ccf54"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= " \
+ unicode \
+ affinity \
+ delayacct \
+"
+PACKAGECONFIG[unicode] = "--enable-unicode,--disable-unicode"
+PACKAGECONFIG[affinity] = "--enable-affinity,--disable-affinity,,,,hwloc"
+PACKAGECONFIG[unwind] = "--enable-unwind,--disable-unwind,libunwind"
+PACKAGECONFIG[hwloc] = "--enable-hwloc,--disable-hwloc,hwloc,,,affinity"
+PACKAGECONFIG[openvz] = "--enable-openvz,--disable-openvz"
+PACKAGECONFIG[vserver] = "--enable-vserver,--disable-vserver"
+PACKAGECONFIG[ancient-vserver] = "--enable-ancient-vserver,--disable-ancient-vserver"
+PACKAGECONFIG[capabilities] = "--enable-capabilities,--disable-capabilities,libcap"
+PACKAGECONFIG[delayacct] = "--enable-delayacct,--disable-delayacct,libnl"
+PACKAGECONFIG[sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
+
+FILES:${PN} += "${datadir}/icons/hicolor/scalable/apps/htop.svg"
+
+RDEPENDS:${PN} += "ncurses-terminfo-base"
diff --git a/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb b/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb
index 3da67d1e3a..0ec426afb9 100644
--- a/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb
+++ b/meta-oe/recipes-support/hunspell/hunspell-dictionaries.bb
@@ -3,69 +3,69 @@ SUMMARY = "Hunspell dictionaries used by Maliit"
#Provided by Titus Wormer (wooorm) https://github.com/wooorm/dictionaries
LICENSE = "MIT"
-LICENSE_dictionaries/bg = "LGPL 2.1"
-LICENSE_dictionaries/br = "GPL 3.0"
-LICENSE_dictionaries/ca-valencia = "GPL 2.0 & LGPL-2.1"
-LICENSE_dictionaries/ca = "GPL 2.0 & LGPL-2.1"
-LICENSE_dictionaries/cs = "GPL-2.0"
-LICENSE_dictionaries/da = "GPL-2.0"
-LICENSE_dictionaries/de-AT = "GPL-3.0"
-LICENSE_dictionaries/de-CH = "GPL-3.0"
-LICENSE_dictionaries/de = "GPL-3.0"
-LICENSE_dictionaries/el-polyton = "GPL-2.0"
-LICENSE_dictionaries/el = "GPL-2.0"
-LICENSE_dictionaries/en-AU = "LGPL-2.0"
-LICENSE_dictionaries/en-CA = "MIT & BSD"
-LICENSE_dictionaries/en-GB = "LGPL-2.0"
-LICENSE_dictionaries/en-US = "MIT & BSD"
-LICENSE_dictionaries/en-ZA = "LGPL 2.1"
-LICENSE_dictionaries/eo = "GPL-2.0"
-LICENSE_dictionaries/es = "GPL-3.0"
-LICENSE_dictionaries/et = "LGPL-2.1"
-LICENSE_dictionaries/eu = "GPL-2.0"
-LICENSE_dictionaries/fo = "GPL-2.0"
-LICENSE_dictionaries/fr = "MPL-2.0"
-LICENSE_dictionaries/fur = "GPL-2.0"
-LICENSE_dictionaries/fy = "GPL-3.0"
-LICENSE_dictionaries/ga = "GPL-2.0"
-LICENSE_dictionaries/gd = "GPL-3.0"
-LICENSE_dictionaries/gl = "GPL-3.0"
-LICENSE_dictionaries/he = "AGPL-3.0"
-LICENSE_dictionaries/hr = "GPL-3.0"
-LICENSE_dictionaries/hu = "GPL-2.0"
-LICENSE_dictionaries/hy-arevela = "GPL-2.0"
-LICENSE_dictionaries/hy-arevmda = "GPL-2.0"
-LICENSE_dictionaries/ia = "GPL-3.0"
-LICENSE_dictionaries/ie = "Apache-2.0"
-LICENSE_dictionaries/is = "CC BY-SA 3.0 & CC BY 4.0"
-LICENSE_dictionaries/it = "GPL-3.0"
-LICENSE_dictionaries/ko = "MPL-1.1 & GPL-2.0 & LGPL-2.1"
-LICENSE_dictionaries/la = "GPL-3.0"
-LICENSE_dictionaries/lb = "EUPL-1.1"
-LICENSE_dictionaries/lt = "Other"
-LICENSE_dictionaries/ltg = "LGPL-2.1"
-LICENSE_dictionaries/lv = "LGPL-2.1"
-LICENSE_dictionaries/mk = "GPL-3.0"
-LICENSE_dictionaries/mn = "GPL-2.0"
-LICENSE_dictionaries/nb = "GPL-2.0"
-LICENSE_dictionaries/nds = "GPL-2.0"
-LICENSE_dictionaries/ne = "LGPL-2.1"
-LICENSE_dictionaries/nl = "BSD"
-LICENSE_dictionaries/nn = "GPL-2.0"
-LICENSE_dictionaries/pl = "GPL-3.0"
-LICENSE_dictionaries/pt-BR = "LGPL 2.1"
-LICENSE_dictionaries/pt = "GPL-2.0"
-LICENSE_dictionaries/ro = "GPL-2.0"
-LICENSE_dictionaries/ru = "BSD"
-LICENSE_dictionaries/rw = "GPL-3.0"
-LICENSE_dictionaries/sk = "GPL-2.0"
-LICENSE_dictionaries/sl = "GPL-2.0"
-LICENSE_dictionaries/sr-Latn = "LGPL 3.0"
-LICENSE_dictionaries/sr = "LGPL 3.0"
-LICENSE_dictionaries/sv = "LGPL 3.0"
-LICENSE_dictionaries/tr = "MIT"
-LICENSE_dictionaries/uk = "GPL 2.0"
-LICENSE_dictionaries/vi = "GPL 3.0"
+LICENSE:dictionaries/bg = "LGPL 2.1"
+LICENSE:dictionaries/br = "GPL 3.0"
+LICENSE:dictionaries/ca-valencia = "GPL 2.0 & LGPL-2.1-only"
+LICENSE:dictionaries/ca = "GPL 2.0 & LGPL-2.1-only"
+LICENSE:dictionaries/cs = "GPL-2.0-only"
+LICENSE:dictionaries/da = "GPL-2.0-only"
+LICENSE:dictionaries/de-AT = "GPL-3.0-only"
+LICENSE:dictionaries/de-CH = "GPL-3.0-only"
+LICENSE:dictionaries/de = "GPL-3.0-only"
+LICENSE:dictionaries/el-polyton = "GPL-2.0-only"
+LICENSE:dictionaries/el = "GPL-2.0-only"
+LICENSE:dictionaries/en-AU = "LGPL-2.0-only"
+LICENSE:dictionaries/en-CA = "MIT & BSD"
+LICENSE:dictionaries/en-GB = "LGPL-2.0-only"
+LICENSE:dictionaries/en-US = "MIT & BSD"
+LICENSE:dictionaries/en-ZA = "LGPL 2.1"
+LICENSE:dictionaries/eo = "GPL-2.0-only"
+LICENSE:dictionaries/es = "GPL-3.0-only"
+LICENSE:dictionaries/et = "LGPL-2.1-only"
+LICENSE:dictionaries/eu = "GPL-2.0-only"
+LICENSE:dictionaries/fo = "GPL-2.0-only"
+LICENSE:dictionaries/fr = "MPL-2.0"
+LICENSE:dictionaries/fur = "GPL-2.0-only"
+LICENSE:dictionaries/fy = "GPL-3.0-only"
+LICENSE:dictionaries/ga = "GPL-2.0-only"
+LICENSE:dictionaries/gd = "GPL-3.0-only"
+LICENSE:dictionaries/gl = "GPL-3.0-only"
+LICENSE:dictionaries/he = "AGPL-3.0-only"
+LICENSE:dictionaries/hr = "GPL-3.0-only"
+LICENSE:dictionaries/hu = "GPL-2.0-only"
+LICENSE:dictionaries/hy-arevela = "GPL-2.0-only"
+LICENSE:dictionaries/hy-arevmda = "GPL-2.0-only"
+LICENSE:dictionaries/ia = "GPL-3.0-only"
+LICENSE:dictionaries/ie = "Apache-2.0"
+LICENSE:dictionaries/is = "CC BY-SA 3.0 & CC BY 4.0"
+LICENSE:dictionaries/it = "GPL-3.0-only"
+LICENSE:dictionaries/ko = "MPL-1.1 & GPL-2.0-only & LGPL-2.1-only"
+LICENSE:dictionaries/la = "GPL-3.0-only"
+LICENSE:dictionaries/lb = "EUPL-1.1"
+LICENSE:dictionaries/lt = "Other"
+LICENSE:dictionaries/ltg = "LGPL-2.1-only"
+LICENSE:dictionaries/lv = "LGPL-2.1-only"
+LICENSE:dictionaries/mk = "GPL-3.0-only"
+LICENSE:dictionaries/mn = "GPL-2.0-only"
+LICENSE:dictionaries/nb = "GPL-2.0-only"
+LICENSE:dictionaries/nds = "GPL-2.0-only"
+LICENSE:dictionaries/ne = "LGPL-2.1-only"
+LICENSE:dictionaries/nl = "BSD"
+LICENSE:dictionaries/nn = "GPL-2.0-only"
+LICENSE:dictionaries/pl = "GPL-3.0-only"
+LICENSE:dictionaries/pt-BR = "LGPL 2.1"
+LICENSE:dictionaries/pt = "GPL-2.0-only"
+LICENSE:dictionaries/ro = "GPL-2.0-only"
+LICENSE:dictionaries/ru = "BSD"
+LICENSE:dictionaries/rw = "GPL-3.0-only"
+LICENSE:dictionaries/sk = "GPL-2.0-only"
+LICENSE:dictionaries/sl = "GPL-2.0-only"
+LICENSE:dictionaries/sr-Latn = "LGPL 3.0"
+LICENSE:dictionaries/sr = "LGPL 3.0"
+LICENSE:dictionaries/sv = "LGPL 3.0"
+LICENSE:dictionaries/tr = "MIT"
+LICENSE:dictionaries/uk = "GPL 2.0"
+LICENSE:dictionaries/vi = "GPL 3.0"
LIC_FILES_CHKSUM = " \
file://dictionaries/bg/license;md5=ab14e2ded1a43b84be9aba2be64b9814 \
file://dictionaries/br/license;md5=2e046c64edc0a4e47fb3ea614e6c82c4 \
@@ -131,21 +131,21 @@ LIC_FILES_CHKSUM = " \
file://dictionaries/vi/license;md5=8d9ecb4e7577ce760029786aba7ecec5 \
"
-RDEPENDS_${PN} = "hunspell"
+RDEPENDS:${PN} = "hunspell"
-PV = "0.0.0+git${SRCPV}"
+PV = "0.0.0+git"
SRCREV = "820a65e539e34a3a8c2a855d2450b84745c624ee"
-SRC_URI = "git://github.com/wooorm/dictionaries.git"
+SRC_URI = "git://github.com/wooorm/dictionaries.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
do_install() {
for LANGUAGE in `ls -d1 ${S}/dictionaries/*` ; do
- LANGUAGE_DIR=`basename $LANGUAGE`
+ LANGUAGE_DIR=`basename $LANGUAGE | sed 's:-:_:'`
install -D -m0644 $LANGUAGE/index.dic ${D}${datadir}/hunspell/$LANGUAGE_DIR.dic
install -D -m0644 $LANGUAGE/index.aff ${D}${datadir}/hunspell/$LANGUAGE_DIR.aff
install -D -m0644 $LANGUAGE/LICENSE ${D}${datadir}/hunspell/LICENSE-$LANGUAGE_DIR 2>/dev/null || echo "No LICENSE for language $LANGUAGE"
done
}
-FILES_${PN} = "${datadir}/hunspell"
+FILES:${PN} = "${datadir}/hunspell"
diff --git a/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb b/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
deleted file mode 100644
index c2fb4fa05b..0000000000
--- a/meta-oe/recipes-support/hunspell/hunspell_1.7.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "A spell checker and morphological analyzer library"
-HOMEPAGE = "http://hunspell.github.io/"
-LICENSE = "GPLv2 | LGPLv2.1"
-LIC_FILES_CHKSUM = " \
- file://COPYING;md5=75859989545e37968a99b631ef42722e \
- file://COPYING.LESSER;md5=c96ca6c1de8adc025adfada81d06fba5 \
-"
-
-SRCREV = "4ddd8ed5ca6484b930b111aec50c2750a6119a0f"
-SRC_URI = "git://github.com/${BPN}/${BPN}.git"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig gettext
-
-RDEPENDS_${PN} = "perl"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/hunspell/hunspell_1.7.2.bb b/meta-oe/recipes-support/hunspell/hunspell_1.7.2.bb
new file mode 100644
index 0000000000..afe75472a5
--- /dev/null
+++ b/meta-oe/recipes-support/hunspell/hunspell_1.7.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A spell checker and morphological analyzer library"
+HOMEPAGE = "http://hunspell.github.io/"
+LICENSE = "GPL-2.0-only | LGPL-2.1-only"
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=75859989545e37968a99b631ef42722e \
+ file://COPYING.LESSER;md5=c96ca6c1de8adc025adfada81d06fba5 \
+"
+
+SRCREV = "2969be996acad84b91ab3875b1816636fe61a40e"
+SRC_URI = "git://github.com/${BPN}/${BPN}.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig gettext
+
+# ispellaff2myspell: A program to convert ispell affix tables to myspell format
+PACKAGES =+ "${PN}-ispell"
+FILES:${PN}-ispell = "${bindir}/ispellaff2myspell"
+RDEPENDS:${PN}-ispell = "perl"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/hwdata/hwdata_0.381.bb b/meta-oe/recipes-support/hwdata/hwdata_0.381.bb
new file mode 100644
index 0000000000..291b273724
--- /dev/null
+++ b/meta-oe/recipes-support/hwdata/hwdata_0.381.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Hardware identification and configuration data"
+HOMEPAGE = "https://github.com/vcrhonek/hwdata"
+SECTION = "System/Base"
+
+LICENSE = "GPL-2.0-or-later | XFree86-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
+
+SRCREV = "4463530857af32d9dbfcfa9939c2304b51e5e58d"
+SRC_URI = "git://github.com/vcrhonek/${BPN}.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+do_configure() {
+ ${S}/configure --datadir=${datadir} --libdir=${libdir}
+}
+
+do_compile[noexec] = "1"
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+}
+
+FILES:${PN} = "${libdir}/* \
+ ${datadir}/* "
diff --git a/meta-oe/recipes-support/hwdata/hwdata_git.bb b/meta-oe/recipes-support/hwdata/hwdata_git.bb
deleted file mode 100644
index 56d814db88..0000000000
--- a/meta-oe/recipes-support/hwdata/hwdata_git.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Hardware identification and configuration data"
-HOMEPAGE = "https://github.com/vcrhonek/hwdata"
-SECTION = "System/Base"
-
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1556547711e8246992b999edd9445a57"
-
-PV = "0.345"
-SRCREV = "5d7d97bae533401f60ce9a5a036ff7152c8aca8c"
-SRC_URI = "git://github.com/vcrhonek/${BPN}.git"
-
-S = "${WORKDIR}/git"
-
-do_configure() {
- ${S}/configure --datadir=${datadir} --libdir=${libdir}
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D}
-}
-
-FILES_${PN} = "${libdir}/* \
- ${datadir}/* "
diff --git a/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb b/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
new file mode 100644
index 0000000000..8218b08084
--- /dev/null
+++ b/meta-oe/recipes-support/idevicerestore/idevicerestore_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A command-line application to restore firmware files to iOS devices"
+LICENSE = "LGPL-3.0-or-later"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+"
+
+HOMEPAGE = "http://www.libimobiledevice.org/"
+
+DEPENDS = "libirecovery libimobiledevice libzip curl libimobiledevice-glue openssl"
+
+PV = "1.0.1+git"
+
+SRCREV = "ecae6c6e8ca6b6bad080a1c73f10ffd0e67d75a7"
+SRC_URI = "git://github.com/libimobiledevice/idevicerestore;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-support/iksemel/iksemel_1.5.bb b/meta-oe/recipes-support/iksemel/iksemel_1.5.bb
index 986984d1ff..017e7d26a6 100644
--- a/meta-oe/recipes-support/iksemel/iksemel_1.5.bb
+++ b/meta-oe/recipes-support/iksemel/iksemel_1.5.bb
@@ -1,13 +1,13 @@
SUMMARY = "Fast and portable XML parser and Jabber protocol library"
HOMEPAGE = "https://github.com/meduketto/iksemel"
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
SRCREV = "978b733462e41efd5db72bc9974cb3b0d1d5f6fa"
-PV = "1.5+git${SRCPV}"
+PV = "1.5+git"
-SRC_URI = "git://github.com/meduketto/iksemel.git;protocol=https \
+SRC_URI = "git://github.com/meduketto/iksemel.git;protocol=https;branch=master \
file://fix-configure-option-parsing.patch \
file://avoid-obsolete-gnutls-apis.patch"
diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb b/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
deleted file mode 100644
index ac81fc75ab..0000000000
--- a/meta-oe/recipes-support/imagemagick/imagemagick_7.0.10.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-SUMMARY = "ImageMagick is an image conversion toolkit"
-SECTION = "console/utils"
-HOMEPAGE = "https://www.imagemagick.org/"
-DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \
-editing raster and vector image files. It can read and write over 200 image file formats."
-LICENSE = "ImageMagick"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=41b4fa9af60c88e61484b02c0561181a \
- file://NOTICE;md5=a2aa6e41f8a40700196a9ce301693e34"
-# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
-DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
-
-BASE_PV := "${PV}"
-PV .= "_25"
-SRC_URI = "git://github.com/ImageMagick/ImageMagick.git "
-SRCREV = "8b4e00829eb84d4e7b4da11acf1f98f1e8166e5b"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig update-alternatives
-
-# xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2
-# if someone needs xml support then fix it first
-EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --disable-openmp --without-xml --disable-opencl"
-
-CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz"
-PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
-PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
-PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg"
-PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
-PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg"
-PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools"
-PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
-PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
-PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
-
-FILES_${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \
- ${datadir}/ImageMagick-7"
-
-FILES_${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a"
-
-FILES_${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*"
-
-BBCLASSEXTEND = "native"
-
-ALTERNATIVE_PRIORITY = "100"
-
-ALTERNATIVE_${PN} = "animate compare composite conjure convert display \
- identify import magick-script mogrify montage stream"
-
-ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7"
-ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7"
-ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7"
-ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7"
-ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7"
-ALTERNATIVE_TARGET[display] = "${bindir}/display.im7"
-ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7"
-ALTERNATIVE_TARGET[import] = "${bindir}/import.im7"
-ALTERNATIVE_TARGET[magick-script] = "${bindir}/magick-script.im7"
-ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7"
-ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7"
-ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7"
-
-ALTERNATIVE_${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \
- convert.1 display.1 identify.1 import.1 magick-script.1 mogrify.1 montage.1 stream.1"
-
-ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1"
-ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1"
-ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
-ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1"
-ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
-ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1"
-ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
-ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1"
-ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
-ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1"
-ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
-ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1"
-ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
-ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1"
-ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
-ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1"
-ALTERNATIVE_LINK_NAME[magick-script.1] = "${mandir}/man1/magick-script.1"
-ALTERNATIVE_TARGET[magick-script.1] = "${mandir}/man1/magick-script.im7.1"
-ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
-ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1"
-ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
-ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1"
-ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
-ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1"
diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb
new file mode 100644
index 0000000000..6ab8a61b9b
--- /dev/null
+++ b/meta-oe/recipes-support/imagemagick/imagemagick_7.1.1.bb
@@ -0,0 +1,101 @@
+SUMMARY = "ImageMagick is an image conversion toolkit"
+SECTION = "console/utils"
+HOMEPAGE = "https://www.imagemagick.org/"
+DESCRIPTION = "ImageMagick is a collection of tools for displaying, converting, and \
+editing raster and vector image files. It can read and write over 200 image file formats."
+LICENSE = "ImageMagick"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2f9de66264141265b203cde9902819ea \
+ file://NOTICE;md5=bcbf1f1897b40ec8df39700cb560e9ed"
+# FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results.
+DEPENDS = "lcms bzip2 jpeg libpng tiff zlib fftw freetype libtool"
+
+BASE_PV := "${PV}"
+PV .= "-26"
+SRC_URI = "git://github.com/ImageMagick/ImageMagick.git;branch=main;protocol=https"
+SRCREV = "570a9a048bb0e3a5c221ca87be9408ae35f711e2"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig update-alternatives
+export ac_cv_sys_file_offset_bits="64"
+
+EXTRA_OECONF = "--program-prefix= --program-suffix=.im7 --without-perl --enable-largefile"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} cxx webp xml"
+PACKAGECONFIG[cxx] = "--with-magick-plus-plus,--without-magick-plus-plus"
+PACKAGECONFIG[graphviz] = "--with-gvc,--without-gvc,graphviz"
+PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
+PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
+PACKAGECONFIG[openjpeg] = "--with-openjp2,--without-openjp2,openjpeg"
+PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
+PACKAGECONFIG[rsvg] = "--with-rsvg,--without-rsvg,librsvg"
+PACKAGECONFIG[tcmalloc] = "--with-tcmalloc=yes,--with-tcmalloc=no,gperftools"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
+PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
+PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxt"
+PACKAGECONFIG[xml] = "--with-xml,--without-xml,libxml2"
+
+do_install:append:class-target() {
+ for file in MagickCore-config.im7 MagickWand-config.im7 Magick++-config.im7; do
+ sed -i 's,${STAGING_DIR_TARGET},,g' ${D}${bindir}/"$file"
+ done
+ sed -i 's,${S},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml
+ sed -i 's,${B},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml
+ sed -i 's,${RECIPE_SYSROOT},,g' ${D}${libdir}/ImageMagick-${BASE_PV}/config-Q16HDRI/configure.xml
+ sed -i 's,${HOSTTOOLS_DIR},${bindir},g' ${D}${sysconfdir}/ImageMagick-7/delegates.xml
+}
+
+FILES:${PN} += "${libdir}/ImageMagick-${BASE_PV}/config-Q16* \
+ ${datadir}/ImageMagick-7"
+
+FILES:${PN}-dev += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/*.a"
+
+FILES:${PN}-dbg += "${libdir}/ImageMagick-${BASE_PV}/modules-Q16/*/.debug/*"
+
+BBCLASSEXTEND = "native nativesdk"
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE:${PN} = "animate compare composite conjure convert display \
+ identify import magick-script mogrify montage stream"
+
+ALTERNATIVE_TARGET[animate] = "${bindir}/animate.im7"
+ALTERNATIVE_TARGET[compare] = "${bindir}/compare.im7"
+ALTERNATIVE_TARGET[composite] = "${bindir}/composite.im7"
+ALTERNATIVE_TARGET[conjure] = "${bindir}/conjure.im7"
+ALTERNATIVE_TARGET[convert] = "${bindir}/convert.im7"
+ALTERNATIVE_TARGET[display] = "${bindir}/display.im7"
+ALTERNATIVE_TARGET[identify] = "${bindir}/identify.im7"
+ALTERNATIVE_TARGET[import] = "${bindir}/import.im7"
+ALTERNATIVE_TARGET[magick-script] = "${bindir}/magick-script.im7"
+ALTERNATIVE_TARGET[mogrify] = "${bindir}/mogrify.im7"
+ALTERNATIVE_TARGET[montage] = "${bindir}/montage.im7"
+ALTERNATIVE_TARGET[stream] = "${bindir}/stream.im7"
+
+ALTERNATIVE:${PN}-doc = "animate.1 compare.1 composite.1 conjure.1 \
+ convert.1 display.1 identify.1 import.1 magick-script.1 mogrify.1 montage.1 stream.1"
+
+ALTERNATIVE_LINK_NAME[animate.1] = "${mandir}/man1/animate.1"
+ALTERNATIVE_TARGET[animate.1] = "${mandir}/man1/animate.im7.1"
+ALTERNATIVE_LINK_NAME[compare.1] = "${mandir}/man1/compare.1"
+ALTERNATIVE_TARGET[compare.1] = "${mandir}/man1/compare.im7.1"
+ALTERNATIVE_LINK_NAME[composite.1] = "${mandir}/man1/composite.1"
+ALTERNATIVE_TARGET[composite.1] = "${mandir}/man1/composite.im7.1"
+ALTERNATIVE_LINK_NAME[conjure.1] = "${mandir}/man1/conjure.1"
+ALTERNATIVE_TARGET[conjure.1] = "${mandir}/man1/conjure.im7.1"
+ALTERNATIVE_LINK_NAME[convert.1] = "${mandir}/man1/convert.1"
+ALTERNATIVE_TARGET[convert.1] = "${mandir}/man1/convert.im7.1"
+ALTERNATIVE_LINK_NAME[display.1] = "${mandir}/man1/display.1"
+ALTERNATIVE_TARGET[display.1] = "${mandir}/man1/display.im7.1"
+ALTERNATIVE_LINK_NAME[identify.1] = "${mandir}/man1/identify.1"
+ALTERNATIVE_TARGET[identify.1] = "${mandir}/man1/identify.im7.1"
+ALTERNATIVE_LINK_NAME[import.1] = "${mandir}/man1/import.1"
+ALTERNATIVE_TARGET[import.1] = "${mandir}/man1/import.im7.1"
+ALTERNATIVE_LINK_NAME[magick-script.1] = "${mandir}/man1/magick-script.1"
+ALTERNATIVE_TARGET[magick-script.1] = "${mandir}/man1/magick-script.im7.1"
+ALTERNATIVE_LINK_NAME[mogrify.1] = "${mandir}/man1/mogrify.1"
+ALTERNATIVE_TARGET[mogrify.1] = "${mandir}/man1/mogrify.im7.1"
+ALTERNATIVE_LINK_NAME[montage.1] = "${mandir}/man1/montage.1"
+ALTERNATIVE_TARGET[montage.1] = "${mandir}/man1/montage.im7.1"
+ALTERNATIVE_LINK_NAME[stream.1] = "${mandir}/man1/stream.1"
+ALTERNATIVE_TARGET[stream.1] = "${mandir}/man1/stream.im7.1"
diff --git a/meta-oe/recipes-support/imapfilter/imapfilter_2.7.5.bb b/meta-oe/recipes-support/imapfilter/imapfilter_2.7.5.bb
deleted file mode 100644
index 0d21a6bfeb..0000000000
--- a/meta-oe/recipes-support/imapfilter/imapfilter_2.7.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "IMAPFilter is a mail filtering utility that processes mailboxes based on IMAP queries"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=db3b99f230f9758fd77e4a0654e2266d"
-
-SRC_URI = "https://codeload.github.com/lefcha/${BPN}/tar.gz/v${PV};downloadfilename=${BP}.tar.gz \
- file://ldflags.patch \
-"
-SRC_URI[sha256sum] = "ab19f840712e6951e51c29e44c43b3b2fa42e93693f98f8969cc763a4fad56bf"
-
-DEPENDS= "openssl lua libpcre2"
-
-EXTRA_OEMAKE_append = " PREFIX=${prefix}"
-
-do_install(){
- oe_runmake DESTDIR=${D} install
-
- # No need for manuals at this point, MANDIR is hardcoded to depend on prefix
- rm -rf ${D}${prefix}/man
-}
-
-ASNEEDED = ""
diff --git a/meta-oe/recipes-support/imapfilter/imapfilter_2.8.2.bb b/meta-oe/recipes-support/imapfilter/imapfilter_2.8.2.bb
new file mode 100644
index 0000000000..422d96359c
--- /dev/null
+++ b/meta-oe/recipes-support/imapfilter/imapfilter_2.8.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "IMAPFilter is a mail filtering utility that processes mailboxes based on IMAP queries"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f8d2fc4954306888fd0e4b27bef83525"
+
+# v2.7.6
+SRCREV = "9e6661278572009a92a8e125c9b339232a9735a1"
+SRC_URI = "git://github.com/lefcha/imapfilter;protocol=https;branch=master \
+ file://ldflags.patch \
+"
+S = "${WORKDIR}/git"
+
+DEPENDS= "openssl lua libpcre2"
+
+EXTRA_OEMAKE:append = " PREFIX=${prefix}"
+
+do_install(){
+ oe_runmake DESTDIR=${D} install
+
+ # No need for manuals at this point, MANDIR is hardcoded to depend on prefix
+ rm -rf ${D}${prefix}/man
+}
+
+ASNEEDED = ""
diff --git a/meta-oe/recipes-support/inih/files/0001-include-install-header-files-without-prefix-dir-inih.patch b/meta-oe/recipes-support/inih/files/0001-include-install-header-files-without-prefix-dir-inih.patch
deleted file mode 100644
index fb7b85cfd4..0000000000
--- a/meta-oe/recipes-support/inih/files/0001-include-install-header-files-without-prefix-dir-inih.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-include: install header files without prefix dir inih
-
-The other flavor of inih which adapted by Fedora and Ubuntu installs
-header files to /usr/include directly. And xfsprogs 5.10.0 also checks
-ini.h without extra search path and fails. So install header files
-without prefix dir inih.
-
-Upstream-Status: Submitted [https://github.com/OSSystems/inih/pull/4]
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- include/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
-index 7a46ee7..4a9033f 100644
---- a/include/CMakeLists.txt
-+++ b/include/CMakeLists.txt
-@@ -1 +1 @@
--install(FILES ini.h INIReader.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/inih)
-+install(FILES ini.h INIReader.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/inih/libinih_58.bb b/meta-oe/recipes-support/inih/libinih_58.bb
new file mode 100644
index 0000000000..2bcf2b4bd4
--- /dev/null
+++ b/meta-oe/recipes-support/inih/libinih_58.bb
@@ -0,0 +1,14 @@
+SUMMARY = "inih (INI Not Invented Here)"
+DESCRIPTION = "A .INI file parser written in C that was designed to be small and simple."
+HOMEPAGE = "https://github.com/benhoyt/inih"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a7a95d2af90376e85a05318794e6f202"
+
+SRC_URI = "git://github.com/benhoyt/inih.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+SRCREV = "5cc5e2c24642513aaa5b19126aad42d0e4e0923e"
+
+inherit meson pkgconfig
diff --git a/meta-oe/recipes-support/inih/libinih_git.bb b/meta-oe/recipes-support/inih/libinih_git.bb
deleted file mode 100644
index 5beb292819..0000000000
--- a/meta-oe/recipes-support/inih/libinih_git.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "C and C++ INI Library"
-HOMEPAGE = "http://code.google.com/p/inih/"
-PV = "0.0+gitr${SRCPV}"
-PKGV = "${GITPKGVTAG}"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dae28cbf28207425e0d0b3eb835f4bde"
-
-PR = "r3"
-
-# The github repository provides a cmake and pkg-config integration
-SRCREV = "c858aff8c31fa63ef4d1e0176c10e5928cde9a23"
-SRC_URI = "git://github.com/OSSystems/inih.git \
- file://0001-include-install-header-files-without-prefix-dir-inih.patch \
- "
-
-UPSTREAM_CHECK_COMMITS = "1"
-
-S = "${WORKDIR}/git"
-
-inherit gitpkgv cmake
-
-# We don't have libinih since we only have static libraries
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-oe/recipes-support/iniparser/iniparser/0001-iniparser.pc-Make-libpath-a-variable.patch b/meta-oe/recipes-support/iniparser/iniparser/0001-iniparser.pc-Make-libpath-a-variable.patch
new file mode 100644
index 0000000000..4824344f05
--- /dev/null
+++ b/meta-oe/recipes-support/iniparser/iniparser/0001-iniparser.pc-Make-libpath-a-variable.patch
@@ -0,0 +1,23 @@
+From 1761298b73c759c07e4652ada307f68512a75ff1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 25 Mar 2022 20:44:41 -0700
+Subject: [PATCH] iniparser.pc: Make libpath a variable
+
+Will set according to baselib that yocto exports.
+
+Upstream-Status: Inappropriate [OE-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ iniparser.pc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/iniparser.pc
++++ b/iniparser.pc
+@@ -1,6 +1,6 @@
+ prefix=/usr
+ exec_prefix=/usr
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@baselib@
+ includedir=${prefix}/include
+ datarootdir=${prefix}/share
+ datadir=${datarootdir}
diff --git a/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch b/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch
index b666f00f70..46c1b0f7ac 100644
--- a/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch
+++ b/meta-oe/recipes-support/iniparser/iniparser/Add-CMake-support.patch
@@ -4,6 +4,8 @@ Date: Thu, 13 Feb 2014 07:03:26 -0500
Subject: Add CMake support.
---
+Upstream-Status: Pending
+
CMakeLists.txt | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 CMakeLists.txt
diff --git a/meta-oe/recipes-support/iniparser/iniparser/CVE-2023-33461.patch b/meta-oe/recipes-support/iniparser/iniparser/CVE-2023-33461.patch
new file mode 100644
index 0000000000..db5fb06aac
--- /dev/null
+++ b/meta-oe/recipes-support/iniparser/iniparser/CVE-2023-33461.patch
@@ -0,0 +1,48 @@
+CVE: CVE-2023-33461
+Upstream-Status: Backport [https://github.com/ndevilla/iniparser/pull/146/commits/ace9871f65d11b5d73f0b9ee8cf5d2807439442d]
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+
+
+From ace9871f65d11b5d73f0b9ee8cf5d2807439442d Mon Sep 17 00:00:00 2001
+From: Antonio <antoniolrt@gmail.com>
+Date: Fri, 2 Jun 2023 15:03:10 -0300
+Subject: [PATCH] Handle null return from iniparser_getstring
+
+Fix handling of NULL returns from iniparser_getstring in
+iniparser_getboolean, iniparser_getlongint and iniparser_getdouble,
+avoiding a crash.
+---
+ src/iniparser.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/iniparser.c b/src/iniparser.c
+index f1d1658..dbceb20 100644
+--- a/src/iniparser.c
++++ b/src/iniparser.c
+@@ -456,7 +456,7 @@ long int iniparser_getlongint(const dictionary * d, const char * key, long int n
+ const char * str ;
+
+ str = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (str==INI_INVALID_KEY) return notfound ;
++ if (str==NULL || str==INI_INVALID_KEY) return notfound ;
+ return strtol(str, NULL, 0);
+ }
+
+@@ -511,7 +511,7 @@ double iniparser_getdouble(const dictionary * d, const char * key, double notfou
+ const char * str ;
+
+ str = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (str==INI_INVALID_KEY) return notfound ;
++ if (str==NULL || str==INI_INVALID_KEY) return notfound ;
+ return atof(str);
+ }
+
+@@ -553,7 +553,7 @@ int iniparser_getboolean(const dictionary * d, const char * key, int notfound)
+ const char * c ;
+
+ c = iniparser_getstring(d, key, INI_INVALID_KEY);
+- if (c==INI_INVALID_KEY) return notfound ;
++ if (c==NULL || c==INI_INVALID_KEY) return notfound ;
+ if (c[0]=='y' || c[0]=='Y' || c[0]=='1' || c[0]=='t' || c[0]=='T') {
+ ret = 1 ;
+ } else if (c[0]=='n' || c[0]=='N' || c[0]=='0' || c[0]=='f' || c[0]=='F') {
diff --git a/meta-oe/recipes-support/iniparser/iniparser_4.1.bb b/meta-oe/recipes-support/iniparser/iniparser_4.1.bb
index f4b553a578..c80668d279 100644
--- a/meta-oe/recipes-support/iniparser/iniparser_4.1.bb
+++ b/meta-oe/recipes-support/iniparser/iniparser_4.1.bb
@@ -6,12 +6,23 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e02baf71c76e0650e667d7da133379ac"
DEPENDS = "doxygen-native"
-SRC_URI = "git://github.com/ndevilla/iniparser.git;protocol=https \
- file://Add-CMake-support.patch"
+PV .= "+git"
-# tag 4.1
-SRCREV= "0a38e85c9cde1e099ca3bf70083bd00f89c3e5b6"
+SRC_URI = "git://github.com/ndevilla/iniparser.git;protocol=https;branch=master \
+ file://0001-iniparser.pc-Make-libpath-a-variable.patch \
+ file://Add-CMake-support.patch \
+ file://CVE-2023-33461.patch \
+"
+
+SRCREV= "deb85ad4936d4ca32cc2260ce43323d47936410d"
S = "${WORKDIR}/git"
inherit cmake
+
+do_install:append() {
+ install -Dm 0644 ${S}/iniparser.pc ${D}${libdir}/pkgconfig/iniparser.pc
+ sed -i -e 's,@baselib@,${baselib},g' ${D}${libdir}/pkgconfig/iniparser.pc
+}
+
+BBCLASSEXTEND += "native"
diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch b/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch
new file mode 100644
index 0000000000..3b195aae4f
--- /dev/null
+++ b/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch
@@ -0,0 +1,28 @@
+From 6a57ff26d695aaad096b798879a5dbc5af2cedf5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 20 Dec 2022 10:46:50 -0800
+Subject: [PATCH] configure: Add AC_SYS_LARGEFILE autoconf macro
+
+This will define _FILE_OFFSET_BITS to be 64 if off_t is 64bit
+and we do not need to define lfs64 functions
+
+Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/174]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index bddf14d..b89a266 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -17,6 +17,9 @@ AC_PROG_CC
+ AM_INIT_AUTOMAKE
+ LT_INIT
+
++# Add option for largefile support
++AC_SYS_LARGEFILE
++
+ AC_PATH_PROG(DOXYGEN, doxygen, NO_DOXYGEN)
+
+ AC_ARG_ENABLE(doxygen,
diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-libinotifytools-Bridge-differences-between-musl-glib.patch b/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-libinotifytools-Bridge-differences-between-musl-glib.patch
new file mode 100644
index 0000000000..931244830c
--- /dev/null
+++ b/meta-oe/recipes-support/inotify-tools/inotify-tools/0002-libinotifytools-Bridge-differences-between-musl-glib.patch
@@ -0,0 +1,40 @@
+From 6c3ce01a281a9aa661494d24a862219fc9e2b460 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 16 Dec 2021 14:57:55 -0800
+Subject: [PATCH 2/2] libinotifytools: Bridge differences between
+ musl/glibc/kernel fnotify.h
+
+System detects to use sys/fnotify.h and then assumes glibc's definitions
+but musl has definitions of its own. perhaps portable thing would be to
+use linux/fnotify.h interface directly on linux irrespective of libc
+
+See the differences discussion here [1]
+
+[1] https://inbox.vuxu.org/musl/20191112220151.GC27331@x230/T/#ma8700992467200c8792e0fa8508eae656b81aeba
+
+Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/154]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libinotifytools/src/inotifytools.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libinotifytools/src/inotifytools.c b/libinotifytools/src/inotifytools.c
+index 902eac2..2b96395 100644
+--- a/libinotifytools/src/inotifytools.c
++++ b/libinotifytools/src/inotifytools.c
+@@ -55,6 +55,12 @@ struct fanotify_event_fid {
+ struct fanotify_event_info_fid info;
+ struct file_handle handle;
+ };
++
++#ifndef __GLIBC__
++#define val __val
++#define __kernel_fsid_t fsid_t
++#endif
++
+ #endif
+
+ /**
+--
+2.34.1
+
diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools/0003-replace-stat64-lstat64-with-stat-lstat.patch b/meta-oe/recipes-support/inotify-tools/inotify-tools/0003-replace-stat64-lstat64-with-stat-lstat.patch
new file mode 100644
index 0000000000..c0784ecc73
--- /dev/null
+++ b/meta-oe/recipes-support/inotify-tools/inotify-tools/0003-replace-stat64-lstat64-with-stat-lstat.patch
@@ -0,0 +1,119 @@
+From c6093ad63b92f5d25e6826d1c49dc7cee86d3747 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 20 Dec 2022 10:48:10 -0800
+Subject: [PATCH] replace stat64/lstat64 with stat/lstat
+
+lfs64 functions are not needed when off_t is 64-bit
+Additionally this fixes build with musl which does not
+export these functions without defining _LARGEFILE64_SOURCE
+
+Upstream-Status: Submitted [https://github.com/inotify-tools/inotify-tools/pull/174]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libinotifytools/src/inotifytools.c | 8 ++++----
+ libinotifytools/src/inotifytools/inotify-nosys.h | 5 -----
+ libinotifytools/src/inotifytools/inotifytools.h | 5 -----
+ src/common.c | 4 ++--
+ src/common.h | 6 +-----
+ 5 files changed, 7 insertions(+), 21 deletions(-)
+
+diff --git a/libinotifytools/src/inotifytools.c b/libinotifytools/src/inotifytools.c
+index 50f6135..3e17ac6 100644
+--- a/libinotifytools/src/inotifytools.c
++++ b/libinotifytools/src/inotifytools.c
+@@ -1750,14 +1750,14 @@ int inotifytools_watch_recursively_with_exclude(char const* path,
+
+ static struct dirent * ent;
+ char * next_file;
+- static struct stat64 my_stat;
++ static struct stat my_stat;
+ ent = readdir( dir );
+ // Watch each directory within this directory
+ while ( ent ) {
+ if ( (0 != strcmp( ent->d_name, "." )) &&
+ (0 != strcmp( ent->d_name, ".." )) ) {
+ nasprintf(&next_file,"%s%s", my_path, ent->d_name);
+- if ( -1 == lstat64( next_file, &my_stat ) ) {
++ if ( -1 == lstat( next_file, &my_stat ) ) {
+ error = errno;
+ free( next_file );
+ if ( errno != EACCES ) {
+@@ -1840,9 +1840,9 @@ int inotifytools_error() {
+ * @internal
+ */
+ static int isdir( char const * path ) {
+- static struct stat64 my_stat;
++ static struct stat my_stat;
+
+- if ( -1 == lstat64( path, &my_stat ) ) {
++ if ( -1 == lstat( path, &my_stat ) ) {
+ if (errno == ENOENT) return 0;
+ fprintf(stderr, "Stat failed on %s: %s\n", path, strerror(errno));
+ return 0;
+diff --git a/libinotifytools/src/inotifytools/inotify-nosys.h b/libinotifytools/src/inotifytools/inotify-nosys.h
+index 01aa45e..97166d4 100644
+--- a/libinotifytools/src/inotifytools/inotify-nosys.h
++++ b/libinotifytools/src/inotifytools/inotify-nosys.h
+@@ -13,11 +13,6 @@
+ #include <sys/syscall.h>
+ #include <unistd.h>
+
+-#ifdef __FreeBSD__
+-#define stat64 stat
+-#define lstat64 lstat
+-#endif
+-
+ /*
+ * struct inotify_event - structure read from the inotify device for each event
+ *
+diff --git a/libinotifytools/src/inotifytools/inotifytools.h b/libinotifytools/src/inotifytools/inotifytools.h
+index 49936ae..2ec4358 100644
+--- a/libinotifytools/src/inotifytools/inotifytools.h
++++ b/libinotifytools/src/inotifytools/inotifytools.h
+@@ -1,11 +1,6 @@
+ #ifndef _inotifytools_H
+ #define _inotifytools_H
+
+-#ifdef __FreeBSD__
+-#define stat64 stat
+-#define lstat64 lstat
+-#endif
+-
+ #ifdef __cplusplus
+ extern "C"
+ {
+diff --git a/src/common.c b/src/common.c
+index 5a6fda1..885286e 100644
+--- a/src/common.c
++++ b/src/common.c
+@@ -45,9 +45,9 @@ void print_event_descriptions() {
+ }
+
+ int isdir(char const *path) {
+- static struct stat64 my_stat;
++ static struct stat my_stat;
+
+- if (-1 == lstat64(path, &my_stat)) {
++ if (-1 == lstat(path, &my_stat)) {
+ if (errno == ENOENT)
+ return 0;
+ fprintf(stderr, "Stat failed on %s: %s\n", path, strerror(errno));
+diff --git a/src/common.h b/src/common.h
+index 12d3dde..7f1e34a 100644
+--- a/src/common.h
++++ b/src/common.h
+@@ -1,13 +1,9 @@
+ #ifndef COMMON_H
+ #define COMMON_H
+
+-#ifdef __FreeBSD__
+-#define stat64 stat
+-#define lstat64 lstat
+-#ifdef ENABLE_FANOTIFY
++#if defined(__FreeBSD__) && defined(ENABLE_FANOTIFY)
+ #error "FreeBSD does not support fanotify"
+ #endif
+-#endif
+
+ #include <stdbool.h>
+
diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb b/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb
new file mode 100644
index 0000000000..8a0ae17ad7
--- /dev/null
+++ b/meta-oe/recipes-support/inotify-tools/inotify-tools_3.22.6.0.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Command line tools and C library providing a simple interface to inotify"
+HOMEPAGE = "http://wiki.github.com/rvoicilas/inotify-tools"
+SECTION = "console/devel"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6"
+
+SRCREV = "c8bdbc0a2ed822fc7c67c5c3e102d89fe27fb2d0"
+
+SRC_URI = "git://github.com/${BPN}/${BPN};branch=master;protocol=https \
+ file://0002-libinotifytools-Bridge-differences-between-musl-glib.patch \
+ file://0002-configure-Add-AC_SYS_LARGEFILE-autoconf-macro.patch \
+ file://0003-replace-stat64-lstat64-with-stat-lstat.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-doxygen"
+
+# workaround until glibc 2.35 is fixed for this [1]
+# [1] https://sourceware.org/pipermail/libc-alpha/2021-December/134215.html
+CFLAGS += "-Wno-error"
+
+PACKAGES =+ "libinotifytools"
+
+FILES:libinotifytools = "${libdir}/lib*.so.*"
diff --git a/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb b/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb
deleted file mode 100644
index 8206590a86..0000000000
--- a/meta-oe/recipes-support/inotify-tools/inotify-tools_git.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Command line tools and C library providing a simple interface to inotify"
-AUTHOR = "Rohan McGovern <rohan@mcgovern.id.au>"
-HOMEPAGE = "http://wiki.github.com/rvoicilas/inotify-tools"
-SECTION = "console/devel"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ac6c26e52aea428ee7f56dc2c56424c6"
-
-SRCREV = "98e8dfa47eb6a6ba52e35de55d2de21b274a4af8"
-PV = "3.20.11.0"
-
-SRC_URI = "git://github.com/rvoicilas/${BPN}"
-
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-EXTRA_OECONF = "--disable-doxygen"
-
-PACKAGES =+ "libinotifytools"
-
-FILES_libinotifytools = "${libdir}/lib*.so.*"
diff --git a/meta-oe/recipes-support/joe/joe_4.6.bb b/meta-oe/recipes-support/joe/joe_4.6.bb
index 674736a68a..ed0bf337b5 100644
--- a/meta-oe/recipes-support/joe/joe_4.6.bb
+++ b/meta-oe/recipes-support/joe/joe_4.6.bb
@@ -1,7 +1,7 @@
SECTION = "console/utils"
SUMMARY = "Console text editor with good functionality, good choice for vi-haters"
HOMEPAGE = "http://joe-editor.sourceforge.net/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz"
diff --git a/meta-oe/recipes-support/lcms/lcms_2.12.bb b/meta-oe/recipes-support/lcms/lcms_2.12.bb
deleted file mode 100644
index f07b881a76..0000000000
--- a/meta-oe/recipes-support/lcms/lcms_2.12.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
-SECTION = "libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ac638b4bc6b67582a11379cfbaeb93dd"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
-SRC_URI[md5sum] = "8cb583c8447461896320b43ea9a688e0"
-SRC_URI[sha256sum] = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5"
-
-DEPENDS = "tiff"
-
-BBCLASSEXTEND = "native"
-
-S = "${WORKDIR}/lcms2-${PV}"
-
-inherit autotools
diff --git a/meta-oe/recipes-support/lcms/lcms_2.16.bb b/meta-oe/recipes-support/lcms/lcms_2.16.bb
new file mode 100644
index 0000000000..8135f83a05
--- /dev/null
+++ b/meta-oe/recipes-support/lcms/lcms_2.16.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e9ce323c4b71c943a785db90142b228a"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
+SRC_URI[sha256sum] = "d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51"
+
+DEPENDS = "tiff"
+
+BBCLASSEXTEND = "native nativesdk"
+
+S = "${WORKDIR}/lcms2-${PV}"
+
+inherit autotools
+
+CVE_PRODUCT += "littlecms:little_cms_color_engine"
diff --git a/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch b/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch
deleted file mode 100644
index 9ac0770f96..0000000000
--- a/meta-oe/recipes-support/lcov/files/0001-geninfo-Add-intermediate-text-format-support.patch
+++ /dev/null
@@ -1,898 +0,0 @@
-From ec3e1f411c332cbc2f2bc7ab7e2175ebf918b37a Mon Sep 17 00:00:00 2001
-From: Peter Oberparleiter <oberpar@linux.ibm.com>
-Date: Fri, 24 May 2019 16:56:52 +0200
-Subject: [PATCH 1/2] geninfo: Add intermediate text format support
-
-This change adds support for parsing the output of gcov's intermediate
-text file format as implemented by GCC versions 5 to 8. The use of the
-gcov intermediate format should increase processing speed. It also
-provides branch coverage data when using the --initial command line
-option.
-
-Users can control whether geninfo uses the intermediate format via the
-geninfo_intermediate configuration file option. Valid values are:
-
- 0: Use normal text format
- 1: Use intermediate format
- auto: Use intermediate format if available. This is the default.
-
-Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
----
- bin/geninfo | 567 ++++++++++++++++++++++++++++++++++++++++++++-------
- lcovrc | 3 +
- man/lcovrc.5 | 24 +++
- 3 files changed, 521 insertions(+), 73 deletions(-)
-
-Upstream-Status: Backport
-Download URL: https://github.com/linux-test-project/lcov/commit/ebfeb3e179e450c69c3532f98cd5ea1fbf6ccba7
-
-diff --git a/bin/geninfo b/bin/geninfo
-index f41eaec..0276666 100755
---- a/bin/geninfo
-+++ b/bin/geninfo
-@@ -54,6 +54,8 @@ use warnings;
- use File::Basename;
- use File::Spec::Functions qw /abs2rel catdir file_name_is_absolute splitdir
- splitpath catpath/;
-+use File::Temp qw(tempfile tempdir);
-+use File::Copy qw(copy);
- use Getopt::Long;
- use Digest::MD5 qw(md5_base64);
- use Cwd qw/abs_path/;
-@@ -163,13 +165,13 @@ sub solve_relative_path($$);
- sub read_gcov_header($);
- sub read_gcov_file($);
- sub info(@);
-+sub process_intermediate($$$);
- sub map_llvm_version($);
- sub version_to_str($);
- sub get_gcov_version();
- sub system_no_output($@);
- sub read_config($);
- sub apply_config($);
--sub get_exclusion_data($);
- sub apply_exclusion_data($$);
- sub process_graphfile($$);
- sub filter_fn_name($);
-@@ -264,6 +266,8 @@ our $gcno_split_crc;
- our $func_coverage = 1;
- our $br_coverage = 0;
- our $rc_auto_base = 1;
-+our $rc_intermediate = "auto";
-+our $intermediate;
- our $excl_line = "LCOV_EXCL_LINE";
- our $excl_br_line = "LCOV_EXCL_BR_LINE";
-
-@@ -331,6 +335,7 @@ if ($config || %opt_rc)
- "geninfo_compat" => \$opt_compat,
- "geninfo_adjust_src_path" => \$rc_adjust_src_path,
- "geninfo_auto_base" => \$rc_auto_base,
-+ "geninfo_intermediate" => \$rc_intermediate,
- "lcov_function_coverage" => \$func_coverage,
- "lcov_branch_coverage" => \$br_coverage,
- "lcov_excl_line" => \$excl_line,
-@@ -460,15 +465,38 @@ if (system_no_output(3, $gcov_tool, "--help") == -1)
- }
-
- ($gcov_version, $gcov_version_string) = get_gcov_version();
-+$gcov_caps = get_gcov_capabilities();
-+
-+# Determine intermediate mode
-+if ($rc_intermediate eq "0") {
-+ $intermediate = 0;
-+} elsif ($rc_intermediate eq "1") {
-+ $intermediate = 1;
-+} elsif (lc($rc_intermediate) eq "auto") {
-+ # Use intermediate format if supported by gcov
-+ $intermediate = $gcov_caps->{'intermediate-format'} ? 1 : 0;
-+} else {
-+ die("ERROR: invalid value for geninfo_intermediate: ".
-+ "'$rc_intermediate'\n");
-+}
-+
-+if ($intermediate) {
-+ info("Using intermediate gcov format\n");
-+ if ($opt_derive_func_data) {
-+ warn("WARNING: --derive-func-data is not compatible with ".
-+ "intermediate format - ignoring\n");
-+ $opt_derive_func_data = 0;
-+ }
-+}
-
- # Determine gcov options
--$gcov_caps = get_gcov_capabilities();
- push(@gcov_options, "-b") if ($gcov_caps->{'branch-probabilities'} &&
- ($br_coverage || $func_coverage));
- push(@gcov_options, "-c") if ($gcov_caps->{'branch-counts'} &&
- $br_coverage);
- push(@gcov_options, "-a") if ($gcov_caps->{'all-blocks'} &&
-- $opt_gcov_all_blocks && $br_coverage);
-+ $opt_gcov_all_blocks && $br_coverage &&
-+ !$intermediate);
- if ($gcov_caps->{'hash-filenames'})
- {
- push(@gcov_options, "-x");
-@@ -599,7 +627,7 @@ foreach my $entry (@data_directory) {
- gen_info($entry);
- }
-
--if ($initial && $br_coverage) {
-+if ($initial && $br_coverage && !$intermediate) {
- warn("Note: --initial does not generate branch coverage ".
- "data\n");
- }
-@@ -768,6 +796,7 @@ sub gen_info($)
- my $prefix;
- my $type;
- my $ext;
-+ my $tempdir;
-
- if ($initial) {
- $type = "graph";
-@@ -798,16 +827,22 @@ sub gen_info($)
- $prefix = "";
- }
-
-+ $tempdir = tempdir(CLEANUP => 1);
-+
- # Process all files in list
- foreach $file (@file_list) {
- # Process file
-- if ($initial) {
-+ if ($intermediate) {
-+ process_intermediate($file, $prefix, $tempdir);
-+ } elsif ($initial) {
- process_graphfile($file, $prefix);
- } else {
- process_dafile($file, $prefix);
- }
- }
-
-+ unlink($tempdir);
-+
- # Report whether files were excluded.
- if (%excluded_files) {
- info("Excluded data for %d files due to include/exclude options\n",
-@@ -1058,10 +1093,12 @@ sub process_dafile($$)
-
- # Try to find base directory automatically if requested by user
- if ($rc_auto_base) {
-- $base_dir = find_base_from_graph($base_dir, $instr, $graph);
-+ $base_dir = find_base_from_source($base_dir,
-+ [ keys(%{$instr}), keys(%{$graph}) ]);
- }
-
-- ($instr, $graph) = adjust_graph_filenames($base_dir, $instr, $graph);
-+ adjust_source_filenames($instr, $base_dir);
-+ adjust_source_filenames($graph, $base_dir);
-
- # Set $object_dir to real location of object files. This may differ
- # from $da_dir if the graph file is just a link to the "real" object
-@@ -2017,6 +2054,299 @@ sub read_gcov_file($)
- }
-
-
-+#
-+# read_intermediate_text(gcov_filename, data)
-+#
-+# Read gcov intermediate text format in GCOV_FILENAME and add the resulting
-+# data to DATA in the following format:
-+#
-+# data: source_filename -> file_data
-+# file_data: concatenated lines of intermediate text data
-+#
-+
-+sub read_intermediate_text($$)
-+{
-+ my ($gcov_filename, $data) = @_;
-+ my $fd;
-+ my $filename;
-+
-+ open($fd, "<", $gcov_filename) or
-+ die("ERROR: Could not read $gcov_filename: $!\n");
-+ while (my $line = <$fd>) {
-+ if ($line =~ /^file:(.*)$/) {
-+ $filename = $1;
-+ chomp($filename);
-+ } elsif (defined($filename)) {
-+ $data->{$filename} .= $line;
-+ }
-+ }
-+ close($fd);
-+}
-+
-+
-+#
-+# intermediate_text_to_info(fd, data, srcdata)
-+#
-+# Write DATA in info format to file descriptor FD.
-+#
-+# data: filename -> file_data:
-+# file_data: concatenated lines of intermediate text data
-+#
-+# srcdata: filename -> [ excl, brexcl, checksums ]
-+# excl: lineno -> 1 for all lines for which to exclude all data
-+# brexcl: lineno -> 1 for all lines for which to exclude branch data
-+# checksums: lineno -> source code checksum
-+#
-+# Note: To simplify processing, gcov data is not combined here, that is counts
-+# that appear multiple times for the same lines/branches are not added.
-+# This is done by lcov/genhtml when reading the data files.
-+#
-+
-+sub intermediate_text_to_info($$$)
-+{
-+ my ($fd, $data, $srcdata) = @_;
-+ my $branch_num = 0;
-+ my $c;
-+
-+ return if (!%{$data});
-+
-+ print($fd "TN:$test_name\n");
-+ for my $filename (keys(%{$data})) {
-+ my ($excl, $brexcl, $checksums);
-+
-+ if (defined($srcdata->{$filename})) {
-+ ($excl, $brexcl, $checksums) = @{$srcdata->{$filename}};
-+ }
-+
-+ print($fd "SF:$filename\n");
-+ for my $line (split(/\n/, $data->{$filename})) {
-+ if ($line =~ /^lcount:(\d+),(\d+),?/) {
-+ # lcount:<line>,<count>
-+ # lcount:<line>,<count>,<has_unexecuted_blocks>
-+ if ($checksum && exists($checksums->{$1})) {
-+ $c = ",".$checksums->{$1};
-+ } else {
-+ $c = "";
-+ }
-+ print($fd "DA:$1,$2$c\n") if (!$excl->{$1});
-+
-+ # Intermediate text format does not provide
-+ # branch numbers, and the same branch may appear
-+ # multiple times on the same line (e.g. in
-+ # template instances). Synthesize a branch
-+ # number based on the assumptions:
-+ # a) the order of branches is fixed across
-+ # instances
-+ # b) an instance starts with an lcount line
-+ $branch_num = 0;
-+ } elsif ($line =~ /^function:(\d+),(\d+),([^,]+)$/) {
-+ next if (!$func_coverage || $excl->{$1});
-+
-+ # function:<line>,<count>,<name>
-+ print($fd "FN:$1,$3\n");
-+ print($fd "FNDA:$2,$3\n");
-+ } elsif ($line =~ /^function:(\d+),\d+,(\d+),([^,]+)$/) {
-+ next if (!$func_coverage || $excl->{$1});
-+
-+ # function:<start_line>,<end_line>,<count>,
-+ # <name>
-+ print($fd "FN:$1,$3\n");
-+ print($fd "FNDA:$2,$3\n");
-+ } elsif ($line =~ /^branch:(\d+),(taken|nottaken|notexec)/) {
-+ next if (!$br_coverage || $excl->{$1} ||
-+ $brexcl->{$1});
-+
-+ # branch:<line>,taken|nottaken|notexec
-+ if ($2 eq "taken") {
-+ $c = 1;
-+ } elsif ($2 eq "nottaken") {
-+ $c = 0;
-+ } else {
-+ $c = "-";
-+ }
-+ print($fd "BRDA:$1,0,$branch_num,$c\n");
-+ $branch_num++;
-+ }
-+ }
-+ print($fd "end_of_record\n");
-+ }
-+}
-+
-+
-+sub get_output_fd($$)
-+{
-+ my ($outfile, $file) = @_;
-+ my $fd;
-+
-+ if (!defined($outfile)) {
-+ open($fd, ">", "$file.info") or
-+ die("ERROR: Cannot create file $file.info: $!\n");
-+ } elsif ($outfile eq "-") {
-+ open($fd, ">&STDOUT") or
-+ die("ERROR: Cannot duplicate stdout: $!\n");
-+ } else {
-+ open($fd, ">>", $outfile) or
-+ die("ERROR: Cannot write to file $outfile: $!\n");
-+ }
-+
-+ return $fd;
-+}
-+
-+
-+#
-+# print_gcov_warnings(stderr_file, is_graph, map)
-+#
-+# Print GCOV warnings in file STDERR_FILE to STDERR. If IS_GRAPH is non-zero,
-+# suppress warnings about missing as these are expected. Replace keys found
-+# in MAP with their values.
-+#
-+
-+sub print_gcov_warnings($$$)
-+{
-+ my ($stderr_file, $is_graph, $map) = @_;
-+ my $fd;
-+
-+ if (!open($fd, "<", $stderr_file)) {
-+ warn("WARNING: Could not open GCOV stderr file ".
-+ "$stderr_file: $!\n");
-+ return;
-+ }
-+ while (my $line = <$fd>) {
-+ next if ($is_graph && $line =~ /cannot open data file/);
-+
-+ for my $key (keys(%{$map})) {
-+ $line =~ s/\Q$key\E/$map->{$key}/g;
-+ }
-+
-+ print(STDERR $line);
-+ }
-+ close($fd);
-+}
-+
-+
-+#
-+# process_intermediate(file, dir, tempdir)
-+#
-+# Create output for a single file (either a data file or a graph file) using
-+# gcov's intermediate option.
-+#
-+
-+sub process_intermediate($$$)
-+{
-+ my ($file, $dir, $tempdir) = @_;
-+ my ($fdir, $fbase, $fext);
-+ my $data_file;
-+ my $errmsg;
-+ my %data;
-+ my $fd;
-+ my $base;
-+ my $srcdata;
-+ my $is_graph = 0;
-+ my ($out, $err, $rc);
-+
-+ info("Processing %s\n", abs2rel($file, $dir));
-+
-+ $file = solve_relative_path($cwd, $file);
-+ ($fdir, $fbase, $fext) = split_filename($file);
-+
-+ $is_graph = 1 if (".$fext" eq $graph_file_extension);
-+
-+ if ($is_graph) {
-+ # Process graph file - copy to temp directory to prevent
-+ # accidental processing of associated data file
-+ $data_file = "$tempdir/$fbase$graph_file_extension";
-+ if (!copy($file, $data_file)) {
-+ $errmsg = "ERROR: Could not copy file $file";
-+ goto err;
-+ }
-+ } else {
-+ # Process data file in place
-+ $data_file = $file;
-+ }
-+
-+ # Change directory
-+ if (!chdir($tempdir)) {
-+ $errmsg = "Could not change to directory $tempdir: $!";
-+ goto err;
-+ }
-+
-+ # Run gcov on data file
-+ ($out, $err, $rc) = system_no_output(1 + 2 + 4, $gcov_tool,
-+ $data_file, @gcov_options, "-i");
-+ defined($out) && unlink($out);
-+ if (defined($err)) {
-+ print_gcov_warnings($err, $is_graph, {
-+ $data_file => $file,
-+ });
-+ unlink($err);
-+ }
-+ if ($rc) {
-+ $errmsg = "GCOV failed for $file";
-+ goto err;
-+ }
-+
-+ if ($is_graph) {
-+ # Remove graph file copy
-+ unlink($data_file);
-+ }
-+
-+ # Parse resulting file(s)
-+ for my $gcov_filename (glob("*.gcov")) {
-+ read_intermediate_text($gcov_filename, \%data);
-+ unlink($gcov_filename);
-+ }
-+
-+ if (!%data) {
-+ warn("WARNING: GCOV did not produce any data for $file\n");
-+ return;
-+ }
-+
-+ # Determine base directory
-+ if (defined($base_directory)) {
-+ $base = $base_directory;
-+ } else {
-+ $base = $fdir;
-+
-+ if (is_compat($COMPAT_MODE_LIBTOOL)) {
-+ # Avoid files from .libs dirs
-+ $base =~ s/\.libs$//;
-+ }
-+
-+ # Try to find base directory automatically if requested by user
-+ if ($rc_auto_base) {
-+ $base = find_base_from_source($base, [ keys(%data) ]);
-+ }
-+ }
-+
-+ # Apply base file name to relative source files
-+ adjust_source_filenames(\%data, $base);
-+
-+ # Remove excluded source files
-+ filter_source_files(\%data);
-+
-+ # Get data on exclusion markers and checksums if requested
-+ if (!$no_markers || $checksum) {
-+ $srcdata = get_all_source_data(keys(%data));
-+ }
-+
-+ # Generate output
-+ $fd = get_output_fd($output_filename, $file);
-+ intermediate_text_to_info($fd, \%data, $srcdata);
-+ close($fd);
-+
-+ chdir($cwd);
-+
-+ return;
-+
-+err:
-+ if ($ignore[$ERROR_GCOV]) {
-+ warn("WARNING: $errmsg!\n");
-+ } else {
-+ die("ERROR: $errmsg!\n")
-+ }
-+}
-+
-+
- # Map LLVM versions to the version of GCC gcov which they emulate.
-
- sub map_llvm_version($)
-@@ -2151,8 +2481,12 @@ sub int_handler()
- #
- # MODE & 1: suppress STDOUT
- # MODE & 2: suppress STDERR
-+# MODE & 4: redirect to temporary files instead of suppressing
- #
--# Return 0 on success, non-zero otherwise.
-+# Return (stdout, stderr, rc):
-+# stdout: path to tempfile containing stdout or undef
-+# stderr: path to tempfile containing stderr or undef
-+# 0 on success, non-zero otherwise
- #
-
- sub system_no_output($@)
-@@ -2161,14 +2495,31 @@ sub system_no_output($@)
- my $result;
- local *OLD_STDERR;
- local *OLD_STDOUT;
-+ my $stdout_file;
-+ my $stderr_file;
-+ my $fd;
-
- # Save old stdout and stderr handles
- ($mode & 1) && open(OLD_STDOUT, ">>&", "STDOUT");
- ($mode & 2) && open(OLD_STDERR, ">>&", "STDERR");
-
-- # Redirect to /dev/null
-- ($mode & 1) && open(STDOUT, ">", "/dev/null");
-- ($mode & 2) && open(STDERR, ">", "/dev/null");
-+ if ($mode & 4) {
-+ # Redirect to temporary files
-+ if ($mode & 1) {
-+ ($fd, $stdout_file) = tempfile(UNLINK => 1);
-+ open(STDOUT, ">", $stdout_file) || warn("$!\n");
-+ close($fd);
-+ }
-+ if ($mode & 2) {
-+ ($fd, $stderr_file) = tempfile(UNLINK => 1);
-+ open(STDERR, ">", $stderr_file) || warn("$!\n");
-+ close($fd);
-+ }
-+ } else {
-+ # Redirect to /dev/null
-+ ($mode & 1) && open(STDOUT, ">", "/dev/null");
-+ ($mode & 2) && open(STDERR, ">", "/dev/null");
-+ }
-
- debug("system(".join(' ', @_).")\n");
- system(@_);
-@@ -2181,8 +2532,18 @@ sub system_no_output($@)
- # Restore old handles
- ($mode & 1) && open(STDOUT, ">>&", "OLD_STDOUT");
- ($mode & 2) && open(STDERR, ">>&", "OLD_STDERR");
-+
-+ # Remove empty output files
-+ if (defined($stdout_file) && -z $stdout_file) {
-+ unlink($stdout_file);
-+ $stdout_file = undef;
-+ }
-+ if (defined($stderr_file) && -z $stderr_file) {
-+ unlink($stderr_file);
-+ $stderr_file = undef;
-+ }
-
-- return $result;
-+ return ($stdout_file, $stderr_file, $result);
- }
-
-
-@@ -2260,23 +2621,28 @@ sub apply_config($)
-
-
- #
--# get_exclusion_data(filename)
-+# get_source_data(filename)
- #
--# Scan specified source code file for exclusion markers and return
--# linenumber -> 1
--# for all lines which should be excluded.
-+# Scan specified source code file for exclusion markers and checksums. Return
-+# ( excl, brexcl, checksums ) where
-+# excl: lineno -> 1 for all lines for which to exclude all data
-+# brexcl: lineno -> 1 for all lines for which to exclude branch data
-+# checksums: lineno -> source code checksum
- #
-
--sub get_exclusion_data($)
-+sub get_source_data($)
- {
- my ($filename) = @_;
- my %list;
- my $flag = 0;
-+ my %brdata;
-+ my $brflag = 0;
-+ my %checksums;
- local *HANDLE;
-
- if (!open(HANDLE, "<", $filename)) {
- warn("WARNING: could not open $filename\n");
-- return undef;
-+ return;
- }
- while (<HANDLE>) {
- if (/$EXCL_STOP/) {
-@@ -2287,14 +2653,62 @@ sub get_exclusion_data($)
- if (/$excl_line/ || $flag) {
- $list{$.} = 1;
- }
-+ if (/$EXCL_BR_STOP/) {
-+ $brflag = 0;
-+ } elsif (/$EXCL_BR_START/) {
-+ $brflag = 1;
-+ }
-+ if (/$excl_br_line/ || $brflag) {
-+ $brdata{$.} = 1;
-+ }
-+ if ($checksum) {
-+ chomp();
-+ $checksums{$.} = md5_base64($_);
-+ }
- }
- close(HANDLE);
-
-- if ($flag) {
-+ if ($flag || $brflag) {
- warn("WARNING: unterminated exclusion section in $filename\n");
- }
-
-- return \%list;
-+ return (\%list, \%brdata, \%checksums);
-+}
-+
-+
-+#
-+# get_all_source_data(filenames)
-+#
-+# Scan specified source code files for exclusion markers and return
-+# filename -> [ excl, brexcl, checksums ]
-+# excl: lineno -> 1 for all lines for which to exclude all data
-+# brexcl: lineno -> 1 for all lines for which to exclude branch data
-+# checksums: lineno -> source code checksum
-+#
-+
-+sub get_all_source_data(@)
-+{
-+ my @filenames = @_;
-+ my %data;
-+ my $failed = 0;
-+
-+ for my $filename (@filenames) {
-+ my @d;
-+ next if (exists($data{$filename}));
-+
-+ @d = get_source_data($filename);
-+ if (@d) {
-+ $data{$filename} = [ @d ];
-+ } else {
-+ $failed = 1;
-+ }
-+ }
-+
-+ if ($failed) {
-+ warn("WARNING: some exclusion markers may be ignored\n");
-+ }
-+
-+ return \%data;
- }
-
-
-@@ -2318,35 +2732,17 @@ sub apply_exclusion_data($$)
- {
- my ($instr, $graph) = @_;
- my $filename;
-- my %excl_data;
-- my $excl_read_failed = 0;
-+ my $excl_data;
-
-- # Collect exclusion marker data
-- foreach $filename (sort_uniq_lex(keys(%{$graph}), keys(%{$instr}))) {
-- my $excl = get_exclusion_data($filename);
--
-- # Skip and note if file could not be read
-- if (!defined($excl)) {
-- $excl_read_failed = 1;
-- next;
-- }
--
-- # Add to collection if there are markers
-- $excl_data{$filename} = $excl if (keys(%{$excl}) > 0);
-- }
--
-- # Warn if not all source files could be read
-- if ($excl_read_failed) {
-- warn("WARNING: some exclusion markers may be ignored\n");
-- }
-+ ($excl_data) = get_all_source_data(keys(%{$graph}), keys(%{$instr}));
-
- # Skip if no markers were found
-- return ($instr, $graph) if (keys(%excl_data) == 0);
-+ return ($instr, $graph) if (!%$excl_data);
-
- # Apply exclusion marker data to graph
-- foreach $filename (keys(%excl_data)) {
-+ foreach $filename (keys(%$excl_data)) {
- my $function_data = $graph->{$filename};
-- my $excl = $excl_data{$filename};
-+ my $excl = $excl_data->{$filename}->[0];
- my $function;
-
- next if (!defined($function_data));
-@@ -2384,9 +2780,9 @@ sub apply_exclusion_data($$)
- }
-
- # Apply exclusion marker data to instr
-- foreach $filename (keys(%excl_data)) {
-+ foreach $filename (keys(%$excl_data)) {
- my $line_data = $instr->{$filename};
-- my $excl = $excl_data{$filename};
-+ my $excl = $excl_data->{$filename}->[0];
- my $line;
- my @new_data;
-
-@@ -2468,10 +2864,12 @@ sub process_graphfile($$)
-
- # Try to find base directory automatically if requested by user
- if ($rc_auto_base) {
-- $base_dir = find_base_from_graph($base_dir, $instr, $graph);
-+ $base_dir = find_base_from_source($base_dir,
-+ [ keys(%{$instr}), keys(%{$graph}) ]);
- }
-
-- ($instr, $graph) = adjust_graph_filenames($base_dir, $instr, $graph);
-+ adjust_source_filenames($instr, $base_dir);
-+ adjust_source_filenames($graph, $base_dir);
-
- if (!$no_markers) {
- # Apply exclusion marker data to graph file data
-@@ -2767,11 +3165,11 @@ sub parent_dir($)
- }
-
- #
--# find_base_from_graph(base_dir, instr, graph)
-+# find_base_from_source(base_dir, source_files)
- #
--# Try to determine the base directory of the graph file specified by INSTR
--# and GRAPH. The base directory is the base for all relative filenames in
--# the graph file. It is defined by the current working directory at time
-+# Try to determine the base directory of the object file built from
-+# SOURCE_FILES. The base directory is the base for all relative filenames in
-+# the gcov data. It is defined by the current working directory at time
- # of compiling the source file.
- #
- # This function implements a heuristic which relies on the following
-@@ -2781,16 +3179,16 @@ sub parent_dir($)
- # - files by the same name are not present in multiple parent directories
- #
-
--sub find_base_from_graph($$$)
-+sub find_base_from_source($$)
- {
-- my ($base_dir, $instr, $graph) = @_;
-+ my ($base_dir, $source_files) = @_;
- my $old_base;
- my $best_miss;
- my $best_base;
- my %rel_files;
-
- # Determine list of relative paths
-- foreach my $filename (keys(%{$instr}), keys(%{$graph})) {
-+ foreach my $filename (@$source_files) {
- next if (file_name_is_absolute($filename));
-
- $rel_files{$filename} = 1;
-@@ -2829,17 +3227,17 @@ sub find_base_from_graph($$$)
- }
-
- #
--# adjust_graph_filenames(base_dir, instr, graph)
-+# adjust_source_filenames(hash, base_dir)
- #
--# Make relative paths in INSTR and GRAPH absolute and apply
--# geninfo_adjust_src_path setting to graph file data.
-+# Transform all keys of HASH to absolute form and apply requested
-+# transformations.
- #
-
--sub adjust_graph_filenames($$$)
-+sub adjust_source_filenames($$$)
- {
-- my ($base_dir, $instr, $graph) = @_;
-+ my ($hash, $base_dir) = @_;
-
-- foreach my $filename (keys(%{$instr})) {
-+ foreach my $filename (keys(%{$hash})) {
- my $old_filename = $filename;
-
- # Convert to absolute canonical form
-@@ -2851,28 +3249,50 @@ sub adjust_graph_filenames($$$)
- }
-
- if ($filename ne $old_filename) {
-- $instr->{$filename} = delete($instr->{$old_filename});
-+ $hash->{$filename} = delete($hash->{$old_filename});
- }
- }
-+}
-
-- foreach my $filename (keys(%{$graph})) {
-- my $old_filename = $filename;
-
-- # Make absolute
-- # Convert to absolute canonical form
-- $filename = solve_relative_path($base_dir, $filename);
-+#
-+# filter_source_files(hash)
-+#
-+# Remove unwanted source file data from HASH.
-+#
-
-- # Apply adjustment
-- if (defined($adjust_src_pattern)) {
-- $filename =~ s/$adjust_src_pattern/$adjust_src_replace/g;
-+sub filter_source_files($)
-+{
-+ my ($hash) = @_;
-+
-+ foreach my $filename (keys(%{$hash})) {
-+ # Skip external files if requested
-+ goto del if (!$opt_external && is_external($filename));
-+
-+ # Apply include patterns
-+ if (@include_patterns) {
-+ my $keep;
-+
-+ foreach my $pattern (@include_patterns) {
-+ if ($filename =~ (/^$pattern$/)) {
-+ $keep = 1;
-+ last;
-+ }
-+ }
-+ goto del if (!$keep);
- }
-
-- if ($filename ne $old_filename) {
-- $graph->{$filename} = delete($graph->{$old_filename});
-+ # Apply exclude patterns
-+ foreach my $pattern (@exclude_patterns) {
-+ goto del if ($filename =~ (/^$pattern$/));
- }
-- }
-+ next;
-
-- return ($instr, $graph);
-+del:
-+ # Remove file data
-+ delete($hash->{$filename});
-+ $excluded_files{$filename} = 1;
-+ }
- }
-
- #
-@@ -3784,6 +4204,7 @@ sub get_gcov_capabilities()
- 'c' => 'branch-counts',
- 'f' => 'function-summaries',
- 'h' => 'help',
-+ 'i' => 'intermediate-format',
- 'l' => 'long-file-names',
- 'n' => 'no-output',
- 'o' => 'object-directory',
-diff --git a/lcovrc b/lcovrc
-index 40f364f..bd4bc3b 100644
---- a/lcovrc
-+++ b/lcovrc
-@@ -134,6 +134,9 @@ genhtml_desc_html=0
- # when collecting coverage data.
- geninfo_auto_base = 1
-
-+# Use gcov intermediate format? Valid values are 0, 1, auto
-+geninfo_intermediate = auto
-+
- # Directory containing gcov kernel files
- # lcov_gcov_dir = /proc/gcov
-
-diff --git a/man/lcovrc.5 b/man/lcovrc.5
-index f20d273..bf0ce7a 100644
---- a/man/lcovrc.5
-+++ b/man/lcovrc.5
-@@ -223,6 +223,11 @@ geninfo_compat_libtool = 0
- geninfo_auto_base = 1
- .br
-
-+# Use gcov intermediate format? Valid values are 0, 1, auto
-+.br
-+geninfo_intermediate = auto
-+.br
-+
- # Directory containing gcov kernel files
- .br
- lcov_gcov_dir = /proc/gcov
-@@ -789,6 +794,25 @@ located, and in addition, is different between files of the same project.
- Default is 1.
- .PP
-
-+.BR geninfo_intermediate " ="
-+.IR 0 | 1 | auto
-+.IP
-+Specify whether to use gcov intermediate format
-+.br
-+
-+Use this option to control whether geninfo should use the gcov intermediate
-+format while collecting coverage data. The use of the gcov intermediate format
-+should increase processing speed. It also provides branch coverage data when
-+using the \-\-initial command line option.
-+.br
-+
-+Valid values are 0 for off, 1 for on, and "auto" to let geninfo automatically
-+use immediate format when supported by gcov.
-+.br
-+
-+Default is "auto".
-+.PP
-+
- .BR lcov_gcov_dir " ="
- .I path_to_kernel_coverage_data
- .IP
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch b/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch
deleted file mode 100644
index 7b180635cd..0000000000
--- a/meta-oe/recipes-support/lcov/files/0002-geninfo-Add-intermediate-JSON-format-support.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From e13b2b6f8443da660cafa0679c3b16240843ce9f Mon Sep 17 00:00:00 2001
-From: Peter Oberparleiter <oberpar@linux.ibm.com>
-Date: Fri, 24 May 2019 17:16:56 +0200
-Subject: [PATCH 2/2] geninfo: Add intermediate JSON format support
-
-This change adds support for parsing the output of gcov's intermediate
-JSON file format as implemented by GCC version 9.
-
-Note: The way that the intermediate file format support is implemented
-in geninfo removes the need to parse .gcno files directly. Since geninfo
-does not include support for parsing GCC 9 .gcno files, using the
-intermediate format is the only option for geninfo to collect coverage
-data generated by GCC version 9.
-
-Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
----
- bin/geninfo | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 160 insertions(+), 2 deletions(-)
-
-Upstream-Status: Backport
-Download URL: https://github.com/linux-test-project/lcov/commit/75fbae1cfc5027f818a0bb865bf6f96fab3202da
-
-diff --git a/bin/geninfo b/bin/geninfo
-index 0276666..cceb782 100755
---- a/bin/geninfo
-+++ b/bin/geninfo
-@@ -59,6 +59,9 @@ use File::Copy qw(copy);
- use Getopt::Long;
- use Digest::MD5 qw(md5_base64);
- use Cwd qw/abs_path/;
-+use PerlIO::gzip;
-+use JSON qw(decode_json);
-+
- if( $^O eq "msys" )
- {
- require File::Spec::Win32;
-@@ -474,7 +477,8 @@ if ($rc_intermediate eq "0") {
- $intermediate = 1;
- } elsif (lc($rc_intermediate) eq "auto") {
- # Use intermediate format if supported by gcov
-- $intermediate = $gcov_caps->{'intermediate-format'} ? 1 : 0;
-+ $intermediate = ($gcov_caps->{'intermediate-format'} ||
-+ $gcov_caps->{'json-format'}) ? 1 : 0;
- } else {
- die("ERROR: invalid value for geninfo_intermediate: ".
- "'$rc_intermediate'\n");
-@@ -2084,6 +2088,48 @@ sub read_intermediate_text($$)
- }
-
-
-+#
-+# read_intermediate_json(gcov_filename, data, basedir_ref)
-+#
-+# Read gcov intermediate JSON format in GCOV_FILENAME and add the resulting
-+# data to DATA in the following format:
-+#
-+# data: source_filename -> file_data
-+# file_data: GCOV JSON data for file
-+#
-+# Also store the value for current_working_directory to BASEDIR_REF.
-+#
-+
-+sub read_intermediate_json($$$)
-+{
-+ my ($gcov_filename, $data, $basedir_ref) = @_;
-+ my $fd;
-+ my $text;
-+ my $json;
-+
-+ open($fd, "<:gzip", $gcov_filename) or
-+ die("ERROR: Could not read $gcov_filename: $!\n");
-+ local $/;
-+ $text = <$fd>;
-+ close($fd);
-+
-+ $json = decode_json($text);
-+ if (!defined($json) || !exists($json->{"files"}) ||
-+ ref($json->{"files"} ne "ARRAY")) {
-+ die("ERROR: Unrecognized JSON output format in ".
-+ "$gcov_filename\n");
-+ }
-+
-+ $$basedir_ref = $json->{"current_working_directory"};
-+
-+ for my $file (@{$json->{"files"}}) {
-+ my $filename = $file->{"file"};
-+
-+ $data->{$filename} = $file;
-+ }
-+}
-+
-+
- #
- # intermediate_text_to_info(fd, data, srcdata)
- #
-@@ -2173,6 +2219,104 @@ sub intermediate_text_to_info($$$)
- }
-
-
-+#
-+# intermediate_json_to_info(fd, data, srcdata)
-+#
-+# Write DATA in info format to file descriptor FD.
-+#
-+# data: filename -> file_data:
-+# file_data: GCOV JSON data for file
-+#
-+# srcdata: filename -> [ excl, brexcl, checksums ]
-+# excl: lineno -> 1 for all lines for which to exclude all data
-+# brexcl: lineno -> 1 for all lines for which to exclude branch data
-+# checksums: lineno -> source code checksum
-+#
-+# Note: To simplify processing, gcov data is not combined here, that is counts
-+# that appear multiple times for the same lines/branches are not added.
-+# This is done by lcov/genhtml when reading the data files.
-+#
-+
-+sub intermediate_json_to_info($$$)
-+{
-+ my ($fd, $data, $srcdata) = @_;
-+ my $branch_num = 0;
-+
-+ return if (!%{$data});
-+
-+ print($fd "TN:$test_name\n");
-+ for my $filename (keys(%{$data})) {
-+ my ($excl, $brexcl, $checksums);
-+ my $file_data = $data->{$filename};
-+
-+ if (defined($srcdata->{$filename})) {
-+ ($excl, $brexcl, $checksums) = @{$srcdata->{$filename}};
-+ }
-+
-+ print($fd "SF:$filename\n");
-+
-+ # Function data
-+ if ($func_coverage) {
-+ for my $d (@{$file_data->{"functions"}}) {
-+ my $line = $d->{"start_line"};
-+ my $count = $d->{"execution_count"};
-+ my $name = $d->{"name"};
-+
-+ next if (!defined($line) || !defined($count) ||
-+ !defined($name) || $excl->{$line});
-+
-+ print($fd "FN:$line,$name\n");
-+ print($fd "FNDA:$count,$name\n");
-+ }
-+ }
-+
-+ # Line data
-+ for my $d (@{$file_data->{"lines"}}) {
-+ my $line = $d->{"line_number"};
-+ my $count = $d->{"count"};
-+ my $c;
-+ my $branches = $d->{"branches"};
-+ my $unexec = $d->{"unexecuted_block"};
-+
-+ next if (!defined($line) || !defined($count) ||
-+ $excl->{$line});
-+
-+ if (defined($unexec) && $unexec && $count == 0) {
-+ $unexec = 1;
-+ } else {
-+ $unexec = 0;
-+ }
-+
-+ if ($checksum && exists($checksums->{$line})) {
-+ $c = ",".$checksums->{$line};
-+ } else {
-+ $c = "";
-+ }
-+ print($fd "DA:$line,$count$c\n");
-+
-+ $branch_num = 0;
-+ # Branch data
-+ if ($br_coverage && !$brexcl->{$line}) {
-+ for my $b (@$branches) {
-+ my $brcount = $b->{"count"};
-+
-+ if (!defined($brcount) || $unexec) {
-+ $brcount = "-";
-+ }
-+ print($fd "BRDA:$line,0,$branch_num,".
-+ "$brcount\n");
-+
-+ $branch_num++;
-+ }
-+ }
-+
-+ }
-+
-+ print($fd "end_of_record\n");
-+ }
-+}
-+
-+
- sub get_output_fd($$)
- {
- my ($outfile, $file) = @_;
-@@ -2243,6 +2387,8 @@ sub process_intermediate($$$)
- my $srcdata;
- my $is_graph = 0;
- my ($out, $err, $rc);
-+ my $json_basedir;
-+ my $json_format;
-
- info("Processing %s\n", abs2rel($file, $dir));
-
-@@ -2296,6 +2442,12 @@ sub process_intermediate($$$)
- unlink($gcov_filename);
- }
-
-+ for my $gcov_filename (glob("*.gcov.json.gz")) {
-+ read_intermediate_json($gcov_filename, \%data, \$json_basedir);
-+ unlink($gcov_filename);
-+ $json_format = 1;
-+ }
-+
- if (!%data) {
- warn("WARNING: GCOV did not produce any data for $file\n");
- return;
-@@ -2304,6 +2456,8 @@ sub process_intermediate($$$)
- # Determine base directory
- if (defined($base_directory)) {
- $base = $base_directory;
-+ } elsif (defined($json_basedir)) {
-+ $base = $json_basedir;
- } else {
- $base = $fdir;
-
-@@ -2331,7 +2485,11 @@ sub process_intermediate($$$)
-
- # Generate output
- $fd = get_output_fd($output_filename, $file);
-- intermediate_text_to_info($fd, \%data, $srcdata);
-+ if ($json_format) {
-+ intermediate_json_to_info($fd, \%data, $srcdata);
-+ } else {
-+ intermediate_text_to_info($fd, \%data, $srcdata);
-+ }
- close($fd);
-
- chdir($cwd);
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/lcov/lcov_1.14.bb b/meta-oe/recipes-support/lcov/lcov_1.14.bb
deleted file mode 100755
index 0cc8b31b3f..0000000000
--- a/meta-oe/recipes-support/lcov/lcov_1.14.bb
+++ /dev/null
@@ -1,65 +0,0 @@
-SUMMARY = "A graphical front-end for gcov"
-HOMEPAGE = "http://ltp.sourceforge.net/coverage/lcov.php"
-DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \
-tool gcov. It collects gcov data for multiple source files and creates \
-HTML pages containing the source code annotated with coverage information. \
-It also adds overview pages for easy navigation within the file structure. \
-LCOV supports statement, function and branch coverage measurement."
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-RDEPENDS_${PN} += " \
- libjson-perl \
- libperlio-gzip-perl \
- perl \
- perl-module-filehandle \
- perl-module-getopt-std \
- perl-module-digest-md5 \
- perl-module-digest-sha \
- perl-module-constant \
- perl-module-cwd \
- perl-module-errno \
- perl-module-file-basename \
- perl-module-file-copy \
- perl-module-file-find \
- perl-module-file-path \
- perl-module-file-spec \
- perl-module-file-spec-functions \
- perl-module-file-spec-unix \
- perl-module-file-temp \
- perl-module-getopt-long \
- perl-module-list-util \
- perl-module-mro \
- perl-module-overload \
- perl-module-overloading \
- perl-module-overload-numbers \
- perl-module-parent \
- perl-module-pod-usage \
- perl-module-posix \
- perl-module-re \
- perl-module-safe \
- perl-module-scalar-util \
- perl-module-term-cap \
- perl-module-text-parsewords \
- perl-module-tie-hash \
-"
-
-RDEPENDS_${PN}_append_class-target = " \
- gcov \
- gcov-symlinks \
-"
-
-SRC_URI = " \
- http://downloads.sourceforge.net/ltp/${BP}.tar.gz \
- file://0001-geninfo-Add-intermediate-text-format-support.patch \
- file://0002-geninfo-Add-intermediate-JSON-format-support.patch \
- "
-
-SRC_URI[md5sum] = "0220d01753469f83921f8f41ae5054c1"
-SRC_URI[sha256sum] = "14995699187440e0ae4da57fe3a64adc0a3c5cf14feab971f8db38fb7d8f071a"
-
-do_install() {
- oe_runmake install PREFIX=${D}${prefix} CFG_DIR=${D}${sysconfdir}
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/lcov/lcov_1.16.bb b/meta-oe/recipes-support/lcov/lcov_1.16.bb
new file mode 100755
index 0000000000..22d68814ee
--- /dev/null
+++ b/meta-oe/recipes-support/lcov/lcov_1.16.bb
@@ -0,0 +1,57 @@
+SUMMARY = "A graphical front-end for gcov"
+HOMEPAGE = "https://github.com/linux-test-project/lcov"
+DESCRIPTION = "LCOV is a graphical front-end for GCC's coverage testing \
+tool gcov. It collects gcov data for multiple source files and creates \
+HTML pages containing the source code annotated with coverage information. \
+It also adds overview pages for easy navigation within the file structure. \
+LCOV supports statement, function and branch coverage measurement."
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+RDEPENDS:${PN} += " \
+ perl \
+ perl-module-filehandle \
+ perl-module-getopt-std \
+ perl-module-digest-md5 \
+ perl-module-digest-sha \
+ perl-module-constant \
+ perl-module-cwd \
+ perl-module-errno \
+ perl-module-file-basename \
+ perl-module-file-copy \
+ perl-module-file-find \
+ perl-module-file-path \
+ perl-module-file-spec \
+ perl-module-file-spec-functions \
+ perl-module-file-spec-unix \
+ perl-module-file-temp \
+ perl-module-getopt-long \
+ perl-module-list-util \
+ perl-module-mro \
+ perl-module-overload \
+ perl-module-overloading \
+ perl-module-overload-numbers \
+ perl-module-parent \
+ perl-module-pod-usage \
+ perl-module-posix \
+ perl-module-re \
+ perl-module-safe \
+ perl-module-scalar-util \
+ perl-module-term-cap \
+ perl-module-text-parsewords \
+ perl-module-tie-hash \
+"
+
+RDEPENDS:${PN}:append:class-target = " \
+ gcov \
+ gcov-symlinks \
+"
+SRC_URI = "https://github.com/linux-test-project/lcov/releases/download/v${PV}/lcov-${PV}.tar.gz"
+SRC_URI[md5sum] = "bfee0cef50d7b7bd1df03bfadf68dcef"
+SRC_URI[sha256sum] = "987031ad5528c8a746d4b52b380bc1bffe412de1f2b9c2ba5224995668e3240b"
+
+do_install() {
+ oe_runmake install PREFIX=${D}${prefix} CFG_DIR=${D}${sysconfdir} LCOV_PERL_PATH="/usr/bin/env perl"
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
index 4cfb732932..f747ecbf72 100644
--- a/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
+++ b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb
@@ -1,11 +1,11 @@
SUMMARY = "ATA S.M.A.R.T. Reading and Parsing Library"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = "udev"
SRCREV = "de6258940960443038b4c1651dfda3620075e870"
-SRC_URI = "git://git.0pointer.de/libatasmart.git \
+SRC_URI = "git://git.0pointer.de/libatasmart.git;branch=master \
file://0001-Makefile.am-add-CFLAGS-and-LDFLAGS-definiton.patch \
"
@@ -13,9 +13,9 @@ S = "${WORKDIR}/git"
inherit autotools lib_package pkgconfig
-do_install_append() {
+do_install:append() {
sed -i -e s://:/:g -e 's:=${libdir}/libudev.la:-ludev:g' ${D}${libdir}/libatasmart.la
}
PACKAGES =+ "${PN}-dev-vala"
-FILES_${PN}-dev-vala = "${datadir}/vala"
+FILES:${PN}-dev-vala = "${datadir}/vala"
diff --git a/meta-oe/recipes-support/libb64/libb64/0001-Makefile-fix-parallel-build-of-examples.patch b/meta-oe/recipes-support/libb64/libb64/0001-Makefile-fix-parallel-build-of-examples.patch
new file mode 100644
index 0000000000..84dee415ad
--- /dev/null
+++ b/meta-oe/recipes-support/libb64/libb64/0001-Makefile-fix-parallel-build-of-examples.patch
@@ -0,0 +1,46 @@
+From cbe8bd2948f522062c6170f581e1e265692a9a55 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Sun, 24 Oct 2021 18:53:04 +0100
+Subject: [PATCH] Makefile: fix parallel build of examples
+
+Without the change examples fails to build as:
+
+ $ LANG=C make -j
+ make -C src
+ make -C examples
+ make[1]: Entering directory 'libb64/src'
+ cc -O3 -Werror -pedantic -I../include -c -o cencode.o cencode.c
+ make[1]: Entering directory 'libb64/examples'
+ make[1]: *** No rule to make target 'libb64.a', needed by 'c-example1'. Stop.
+ make[1]: Leaving directory 'libb64/examples'
+ make: *** [Makefile:8: all_examples] Error 2
+ make: *** Waiting for unfinished jobs....
+ cc -O3 -Werror -pedantic -I../include -c -o cdecode.o cdecode.c
+ ar rv libb64.a cencode.o cdecode.o
+ ar: creating libb64.a
+ a - cencode.o
+ a - cdecode.o
+ make[1]: Leaving directory 'libb64/src'
+
+Upstream-Status: Submitted [https://github.com/libb64/libb64/pull/9]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index db40356..aa48c76 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,7 +4,7 @@ all_src:
+ $(MAKE) -C src
+ all_base64: all_src
+ $(MAKE) -C base64
+-all_examples:
++all_examples: all_src
+ $(MAKE) -C examples
+
+ clean: clean_src clean_base64 clean_include clean_examples
+--
+2.37.2
+
diff --git a/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch b/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch
new file mode 100644
index 0000000000..b3ee24d9d5
--- /dev/null
+++ b/meta-oe/recipes-support/libb64/libb64/0001-example-Do-not-run-the-tests.patch
@@ -0,0 +1,27 @@
+From 68f66d1583be670eb8d5f3f38dbd5dd1d63b733c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 27 Mar 2021 21:41:04 -0700
+Subject: [PATCH] example: Do not run the tests
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ examples/Makefile | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/examples/Makefile b/examples/Makefile
+index d9667a5..554b346 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -33,11 +33,8 @@ depend: $(SOURCES)
+ makedepend -f- $(CFLAGS) $(SOURCES) 2> /dev/null 1> depend
+
+ test-c-example1: c-example1
+- ./c-example1
+
+ test-c-example2: c-example2
+- ./c-example2 loremgibson.txt encoded.txt decoded.txt
+- diff -q loremgibson.txt decoded.txt
+
+ test: test-c-example1 test-c-example2
+
diff --git a/meta-oe/recipes-support/libb64/libb64/0001-examples-Use-proper-function-prototype-for-main.patch b/meta-oe/recipes-support/libb64/libb64/0001-examples-Use-proper-function-prototype-for-main.patch
new file mode 100644
index 0000000000..42e889efc2
--- /dev/null
+++ b/meta-oe/recipes-support/libb64/libb64/0001-examples-Use-proper-function-prototype-for-main.patch
@@ -0,0 +1,27 @@
+From 98eaf510f40e384b32c01ad4bd5c3a697fdd8560 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 14:34:38 -0700
+Subject: [PATCH] examples: Use proper function prototype for main
+
+Upstream-Status: Submitted [https://github.com/libb64/libb64/pull/10]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ examples/c-example1.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/c-example1.c b/examples/c-example1.c
+index a0001df..34585dd 100644
+--- a/examples/c-example1.c
++++ b/examples/c-example1.c
+@@ -83,7 +83,7 @@ char* decode(const char* input)
+ }
+
+
+-int main()
++int main(int argc, char** argv)
+ {
+ const char* input = "hello world";
+ char* encoded;
+--
+2.37.2
+
diff --git a/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch b/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch
new file mode 100644
index 0000000000..f2b8f599c6
--- /dev/null
+++ b/meta-oe/recipes-support/libb64/libb64/0002-use-BUFSIZ-as-buffer-size.patch
@@ -0,0 +1,57 @@
+From 9ec49389f56816d7ac2331296c03d147531a421a Mon Sep 17 00:00:00 2001
+From: Jakub Wilk <jwilk@debian.org>
+Date: Sat, 27 Mar 2021 22:01:13 -0700
+Subject: [PATCH] use BUFSIZ as buffer size
+
+Bug: http://sourceforge.net/tracker/?func=detail&atid=785907&aid=3591336&group_id=152942
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ include/b64/decode.h | 3 ++-
+ include/b64/encode.h | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/include/b64/decode.h b/include/b64/decode.h
+index b2362e5..8db1d09 100644
+--- a/include/b64/decode.h
++++ b/include/b64/decode.h
+@@ -8,6 +8,7 @@ For details, see http://sourceforge.net/projects/libb64
+ #ifndef BASE64_DECODE_H
+ #define BASE64_DECODE_H
+
++#include <cstdio>
+ #include <iostream>
+
+ namespace base64
+@@ -22,7 +23,7 @@ namespace base64
+ base64_decodestate _state;
+ int _buffersize;
+
+- decoder(int buffersize_in = BUFFERSIZE)
++ decoder(int buffersize_in = BUFSIZ)
+ : _buffersize(buffersize_in)
+ {
+ base64_init_decodestate(&_state);
+diff --git a/include/b64/encode.h b/include/b64/encode.h
+index c1a5f88..644e4dd 100644
+--- a/include/b64/encode.h
++++ b/include/b64/encode.h
+@@ -8,6 +8,7 @@ For details, see http://sourceforge.net/projects/libb64
+ #ifndef BASE64_ENCODE_H
+ #define BASE64_ENCODE_H
+
++#include <cstdio>
+ #include <iostream>
+
+ namespace base64
+@@ -22,7 +23,7 @@ namespace base64
+ base64_encodestate _state;
+ int _buffersize;
+
+- encoder(int buffersize_in = BUFFERSIZE)
++ encoder(int buffersize_in = BUFSIZ)
+ : _buffersize(buffersize_in)
+ {
+ base64_init_encodestate(&_state);
diff --git a/meta-oe/recipes-support/libb64/libb64_2.0.0.1.bb b/meta-oe/recipes-support/libb64/libb64_2.0.0.1.bb
new file mode 100644
index 0000000000..e0683b177b
--- /dev/null
+++ b/meta-oe/recipes-support/libb64/libb64_2.0.0.1.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Base64 Encoding/Decoding Routines"
+DESCRIPTION = "base64 encoding/decoding library - runtime library \
+libb64 is a library of ANSI C routines for fast encoding/decoding data into \
+and from a base64-encoded format"
+HOMEPAGE = "https://github.com/libb64"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=81296a564fa0621472714aae7c763d96"
+
+PV .= "+2.0.0.2+git"
+SRCREV = "ce864b17ea0e24a91e77c7dd3eb2d1ac4175b3f0"
+
+SRC_URI = "git://github.com/libb64/libb64;protocol=https;branch=master \
+ file://0001-example-Do-not-run-the-tests.patch \
+ file://0002-use-BUFSIZ-as-buffer-size.patch \
+ file://0001-Makefile-fix-parallel-build-of-examples.patch \
+ file://0001-examples-Use-proper-function-prototype-for-main.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+CFLAGS += "-fPIC"
+
+do_configure () {
+ :
+}
+
+do_compile () {
+ oe_runmake
+ ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,${BPN}.so.0 src/*.o -o src/${BPN}.so.0
+}
+
+do_install () {
+ install -d ${D}${includedir}/b64
+ install -Dm 0644 ${B}/src/libb64.a ${D}${libdir}/libb64.a
+ install -Dm 0644 ${B}/src/libb64.so.0 ${D}${libdir}/libb64.so.0
+ ln -s libb64.so.0 ${D}${libdir}/libb64.so
+ install -Dm 0644 ${S}/include/b64/*.h ${D}${includedir}/b64/
+}
diff --git a/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb b/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb
new file mode 100644
index 0000000000..daa01bfc3d
--- /dev/null
+++ b/meta-oe/recipes-support/libbytesize/libbytesize_2.10.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "The goal of this project is to provide a tiny library that would \
+facilitate the common operations with sizes in bytes."
+HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
+LICENSE = "LGPL-2.0-or-later"
+SECTION = "devel/lib"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
+
+S = "${WORKDIR}/git"
+
+SRCREV = "6e83cc6f6dff4f126fc79284e0c3c1c50123380d"
+SRC_URI = "git://github.com/storaged-project/libbytesize;branch=main;protocol=https"
+
+inherit gettext autotools pkgconfig python3native
+
+DEPENDS += " \
+ libpcre2 \
+ gmp \
+ mpfr \
+ gettext-native \
+"
+
+FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
+
+PACKAGECONFIG ??= "python3"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3-core"
+
+EXTRA_OECONF = "--without-gtk-doc"
+EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-oe/recipes-support/libbytesize/libbytesize_2.4.bb b/meta-oe/recipes-support/libbytesize/libbytesize_2.4.bb
deleted file mode 100644
index 0aaf188b61..0000000000
--- a/meta-oe/recipes-support/libbytesize/libbytesize_2.4.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-DESCRIPTION = "The goal of this project is to provide a tiny library that would \
-facilitate the common operations with sizes in bytes."
-HOMEPAGE = "https://github.com/rhinstaller/libbytesize"
-LICENSE = "LGPLv2+"
-SECTION = "devel/lib"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c07cb499d259452f324bb90c3067d85c"
-
-S = "${WORKDIR}/git"
-B = "${S}"
-
-SRCREV = "732ee8d28492e4bc9b52c29bcb81a5c19388d002"
-SRC_URI = "git://github.com/rhinstaller/libbytesize;branch=master"
-
-inherit gettext autotools python3native
-
-DEPENDS += " \
- libpcre2 \
- gmp \
- mpfr \
- gettext-native \
-"
-
-FILES_${PN} += "${PYTHON_SITEPACKAGES_DIR}/bytesize"
-
-PACKAGECONFIG ??= "python3"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3-core"
-
-EXTRA_OECONF = "--without-gtk-doc"
-EXTRA_OEMAKE = "py3libdir=${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch b/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch
index 4e0984f364..89f31f7946 100644
--- a/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch
+++ b/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch
@@ -8,6 +8,8 @@ Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
+Upstream-Status: Pending
+
src/Makefile.am | 25 +++++++++++++++----------
1 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch b/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch
index ba6fa2c643..1e45441ff9 100644
--- a/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch
+++ b/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] gtk: Don't assume all GdkDisplays are GdkX11Displays:
broadway/wayland
---
+Upstream-Status: Pending
+
src/canberra-gtk-module.c | 15 +++++++++++++++
src/canberra-gtk.c | 5 +++++
2 files changed, 20 insertions(+)
diff --git a/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch b/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch
new file mode 100644
index 0000000000..57f5486084
--- /dev/null
+++ b/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch
@@ -0,0 +1,65 @@
+From dfd3ef4caac300f517f8eeb378f0b0f9ba6a9b06 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Tue, 15 Aug 2023 15:41:03 +0200
+Subject: [PATCH] remove dropped gtkdoc templates
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Pending
+---
+--- a/gtkdoc/gtk-doc.make 2011-08-25 23:20:22.000000000 +0200
++++ b/gtkdoc/gtk-doc.make 2023-08-15 18:08:02.430729073 +0200
+@@ -33,9 +33,9 @@
+ $(HTML_IMAGES) \
+ $(SETUP_FILES)
+
+-DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
++DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+- tmpl.stamp sgml.stamp html.stamp pdf.stamp
++ sgml.stamp html.stamp pdf.stamp
+
+ SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+@@ -120,27 +120,12 @@
+ $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+-#### templates ####
+-
+-tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+- @echo ' DOC Rebuilding template files'
+- @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+- if test -w $(abs_srcdir) ; then \
+- cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
+- fi \
+- fi
+- @touch tmpl-build.stamp
+-
+-tmpl.stamp: tmpl-build.stamp
+- @true
+-
+ $(srcdir)/tmpl/*.sgml:
+ @true
+
+ #### xml ####
+
+-sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
++sgml-build.stamp: $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+ @echo ' DOC Building XML'
+ @-chmod -R u+w $(srcdir)
+ @_source_dir='' ; \
+ --- a/gtkdoc/Makefile.am 2009-01-21 21:52:46.000000000 +0100
++++ b/gtkdoc/Makefile.am 2023-08-15 17:41:59.002498772 +0200
+@@ -31,10 +31,6 @@
+ # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+ MKDB_OPTIONS=--sgml-mode --output-format=xml
+
+-# Extra options to supply to gtkdoc-mktmpl
+-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+-MKTMPL_OPTIONS=
+-
+ # Extra options to supply to gtkdoc-fixref. Not normally needed.
+ # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+ FIXXREF_OPTIONS=
diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
index 1495051d79..95c9479588 100644
--- a/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
+++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
@@ -1,6 +1,6 @@
SUMMARY = "Implementation of XDG Sound Theme and Name Specifications"
DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops."
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03"
@@ -12,6 +12,7 @@ SRC_URI = " \
http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \
file://0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch \
file://0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch \
+ file://0001-remove-dropped-templates.patch \
"
SRC_URI[md5sum] = "34cb7e4430afaf6f447c4ebdb9b42072"
SRC_URI[sha256sum] = "c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72"
@@ -32,32 +33,32 @@ PACKAGECONFIG[gstreamer] = "--enable-gstreamer, --disable-gstreamer, gstreamer1.
PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+"
PACKAGECONFIG[gtk3] = "--enable-gtk3, --disable-gtk3, gtk+3"
-python populate_packages_prepend() {
+python populate_packages:prepend() {
plugindir = d.expand('${libdir}/${BPN}-${PV}/')
- do_split_packages(d, plugindir, '^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' )
- do_split_packages(d, plugindir, '^libcanberra-(.*)\.la$', 'libcanberra-%s', '%s support library', extra_depends='' )
+ do_split_packages(d, plugindir, r'^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' )
+ do_split_packages(d, plugindir, r'^libcanberra-(.*)\.la$', 'libcanberra-%s', '%s support library', extra_depends='' )
}
PACKAGES =+ "${PN}-gnome ${PN}-gtk2 ${PN}-gtk3 ${PN}-systemd"
PACKAGES_DYNAMIC += "^libcanberra-.*"
-FILES_${PN} = "${bindir}/ ${libdir}/${BPN}.so.*"
+FILES:${PN} = "${bindir}/ ${libdir}/${BPN}.so.*"
-FILES_${PN}-dev += "${datadir}/vala/vapi ${libdir}/*/modules/*.la ${libdir}/*/*.la"
+FILES:${PN}-dev += "${datadir}/vala/vapi ${libdir}/*/modules/*.la ${libdir}/*/*.la"
-FILES_${PN}-dbg += "${libdir}/${BPN}-${PV}/.debug ${libdir}/gtk-*/modules/.debug"
+FILES:${PN}-dbg += "${libdir}/${BPN}-${PV}/.debug ${libdir}/gtk-*/modules/.debug"
-FILES_${PN}-gtk2 = "${libdir}/${BPN}-gtk.so.* \
+FILES:${PN}-gtk2 = "${libdir}/${BPN}-gtk.so.* \
${libdir}/gtk-2.0/modules/*.so \
${bindir}/canberra-gtk-play"
# -gtk3 ships a symlink to a .so
-INSANE_SKIP_${PN}-gtk3 = "dev-so"
-FILES_${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \
+INSANE_SKIP:${PN}-gtk3 = "dev-so"
+FILES:${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \
${libdir}/gtk-3.0/modules/*.so \
${bindir}/canberra-gtk3-play"
-FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \
+FILES:${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \
${datadir}/gdm/ ${datadir}/gnome/"
-FILES_${PN}-systemd = "${systemd_unitdir}/system/*.service"
+FILES:${PN}-systemd = "${systemd_unitdir}/system/*.service"
diff --git a/meta-oe/recipes-support/libcereal/files/0001-cmake-Use-idirafter-instead-of-isystem.patch b/meta-oe/recipes-support/libcereal/files/0001-cmake-Use-idirafter-instead-of-isystem.patch
new file mode 100644
index 0000000000..fc30f0ad7c
--- /dev/null
+++ b/meta-oe/recipes-support/libcereal/files/0001-cmake-Use-idirafter-instead-of-isystem.patch
@@ -0,0 +1,52 @@
+From ac70933783a70d5387a2bb2849c568e33ba52558 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 21 Jan 2023 01:41:32 -0800
+Subject: [PATCH] cmake: Use -idirafter instead of -isystem
+
+isystem dirs are searched before the regular system dirs
+this exposes an interesting include ordering problem when using
+clang + libc++, when including C++ headers like <cstdlib>
+
+cstdlib includes stdlib.h and in case of libc++, this should be coming
+from libc++ as well, which is then eventually including system stdlib.h
+
+libc++ has added a check for checking this order recently, which means
+if cstlib ends up including system stdlib.h before libc++ provided
+stdlib.h it errors out
+
+| /mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/recipe-sysroot/usr/include/c++/v1/cwchar:113:5: error: <cwchar> tried including <wchar.h> but didn't find libc++'s <wcha
+r.h> header. This usually means that your header search paths are not configured properly. The header search paths should contain the C++ Standard Library headers before any C Standard
+ Library, and you are probably using compiler flags that make that not be the case. | # error <cwchar> tried including <wchar.h> but didn't find libc++'s <wchar.h> header. \
+| ^
+
+The reason is that include_directories with SYSTEM property adds the
+directory via -system and some of these directories point to sysroot
+e.g. OPENSSL_INCLUDE_DIR which ends up adding -isystem
+<sysroot>/usr/include and causes the system stdlib.h to included before
+libc++ stdlib.h
+
+A fix is to use -idirafter which preserved the effects of system headers
+but instead of prepending, it will append to system headers and the
+issue is addressed
+
+Upstream-Status: Submitted [https://github.com/USCiLab/cereal/pull/777]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unittests/boost/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/unittests/boost/CMakeLists.txt b/unittests/boost/CMakeLists.txt
+index 1d733bc7..08e6a169 100644
+--- a/unittests/boost/CMakeLists.txt
++++ b/unittests/boost/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ file(GLOB TESTS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
+
+-include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -idirafter ${Boost_INCLUDE_DIRS}")
+
+ # Build all of the non-special tests
+ foreach(TEST_SOURCE ${TESTS})
+--
+2.39.1
+
diff --git a/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch b/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch
new file mode 100644
index 0000000000..9396cc5d01
--- /dev/null
+++ b/meta-oe/recipes-support/libcereal/files/0001-doctest-Do-not-use-unnamed-class.patch
@@ -0,0 +1,38 @@
+From 03bbb1b055c41ec652470f775b55a7cf80d664ef Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 17 Apr 2023 16:46:12 -0700
+Subject: [PATCH] doctest: Do not use unnamed class
+
+When compiling with clang this results in emitting absolute path into
+debug info, especially .debug_str section has
+
+~(unnamed class at /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/git/unittests/doctest.h:6428:5)
+(unnamed class at /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/git/unittests/doctest.h:6428:5)
+
+Therefore use a name for the class instead and help get rid of this
+absolute path in debug info. This fixes
+
+File /usr/lib/libcereal/ptest/tests/.debug/test_unordered_map in package libcereal-dbg contains reference to TMPDIR
+
+Upstream-Status: Submitted [https://github.com/USCiLab/cereal/pull/788]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ unittests/doctest.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/unittests/doctest.h b/unittests/doctest.h
+index cd5b44d6..e6d8f7f9 100644
+--- a/unittests/doctest.h
++++ b/unittests/doctest.h
+@@ -6424,7 +6424,7 @@ void Context::setCout(std::ostream* out) { p->cout = out; }
+ static class DiscardOStream : public std::ostream
+ {
+ private:
+- class : public std::streambuf
++ class discardBufStream: public std::streambuf
+ {
+ private:
+ // allowing some buffering decreases the amount of calls to overflow
+--
+2.40.0
+
diff --git a/meta-oe/recipes-support/libcereal/files/0001-sandbox-Do-not-use-int8_t-in-std-uniform_int_distrib.patch b/meta-oe/recipes-support/libcereal/files/0001-sandbox-Do-not-use-int8_t-in-std-uniform_int_distrib.patch
new file mode 100644
index 0000000000..26a8223d19
--- /dev/null
+++ b/meta-oe/recipes-support/libcereal/files/0001-sandbox-Do-not-use-int8_t-in-std-uniform_int_distrib.patch
@@ -0,0 +1,54 @@
+From 36054278304945c6aef7d44e58788ca882c67d05 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Sep 2022 15:54:13 -0700
+Subject: [PATCH] sandbox: Do not use int8_t in std::uniform_int_distribution
+
+Newer versions of libc++ has dropped supporting this usecase since its
+an UB see.
+
+https://reviews.llvm.org/D114920?id=400571
+
+Fixes
+
+uniform_int_distribution.h:162:5: error: static assertion failed due to requirement '__libcpp_random_is_valid_inttype<char>::value': IntType must be a supported integer type
+ static_assert(__libcpp_random_is_valid_inttype<_IntType>::value, "IntType must be a supported integer type");
+ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/git/sandbox/performance.cpp:261:9: note: in instantiation of template class 'std::uniform_int_distribution<char>' requested here
+ c = std::uniform_int_distribution<char>(' ', '~')(gen);
+ ^
+/mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/libcereal/1.3.2+gitAUTOINC+ebef1e9298-r0/git/sandbox/performance.cpp:261:9: error: type 'std::uniform_int_distribution<char>' does not provide a call operator
+ c = std::uniform_int_distribution<char>(' ', '~')(gen);
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2 errors generated.
+
+Upstream-Status: Submitted [https://github.com/USCiLab/cereal/pull/764]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sandbox/performance.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sandbox/performance.cpp b/sandbox/performance.cpp
+index f9307870..aca8c78c 100644
+--- a/sandbox/performance.cpp
++++ b/sandbox/performance.cpp
+@@ -258,7 +258,7 @@ random_value(std::mt19937 & gen)
+ {
+ std::string s(std::uniform_int_distribution<int>(3, 30)(gen), ' ');
+ for(char & c : s)
+- c = std::uniform_int_distribution<char>(' ', '~')(gen);
++ c = static_cast<char>( std::uniform_int_distribution<int>(' ', '~')(gen) );
+ return s;
+ }
+
+@@ -277,7 +277,7 @@ std::string random_binary_string(std::mt19937 & gen)
+ {
+ std::string s(N, ' ');
+ for(auto & c : s )
+- c = std::uniform_int_distribution<char>('0', '1')(gen);
++ c = static_cast<char>( std::uniform_int_distribution<int>( '0', '1' )(gen) );
+ return s;
+ }
+
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/libcereal/files/run-ptest b/meta-oe/recipes-support/libcereal/files/run-ptest
new file mode 100755
index 0000000000..9bc480aa7f
--- /dev/null
+++ b/meta-oe/recipes-support/libcereal/files/run-ptest
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+cd tests
+for atest in test_* ; do
+ rm -rf tests.log
+ ./${atest} > tests.log 2>&1
+ if [ $? = 0 ] ; then
+ echo "PASS: ${atest}"
+ else
+ echo "FAIL: ${atest}"
+ fi
+done
diff --git a/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb b/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
deleted file mode 100644
index dc50509699..0000000000
--- a/meta-oe/recipes-support/libcereal/libcereal_1.3.0.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "A C++11 library for serialization"
-HOMEPAGE = "https://uscilab.github.io/cereal/"
-
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause & MIT & BSL-1.0"
-LIC_FILES_CHKSUM = "\
- file://LICENSE;md5=e612690af2f575dfd02e2e91443cea23 \
- file://include/cereal/external/rapidxml/license.txt;md5=d63ab70ba21ca0544b03284958324301 \
- file://include/cereal/external/LICENSE;md5=b07578c9df99c0b8b45eb041efd4a645 \
- file://include/cereal/external/rapidjson/LICENSE;md5=e7abb663111d4ac17cf00323698aff08 \
- file://include/cereal/external/rapidjson/msinttypes/LICENSE;md5=dffce65b98c773976de2e338bd130f46 \
-"
-
-PROVIDES += "${PN}-dev"
-
-PV .= "+git${SRCPV}"
-SRCREV = "64f50dbd5cecdaba785217e2b0aeea3a4f1cdfab"
-SRC_URI = "git://github.com/USCiLab/cereal.git"
-
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-EXTRA_OECMAKE = "-DJUST_INSTALL_CEREAL=ON"
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN}-dev = ""
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb b/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb
new file mode 100644
index 0000000000..6ad20d6370
--- /dev/null
+++ b/meta-oe/recipes-support/libcereal/libcereal_1.3.2.bb
@@ -0,0 +1,56 @@
+SUMMARY = "A C++11 library for serialization"
+HOMEPAGE = "https://uscilab.github.io/cereal/"
+
+SECTION = "libs"
+
+LICENSE = "BSD-3-Clause & MIT & BSL-1.0"
+LIC_FILES_CHKSUM = "\
+ file://LICENSE;md5=4921372a1fb38469e667c38b17a1c4b3 \
+ file://include/cereal/external/rapidxml/license.txt;md5=d63ab70ba21ca0544b03284958324301 \
+ file://include/cereal/external/LICENSE;md5=b07578c9df99c0b8b45eb041efd4a645 \
+ file://include/cereal/external/rapidjson/LICENSE;md5=e7abb663111d4ac17cf00323698aff08 \
+ file://include/cereal/external/rapidjson/msinttypes/LICENSE;md5=dffce65b98c773976de2e338bd130f46 \
+"
+
+DEPENDS = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} "
+
+PROVIDES += "${PN}-dev"
+
+PV .= "+git"
+SRCREV = "ebef1e929807629befafbb2918ea1a08c7194554"
+SRC_URI = "git://github.com/USCiLab/cereal.git;branch=master;protocol=https \
+ file://0001-sandbox-Do-not-use-int8_t-in-std-uniform_int_distrib.patch \
+ file://0001-cmake-Use-idirafter-instead-of-isystem.patch \
+ file://0001-doctest-Do-not-use-unnamed-class.patch \
+ file://run-ptest \
+"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig ptest
+
+CXXFLAGS:append:toolchain-clang = " -Wno-error=c++11-narrowing-const-reference"
+
+LIBATOMIC:mips = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCEREAL_THREAD_LIBS="-latomic"', '', d)}"
+LIBATOMIC:riscv32 = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCEREAL_THREAD_LIBS="-latomic"', '', d)}"
+LIBATOMIC:powerpc = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCEREAL_THREAD_LIBS="-latomic"', '', d)}"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
+PACKAGECONFIG[with-tests] = "-DWITH_WERROR=OFF -DBUILD_TESTS=ON ${LIBATOMIC},,"
+EXTRA_OECMAKE = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '', '-DJUST_INSTALL_CEREAL=ON', d)} \
+ ${@['','-DSKIP_PORTABILITY_TEST=ON'][d.getVar('SITEINFO_BITS') != '32']}"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp ${B}/unittests/test_* ${D}${PTEST_PATH}/tests
+}
+
+ALLOW_EMPTY:${PN} = "1"
+
+RDEPENDS:${PN}-dev = ""
+
+BBCLASSEXTEND = "native nativesdk"
+
+#it needs to work with CXXFLAGS += " -mlong-double-64" but ppc only supports 128bit long double
+COMPATIBLE_HOST:powerpc:libc-musl = "null"
+COMPATIBLE_HOST:powerpc64le:libc-musl = "null"
diff --git a/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb b/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb
new file mode 100644
index 0000000000..cf2d933169
--- /dev/null
+++ b/meta-oe/recipes-support/libcppkafka/libcppkafka_git.bb
@@ -0,0 +1,29 @@
+SUMMARY = "high level C++ wrapper for rdkafka"
+DESCRIPTION = "cppkafka allows C++ applications to consume and produce messages using the Apache Kafka protocol."
+HOMEPAGE = "https://github.com/mfontanini/cppkafka"
+SECTION = "lib"
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = " \
+file://LICENSE;md5=d8b4ca15d239dc1485ef495c8f1bcc72 \
+"
+
+SRC_URI = "git://github.com/mfontanini/cppkafka;protocol=https;branch=master \
+"
+SRCREV = "91ac543cbd2228588dcf24a6ca357f8be0f4e5ab"
+
+BASEPV = "0.4.0"
+PV = "${BASEPV}+git"
+
+DEPENDS = "librdkafka curl boost chrpath-replacement-native"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DCPPKAFKA_BUILD_SHARED=ON"
+
+S = "${WORKDIR}/git"
+
+do_install:append(){
+ chrpath -d ${D}${libdir}/libcppkafka.so.${BASEPV}
+ sed -i -e 's|${STAGING_INCDIR}|\$\{includedir\}|g' ${D}${datadir}/pkgconfig/cppkafka.pc
+}
diff --git a/meta-oe/recipes-support/libcyusbserial/libcyusbserial/0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch b/meta-oe/recipes-support/libcyusbserial/libcyusbserial/0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch
new file mode 100644
index 0000000000..d9e10469d3
--- /dev/null
+++ b/meta-oe/recipes-support/libcyusbserial/libcyusbserial/0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch
@@ -0,0 +1,43 @@
+From 655c5c32b37a2bea12389ed69c0869215fcf5abe Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 3 Sep 2023 11:22:35 +0200
+Subject: [PATCH] CMakeLists.txt: don't fall back CMAKE_INSTALL_LIBDIR to lib
+
+* testing ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} existence
+ doesn't really work in cross compilation and on some hosts was causing:
+
+ ERROR: QA Issue: libcyusbserial: Files/directories were installed but not shipped in any package:
+ /usr/lib/libcyusbserial.so.1
+ /usr/lib/libcyusbserial.so
+ Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
+ libcyusbserial: 2 installed and not shipped files. [installed-vs-shipped]
+
+ with multilib using /usr/lib32 or /usr/lib64 when the same didn't
+ exist on host.
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ lib/CMakeLists.txt | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index 2b031cb..53a7263 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -6,15 +6,6 @@ if (NOT CMAKE_INSTALL_LIBDIR)
+ include(GNUInstallDirs)
+ endif (NOT CMAKE_INSTALL_LIBDIR)
+
+-# Fall back to just "lib" if the item provided by GNUInstallDirs doesn't exist
+-# For example, on Ubuntu 13.10 with CMake 2.8.11.2,
+-# /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} doesn't exist.
+-if (NOT EXISTS "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+- message(STATUS "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} does not exist. Defaulting libcyusbserial install location to ${CMAKE_INSTALL_PREFIX}/lib.")
+- set(CMAKE_INSTALL_LIBDIR lib)
+-endif()
+-
+-
+ ################################################################################
+ # Include paths
+ ################################################################################
diff --git a/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb b/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb
index 74b5e21e23..dd7f457b10 100644
--- a/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb
+++ b/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb
@@ -1,18 +1,20 @@
SUMMARY = "Enable userspace control of Cypress USB-Serial bridge devices"
HOMEPAGE = "https://github.com/cyrozap/libcyusbserial"
BUGTRACKER = "https://github.com/cyrozap/libcyusbserial/issues"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING.LESSER.txt;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "libusb udev"
-PV = "1.0.0+git${SRCPV}"
+PV = "1.0.0+git"
SRCREV = "655e2d544183d094f0e2d119c7e0c6206a0ddb3f"
-SRC_URI = "git://github.com/cyrozap/${BPN}.git"
+SRC_URI = "git://github.com/cyrozap/${BPN}.git;branch=master;protocol=https \
+ file://0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch \
+"
S = "${WORKDIR}/git"
inherit cmake
PACKAGES =+ "${PN}-utils"
-FILES_${PN}-utils = "${bindir}/*"
+FILES:${PN}-utils = "${bindir}/*"
diff --git a/meta-oe/recipes-support/libee/libee.inc b/meta-oe/recipes-support/libee/libee.inc
index e5a145ab22..16fe557f76 100644
--- a/meta-oe/recipes-support/libee/libee.inc
+++ b/meta-oe/recipes-support/libee/libee.inc
@@ -5,7 +5,7 @@ but hopefully convenient API layer above the CEE standard."
HOMEPAGE = "http://www.libee.org"
SECTION = "base"
-LICENSE = "LGPL-2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=1c2687de35e36ba3b999136236a66cd6"
SRC_URI = "http://www.libee.org/download/files/download/${BPN}-${PV}.tar.gz\
diff --git a/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch
index 25e5c6ae02..8bb23aafca 100644
--- a/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch
+++ b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch
@@ -3,7 +3,7 @@ fix parallel compiling problem
without specifying libee_convert_DEPENDENCIES = libee.la, libee_convert
can't find libee.la when linking as libee is not generated yet.
-Upstream-Status: pending
+Upstream-Status: Pending
Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
---
diff --git a/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch b/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
new file mode 100644
index 0000000000..84b5a4da9f
--- /dev/null
+++ b/meta-oe/recipes-support/libeigen/libeigen/0001-Default-eigen_packet_wrapper-constructor.patch
@@ -0,0 +1,72 @@
+From cb507309937958c632147de87e8f1231d6698847 Mon Sep 17 00:00:00 2001
+From: Antonio Sanchez <cantonios@google.com>
+Date: Tue, 14 Sep 2021 10:57:22 -0700
+Subject: [PATCH] Default eigen_packet_wrapper constructor.
+
+This makes it trivial, allowing use of `memcpy`.
+
+Fixes #2326
+
+Upstream-Status: Backport [https://gitlab.com/libeigen/eigen/-/merge_requests/645/diffs?commit_id=cb507309937958c632147de87e8f1231d6698847]
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+* fixes build failures for arm targets with NEON enabled (e.g. -mfpu=neon-vfpv4)
+ for recipes with -Werror enabled and gcc-11, e.g. fuse-core, robot-localization,
+ prbt-ikfast-manipulator-plugin, rm-chassis-controllers in meta-ros1-noetic:
+
+In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:214,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h: In function 'Packet Eigen::internal::pload(const typename Eigen::internal::unpacket_traits<T>::type*) [with Packet = Eigen::internal::eigen_packet_wrapper<int, 2>; typename Eigen::internal::unpacket_traits<T>::type = signed char]':
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:1671:9: error: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} from an array of 'const int8_t' {aka 'const signed char'} [-Werror=class-memaccess]
+ 1671 | memcpy(&res, from, sizeof(Packet4c));
+ | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:172,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:159:8: note: 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} declared here
+ 159 | struct eigen_packet_wrapper
+ | ^~~~~~~~~~~~~~~~~~~~
+In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:214,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h: In function 'Packet Eigen::internal::ploadu(const typename Eigen::internal::unpacket_traits<T>::type*) [with Packet = Eigen::internal::eigen_packet_wrapper<int, 2>; typename Eigen::internal::unpacket_traits<T>::type = signed char]':
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:1716:9: error: 'void* memcpy(void*, const void*, size_t)' copying an object of non-trivial type 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} from an array of 'const int8_t' {aka 'const signed char'} [-Werror=class-memaccess]
+ 1716 | memcpy(&res, from, sizeof(Packet4c));
+ | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/Core:172,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/macros.h:63,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/loss.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/include/fuse_core/constraint.h:37,
+ from /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/git/src/constraint.cpp:34:
+/jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/fuse-core/0.4.2-1-r0/recipe-sysroot/usr/include/eigen3/Eigen/src/Core/GenericPacketMath.h:159:8: note: 'Eigen::internal::Packet4c' {aka 'struct Eigen::internal::eigen_packet_wrapper<int, 2>'} declared here
+ 159 | struct eigen_packet_wrapper
+ | ^~~~~~~~~~~~~~~~~~~~
+cc1plus: all warnings being treated as errors
+
+---
+ Eigen/src/Core/GenericPacketMath.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
+index 8f8f64f15..72234288e 100644
+--- a/Eigen/src/Core/GenericPacketMath.h
++++ b/Eigen/src/Core/GenericPacketMath.h
+@@ -162,7 +162,7 @@ struct eigen_packet_wrapper
+ {
+ EIGEN_ALWAYS_INLINE operator T&() { return m_val; }
+ EIGEN_ALWAYS_INLINE operator const T&() const { return m_val; }
+- EIGEN_ALWAYS_INLINE eigen_packet_wrapper() {}
++ EIGEN_ALWAYS_INLINE eigen_packet_wrapper() = default;
+ EIGEN_ALWAYS_INLINE eigen_packet_wrapper(const T &v) : m_val(v) {}
+ EIGEN_ALWAYS_INLINE eigen_packet_wrapper& operator=(const T &v) {
+ m_val = v;
+--
+2.17.1
+
diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb b/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
deleted file mode 100644
index 6ce318d0b5..0000000000
--- a/meta-oe/recipes-support/libeigen/libeigen_3.3.7.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
-AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
-HOMEPAGE = "http://eigen.tuxfamily.org/"
-LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad"
-
-SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;nobranch=1"
-
-SRCREV = "21ae2afd4edaa1b69782c67a54182d34efe43f9c"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-FILES_${PN} = "${libdir}"
-FILES_${PN}-dev = "${includedir} ${datadir}/eigen3/cmake ${datadir}/cmake/Modules ${datadir}/pkgconfig"
-
-# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
new file mode 100644
index 0000000000..72044427dd
--- /dev/null
+++ b/meta-oe/recipes-support/libeigen/libeigen_3.4.0.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
+HOMEPAGE = "http://eigen.tuxfamily.org/"
+LICENSE = "MPL-2.0 & Apache-2.0 & BSD-3-Clause & GPL-2.0-only & LGPL-2.1-only & MINPACK"
+LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad \
+ file://COPYING.BSD;md5=2dd0510ee95e59ca28834b875bc96596 \
+ file://COPYING.GPL;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.MINPACK;md5=71d91b0f75ce79a75d3108a72bef8116 \
+"
+
+SRC_URI = "git://gitlab.com/libeigen/eigen.git;protocol=http;branch=3.4 \
+ file://0001-Default-eigen_packet_wrapper-constructor.patch \
+"
+
+SRCREV = "3147391d946bb4b6c68edd901f2add6ac1f31f8c"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES:${PN}-dev += "${datadir}/eigen3/cmake"
+
+# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libestr/libestr_0.1.11.bb b/meta-oe/recipes-support/libestr/libestr_0.1.11.bb
index ff61dd8fd7..2ebf2757d7 100644
--- a/meta-oe/recipes-support/libestr/libestr_0.1.11.bb
+++ b/meta-oe/recipes-support/libestr/libestr_0.1.11.bb
@@ -1,6 +1,6 @@
SUMMARY = "some essentials for string handling (and a bit more)"
HOMEPAGE = "http://libestr.adiscon.com/"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=9d6c993486c18262afba4ca5bcb894d0"
SRC_URI = "http://libestr.adiscon.com/files/download/${BP}.tar.gz"
diff --git a/meta-oe/recipes-support/libfann/libfann_git.bb b/meta-oe/recipes-support/libfann/libfann_git.bb
index eae24461dc..40f91ac43d 100644
--- a/meta-oe/recipes-support/libfann/libfann_git.bb
+++ b/meta-oe/recipes-support/libfann/libfann_git.bb
@@ -3,16 +3,16 @@ DESCRIPTION = "Fast Artificial Neural Network (FANN) Library is a free open sour
HOMEPAGE = "https://github.com/libfann/fann"
SECTION = "libs/devel"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f14599a2f089f6ff8c97e2baa4e3d575"
inherit cmake
SRCREV ?= "7ec1fc7e5bd734f1d3c89b095e630e83c86b9be1"
-SRC_URI = "git://github.com/libfann/fann.git;branch=master \
+SRC_URI = "git://github.com/libfann/fann.git;branch=master;protocol=https \
"
-PV = "2.2.0+git${SRCPV}"
+PV = "2.2.0+git"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/libfido2/libfido2_1.14.0.bb b/meta-oe/recipes-support/libfido2/libfido2_1.14.0.bb
new file mode 100644
index 0000000000..08d3f4e84d
--- /dev/null
+++ b/meta-oe/recipes-support/libfido2/libfido2_1.14.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "FIDO 2.0 support library"
+DESCRIPTION = "libfido2 provides library functionality and command-line tools to \
+communicate with a FIDO device over USB, and to verify attestation and \
+assertion signatures."
+HOMEPAGE = "https://developers.yubico.com/libfido2"
+LICENSE = "BSD-2-Clause"
+SECTION = "libs/network"
+DEPENDS = "libcbor openssl zlib udev"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5f14cb32bdf2b87063e0a2d20c4178d0"
+
+SRC_URI = "https://developers.yubico.com/${BPN}/Releases/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "3601792e320032d428002c4cce8499a4c7b803319051a25a0c9f1f138ffee45a"
+
+inherit cmake pkgconfig manpages
+
+PACKAGECONFIG[manpages] = "-DBUILD_MANPAGES:BOOL=ON,-DBUILD_MANPAGES:BOOL=OFF"
+
+EXTRA_OECMAKE = "-DUDEV_RULES_DIR=${nonarch_base_libdir}/udev/rules.d -DBUILD_EXAMPLES:BOOL=OFF"
+
+PACKAGE_BEFORE_PN = "${PN}-tools"
+
+FILES:${PN}-tools = "${bindir}/fido2-*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libftdi/libftdi_1.4.bb b/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
deleted file mode 100644
index 8479b274e7..0000000000
--- a/meta-oe/recipes-support/libftdi/libftdi_1.4.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "libftdi is a library to talk to FTDI chips.\
-FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\
-including the popular bitbang mode."
-HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/"
-SECTION = "libs"
-LICENSE = "LGPLv2.1 & GPLv2"
-LIC_FILES_CHKSUM= "\
- file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \
- file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
-"
-
-DEPENDS = "libusb1 python3 swig-native"
-
-SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
-SRC_URI[md5sum] = "0c09fb2bb19a57c839fa6845c6c780a2"
-SRC_URI[sha256sum] = "ec36fb49080f834690c24008328a5ef42d3cf584ef4060f3a35aa4681cb31b74"
-
-S = "${WORKDIR}/${BPN}1-${PV}"
-
-inherit cmake binconfig pkgconfig python3native
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
-
-EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
- -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
- -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
-
-BBCLASSEXTEND = "native nativesdk"
-
-PACKAGES += "${PN}-python"
-
-FILES_${PN}-python = "${libdir}/${PYTHON_DIR}/site-packages/"
diff --git a/meta-oe/recipes-support/libftdi/libftdi_1.5.bb b/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
new file mode 100644
index 0000000000..eae1c02f04
--- /dev/null
+++ b/meta-oe/recipes-support/libftdi/libftdi_1.5.bb
@@ -0,0 +1,40 @@
+DESCRIPTION = "libftdi is a library to talk to FTDI chips.\
+FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\
+including the popular bitbang mode."
+HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM= "\
+ file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \
+ file://COPYING.LIB;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+"
+
+DEPENDS = "libusb1 python3 swig-native"
+
+SRC_URI = "http://www.intra2net.com/en/developer/${BPN}/download/${BPN}1-${PV}.tar.bz2"
+SRC_URI[sha256sum] = "7c7091e9c86196148bd41177b4590dccb1510bfe6cea5bf7407ff194482eb049"
+
+S = "${WORKDIR}/${BPN}1-${PV}"
+
+inherit cmake binconfig pkgconfig python3native
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[cpp-wrapper] = "-DFTDI_BUILD_CPP=on -DFTDIPP=on,-DFTDI_BUILD_CPP=off -DFTDIPP=off,boost"
+PACKAGECONFIG[ftdi-eeprom] = "-DFTDI_EEPROM=on,-DFTDI_EEPROM=off,libconfuse"
+
+EXTRA_OECMAKE = "-DSTATICLIBS=off -DEXAMPLES=off \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+ -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \
+ -DPYTHON_INCLUDE_DIR=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI}"
+
+do_install:append() {
+ # remove absolute paths
+ sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/libftdi1/LibFTDI1Config.cmake
+}
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGES =+ "${PN}-python ftdi-eeprom"
+
+FILES:ftdi-eeprom = "${bindir}/ftdi_eeprom"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/"
diff --git a/meta-oe/recipes-support/libgpiod/files/run-ptest b/meta-oe/recipes-support/libgpiod/files/run-ptest
deleted file mode 100644
index 4cda05d446..0000000000
--- a/meta-oe/recipes-support/libgpiod/files/run-ptest
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-testbin="gpiod-test"
-ptestdir=$(dirname "$(readlink -f "$0")")
-cd $ptestdir/tests
-
-./$testbin
-if [ $? -ne 0 ]; then
- echo "FAIL: $testbin"
-else
- echo "PASS: $testbin"
-fi
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod-1.x/run-ptest b/meta-oe/recipes-support/libgpiod/libgpiod-1.x/run-ptest
new file mode 100644
index 0000000000..61b9b69fc6
--- /dev/null
+++ b/meta-oe/recipes-support/libgpiod/libgpiod-1.x/run-ptest
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+testbins="gpiod-test gpio-tools-test gpiod-cxx-test gpiod_py_test.py"
+
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd $ptestdir/tests
+
+for testbin in $testbins; do
+ if test -e ./$testbin; then
+ ./$testbin > ./$testbin.out 2>&1
+ if [ $? -ne 0 ]; then
+ echo "FAIL: $testbin"
+ else
+ echo "PASS: $testbin"
+ fi
+ else
+ echo "SKIP: $testbin"
+ fi
+done
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest b/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest
new file mode 100644
index 0000000000..29ec0d1027
--- /dev/null
+++ b/meta-oe/recipes-support/libgpiod/libgpiod-2.x/run-ptest
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+testbins="gpiod-test gpio-tools-test.bash gpiod-cxx-test"
+
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd $ptestdir/tests
+
+# libgpiod v2 uses gpio-sim - a configfs-based testing module. We need to
+# make sure configfs is mounted before running any tests.
+modprobe configfs
+mountpoint /sys/kernel/config > /dev/null || mount -t configfs configfs /sys/kernel/config
+
+for testbin in $testbins; do
+ if test -e ./$testbin; then
+ ./$testbin > ./$testbin.out 2>&1
+ if [ $? -ne 0 ]; then
+ echo "FAIL: $testbin"
+ else
+ echo "PASS: $testbin"
+ fi
+ else
+ echo "SKIP: $testbin"
+ fi
+done
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod.inc b/meta-oe/recipes-support/libgpiod/libgpiod.inc
new file mode 100644
index 0000000000..dc1fb4fe92
--- /dev/null
+++ b/meta-oe/recipes-support/libgpiod/libgpiod.inc
@@ -0,0 +1,60 @@
+SUMMARY = "C library and tools for interacting with the linux GPIO character device"
+RECIPE_MAINTAINER = "Bartosz Golaszewski <brgl@bgdev.pl>"
+
+inherit autotools pkgconfig ptest
+
+SRC_URI += " \
+ https://www.kernel.org/pub/software/libs/libgpiod/libgpiod-${PV}.tar.xz \
+ file://run-ptest \
+"
+
+PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
+
+# Enable cxx bindings by default.
+PACKAGECONFIG ?= " \
+ cxx \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
+"
+
+# Always build tools - they don't have any additional
+# requirements over the library.
+EXTRA_OECONF = "--enable-tools"
+
+DEPENDS += "autoconf-archive-native"
+
+PACKAGES =+ "${PN}-tools libgpiodcxx"
+FILES:${PN}-tools += " \
+ ${bindir}/gpiodetect \
+ ${bindir}/gpioinfo \
+ ${bindir}/gpioget \
+ ${bindir}/gpioset \
+ ${bindir}/gpiomon \
+"
+FILES:libgpiodcxx = "${libdir}/libgpiodcxx.so.*"
+
+RRECOMMENDS:${PN}-ptest += "coreutils"
+
+do_install:append() {
+ rm -f ${D}${bindir}/gpiod-test
+ rm -f ${D}${bindir}/gpio-tools-test
+ rm -f ${D}${bindir}/gpio-tools-test.bats
+ rm -f ${D}${bindir}/gpiod-cxx-test
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests/
+
+ # These are the core C library tests
+ install -m 0755 ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/
+
+ # Tools are always built so let's always install them for ptest even if
+ # we're not selecting libgpiod-tools.
+ for tool in ${FILES:${PN}-tools}; do
+ install ${B}/tools/.libs/$(basename $tool) ${D}${PTEST_PATH}/tests/
+ done
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'cxx', 'true', 'false', d)}; then
+ install -m 0755 ${B}/bindings/cxx/tests/.libs/gpiod-cxx-test ${D}${PTEST_PATH}/tests/
+ fi
+}
+
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb b/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
deleted file mode 100644
index c6c262b70b..0000000000
--- a/meta-oe/recipes-support/libgpiod/libgpiod_1.6.2.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-SUMMARY = "C library and tools for interacting with the linux GPIO character device"
-AUTHOR = "Bartosz Golaszewski <bgolaszewski@baylibre.com>"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de"
-
-SRC_URI = "https://www.kernel.org/pub/software/libs/${BPN}/${BP}.tar.xz \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "4765470becb619fead3cdaeac61b9a77"
-SRC_URI[sha256sum] = "c601e71846f5ab140c83bc757fdd62a4fda24a9cee39cc5e99c96ec2bf1b06a9"
-
-inherit autotools pkgconfig python3native ptest
-
-PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2"
-PACKAGECONFIG[cxx] = "--enable-bindings-cxx,--disable-bindings-cxx"
-PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
-
-# Enable cxx bindings by default.
-PACKAGECONFIG ?= "cxx"
-
-# Always build tools - they don't have any additional
-# requirements over the library.
-EXTRA_OECONF = "--enable-tools"
-
-DEPENDS += "autoconf-archive-native"
-
-PACKAGES =+ "${PN}-tools libgpiodcxx"
-FILES_${PN}-tools = "${bindir}/*"
-FILES_libgpiodcxx = "${libdir}/libgpiodcxx.so.*"
-
-PACKAGES =+ "${PN}-python"
-FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.so"
-FILES_${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
-RRECOMMENDS_PYTHON = "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '',d)}"
-RRECOMMENDS_${PN}-python += "${RRECOMMENDS_PYTHON}"
-
-PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests', '', d)}"
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}/tests
- cp ${B}/tests/.libs/gpiod-test ${D}${PTEST_PATH}/tests/
-}
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb b/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb
new file mode 100644
index 0000000000..111a5727ba
--- /dev/null
+++ b/meta-oe/recipes-support/libgpiod/libgpiod_1.6.4.bb
@@ -0,0 +1,45 @@
+require libgpiod.inc
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de"
+
+SRC_URI[sha256sum] = "7b146e12f28fbca3df7557f176eb778c5ccf952ca464698dba8a61b2e1e3f9b5"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-1.x:"
+
+inherit python3native
+
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,kmod udev glib-2.0 catch2"
+PACKAGECONFIG[python3] = "--enable-bindings-python,--disable-bindings-python,python3"
+
+# Always build tools - they don't have any additional
+# requirements over the library.
+EXTRA_OECONF = "--enable-tools"
+
+PACKAGES =+ "${PN}-python"
+FILES:${PN}-tools += "${bindir}/gpiofind"
+FILES:${PN}-ptest += " \
+ ${bindir}/gpiod_py_test.py \
+ ${libdir}/libgpiomockup.so.* \
+"
+FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*.so"
+FILES:${PN}-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
+
+RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'python3', '${PN}-python', '', d)}"
+RRECOMMENDS:${PN}-ptest += " \
+ kernel-module-gpio-mockup \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-unittest', '', d)} \
+"
+RDEPENDS:${PN}-ptest += " \
+ python3-packaging \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'bats', '', d)} \
+"
+
+do_install_ptest:append() {
+ install -m 0755 ${S}/tools/gpio-tools-test ${D}${PTEST_PATH}/tests/
+ install -m 0755 ${S}/tools/gpio-tools-test.bats ${D}${PTEST_PATH}/tests/
+
+ if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
+ install -m 0755 ${S}/bindings/python/tests/gpiod_py_test.py ${D}${PTEST_PATH}/tests/
+ fi
+}
diff --git a/meta-oe/recipes-support/libgpiod/libgpiod_2.1.1.bb b/meta-oe/recipes-support/libgpiod/libgpiod_2.1.1.bb
new file mode 100644
index 0000000000..4c13d67eba
--- /dev/null
+++ b/meta-oe/recipes-support/libgpiod/libgpiod_2.1.1.bb
@@ -0,0 +1,31 @@
+require libgpiod.inc
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & CC-BY-SA-4.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSES/GPL-2.0-or-later.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://LICENSES/LGPL-2.1-or-later.txt;md5=4b54a1fd55a448865a0b32d41598759d \
+ file://LICENSES/CC-BY-SA-4.0.txt;md5=fba3b94d88bfb9b81369b869a1e9a20f \
+"
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-2.x:"
+
+SRC_URI[sha256sum] = "b21913f469d3135680d5516f00fdf9f81d5e564e19ffb690927ea7f1d7e312cb"
+
+# Enable all project features for ptest
+PACKAGECONFIG[tests] = "--enable-tests --enable-tools --enable-bindings-cxx --enable-gpioset-interactive,--disable-tests,kmod util-linux glib-2.0 catch2 libedit"
+PACKAGECONFIG[gpioset-interactive] = "--enable-gpioset-interactive,--disable-gpioset-interactive,libedit"
+
+PACKAGES =+ "${PN}-ptest-dev"
+FILES:${PN}-tools += "${bindir}/gpionotify"
+FILES:${PN}-ptest += "${libdir}/libgpiosim.so.*"
+FILES:${PN}-ptest-dev += "${includedir}/gpiosim.h"
+
+RDEPENDS:${PN}-ptest += " \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'shunit2 bash', '', d)} \
+"
+RRECOMMENDS:${PN}-ptest += "kernel-module-gpio-sim kernel-module-configfs"
+
+do_install_ptest:append() {
+ install -m 0755 ${S}/tools/gpio-tools-test.bash ${D}${PTEST_PATH}/tests/
+ install -m 0644 ${S}/tests/gpiosim/gpiosim.h ${D}${includedir}/gpiosim.h
+}
diff --git a/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb b/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb
new file mode 100644
index 0000000000..491b6a7a1d
--- /dev/null
+++ b/meta-oe/recipes-support/libgusb/libgusb_0.3.10.bb
@@ -0,0 +1,18 @@
+SUMMARY = "GUsb is a GObject wrapper for libusb1"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+
+DEPENDS = "glib-2.0 libusb"
+
+inherit meson gobject-introspection gtk-doc gettext vala
+
+PACKAGECONFIG:class-target ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)}"
+PACKAGECONFIG[vapi] = "-Dvapi=true,-Dvapi=false"
+
+EXTRA_OEMESON:append:class-native = " -Dtests=false -Dintrospection=false"
+
+SRC_URI = "git://github.com/hughsie/libgusb.git;branch=main;protocol=https"
+SRCREV = "332d5b987ffecb824426e88518e05547faf2b520"
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libgusb/libgusb_0.3.5.bb b/meta-oe/recipes-support/libgusb/libgusb_0.3.5.bb
deleted file mode 100644
index c4b0ff3723..0000000000
--- a/meta-oe/recipes-support/libgusb/libgusb_0.3.5.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "GUsb is a GObject wrapper for libusb1"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-DEPENDS = "glib-2.0 libusb"
-
-inherit meson gobject-introspection gtk-doc gettext vala
-
-SRC_URI = "git://github.com/hughsie/libgusb.git \
- "
-SRCREV = "1f712812327091c42c62b1ab1148d738d1a22b51"
-S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/libharu/libharu/0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch b/meta-oe/recipes-support/libharu/libharu/0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch
deleted file mode 100644
index 0947de196c..0000000000
--- a/meta-oe/recipes-support/libharu/libharu/0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 9341ac4f6ae38efe95dfd188105a9ea30941ccf6 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Wed, 18 Nov 2020 23:09:51 +0900
-Subject: [PATCH] Install static lib into var-libdir rather than hardcod lib.
-
-Lei Maohui <leimaohui@cn.fujitsu.com>
-
-Upstream-Status: Pending
----
- src/CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 249916c..fb06ea3 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -75,8 +75,8 @@ if(LIBHPDF_STATIC)
- target_link_libraries(${LIBHPDF_NAME_STATIC} ${ADDITIONAL_LIBRARIES})
- install(
- TARGETS ${LIBHPDF_NAME_STATIC}
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
-+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
- RUNTIME DESTINATION bin
- )
- if(WIN32 AND NOT CYGWIN)
---
-2.25.1
-
diff --git a/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch b/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch
deleted file mode 100644
index 332be1b3f7..0000000000
--- a/meta-oe/recipes-support/libharu/libharu/libharu-RELEASE_2_3_0_cmake.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Backport from Fedora Project.
-https://src.fedoraproject.org/rpms/libharu
-
-Fix the install destination of some files.
-
-Upstream-Status: inappropriate
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
-
-diff -urp libharu-RELEASE_2_3_0/CMakeLists.txt libharu-RELEASE_2_3_0_cmake/CMakeLists.txt
---- libharu-RELEASE_2_3_0/CMakeLists.txt 2013-10-30 20:11:59.000000000 +0700
-+++ libharu-RELEASE_2_3_0_cmake/CMakeLists.txt 2017-06-01 15:56:06.533552795 +0700
-@@ -25,7 +25,7 @@ endif(MSVC)
-
- # information about libharu
- set(LIBHPDF_MAJOR 2)
--set(LIBHPDF_MINOR 2)
-+set(LIBHPDF_MINOR 3)
- set(LIBHPDF_PATCH 0)
- set(LIBHPDF_VERSION ${LIBHPDF_MAJOR}.${LIBHPDF_MINOR}.${LIBHPDF_PATCH})
- set(LIBHPDF_DESCRIPTION "libHaru is a free, cross platform, open source library for generating PDF files.")
-@@ -210,9 +210,9 @@ set(
- install(FILES ${haru_HDRS} DESTINATION include)
-
- # install various files
--install(FILES README CHANGES INSTALL DESTINATION .)
-+install(FILES README CHANGES INSTALL DESTINATION ${SHARE_INSTALL_PREFIX}/libharu)
- if(NOT DEVPAK)
-- install(DIRECTORY if DESTINATION .)
-+ install(DIRECTORY if DESTINATION ${SHARE_INSTALL_PREFIX}/libharu)
- endif(NOT DEVPAK)
- if(DEVPAK)
- install(FILES ${CMAKE_BINARY_DIR}/libharu.DevPackage DESTINATION .)
-diff -urp libharu-RELEASE_2_3_0/src/CMakeLists.txt libharu-RELEASE_2_3_0_cmake/src/CMakeLists.txt
---- libharu-RELEASE_2_3_0/src/CMakeLists.txt 2013-10-30 20:11:59.000000000 +0700
-+++ libharu-RELEASE_2_3_0_cmake/src/CMakeLists.txt 2017-06-01 16:08:45.425105746 +0700
-@@ -90,11 +90,13 @@ if(LIBHPDF_SHARED)
- target_link_libraries(${LIBHPDF_NAME} ${ADDITIONAL_LIBRARIES})
- if(WIN32 AND NOT CYGWIN)
- set_target_properties(${LIBHPDF_NAME} PROPERTIES DEFINE_SYMBOL HPDF_DLL_MAKE)
-+ else(WIN32 AND NOT CYGWIN)
-+ set_target_properties(${LIBHPDF_NAME} PROPERTIES SOVERSION ${LIBHPDF_VERSION})
- endif(WIN32 AND NOT CYGWIN)
- install(
- TARGETS ${LIBHPDF_NAME}
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
-+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
- RUNTIME DESTINATION bin
- )
- endif(LIBHPDF_SHARED)
diff --git a/meta-oe/recipes-support/libharu/libharu_2.3.0.bb b/meta-oe/recipes-support/libharu/libharu_2.3.0.bb
deleted file mode 100644
index 8d30c1f7b1..0000000000
--- a/meta-oe/recipes-support/libharu/libharu_2.3.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "free PDF library"
-HOMEPAGE = "http://libharu.org"
-DESCRIPTION = "libHaru is a library for generating PDF files. \
- It is free, open source, written in ANSI C and cross platform. "
-
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://README;md5=3ee6bc1f64d9cc7907f44840c8e50cb1"
-
-SRC_URI = "git://github.com/libharu/libharu.git;branch=2_3 \
- file://libharu-RELEASE_2_3_0_cmake.patch \
- file://0001-Install-static-lib-into-var-libdir-rather-than-hardc.patch \
- "
-
-SRCREV = "4ae1d5f4c84459f130bf1b1ef4c5c330af8eca5d"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-DEPENDS += "libpng zlib"
-
-do_install_append() {
- mkdir -p ${D}/${datadir}/libharu
- mv ${D}/libharu ${D}/${datadir}
-}
diff --git a/meta-oe/recipes-support/libharu/libharu_2.4.4.bb b/meta-oe/recipes-support/libharu/libharu_2.4.4.bb
new file mode 100644
index 0000000000..02dc499e03
--- /dev/null
+++ b/meta-oe/recipes-support/libharu/libharu_2.4.4.bb
@@ -0,0 +1,16 @@
+SUMMARY = "free PDF library"
+HOMEPAGE = "http://libharu.org"
+DESCRIPTION = "libHaru is a library for generating PDF files. \
+ It is free, open source, written in ANSI C and cross platform. "
+
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=924546dab2bef90e370d7c0c090ddcf0"
+
+DEPENDS += "libpng zlib"
+
+SRC_URI = "git://github.com/libharu/libharu.git;branch=master;protocol=https"
+SRCREV = "0c598becaadaef8e3d12b883f9fc2864a118c12d"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/meta-oe/recipes-support/libiio/libiio_0.25.bb b/meta-oe/recipes-support/libiio/libiio_0.25.bb
new file mode 100644
index 0000000000..2c6d2b5145
--- /dev/null
+++ b/meta-oe/recipes-support/libiio/libiio_0.25.bb
@@ -0,0 +1,81 @@
+SUMMARY = "Library for interfacing with IIO devices"
+HOMEPAGE = "https://wiki.analog.com/resources/tools-software/linux-software/libiio"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
+
+SRCREV = "b6028fdeef888ab45f7c1dd6e4ed9480ae4b55e3"
+
+SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https;branch=main"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+SETUPTOOLS_SETUP_PATH ?= "${B}/bindings/python/"
+
+DEPENDS = " \
+ flex-native bison-native libaio \
+"
+
+inherit cmake python3native systemd setuptools3 pkgconfig
+
+EXTRA_OECMAKE = " \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCPP_BINDINGS=ON \
+ -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
+ -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \
+ -DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \
+"
+
+PACKAGECONFIG ??= " \
+ usb_backend network_backend serial_backend xml_backend \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'dnssd', '', d)} \
+"
+
+# network_backend, serial_backend and usb_backend depend on xml_backend, so don't switch it off
+XML_BACKEND_DISABLE = "${@bb.utils.contains_any('PACKAGECONFIG', 'network_backend serial_backend usb_backend', '', '-DWITH_XML_BACKEND=off', d)}"
+
+PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1 libxml2"
+PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2"
+PACKAGECONFIG[serial_backend] = "-DWITH_SERIAL_BACKEND=ON -DWITH_XML_BACKEND=ON,-DWITH_SERIAL_BACKEND=off,libserialport libxml2"
+PACKAGECONFIG[xml_backend] = "-DWITH_XML_BACKEND=ON,${XML_BACKEND_DISABLE},libxml2"
+PACKAGECONFIG[dnssd] = "-DHAVE_DNS_SD=ON,-DHAVE_DNS_SD=off,avahi"
+PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF"
+
+PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-python3"
+
+# Inheriting setuptools3 incorrectly adds the dependency on python3-core
+# to ${PN} instead of to ${PN}-python3 where it belongs.
+RDEPENDS:${PN}:remove = "python3-core"
+RDEPENDS:${PN}-python3 = "${PN} python3-core python3-ctypes python3-stringold"
+
+FILES:${PN}-iiod = " \
+ ${sbindir}/iiod \
+ ${systemd_system_unitdir}/iiod.service \
+"
+FILES:${PN}-tests = "${bindir}"
+FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}"
+
+SYSTEMD_PACKAGES = "${PN}-iiod"
+SYSTEMD_SERVICE:${PN}-iiod = "iiod.service"
+
+# Explicitly define do_configure, do_compile and do_install because both cmake and setuptools3 have
+# EXPORT_FUNCTIONS do_configure do_compile do_install
+do_configure() {
+ cmake_do_configure
+}
+
+do_compile() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then
+ setuptools3_do_compile
+ fi
+ cmake_do_compile
+}
+
+do_install() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'true', 'false', d)}; then
+ setuptools3_do_install
+ fi
+ cmake_do_install
+}
diff --git a/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-oe/recipes-support/libiio/libiio_git.bb
deleted file mode 100644
index b308bde171..0000000000
--- a/meta-oe/recipes-support/libiio/libiio_git.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Library for interfacing with IIO devices"
-HOMEPAGE = "https://wiki.analog.com/resources/tools-software/linux-software/libiio"
-SECTION = "libs"
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
-
-SRCREV = "565bf68eccfdbbf22cf5cb6d792e23de564665c7"
-PV = "0.21+git${SRCPV}"
-
-SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake python3native systemd
-
-DEPENDS = " \
- flex-native bison-native libaio \
- ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
-"
-
-EXTRA_OECMAKE = " \
- -DCMAKE_BUILD_TYPE=RelWithDebInfo \
- -DUDEV_RULES_INSTALL_DIR=${nonarch_base_libdir}/udev/rules.d \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '-DWITH_SYSTEMD=ON -DSYSTEMD_UNIT_INSTALL_DIR=${systemd_system_unitdir}', '', d)} \
-"
-
-PACKAGECONFIG ??= "usb_backend network_backend"
-
-PACKAGECONFIG[usb_backend] = "-DWITH_USB_BACKEND=ON,-DWITH_USB_BACKEND=OFF,libusb1,libxml2"
-PACKAGECONFIG[network_backend] = "-DWITH_NETWORK_BACKEND=ON,-DWITH_NETWORK_BACKEND=OFF,libxml2"
-PACKAGECONFIG[libiio-python3] = "-DPYTHON_BINDINGS=ON,-DPYTHON_BINDINGS=OFF"
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'libiio-python3', 'distutils3-base', '', d)}
-
-PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}"
-
-RDEPENDS_${PN}-${PYTHON_PN} = "${PN} ${PYTHON_PN}-ctypes ${PYTHON_PN}-stringold"
-
-FILES_${PN}-iiod = " \
- ${sbindir}/iiod \
- ${systemd_system_unitdir}/iiod.service \
-"
-FILES_${PN}-tests = "${bindir}"
-FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}"
-
-SYSTEMD_PACKAGES = "${PN}-iiod"
-SYSTEMD_SERVICE_${PN}-iiod = "iiod.service"
diff --git a/meta-oe/recipes-support/libiodbc/libiodbc_3.52.15.bb b/meta-oe/recipes-support/libiodbc/libiodbc_3.52.15.bb
new file mode 100644
index 0000000000..ff976ed975
--- /dev/null
+++ b/meta-oe/recipes-support/libiodbc/libiodbc_3.52.15.bb
@@ -0,0 +1,30 @@
+SUMMARY = "iODBC driver manager maintained by OpenLink Software."
+
+DESCRIPTION = "This kit will provide you with everything you need to \
+develop ODBC-compliant applications under Unix without having to pay \
+royalties to other parties. \
+"
+
+HOMEPAGE = "http://www.iodbc.org/"
+
+LICENSE = "LGPL-2.0-only | BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=8c0138a8701f0e1282f5c8b2c7d39114 \
+ file://LICENSE.BSD;md5=ff3a66a194e500df485da930da7f2c62 \
+ "
+
+SRC_URI = "https://github.com/openlink/iODBC/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "c74541e3327fc9a1c7ccf103645471c67bc014542d70f572476eb07c0b2dd43c"
+
+inherit autotools
+
+EXTRA_OECONF += " --prefix=/usr/local \
+ --includedir=/usr/include/iodbc \
+ --with-iodbc-inidir=/etc \
+ --enable-odbc3 \
+ --enable-pthreads \
+ --disable-libodbc \
+ --disable-static \
+ "
+
+inherit multilib_script
+MULTILIB_SCRIPTS = "${PN}:${bindir}/iodbc-config"
diff --git a/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb b/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb
new file mode 100644
index 0000000000..38ffd032ab
--- /dev/null
+++ b/meta-oe/recipes-support/libjs/libjs-jquery-cookie_3.0.5.bb
@@ -0,0 +1,27 @@
+SUMMARY = "A simple, lightweight JavaScript API for handling cookies."
+HOMEPAGE = "https://github.com/js-cookie/js-cookie"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e16cf0e247d84f8999bf55865a9c98cf"
+
+SRC_URI = "git://github.com/js-cookie/js-cookie.git;protocol=https;branch=main"
+
+SRCREV = "ab3f67fc4fad88cdf07b258c08e4164e06bf7506"
+
+S = "${WORKDIR}/git"
+
+JQUERYCOOKIEDIR = "${datadir}/javascript/jquery-cookie"
+JQUERYCOOKIEDOCDIR = "${docdir}/libjs-jquery-cookie"
+
+do_install() {
+ install -d ${D}${JQUERYCOOKIEDIR}
+ install -m 0644 ${S}/*.js ${D}${JQUERYCOOKIEDIR}
+ install -m 0644 ${S}/src/*.mjs ${D}${JQUERYCOOKIEDIR}
+ install -m 0644 ${S}/*.json ${D}${JQUERYCOOKIEDIR}
+
+ install -d ${D}${JQUERYCOOKIEDOCDIR}
+ install -m 0644 ${S}/*.md ${D}${JQUERYCOOKIEDOCDIR}
+
+}
+
+FILES:${PN} += "${datadir}/javascript/jquery-cookie"
+FILES:${PN}-doc += "${docdir}/libjs-jquery-cookie"
diff --git a/meta-oe/recipes-support/libjs/libjs-jquery-globalize_1.7.0.bb b/meta-oe/recipes-support/libjs/libjs-jquery-globalize_1.7.0.bb
new file mode 100644
index 0000000000..b6147ffeb2
--- /dev/null
+++ b/meta-oe/recipes-support/libjs/libjs-jquery-globalize_1.7.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "A JavaScript library for internationalization and localization that leverages the official Unicode CLDR JSON data"
+SECTION = "console/network"
+HOMEPAGE = "https://github.com/globalizejs/globalize"
+LICENSE = "MIT"
+
+S = "${WORKDIR}/git"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4db68fb4d1d9986d736b35039f2ad9ea"
+
+SRCREV = "771061fb35f7fd8d7c2c37f5d5bb26115be382bc"
+SRC_URI = "git://github.com/globalizejs/globalize;protocol=https;nobranch=1"
+
+FILES:${PN} = "${datadir}/javascript/jquery-globalize"
+FILES:${PN}-doc += "${docdir}/${PN}"
+
+do_install() {
+ install -d ${D}${datadir}/javascript/jquery-globalize/
+ install -m 0644 ${S}/dist/*.js ${D}${datadir}/javascript/jquery-globalize/
+ install -m 0644 ${S}/dist/globalize/*.js ${D}${datadir}/javascript/jquery-globalize/
+
+ install -d ${D}${docdir}/${PN}/
+ install -m 0644 ${S}/LICENSE ${D}${docdir}/${PN}/
+}
diff --git a/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb b/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb
new file mode 100644
index 0000000000..31c3534b88
--- /dev/null
+++ b/meta-oe/recipes-support/libjs/libjs-jquery-icheck_1.0.3.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "Highly customizable checkboxes and radio buttons (jQuery & Zepto)"
+SECTION = "console/network"
+HOMEPAGE = "http://fronteed.com/iCheck"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://icheck.js;start_line=1;end_line=8;md5=404078d7de9f05ed64d364274f790055"
+
+SRC_URI = "git://github.com/fronteed/icheck.git;protocol=https;branch=${PV}"
+
+SRCREV = "c8c1af84e4b90b4aea31466aad09bf877619e943"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/javascript/jquery-icheck/
+ install -m 0644 ${S}/icheck.js ${D}${datadir}/javascript/jquery-icheck/
+ install -m 0644 ${S}/icheck.min.js ${D}${datadir}/javascript/jquery-icheck/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/
+ install -m 0644 ${S}/skins/all.css ${D}${datadir}/javascript/jquery-icheck/skins/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/flat/
+ install -m 0644 ${S}/skins/flat/* ${D}${datadir}/javascript/jquery-icheck/skins/flat/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/futurico/
+ install -m 0644 ${S}/skins/futurico/* ${D}${datadir}/javascript/jquery-icheck/skins/futurico/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/line/
+ install -m 0644 ${S}/skins/line/* ${D}${datadir}/javascript/jquery-icheck/skins/line/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/minimal/
+ install -m 0644 ${S}/skins/minimal/* ${D}${datadir}/javascript/jquery-icheck/skins/minimal/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/polaris/
+ install -m 0644 ${S}/skins/polaris/* ${D}${datadir}/javascript/jquery-icheck/skins/polaris/
+
+ install -d ${D}${datadir}/javascript/jquery-icheck/skins/square/
+ install -m 0644 ${S}/skins/square/* ${D}${datadir}/javascript/jquery-icheck/skins/square/
+}
+
+FILES:${PN} += "${datadir}/javascript/jquery-icheck"
+
diff --git a/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb b/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb
deleted file mode 100644
index 7f425cdeab..0000000000
--- a/meta-oe/recipes-support/libjs/libjs-jquery_1.7.2.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "JavaScript library for dynamic web applications"
-HOMEPAGE = "https://jquery.com/"
-LICENSE = "MIT | BSD | GPL-2"
-LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-jquery/copyright;md5=5d1ec6f95e0a91d38e2f71de93ddb00e"
-
-SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/main/j/jquery/${BPN}_${PV}+debian-1ubuntu1~ubuntu12.04.1_all.deb;subdir=${BP}"
-SRC_URI[md5sum] = "fa511ab67f6e960c5b6d39a4d665e47f"
-SRC_URI[sha256sum] = "190ca18a71e35c8ab2ba73fe5be3c7cc601fe20b45709d801110818f1b602cc1"
-
-JQUERYDIR = "${datadir}/javascript/jquery"
-JQUERYDOCDIR = "${docdir}/libjs-jquery"
-
-do_install() {
- install -d -m 0755 ${D}${JQUERYDIR}
- install -m 0644 ${S}${JQUERYDIR}/jquery.js ${D}${JQUERYDIR}/
- install -m 0644 ${S}${JQUERYDIR}/jquery.min.js ${D}${JQUERYDIR}/
-
- ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.lite.js
- ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.pack.js
-
- install -d -m 0644 ${D}${JQUERYDOCDIR}
- install -m 0644 ${S}${JQUERYDOCDIR}/copyright ${D}${JQUERYDOCDIR}/
-}
-
-FILES_${PN} = "/usr/share/javascript/jquery"
diff --git a/meta-oe/recipes-support/libjs/libjs-jquery_3.3.1.bb b/meta-oe/recipes-support/libjs/libjs-jquery_3.3.1.bb
new file mode 100644
index 0000000000..9130b110a8
--- /dev/null
+++ b/meta-oe/recipes-support/libjs/libjs-jquery_3.3.1.bb
@@ -0,0 +1,27 @@
+SUMMARY = "JavaScript library for dynamic web applications"
+HOMEPAGE = "https://jquery.com/"
+LICENSE = "GPL-2.0-only | MIT"
+LIC_FILES_CHKSUM = "file://usr/share/doc/libjs-jquery/copyright;md5=04bfd6e5b918af29f2f79ce44527da62"
+
+SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/main/j/jquery/${BPN}_${PV}~dfsg-3_all.deb"
+
+SRC_URI[sha256sum] = "e04d192c2356e9d4c2b2c7d83fde9408713212b53c4d106e5b9e46c1a56da33b"
+
+JQUERYDIR = "${datadir}/javascript/jquery"
+JQUERYDOCDIR = "${docdir}/libjs-jquery"
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -d -m 0755 ${D}${JQUERYDIR}
+ install -m 0644 ${S}${JQUERYDIR}/jquery.js ${D}${JQUERYDIR}/
+ install -m 0644 ${S}${JQUERYDIR}/jquery.min.js ${D}${JQUERYDIR}/
+
+ ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.lite.js
+ ln -sf jquery.min.js ${D}${JQUERYDIR}/jquery.pack.js
+
+ install -d -m 0644 ${D}${JQUERYDOCDIR}
+ install -m 0644 ${S}${JQUERYDOCDIR}/copyright ${D}${JQUERYDOCDIR}/
+}
+
+FILES:${PN} = "/usr/share/javascript/jquery"
diff --git a/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb b/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb
index 4928b6c3a7..e639ce59d8 100644
--- a/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb
+++ b/meta-oe/recipes-support/libjs/libjs-sizzle_1.10.18.bb
@@ -1,6 +1,6 @@
SUMMARY = "Pure-JavaScript CSS selector engine"
HOMEPAGE = "https://github.com/jquery/sizzle/wiki"
-LICENSE = "GPL-2.0 & MIT & AFL-2.1"
+LICENSE = "GPL-2.0-only & MIT & AFL-2.1"
LIC_FILES_CHKSUM = "file://MIT-LICENSE.txt;md5=e43aa437a6a1ba421653bd5034333bf9"
SRC_URI = "http://kr.archive.ubuntu.com/ubuntu/pool/universe/s/sizzle/sizzle_1.10.18.orig.tar.gz"
@@ -16,4 +16,4 @@ do_install() {
install -m 0644 ${SIZZLEDIR}/*.js ${D}/${datadir}/javascript/sizzle/
}
-FILES_${PN} = "${datadir}/javascript/sizzle/"
+FILES:${PN} = "${datadir}/javascript/sizzle/"
diff --git a/meta-oe/recipes-support/libmanette/libmanette_0.2.7.bb b/meta-oe/recipes-support/libmanette/libmanette_0.2.7.bb
new file mode 100644
index 0000000000..db05422699
--- /dev/null
+++ b/meta-oe/recipes-support/libmanette/libmanette_0.2.7.bb
@@ -0,0 +1,16 @@
+# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+SUMMARY = "The simple GObject game controller library"
+HOMEPAGE = "https://gnome.pages.gitlab.gnome.org/libmanette/"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "libevdev libgudev"
+
+SRC_URI = "https://download.gnome.org/sources/libmanette/0.2/libmanette-${PV}.tar.xz"
+SRC_URI[sha256sum] = "cddd5c02a131072c19c6cde6f2cb2cd57eae7dacb50d14c337efd980baa51a51"
+
+inherit meson pkgconfig gobject-introspection ptest vala
+
+FILES:${PN}-ptest =+ "${bindir}/manette-test"
+FILES:${PN}-dev =+ "${libdir}/girepository-1.0"
diff --git a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb
deleted file mode 100644
index 66c48da3b7..0000000000
--- a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.72.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application"
-HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
-LICENSE = "LGPL-2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=57d09285feac8a64efa878e692b14f36"
-SECTION = "net"
-
-DEPENDS = "file"
-
-SRC_URI = "${GNU_MIRROR}/libmicrohttpd/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "2a286193af88ab2ae3149748d4b46187"
-SRC_URI[sha256sum] = "0ae825f8e0d7f41201fd44a0df1cf454c1cb0bc50fe9d59c26552260264c2ff8"
-
-inherit autotools lib_package pkgconfig gettext
-
-CFLAGS += "-pthread -D_REENTRANT"
-
-EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../"
-
-PACKAGECONFIG ?= "curl https"
-PACKAGECONFIG_append_class-target = "\
- ${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
-"
-PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
-PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
-PACKAGECONFIG[https] = "--enable-https,--disable-https,libgcrypt gnutls,"
-
-do_compile_append() {
- sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch b/meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch
index 50cd4d4270..717e3f1f8b 100644
--- a/meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch
+++ b/meta-oe/recipes-support/libmimetic/libmimetic/0001-libmimetic-Removing-test-directory-from-the-Makefile.patch
@@ -15,6 +15,8 @@ aarch64-yoe-linux-musl.
Signed-off-by: asmitk01-in <asmitk01@in.ibm.com>
Change-Id: I1822b36ad4a1fa5e7b165d8cac3a6e96aca11c35
---
+Upstream-Status: Pending
+
Makefile.am | 2 +-
mimetic/codec/other_codecs.h | 4 ++++
mimetic/contenttype.cxx | 4 ++++
diff --git a/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb b/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
index 590c4ebc28..4d4a5ff109 100644
--- a/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
+++ b/meta-oe/recipes-support/libmimetic/libmimetic_0.9.8.bb
@@ -2,7 +2,6 @@
SUMMARY = "Mimetic Library for multi-part parsing"
DESCRIPTION = "Email library (MIME) written in C++ designed to be easy to use and integrate but yet fast and efficient."
-AUTHOR = "Stefano Barbato <stefano@codesink.org>"
HOMEPAGE = "http://www.codesink.org/mimetic_mime_library.html"
BUGTRACKER = "https://github.com/LadislavSopko/mimetic/issues"
@@ -10,7 +9,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b49da7df0ca479ef01ff7f2d799eabee"
SRCREV = "50486af99b4f9b35522d7b3de40b6ce107505279"
-SRC_URI += "git://github.com/LadislavSopko/mimetic/ \
+SRC_URI += "git://github.com/LadislavSopko/mimetic/;branch=master;protocol=https \
file://0001-libmimetic-Removing-test-directory-from-the-Makefile.patch \
file://0001-mimetic-Check-for-MMAP_FAILED-return-from-mmap.patch \
"
@@ -19,6 +18,6 @@ UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
-CXXFLAGS += "-Wno-narrowing"
+CXXFLAGS += "-Wno-narrowing -std=c++14"
inherit autotools
diff --git a/meta-oe/recipes-support/libmxml/libmxml_3.1.bb b/meta-oe/recipes-support/libmxml/libmxml_3.1.bb
deleted file mode 100644
index 4e77d6cc02..0000000000
--- a/meta-oe/recipes-support/libmxml/libmxml_3.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "Tiny XML Library"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-HOMEPAGE = "https://www.msweet.org/mxml/"
-BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues"
-
-SRC_URI = "git://github.com/michaelrsweet/mxml.git"
-SRCREV = "e483e5fd8a33386fd46967681521bdd2da2b548f"
-S = "${WORKDIR}/git"
-
-inherit autotools
-
-PACKAGECONFIG ??= "threads"
-PACKAGECONFIG[threads] = "--enable-threads,--disable-threads"
-
-# Package does not support out of tree builds.
-B = "${S}"
-
-# MXML uses autotools but it explicitly states it does not support autoheader.
-EXTRA_AUTORECONF = "--exclude=autopoint,autoheader"
-
-do_configure_prepend() {
- # Respect optimization CFLAGS specified by OE.
- sed -e 's/-Os -g//' -i ${S}/configure.ac
-
- # Enable verbose compilation output. This is required for extra QA checks to work.
- sed -e '/.SILENT:/d' -i ${S}/Makefile.in
-}
-
-do_install() {
- # Package uses DSTROOT instread of standard DESTDIR to specify install location.
- oe_runmake install DSTROOT=${D}
-}
diff --git a/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb b/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb
new file mode 100644
index 0000000000..38e270c036
--- /dev/null
+++ b/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Tiny XML Library"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+HOMEPAGE = "https://www.msweet.org/mxml/"
+BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues"
+
+SRC_URI = "git://github.com/michaelrsweet/mxml.git;branch=master;protocol=https"
+SRCREV = "fd47c7d115191c8a6bce2c781ffee41e179530f2"
+S = "${WORKDIR}/git"
+
+# Package does not support out of tree builds.
+inherit autotools-brokensep
+
+PACKAGECONFIG ??= "threads"
+PACKAGECONFIG[threads] = "--enable-threads,--disable-threads"
+
+# MXML uses autotools but it explicitly states it does not support autoheader.
+EXTRA_AUTORECONF = "--exclude=autopoint,autoheader"
+
+do_configure:prepend() {
+ # Respect optimization CFLAGS specified by OE.
+ sed -e 's/-Os -g//' -i ${S}/configure.ac
+
+ # Enable verbose compilation output. This is required for extra QA checks to work.
+ sed -e '/.SILENT:/d' -i ${S}/Makefile.in
+}
+
+do_install() {
+ # Package uses DSTROOT instread of standard DESTDIR to specify install location.
+ oe_runmake install DSTROOT=${D}
+}
diff --git a/meta-oe/recipes-support/libnice/libnice_0.1.22.bb b/meta-oe/recipes-support/libnice/libnice_0.1.22.bb
new file mode 100644
index 0000000000..175e10fdf6
--- /dev/null
+++ b/meta-oe/recipes-support/libnice/libnice_0.1.22.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Interactive Connectivity Establishment library"
+DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)."
+HOMEPAGE = "http://nice.freedesktop.org/wiki/"
+
+LICENSE = "LGPL-2.1-only & MPL-1.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \
+ file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
+"
+
+SRC_URI = "http://nice.freedesktop.org/releases/${BP}.tar.gz"
+SRC_URI[sha256sum] = "a5f724cf09eae50c41a7517141d89da4a61ec9eaca32da4a0073faed5417ad7e"
+
+DEPENDS = "glib-2.0 gnutls ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'graphviz-native', '', d)}"
+
+PACKAGECONFIG[gupnp] = "-Dgupnp=enabled,-Dgupnp=disabled,gupnp"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0"
+PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,"
+
+GTKDOC_MESON_OPTION = "gtk_doc"
+GTKDOC_MESON_ENABLE_FLAG = "enabled"
+GTKDOC_MESON_DISABLE_FLAG = "disabled"
+
+inherit meson gtk-doc gobject-introspection
+
+EXTRA_OEMESON = "-Dexamples=disabled -Dtests=disabled"
+
+FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
+FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/pkgconfig"
+FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
diff --git a/meta-oe/recipes-support/libnvme/libnvme_1.8.bb b/meta-oe/recipes-support/libnvme/libnvme_1.8.bb
new file mode 100644
index 0000000000..3894facecb
--- /dev/null
+++ b/meta-oe/recipes-support/libnvme/libnvme_1.8.bb
@@ -0,0 +1,22 @@
+SUMMARY = "libnvme development C library"
+DESCRIPTION = "\
+libnvme provides type definitions for NVMe specification structures, \
+enumerations, and bit fields, helper functions to construct, dispatch, \
+and decode commands and payloads, and utilities to connect, scan, and \
+manage nvme devices on a Linux system."
+HOMEPAGE = "https://github.com/linux-nvme/${BPN}"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only & CC0-1.0 & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://ccan/licenses/CC0;md5=c17af43b05840255a6fedc5eda9d56cc \
+ file://ccan/licenses/BSD-MIT;md5=838c366f69b72c5df05c96dff79b35f2"
+DEPENDS = "json-c"
+SRCREV = "bff7dda7e2a0f883d0b89e23fed725c916de3e61"
+
+SRC_URI = "git://github.com/linux-nvme/libnvme;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+EXTRA_OEMESON += "-Dkeyutils=disabled -Dopenssl=disabled -Dpython=disabled"
diff --git a/meta-oe/recipes-support/liboauth/liboauth/0001-Support-OpenSSL-1.1.0.patch b/meta-oe/recipes-support/liboauth/liboauth/0001-Support-OpenSSL-1.1.0.patch
index 8691eae2b5..2631f4ae73 100644
--- a/meta-oe/recipes-support/liboauth/liboauth/0001-Support-OpenSSL-1.1.0.patch
+++ b/meta-oe/recipes-support/liboauth/liboauth/0001-Support-OpenSSL-1.1.0.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Support OpenSSL 1.1.0
Taken from https://github.com/x42/liboauth/issues/9
-Upstream-Status: Submitted[https://github.com/x42/liboauth/issues/9]
+Upstream-Status: Submitted [https://github.com/x42/liboauth/issues/9]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/hash.c | 65 ++++++++++++++++++++++++++++++++++++------------------
diff --git a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb
index 498764ac83..d4b8170873 100644
--- a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb
+++ b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb
@@ -3,7 +3,7 @@
DESCRIPTION = "C library implementing OAuth Core RFC 5849"
HOMEPAGE = "http://liboauth.sourceforge.net"
-LICENSE = "MIT|GPL-2.0"
+LICENSE = "MIT|GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=6266718a5241c045c8099d9be48817df \
file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
SECTION = "libs"
diff --git a/meta-oe/recipes-support/libol/libol/configure.patch b/meta-oe/recipes-support/libol/libol/configure.patch
deleted file mode 100644
index 87695fb06d..0000000000
--- a/meta-oe/recipes-support/libol/libol/configure.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: libol-0.3.18/configure.in
-===================================================================
---- libol-0.3.18.orig/configure.in 2006-03-27 14:44:52.000000000 +0000
-+++ libol-0.3.18/configure.in 2014-07-18 07:05:56.029481372 +0000
-@@ -1,7 +1,7 @@
- dnl Process this file with autoconf to produce a configure script.
--AC_INIT(src/abstract_io.c)
-+AC_INIT(libol, "0.3.18")
-
--AM_INIT_AUTOMAKE(libol, "0.3.18", 1)
-+AM_INIT_AUTOMAKE([foreign])
- if test -n "$SNAPSHOT_VERSION"; then
- VERSION=$VERSION+$SNAPSHOT_VERSION
- fi
diff --git a/meta-oe/recipes-support/libol/libol_0.3.18.bb b/meta-oe/recipes-support/libol/libol_0.3.18.bb
deleted file mode 100644
index d7adb2b941..0000000000
--- a/meta-oe/recipes-support/libol/libol_0.3.18.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "A tiny C support library"
-HOMEPAGE = "https://my.balabit.com/downloads/libol"
-SECTION = "libs"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
-
-SRC_URI = "http://www.balabit.com/downloads/libol/0.3/${BP}.tar.gz \
- file://configure.patch"
-SRC_URI[md5sum] = "cbadf4b7ea276dfa85acc38a1cc5ff17"
-SRC_URI[sha256sum] = "9de3bf13297ff882e02a1e6e5f6bf760a544aff92a9d8a1cf4328a32005cefe7"
-
-inherit autotools binconfig
-
-do_compile_prepend() {
- install ${S}/utils/make_class.in ${B}/utils
-}
-
-do_install_append() {
- rm -fr ${D}${bindir}
-}
diff --git a/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch b/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
index e00cf80141..0521aaeaff 100644
--- a/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
+++ b/meta-oe/recipes-support/liboop/liboop/tcl_dev.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- a/configure.ac
+++ b/configure.ac
@@ -71,7 +71,7 @@
diff --git a/meta-oe/recipes-support/liboop/liboop_1.0.1.bb b/meta-oe/recipes-support/liboop/liboop_1.0.1.bb
index 8894a867df..7ad88b7402 100644
--- a/meta-oe/recipes-support/liboop/liboop_1.0.1.bb
+++ b/meta-oe/recipes-support/liboop/liboop_1.0.1.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Liboop is a low-level event loop management library for POSIX-based operating systems"
HOMEPAGE = "http://www.lysator.liu.se/liboop/"
-LICENSE = "GPL-2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=8b54f38ccbd44feb80ab90e01af8b700"
SRC_URI = "http://ftp.lysator.liu.se/pub/liboop/liboop-${PV}.tar.gz \
diff --git a/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch b/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
new file mode 100644
index 0000000000..778a1f6e1e
--- /dev/null
+++ b/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
@@ -0,0 +1,28 @@
+From 123b5a4c5e09f4262d4545a0bc5edb01a19b6b76 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 21 Aug 2023 10:06:55 +0200
+Subject: [PATCH] meson.build: allow crosscompiling gir
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 39b739e..46f2252 100644
+--- a/meson.build
++++ b/meson.build
+@@ -29,7 +29,7 @@ libosinfo_pkgconfdir = join_paths(libosinfo_libdir, 'pkgconfig')
+
+ # gobject introspection
+ gir = find_program('g-ir-scanner', required: get_option('enable-introspection'))
+-enable_introspection = gir.found() and not meson.is_cross_build()
++enable_introspection = gir.found()
+
+ # vala
+ vapi_opt = get_option('enable-vala')
+--
+2.41.0
+
diff --git a/meta-oe/recipes-support/libosinfo/libosinfo/0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch b/meta-oe/recipes-support/libosinfo/libosinfo/0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch
new file mode 100644
index 0000000000..467c6b4baf
--- /dev/null
+++ b/meta-oe/recipes-support/libosinfo/libosinfo/0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch
@@ -0,0 +1,32 @@
+From 5bbdd06503456784c5ffa22409e8bab50470d673 Mon Sep 17 00:00:00 2001
+From: Michal Privoznik <mprivozn@redhat.com>
+Date: Mon, 27 Nov 2023 15:11:45 +0100
+Subject: [PATCH] osinfo: Make xmlError struct constant in
+ propagate_libxml_error()
+
+In libxml2 commit v2.12.0~14 the API changed so that
+xmlGetLastError() returns pointer to a constant xmlError struct.
+Reflect this change in our code.
+
+Upstream-Status: Backport [https://gitlab.com/libosinfo/libosinfo/-/merge_requests/155]
+Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
+---
+ osinfo/osinfo_install_script.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/osinfo/osinfo_install_script.c b/osinfo/osinfo_install_script.c
+index 5800f37..303245a 100644
+--- a/osinfo/osinfo_install_script.c
++++ b/osinfo/osinfo_install_script.c
+@@ -769,7 +769,7 @@ static void propagate_libxml_error(GError **error, const char *format, ...) G_GN
+
+ static void propagate_libxml_error(GError **error, const char *format, ...)
+ {
+- xmlErrorPtr err = xmlGetLastError();
++ const xmlError *err = xmlGetLastError();
+ char *prefix;
+ va_list ap;
+
+--
+2.44.0
+
diff --git a/meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb b/meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb
new file mode 100644
index 0000000000..8ef7ac3df0
--- /dev/null
+++ b/meta-oe/recipes-support/libosinfo/libosinfo_1.11.0.bb
@@ -0,0 +1,35 @@
+SUMMARY = "API for managing information about operating systems, hypervisors and the (virtual) hardware devices."
+HOMEPAGE = "https://libosinfo.org"
+
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b0e9926530c269f5ae95560370195af"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = " \
+ git://gitlab.com/libosinfo/libosinfo.git;branch=main;protocol=https \
+ file://0001-meson.build-allow-crosscompiling-gir.patch \
+ file://0001-osinfo-Make-xmlError-struct-constant-in-propagate_li.patch \
+"
+
+SRCREV = "ca9dd5b810dc04ea38048ae9be491654c8596ef9"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gtk-doc gobject-introspection vala
+
+DEPENDS = "glib-2.0 libsoup libxslt"
+
+VALA_MESON_OPTION = 'enable-vala'
+VALA_MESON_ENABLE_FLAG = 'enabled'
+VALA_MESON_DISABLE_FLAG = 'disabled'
+GIR_MESON_OPTION = "enable-introspection"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = "enable-gtk-doc"
+
+EXTRA_OEMESON += " \
+ -Dwith-pci-ids-path=${datadir}/hwdata/pci.ids \
+ -Dwith-usb-ids-path=${datadir}/hwdata/usb.ids \
+"
+
+RDEPENDS:${PN} = "hwdata"
diff --git a/meta-oe/recipes-support/libp11/libp11_0.4.11.bb b/meta-oe/recipes-support/libp11/libp11_0.4.11.bb
deleted file mode 100644
index 1c5cc52bf4..0000000000
--- a/meta-oe/recipes-support/libp11/libp11_0.4.11.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Library for using PKCS"
-DESCRIPTION = "\
-Libp11 is a library implementing a small layer on top of PKCS \
-make using PKCS"
-HOMEPAGE = "https://github.com/OpenSC/libp11"
-BUGTRACKER = "https://github.com/OpenSC/libp11/issues"
-SECTION = "Development/Libraries"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
-DEPENDS = "libtool openssl"
-
-SRC_URI = "git://github.com/OpenSC/libp11.git"
-SRCREV = "9ca6a71c890b5583c8af3b4900172626bca55e72"
-
-UPSTREAM_CHECK_GITTAGREGEX = "libp11-(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--disable-static"
-
-do_install_append () {
- rm -rf ${D}${docdir}/${BPN}
-}
-
-FILES_${PN} += "${libdir}/engines*/pkcs11.so"
-FILES_${PN}-dev += "${libdir}/engines*/libpkcs11${SOLIBSDEV}"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libp11/libp11_0.4.12.bb b/meta-oe/recipes-support/libp11/libp11_0.4.12.bb
new file mode 100644
index 0000000000..2237782009
--- /dev/null
+++ b/meta-oe/recipes-support/libp11/libp11_0.4.12.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Library for using PKCS"
+DESCRIPTION = "\
+Libp11 is a library implementing a small layer on top of PKCS \
+make using PKCS"
+HOMEPAGE = "https://github.com/OpenSC/libp11"
+BUGTRACKER = "https://github.com/OpenSC/libp11/issues"
+SECTION = "Development/Libraries"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
+DEPENDS = "libtool openssl"
+
+SRC_URI = "git://github.com/OpenSC/libp11.git;branch=master;protocol=https"
+SRCREV = "53d65dc48cf436694f7edcfc805414e608e8a2bf"
+
+UPSTREAM_CHECK_GITTAGREGEX = "libp11-(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-static"
+
+do_install:append () {
+ rm -rf ${D}${docdir}/${BPN}
+}
+
+FILES:${PN} += "${libdir}/engines*/pkcs11.so"
+FILES:${PN}-dev += "${libdir}/engines*/libpkcs11${SOLIBSDEV}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libpaper/libpaper_2.1.2.bb b/meta-oe/recipes-support/libpaper/libpaper_2.1.2.bb
new file mode 100644
index 0000000000..a45ffe1849
--- /dev/null
+++ b/meta-oe/recipes-support/libpaper/libpaper_2.1.2.bb
@@ -0,0 +1,9 @@
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "https://github.com/rrthomas/libpaper/releases/download/v${PV}/libpaper-${PV}.tar.gz"
+SRC_URI[sha256sum] = "1fda0cf64efa46b9684a4ccc17df4386c4cc83254805419222c064bf62ea001f"
+
+inherit perlnative autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libraw/libraw_0.21.2.bb b/meta-oe/recipes-support/libraw/libraw_0.21.2.bb
new file mode 100644
index 0000000000..4d089f3b79
--- /dev/null
+++ b/meta-oe/recipes-support/libraw/libraw_0.21.2.bb
@@ -0,0 +1,11 @@
+SUMMARY = "raw image decoder"
+LICENSE = "LGPL-2.1-only | CDDL-1.0"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=1501ae0aa3c8544e63f08d6f7bf88a6f"
+
+SRC_URI = "git://github.com/LibRaw/LibRaw.git;branch=0.21-stable;protocol=https"
+SRCREV = "1ef70158d7fde1ced6aaddb0b9443c32a7121d3d"
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+DEPENDS = "jpeg jasper lcms"
diff --git a/meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb b/meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb
index 337780789d..15e1ee2438 100644
--- a/meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb
+++ b/meta-oe/recipes-support/libraw1394/libraw1394_2.1.2.bb
@@ -1,7 +1,7 @@
SUMMARY = "base library for low-level IEEE 1394 accesses"
HOMEPAGE = "https://ieee1394.wiki.kernel.org/index.php/Libraries#libraw1394"
SECTION = "libs"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499"
SRC_URI = "https://www.kernel.org/pub/linux/libs/ieee1394/${BPN}-${PV}.tar.gz"
diff --git a/meta-oe/recipes-support/librdkafka/librdkafka/0001-cmake-Use-CMAKE_INSTALL_LIBDIR.patch b/meta-oe/recipes-support/librdkafka/librdkafka/0001-cmake-Use-CMAKE_INSTALL_LIBDIR.patch
new file mode 100644
index 0000000000..053a4cc2d8
--- /dev/null
+++ b/meta-oe/recipes-support/librdkafka/librdkafka/0001-cmake-Use-CMAKE_INSTALL_LIBDIR.patch
@@ -0,0 +1,30 @@
+From ed1dd35e0e23a98e57567718a0d474fd29cc348a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 19 Mar 2022 21:36:41 -0700
+Subject: [PATCH] cmake: Use CMAKE_INSTALL_LIBDIR
+
+this ensures that it is portable across platforms e.g. ppc64/linux
+uses lib64 not lib
+
+Upstream-Status: Submitted [https://github.com/edenhill/librdkafka/pull/3770]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d1129bce..774473fa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -219,7 +219,7 @@ configure_file("packaging/cmake/config.h.in" "${GENERATED_DIR}/config.h")
+
+ include(GNUInstallDirs)
+
+-set(config_install_dir "lib/cmake/${PROJECT_NAME}")
++set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
+
+ set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
+
+--
+2.35.1
+
diff --git a/meta-oe/recipes-support/librdkafka/librdkafka_1.8.2.bb b/meta-oe/recipes-support/librdkafka/librdkafka_1.8.2.bb
new file mode 100644
index 0000000000..6148e7cb08
--- /dev/null
+++ b/meta-oe/recipes-support/librdkafka/librdkafka_1.8.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "the Apache Kafka C/C++ client library"
+DESCRIPTION = "librdkafka is a C library implementation of the Apache Kafka protocol, \
+ providing Producer, Consumer and Admin clients."
+HOMEPAGE = "https://github.com/edenhill/librdkafka"
+SECTION = "libs"
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2be8675acbfdac48935e73897af5f646"
+
+SRC_URI = "git://github.com/edenhill/librdkafka;protocol=https;branch=master \
+ file://0001-cmake-Use-CMAKE_INSTALL_LIBDIR.patch \
+ "
+SRCREV = "063a9ae7a65cebdf1cc128da9815c05f91a2a996"
+
+DEPENDS = "zlib openssl zstd"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+FILES:${PN} += "${datadir}"
+
+EXTRA_OECMAKE += "-DRDKAFKA_BUILD_EXAMPLES=OFF -DRDKAFKA_BUILD_TESTS=OFF"
diff --git a/meta-oe/recipes-support/librsync/librsync_2.3.1.bb b/meta-oe/recipes-support/librsync/librsync_2.3.1.bb
deleted file mode 100644
index 004c93d0f9..0000000000
--- a/meta-oe/recipes-support/librsync/librsync_2.3.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Remote delta-compression library."
-AUTHOR = "Martin Pool, Andrew Tridgell, Donovan Baarda, Adam Schubert"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
-
-SRC_URI = "git://github.com/librsync/librsync.git"
-SRCREV = "27f738650c20fef1285f11d85a34e5094a71c06f"
-S = "${WORKDIR}/git"
-
-DEPENDS = "popt"
-
-inherit cmake
-
-PACKAGES =+ "rdiff"
-FILES_rdiff = "${bindir}/rdiff"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/librsync/librsync_2.3.4.bb b/meta-oe/recipes-support/librsync/librsync_2.3.4.bb
new file mode 100644
index 0000000000..3cad665389
--- /dev/null
+++ b/meta-oe/recipes-support/librsync/librsync_2.3.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Remote delta-compression library."
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
+
+SRC_URI = "git://github.com/librsync/librsync.git;branch=master;protocol=https"
+SRCREV = "e364852674780e43d578e4239128ff7014190ed3"
+S = "${WORKDIR}/git"
+
+DEPENDS = "popt"
+
+inherit cmake
+
+PACKAGES =+ "rdiff"
+FILES:rdiff = "${bindir}/rdiff"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libsmi/libsmi/0001-Define-createIdentifierRef-prototype-in-yang-complex.patch b/meta-oe/recipes-support/libsmi/libsmi/0001-Define-createIdentifierRef-prototype-in-yang-complex.patch
new file mode 100644
index 0000000000..3374f8484e
--- /dev/null
+++ b/meta-oe/recipes-support/libsmi/libsmi/0001-Define-createIdentifierRef-prototype-in-yang-complex.patch
@@ -0,0 +1,53 @@
+From 77b520a8ee193b6d9f12e049f505d8d98204c11c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 17:13:32 -0700
+Subject: [PATCH] Define createIdentifierRef prototype in yang-complex-types.c
+
+Provide needed prototype to make compiler happy
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/parser-yang.y | 3 ++-
+ lib/yang-complex-types.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+--- a/lib/parser-yang.y
++++ b/lib/parser-yang.y
+@@ -41,7 +41,8 @@
+ #include "yang-complex-types.h"
+ #include "util.h"
+ #include "error.h"
+-
++#include "yang-check.h"
++
+ #ifdef HAVE_DMALLOC_H
+ #include <dmalloc.h>
+ #endif
+@@ -61,7 +62,8 @@
+ #define debug
+ #endif
+
+-
++extern void createIdentifierRef(struct _YangNode *node, char* prefix, char* ident);
++extern void smiyyerror(char *msg, Parser *parserPtr);
+ /*
+ * NOTE: The argument lvalp ist not really a void pointer. Unfortunately,
+ * we don't know it better at this point. bison generated C code declares
+--- a/lib/yang-complex-types.c
++++ b/lib/yang-complex-types.c
+@@ -35,12 +35,13 @@
+ #include "yang-data.h"
+ #include "yang-check.h"
+ #include "yang-complex-types.h"
+-
+ /*
+ * Current parser defined in parser-yang. Workaround - can't include data.h
+ */
+ extern Parser *currentParser;
+
++extern void createIdentifierRef(struct _YangNode *node, char* prefix, char* ident);
++
+ static const int parents_complex_type[] = {
+ YANG_DECL_MODULE, YANG_DECL_SUBMODULE, YANG_DECL_CONTAINER,
+ YANG_DECL_LIST, YANG_DECL_RPC, YANG_DECL_INPUT,
diff --git a/meta-oe/recipes-support/libsmi/libsmi/0001-parser-yang-Define-_DEFAULT_SOURCE.patch b/meta-oe/recipes-support/libsmi/libsmi/0001-parser-yang-Define-_DEFAULT_SOURCE.patch
new file mode 100644
index 0000000000..9354a889a0
--- /dev/null
+++ b/meta-oe/recipes-support/libsmi/libsmi/0001-parser-yang-Define-_DEFAULT_SOURCE.patch
@@ -0,0 +1,28 @@
+From 86b706f694b822d8028fd36320147767056d2ffa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Sep 2022 12:09:00 -0700
+Subject: [PATCH] parser-yang: Define _DEFAULT_SOURCE
+
+This is needed for timegm API
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/parser-yang.y | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/parser-yang.y b/lib/parser-yang.y
+index b111607..0ded9d2 100644
+--- a/lib/parser-yang.y
++++ b/lib/parser-yang.y
+@@ -21,6 +21,7 @@
+ #ifdef BACKEND_YANG
+
+ #define _ISOC99_SOURCE
++#define _DEFAULT_SOURCE
+ #include <stdio.h>
+ #include <errno.h>
+ #include <stdlib.h>
+--
+2.37.3
+
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 212b1e797c..822b7ffc2b 100644
--- a/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
+++ b/meta-oe/recipes-support/libsmi/libsmi_0.5.0.bb
@@ -1,32 +1,40 @@
SUMMARY = "A Library to Access SMI MIB Information"
HOMEPAGE = "https://www.ibr.cs.tu-bs.de/projects/libsmi"
-LICENSE = "BSD-3-Clause & tcl"
+LICENSE = "BSD-3-Clause & TCL"
LIC_FILES_CHKSUM = "file://COPYING;md5=3ad3076f9332343a21636cfd351f05b7"
SRC_URI = "https://www.ibr.cs.tu-bs.de/projects/${BPN}/download/${BP}.tar.gz \
file://smi.conf \
file://libsmi-fix-the-test-dump-files.patch \
+ file://0001-Define-createIdentifierRef-prototype-in-yang-complex.patch \
+ file://0001-parser-yang-Define-_DEFAULT_SOURCE.patch \
"
SRC_URI[md5sum] = "4bf47483c06c9f07d1b10fbc74eddf11"
SRC_URI[sha256sum] = "f21accdadb1bb328ea3f8a13fc34d715baac6e2db66065898346322c725754d3"
-RDEPENDS_${PN} += "wget"
+DEPENDS += "bison-native flex-native wget-native gawk-native"
-inherit autotools
+inherit autotools-brokensep update-alternatives
+ALTERNATIVE_PRIORITY = "50"
+ALTERNATIVE:${PN}-yang = "ietf-interfaces "
+ALTERNATIVE_LINK_NAME[ietf-interfaces] = "${datadir}/yang/ietf-interfaces.yang"
-EXTRA_OECONF = "ac_cv_path_SH=${base_bindir}/sh ac_cv_path_WGET=${bindir}/wget ac_cv_path_AWK=${bindir}/awk"
+EXTRA_OECONF:class-native = "ac_cv_path_SH=/bin/sh"
+EXTRA_OECONF:class-target = "ac_cv_path_SH=/bin/sh ac_cv_path_WGET=${bindir}/wget ac_cv_path_AWK=${bindir}/awk"
-do_install_append () {
+do_install:append () {
install -d ${D}${sysconfdir}
install -m 0644 ${WORKDIR}/smi.conf ${D}${sysconfdir}/smi.conf
}
PACKAGES += "${PN}-mibs ${PN}-pibs ${PN}-yang"
-FILES_${PN}-mibs += "${datadir}/mibs"
-FILES_${PN}-pibs += "${datadir}/pibs"
-FILES_${PN}-yang += "${datadir}/yang"
+FILES:${PN}-mibs += "${datadir}/mibs"
+FILES:${PN}-pibs += "${datadir}/pibs"
+FILES:${PN}-yang += "${datadir}/yang"
-RRECOMMENDS_${PN} = "${BPN}-mibs"
+RRECOMMENDS:${PN} = "${BPN}-mibs"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb b/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb
index 8b773aefa5..5969220a41 100644
--- a/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb
+++ b/meta-oe/recipes-support/libsoc/libsoc_0.8.2.bb
@@ -4,13 +4,13 @@ DESCRIPTION = "libsoc is a C library to interface with common peripherals (gpio,
HOMEPAGE = "https://github.com/jackmitch/libsoc"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENCE;md5=e0bfebea12a718922225ba987b2126a5"
inherit autotools pkgconfig python3-dir
SRCREV = "fd1ad6e7823fa76d8db0d3c5884faffa8ffddafb"
-SRC_URI = "git://github.com/jackmitch/libsoc.git"
+SRC_URI = "git://github.com/jackmitch/libsoc.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
@@ -21,12 +21,12 @@ PACKAGECONFIG ?= ""
PACKAGECONFIG[disabledebug] = "--disable-debug,,"
PACKAGECONFIG[allboardconfigs] = "--with-board-configs,,"
PACKAGECONFIG[enableboardconfig] = "--enable-board=${BOARD},,"
-PACKAGECONFIG[python] = "--enable-python=${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN},,${PYTHON_PN} ${PYTHON_PN}-native"
+PACKAGECONFIG[python] = "--enable-python=${STAGING_BINDIR_NATIVE}/python3-native/python3,,python3 python3-native"
PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'python', \
- '${PYTHON_PN}-libsoc-staticdev ${PYTHON_PN}-libsoc', '', d)}"
+ 'python3-libsoc-staticdev python3-libsoc', '', d)}"
-RDEPENDS_${PN} = "libgcc"
+RDEPENDS:${PN} = "libgcc"
-FILES_${PYTHON_PN}-libsoc-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*/*.a"
-FILES_${PYTHON_PN}-libsoc += "${PYTHON_SITEPACKAGES_DIR}"
+FILES:python3-libsoc-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*/*.a"
+FILES:python3-libsoc += "${PYTHON_SITEPACKAGES_DIR}"
diff --git a/meta-oe/recipes-support/libssh/libssh/0001-libgcrypt.c-Fix-prototype-of-des3_encrypt-des3_decry.patch b/meta-oe/recipes-support/libssh/libssh/0001-libgcrypt.c-Fix-prototype-of-des3_encrypt-des3_decry.patch
new file mode 100644
index 0000000000..d2d1fb5955
--- /dev/null
+++ b/meta-oe/recipes-support/libssh/libssh/0001-libgcrypt.c-Fix-prototype-of-des3_encrypt-des3_decry.patch
@@ -0,0 +1,44 @@
+From 49a8ae4d6f77434ed9f7a601b9df488b921e4a22 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 20 Mar 2023 21:59:19 -0700
+Subject: [PATCH] libgcrypt.c: Fix prototype of des3_encrypt/des3_decrypt
+
+This is to match the prototype for callback functions which are now emitted as
+errors by clang16
+
+Fixes
+
+TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/libssh/0.10.4-r0/git/src/libgcrypt.c:903:20: error: incompatible function pointer types initializing 'void (*)(struct ssh_cipher_struct *, void *, void *, size_t)' (aka 'void (*)(struct ssh_cipher_struct *, void *, void *, unsigned int)') with an expression of type 'void (struct ssh_cipher_struct *, void *, void *, unsigned long)' [-Wincompatible-function-pointer-types]
+ .encrypt = des3_encrypt,
+ ^~~~~~~~~~~~
+TOPDIR/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/libssh/0.10.4-r0/git/src/libgcrypt.c:904:20: error: incompatible function pointer types initializing 'void (*)(struct ssh_cipher_struct *, void *, void *, size_t)' (aka 'void (*)(struct ssh_cipher_struct *, void *, void *, unsigned int)') with an expression of type 'void (struct ssh_cipher_struct *, void *, void *, unsigned long)' [-Wincompatible-function-pointer-types]
+ .decrypt = des3_decrypt
+ ^~~~~~~~~~~~
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/libgcrypt.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/libgcrypt.c b/src/libgcrypt.c
+index f410d997..e3f66781 100644
+--- a/src/libgcrypt.c
++++ b/src/libgcrypt.c
+@@ -416,12 +416,12 @@ static int des3_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
+ }
+
+ static void des3_encrypt(struct ssh_cipher_struct *cipher, void *in,
+- void *out, unsigned long len) {
++ void *out, size_t len) {
+ gcry_cipher_encrypt(cipher->key[0], out, len, in, len);
+ }
+
+ static void des3_decrypt(struct ssh_cipher_struct *cipher, void *in,
+- void *out, unsigned long len) {
++ void *out, size_t len) {
+ gcry_cipher_decrypt(cipher->key[0], out, len, in, len);
+ }
+
diff --git a/meta-oe/recipes-support/libssh/libssh/0001-tests-CMakeLists.txt-do-not-search-ssh-sshd-commands.patch b/meta-oe/recipes-support/libssh/libssh/0001-tests-CMakeLists.txt-do-not-search-ssh-sshd-commands.patch
new file mode 100644
index 0000000000..d6bc75c3a6
--- /dev/null
+++ b/meta-oe/recipes-support/libssh/libssh/0001-tests-CMakeLists.txt-do-not-search-ssh-sshd-commands.patch
@@ -0,0 +1,36 @@
+From 69a89e8f015802f61637fed0d3791d20a594f298 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 15 Mar 2023 16:51:58 +0800
+Subject: [PATCH] tests/CMakeLists.txt: do not search ssh/sshd commands on host
+
+It will search ssh/sshd commands on host when configure. Since they are
+not required by unittests, we can skip the search.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+---
+ tests/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index f5c30061..885c926a 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -86,6 +86,7 @@ set(TEST_TARGET_LIBRARIES
+
+ add_subdirectory(unittests)
+
++if (CLIENT_TESTING OR SERVER_TESTING)
+ # OpenSSH Capabilities are required for all unit tests
+ find_program(SSH_EXECUTABLE NAMES ssh)
+ if (SSH_EXECUTABLE)
+@@ -302,6 +303,7 @@ if (CLIENT_TESTING OR SERVER_TESTING)
+
+ message(STATUS "TORTURE_ENVIRONMENT=${TORTURE_ENVIRONMENT}")
+ endif ()
++endif ()
+
+ configure_file(tests_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/tests_config.h)
+
diff --git a/meta-oe/recipes-support/libssh/libssh/run-ptest b/meta-oe/recipes-support/libssh/libssh/run-ptest
new file mode 100644
index 0000000000..6346b72d50
--- /dev/null
+++ b/meta-oe/recipes-support/libssh/libssh/run-ptest
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+ptestdir=$(dirname "$(readlink -f "$0")")
+cd "$ptestdir"/tests || exit
+
+tests=$(find * -type f -name 'torture_*')
+
+for f in $tests
+do
+ if test -x ./"$f"; then
+ if ./"$f" > ./"$f".out 2> ./"$f".err; then
+ echo "PASS: $f"
+ else
+ echo "FAIL: $f"
+ fi
+ fi
+done
diff --git a/meta-oe/recipes-support/libssh/libssh_0.10.6.bb b/meta-oe/recipes-support/libssh/libssh_0.10.6.bb
new file mode 100644
index 0000000000..31f29c1b7d
--- /dev/null
+++ b/meta-oe/recipes-support/libssh/libssh_0.10.6.bb
@@ -0,0 +1,48 @@
+SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol"
+HOMEPAGE = "http://www.libssh.org"
+SECTION = "libs"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dabb4958b830e5df11d2b0ed8ea255a0"
+
+DEPENDS = "zlib openssl"
+
+SRC_URI = "git://git.libssh.org/projects/libssh.git;protocol=https;branch=stable-0.10 \
+ file://0001-tests-CMakeLists.txt-do-not-search-ssh-sshd-commands.patch \
+ file://0001-libgcrypt.c-Fix-prototype-of-des3_encrypt-des3_decry.patch \
+ file://run-ptest \
+ "
+SRCREV = "10e09e273f69e149389b3e0e5d44b8c221c2e7f6"
+
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+
+PACKAGECONFIG ??= "gcrypt ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
+PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, "
+PACKAGECONFIG[gcrypt] = "-DWITH_GCRYPT=1, -DWITH_GCRYPT=0, libgcrypt, "
+PACKAGECONFIG[tests] = "-DUNIT_TESTING=1, -DUNIT_TESTING=0, cmocka"
+
+ARM_INSTRUCTION_SET:armv5 = "arm"
+
+EXTRA_OECMAKE = " \
+ -DWITH_PCAP=1 \
+ -DWITH_SFTP=1 \
+ -DWITH_ZLIB=1 \
+ -DWITH_EXAMPLES=0 \
+ "
+
+do_compile:prepend () {
+ if [ ${PTEST_ENABLED} = "1" ]; then
+ sed -i -e 's|${B}|${PTEST_PATH}|g' ${B}/config.h
+ sed -i -e 's|${S}|${PTEST_PATH}|g' ${B}/config.h
+ fi
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -f ${B}/tests/unittests/torture_* ${D}${PTEST_PATH}/tests/
+ install -d ${D}${PTEST_PATH}/tests/unittests
+ cp -f ${S}/tests/unittests/hello*.sh ${D}${PTEST_PATH}/tests/unittests/
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libssh/libssh_0.8.9.bb b/meta-oe/recipes-support/libssh/libssh_0.8.9.bb
deleted file mode 100644
index 39ed8a8fbb..0000000000
--- a/meta-oe/recipes-support/libssh/libssh_0.8.9.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol"
-HOMEPAGE = "http://www.libssh.org"
-SECTION = "libs"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dabb4958b830e5df11d2b0ed8ea255a0"
-
-DEPENDS = "zlib openssl libgcrypt"
-
-SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=stable-0.8"
-SRCREV = "04685a74df9ce1db1bc116a83a0da78b4f4fa1f8"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-PACKAGECONFIG ??=""
-PACKAGECONFIG[gssapi] = "-DWITH_GSSAPI=1, -DWITH_GSSAPI=0, krb5, "
-
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-EXTRA_OECMAKE = " \
- -DWITH_GCRYPT=1 \
- -DWITH_PCAP=1 \
- -DWITH_SFTP=1 \
- -DWITH_ZLIB=1 \
- -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
- "
-
-do_configure_prepend () {
- # Disable building of examples
- sed -i -e '/add_subdirectory(examples)/s/^/#DONOTWANT/' ${S}/CMakeLists.txt \
- || bbfatal "Failed to disable examples"
-}
-
-TOOLCHAIN = "gcc"
diff --git a/meta-oe/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch b/meta-oe/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
new file mode 100644
index 0000000000..2529d5d9d1
--- /dev/null
+++ b/meta-oe/recipes-support/libstemmer/libstemmer/0001-Build-so-lib.patch
@@ -0,0 +1,57 @@
+From eacc9e9c62a3857ce1e2e24b81fc22d8ae91f422 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Thu, 9 May 2019 22:06:48 +0200
+Subject: [PATCH] Build so-lib
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Stolen from [1]
+
+[1] https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/snowball/trunk/dynamiclib.diff
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+---
+ GNUmakefile | 7 +++++--
+ libstemmer/symbol.map | 6 ++++++
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+ create mode 100644 libstemmer/symbol.map
+
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -170,12 +170,12 @@ C_OTHER_OBJECTS = $(C_OTHER_SOURCES:.c=.
+ JAVA_CLASSES = $(JAVA_SOURCES:.java=.class)
+ JAVA_RUNTIME_CLASSES=$(JAVARUNTIME_SOURCES:.java=.class)
+
+-CFLAGS=-O2 -W -Wall -Wmissing-prototypes -Wmissing-declarations
++CFLAGS=-O2 -fPIC -W -Wall -Wmissing-prototypes -Wmissing-declarations
+ CPPFLAGS=
+
+ INCLUDES=-Iinclude
+
+-all: snowball$(EXEEXT) libstemmer.a stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
++all: snowball$(EXEEXT) libstemmer.a libstemmer.so stemwords$(EXEEXT) $(C_OTHER_SOURCES) $(C_OTHER_HEADERS) $(C_OTHER_OBJECTS)
+
+ algorithms.mk: libstemmer/mkalgorithms.pl libstemmer/modules.txt
+ libstemmer/mkalgorithms.pl algorithms.mk libstemmer/modules.txt
+@@ -225,6 +225,9 @@ libstemmer/libstemmer.o: libstemmer/modu
+ libstemmer.a: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
+ $(AR) -cru $@ $^
+
++libstemmer.so: libstemmer/libstemmer.o $(RUNTIME_OBJECTS) $(C_LIB_OBJECTS)
++ $(CC) $(CFLAGS) -shared $(LDFLAGS) -Wl,-soname,libstemmer.so.0,-version-script,libstemmer/symbol.map -o $@.0.0.0 $^
++
+ examples/%.o: examples/%.c
+ $(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) -c -o $@ $<
+
+--- /dev/null
++++ b/libstemmer/symbol.map
+@@ -0,0 +1,6 @@
++SB_STEMMER_0 {
++ global:
++ sb_stemmer_*;
++ local:
++ *;
++};
diff --git a/meta-oe/recipes-support/libstemmer/libstemmer_2.2.0.bb b/meta-oe/recipes-support/libstemmer/libstemmer_2.2.0.bb
new file mode 100644
index 0000000000..be2935a385
--- /dev/null
+++ b/meta-oe/recipes-support/libstemmer/libstemmer_2.2.0.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Snowball compiler and stemming algorithms"
+HOMEPAGE = "https://snowballstem.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=19139aaf3c8c8fa1ca6edd59c072fb9f"
+
+DEPENDS:append:class-target = " ${BPN}-native"
+
+SRC_URI = "git://github.com/snowballstem/snowball.git;branch=master;protocol=https \
+ file://0001-Build-so-lib.patch \
+ "
+SRCREV = "48a67a2831005f49c48ec29a5837640e23e54e6b"
+S = "${WORKDIR}/git"
+
+LIBVER = "0.0.0"
+
+inherit lib_package
+
+do_compile:prepend:class-target() {
+ # use native tools
+ sed -i 's:./snowball :snowball :g' ${S}/GNUmakefile
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 755 ${S}/snowball ${D}${bindir}
+ install -m 755 ${S}/stemwords ${D}${bindir}
+
+ install -d ${D}${libdir}
+ install -m 755 ${S}/libstemmer.so.${LIBVER} ${D}${libdir}/
+ ln -s libstemmer.so.${LIBVER} ${D}${libdir}/libstemmer.so.0
+ ln -s libstemmer.so.${LIBVER} ${D}${libdir}/libstemmer.so
+
+ install -d ${D}${includedir}
+ install -m 644 ${S}/include/*.h ${D}${includedir}
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch b/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch
index 31c0d29e93..4929eece06 100644
--- a/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch
+++ b/meta-oe/recipes-support/libtar/files/0002-Do-not-strip-libtar.patch
@@ -4,6 +4,8 @@ Date: Wed, 2 Nov 2016 05:43:43 -0400
Subject: [PATCH] Do not strip libtar.
---
+Upstream-Status: Pending
+
libtar/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch b/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch
index 178a970299..efde754be7 100644
--- a/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch
+++ b/meta-oe/recipes-support/libtar/files/fix_libtool_sysroot.patch
@@ -1,4 +1,6 @@
---
+Upstream-Status: Pending
+
configure.ac | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch b/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch
index a4a17ed85b..f0bd53ee8e 100644
--- a/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch
+++ b/meta-oe/recipes-support/libteam/libteam/0001-include-sys-select.h-for-fd_set-definition.patch
@@ -8,6 +8,8 @@ teamnl.c:160:2: error: unknown type name 'fd_set'; did you mean 'fpos_t'?
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
utils/teamnl.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-check-the-return-value.patch b/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-check-the-return-value.patch
new file mode 100644
index 0000000000..96891c9ea7
--- /dev/null
+++ b/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-check-the-return-value.patch
@@ -0,0 +1,34 @@
+From e86a58271d7d0a3b9cd546251d2527e93898bdb8 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Tue, 21 Dec 2021 11:15:31 +0800
+Subject: [PATCH] team_basic_test.py: check the return value
+
+Not only print the traceback like before, also check the
+return value.
+
+Upstream-Status: Submitted [https://github.com/jpirko/libteam/pull/63]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ scripts/team_basic_test.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/scripts/team_basic_test.py b/scripts/team_basic_test.py
+index 0b64af2..17588c7 100755
+--- a/scripts/team_basic_test.py
++++ b/scripts/team_basic_test.py
+@@ -203,4 +203,10 @@ def main():
+ btest.run()
+
+ if __name__ == "__main__":
+- main()
++ try:
++ ret = main()
++ except Exception as esc:
++ ret = 1
++ import traceback
++ traceback.print_exc()
++ sys.exit(ret)
+--
+2.17.1
+
diff --git a/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-switch-to-python3.patch b/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-switch-to-python3.patch
new file mode 100644
index 0000000000..69276aba91
--- /dev/null
+++ b/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-switch-to-python3.patch
@@ -0,0 +1,101 @@
+From 06050e79655f0fa7d9daeda1fbd3a9a2c7736841 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Thu, 2 Dec 2021 15:08:25 +0800
+Subject: [PATCH] team_basic_test.py: switch to python3
+
+Switch the script team_basic_test.py to python3
+
+Upstream-Status: Submitted [https://github.com/jpirko/libteam/pull/63]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ scripts/team_basic_test.py | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/scripts/team_basic_test.py b/scripts/team_basic_test.py
+index faabd18..0b64af2 100755
+--- a/scripts/team_basic_test.py
++++ b/scripts/team_basic_test.py
+@@ -1,4 +1,4 @@
+-#! /usr/bin/env python
++#! /usr/bin/env python3
+ """
+ Basic test.
+
+@@ -32,11 +32,11 @@ def usage():
+ """
+ Print usage of this app
+ """
+- print "Usage: team_basic_test.py [OPTION...]"
+- print ""
+- print " -h, --help print this message"
+- print " -c, --loop-count=NUMBER number of loops (default 1)"
+- print " -p, --port=NETDEV port device (can be defined multiple times)"
++ print("Usage: team_basic_test.py [OPTION...]")
++ print("")
++ print(" -h, --help print this message")
++ print(" -c, --loop-count=NUMBER number of loops (default 1)")
++ print(" -p, --port=NETDEV port device (can be defined multiple times)")
+ sys.exit()
+
+ class CmdExecFailedException(Exception):
+@@ -55,15 +55,15 @@ class CmdExecUnexpectedOutputException(Exception):
+ return "Command execution output unexpected: \"%s\" != \"%s\"" % (self.__output, self.__expected_output)
+
+ def print_output(out_type, string):
+- print("%s:\n"
++ print(("%s:\n"
+ "----------------------------\n"
+ "%s"
+- "----------------------------" % (out_type, string))
++ "----------------------------" % (out_type, string)))
+
+ def cmd_exec(cmd, expected_output=None, cleaner=False):
+ cmd = cmd.rstrip(" ")
+ if not cleaner:
+- print("# \"%s\"" % cmd)
++ print(("# \"%s\"" % cmd))
+ subp = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ (data_stdout, data_stderr) = subp.communicate()
+@@ -74,7 +74,7 @@ def cmd_exec(cmd, expected_output=None, cleaner=False):
+ if data_stderr:
+ print_output("Stderr", data_stderr)
+ raise CmdExecFailedException(subp.returncode)
+- output = data_stdout.rstrip()
++ output = (data_stdout.rstrip()).decode()
+ if expected_output:
+ if output != expected_output:
+ raise CmdExecUnexpectedOutputException(output, expected_output)
+@@ -166,7 +166,7 @@ TEAM_PORT_CONFIG='{"prio": 10}'
+ os.removedirs("/tmp/team_test/")
+
+ def _run_one_loop(self, run_nr):
+- print "RUN #%d" % (run_nr)
++ print("RUN #%d" % (run_nr))
+ self._created_teams = []
+ try:
+ for mode_name in self._team_modes:
+@@ -176,7 +176,7 @@ TEAM_PORT_CONFIG='{"prio": 10}'
+ cmd_exec("modprobe -r team_mode_loadbalance team_mode_roundrobin team_mode_activebackup team_mode_broadcast team");
+
+ def run(self):
+- for i in xrange(self._loop_count):
++ for i in range(self._loop_count):
+ self._run_one_loop(i + 1)
+
+ def main():
+@@ -186,8 +186,8 @@ def main():
+ "hc:p:",
+ ["help", "loop-count=", "port="]
+ )
+- except getopt.GetoptError, err:
+- print str(err)
++ except getopt.GetoptError as err:
++ print(str(err))
+ usage()
+
+ btest = TeamBasicTest()
+--
+2.17.1
+
diff --git a/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-use-python3-interpreter.patch b/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-use-python3-interpreter.patch
deleted file mode 100644
index e27e4f3291..0000000000
--- a/meta-oe/recipes-support/libteam/libteam/0001-team_basic_test.py-use-python3-interpreter.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 571c141b434dff13494c6a3afe621f63a8e610e9 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.z@gmail.com>
-Date: Mon, 27 Jan 2020 14:29:34 +0000
-Subject: [PATCH] team_basic_test.py: use python3 interpreter
-
-Use python3 since python2 is EOL and has been removed from several
-distributions.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
----
- scripts/team_basic_test.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scripts/team_basic_test.py b/scripts/team_basic_test.py
-index b05be9e..ad980e8 100755
---- a/scripts/team_basic_test.py
-+++ b/scripts/team_basic_test.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#! /usr/bin/env python3
- """
- Basic test.
-
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/libteam/libteam/0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch b/meta-oe/recipes-support/libteam/libteam/0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch
new file mode 100644
index 0000000000..5f8e56177e
--- /dev/null
+++ b/meta-oe/recipes-support/libteam/libteam/0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch
@@ -0,0 +1,46 @@
+From 49693cac37ee35ff673240c8060201efe0d999c2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 22:27:03 -0700
+Subject: [PATCH] teamd: Include missing headers for strrchr and memcmp
+
+Compiler does not see the prototype for these functions otherwise and
+build fails e.g.
+
+| ../../git/teamd/teamd_phys_port_check.c:52:10: error: call to undeclared library function 'strrchr' with type 'char *(const char *, int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+| start = strrchr(link, '/');
+| ^
+
+Upstream-Status: Submitted [https://github.com/jpirko/libteam/pull/68]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ teamd/teamd_phys_port_check.c | 1 +
+ teamd/teamd_runner_loadbalance.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/teamd/teamd_phys_port_check.c b/teamd/teamd_phys_port_check.c
+index 1eec129..c2454ab 100644
+--- a/teamd/teamd_phys_port_check.c
++++ b/teamd/teamd_phys_port_check.c
+@@ -19,6 +19,7 @@
+
+ #include <stdio.h>
+ #include <errno.h>
++#include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+diff --git a/teamd/teamd_runner_loadbalance.c b/teamd/teamd_runner_loadbalance.c
+index a581472..421a7c6 100644
+--- a/teamd/teamd_runner_loadbalance.c
++++ b/teamd/teamd_runner_loadbalance.c
+@@ -17,6 +17,7 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <string.h>
+ #include <sys/socket.h>
+ #include <linux/netdevice.h>
+ #include <team.h>
+--
+2.37.2
+
diff --git a/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch b/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch
index beabf63ca3..ed877a721e 100644
--- a/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch
+++ b/meta-oe/recipes-support/libteam/libteam/0002-teamd-Re-adjust-include-header-order.patch
@@ -12,6 +12,8 @@ tinet/if_ether.h:101:8: error: redefinition of 'struct ethhdr'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
teamd/teamd_runner_lacp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/libteam/libteam/run-ptest b/meta-oe/recipes-support/libteam/libteam/run-ptest
index b5c6f4ebb9..26f097d587 100644
--- a/meta-oe/recipes-support/libteam/libteam/run-ptest
+++ b/meta-oe/recipes-support/libteam/libteam/run-ptest
@@ -1,3 +1,8 @@
#!/bin/sh
python3 $(dirname $0)/team_basic_test.py
+if [ $? -eq 0 ] ; then
+ echo "PASS: libteam"
+else
+ echo "FAIL: libteam"
+fi
diff --git a/meta-oe/recipes-support/libteam/libteam_1.31.bb b/meta-oe/recipes-support/libteam/libteam_1.31.bb
index 149cfb8d23..6fe10abe01 100644
--- a/meta-oe/recipes-support/libteam/libteam_1.31.bb
+++ b/meta-oe/recipes-support/libteam/libteam_1.31.bb
@@ -2,16 +2,18 @@ SUMMARY = "Library for controlling team network device"
HOMEPAGE = "http://www.libteam.org/"
SECTION = "libs/network"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
DEPENDS = "libnl libdaemon jansson"
-SRC_URI = "git://github.com/jpirko/libteam \
+SRC_URI = "git://github.com/jpirko/libteam;branch=master;protocol=https \
file://0001-include-sys-select.h-for-fd_set-definition.patch \
file://0002-teamd-Re-adjust-include-header-order.patch \
file://0001-team_basic_test.py-disable-RedHat-specific-test.patch \
- file://0001-team_basic_test.py-use-python3-interpreter.patch \
+ file://0001-team_basic_test.py-switch-to-python3.patch \
+ file://0001-team_basic_test.py-check-the-return-value.patch \
+ file://0001-teamd-Include-missing-headers-for-strrchr-and-memcmp.patch \
file://run-ptest \
"
SRCREV = "3ee12c6d569977cf1cd30d0da77807a07aa77158"
@@ -20,20 +22,26 @@ S = "${WORKDIR}/git"
inherit autotools pkgconfig ptest
-FILES_${PN} = "${libdir}/libteam${SOLIBS} \
+FILES:${PN} = "${libdir}/libteam${SOLIBS} \
"
PACKAGES += "${PN}-dctl ${PN}-utils"
-FILES_${PN}-dctl = "${libdir}/libteamdctl${SOLIBS} \
+FILES:${PN}-dctl = "${libdir}/libteamdctl${SOLIBS} \
"
-FILES_${PN}-utils = "${bindir}/bond2team \
+FILES:${PN}-utils = "${bindir}/bond2team \
${bindir}/teamd \
${bindir}/teamdctl \
${bindir}/teamnl \
"
-RDEPENDS_${PN}-utils = "bash"
-RDEPENDS_${PN}-ptest = "python3-core"
+RDEPENDS:${PN}-utils = "bash"
+RDEPENDS:${PN}-ptest = "python3-core libteam-utils"
+# Ensure kernel has these mods enabled features/net/team/team.scc
+RRECOMMENDS:${PN} += "kernel-module-team kernel-module-team-mode-activebackup \
+ kernel-module-team-mode-broadcast \
+ kernel-module-team-mode-loadbalance \
+ kernel-module-team-mode-random \
+ kernel-module-team-mode-roundrobin"
do_install_ptest() {
install ${S}/scripts/team_basic_test.py ${D}${PTEST_PATH}/
diff --git a/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb b/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
index 138df9f300..6fbdd071e8 100644
--- a/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
+++ b/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb
@@ -6,7 +6,6 @@ LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://readme.txt;md5=f8f366f3370dda889f60faa7db162cf4"
SECTION = "libs"
-PR = "r5"
SRC_URI = "${SOURCEFORGE_MIRROR}/tinyxml/tinyxml_${@'${PV}'.replace('.', '_')}.tar.gz \
file://enforce-use-stl.patch \
diff --git a/meta-oe/recipes-support/libtinyxml2/files/run-ptest b/meta-oe/recipes-support/libtinyxml2/files/run-ptest
new file mode 100644
index 0000000000..870912672e
--- /dev/null
+++ b/meta-oe/recipes-support/libtinyxml2/files/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+for i in `ls xmltest`; do
+ ./$i
+ if [ $? -eq 0 ]; then
+ echo "PASS: $i"
+ else
+ echo "FAIL: $i"
+ fi
+done
diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_10.0.0.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_10.0.0.bb
new file mode 100644
index 0000000000..bcd309282b
--- /dev/null
+++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_10.0.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs"
+HOMEPAGE = "https://leethomason.github.io/tinyxml2"
+SECTION = "libs"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd"
+
+SRCREV = "321ea883b7190d4e85cae5512a12e5eaa8f8731f"
+SRC_URI = "git://github.com/leethomason/tinyxml2.git;branch=master;protocol=https \
+ file://run-ptest"
+
+S = "${WORKDIR}/git"
+
+inherit meson ptest
+
+EXTRA_OEMESON += " \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', '-Dtests=true', '', d)} \
+ -Ddefault_library=both \
+"
+
+CXXFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE"
+
+do_install_ptest() {
+ install -Dm 0755 ${B}/xmltest ${D}${PTEST_PATH}/xmltest
+ install -d ${D}${PTEST_PATH}/resources/out
+ for f in ${S}/resources/*.xml; do
+ install -m 0644 $f ${D}${PTEST_PATH}/resources/
+ done
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb
deleted file mode 100644
index a2491cf9e6..0000000000
--- a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_8.0.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs"
-HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/"
-SECTION = "libs"
-LICENSE = "Zlib"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=135624eef03e1f1101b9ba9ac9b5fffd"
-
-SRC_URI = "git://github.com/leethomason/tinyxml2.git"
-
-SRCREV = "bf15233ad88390461f6ab0dbcf046cce643c5fcb"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/libtommath/libtommath_1.3.0.bb b/meta-oe/recipes-support/libtommath/libtommath_1.3.0.bb
new file mode 100644
index 0000000000..4d6c06240d
--- /dev/null
+++ b/meta-oe/recipes-support/libtommath/libtommath_1.3.0.bb
@@ -0,0 +1,23 @@
+SUMMARY = "LibTomMath is a number theoretic multiple-precision integer library"
+HOMEPAGE = "https://www.libtom.net/LibTomMath"
+SECTION = "libs"
+LICENSE = "Unlicense"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=23e7e0a32e53a2b1d35f5fd9ef053402"
+
+DEPENDS = "libtool-cross"
+
+SRC_URI = "git://github.com/libtom/libtommath.git;protocol=https;branch=master"
+
+SRCREV = "95d80fd8229d05dd6cb4ec88bc8d4f5377ff00ef"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "'PREFIX=${prefix}' 'DESTDIR=${D}' 'LIBPATH=${libdir}' 'CFLAGS=${CFLAGS}'"
+
+do_compile() {
+ oe_runmake -f makefile.shared
+}
+
+do_install() {
+ oe_runmake -f makefile.shared install
+}
diff --git a/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch b/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch
deleted file mode 100644
index 19bf14708b..0000000000
--- a/meta-oe/recipes-support/liburing/liburing/0001-do-not-build-examples.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3ee2f1e231bde18a99f86da747a9b8feca3c179d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 17 Feb 2021 19:18:16 -0800
-Subject: [PATCH] do not build examples
-
-examples need ucontext and some architectures on musl do not have it
-implemented e.g. riscv
-
-Upstream-Status: Inappropriate [Arch-Specific]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 948e004..8b63024 100644
---- a/Makefile
-+++ b/Makefile
-@@ -11,7 +11,6 @@ default: all
- all:
- @$(MAKE) -C src
- @$(MAKE) -C test
-- @$(MAKE) -C examples
-
- partcheck: all
- @echo "make partcheck => TODO add tests with out kernel support"
---
-2.30.1
-
diff --git a/meta-oe/recipes-support/liburing/liburing/0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch b/meta-oe/recipes-support/liburing/liburing/0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch
deleted file mode 100644
index 01c5ccd53a..0000000000
--- a/meta-oe/recipes-support/liburing/liburing/0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 0a9b12eda0f6e487398dad004121bdd1be792428 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 14 Nov 2020 16:18:44 -0800
-Subject: [PATCH] test: Fix build on 32bit architectures with 6bit time_t
-
-It uses SYS_futex, which it expects from system C library.
-in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex)
-rv32 is using 64bit time_t from get go unlike other 32bit architectures
-in glibc, therefore it wont have NR_futex defined but just NR_futex_time64
-this aliases it to NR_futex so that SYS_futex is then defined for rv32
-
-Upstream-Status: Submitted [https://github.com/axboe/liburing/pull/237]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- test/35fa71a030ca-test.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/test/35fa71a030ca-test.c b/test/35fa71a030ca-test.c
-index 4ecf211..7f2124b 100644
---- a/test/35fa71a030ca-test.c
-+++ b/test/35fa71a030ca-test.c
-@@ -24,6 +24,10 @@
-
- #include <linux/futex.h>
-
-+#if !defined(SYS_futex) && defined(SYS_futex_time64)
-+# define SYS_futex SYS_futex_time64
-+#endif
-+
- static void sleep_ms(uint64_t ms)
- {
- usleep(ms * 1000);
---
-2.29.2
-
diff --git a/meta-oe/recipes-support/liburing/liburing_0.7.bb b/meta-oe/recipes-support/liburing/liburing_0.7.bb
deleted file mode 100644
index d79389a696..0000000000
--- a/meta-oe/recipes-support/liburing/liburing_0.7.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "This is the io_uring library, liburing."
-DESCRIPTION = "liburing provides helpers to setup and teardown io_uring \
-instances, and also a simplified interface for applications that don't need \
-(or want) to deal with the full kernel side implementation."
-HOMEPAGE = "https://github.com/axboe/liburing"
-BUGTRACKER = "https://github.com/axboe/liburing/issues"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1 | MIT"
-LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=d51b5805e2a675685e6a66ca50904cf9"
-
-SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \
- file://0001-test-Fix-build-on-32bit-architectures-with-6bit-time.patch \
- "
-SRC_URI_append_libc-musl_riscv64 = " file://0001-do-not-build-examples.patch "
-SRC_URI_append_libc-musl_riscv32 = " file://0001-do-not-build-examples.patch "
-
-SRCREV = "45f0735219a615ae848033c47c7e2d85d101d43e"
-S = "${WORKDIR}/git"
-
-DEPENDS_append_libc-musl = " libucontext"
-XCFLAGS = "-pthread"
-XCFLAGS_append_libc-musl = " -lucontext"
-
-EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'"
-do_configure() {
- ${S}/configure --prefix=${prefix}
-}
-do_install () {
- oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} INCLUDEDIR=${includedir}
-}
diff --git a/meta-oe/recipes-support/liburing/liburing_2.5.bb b/meta-oe/recipes-support/liburing/liburing_2.5.bb
new file mode 100644
index 0000000000..440259ffbd
--- /dev/null
+++ b/meta-oe/recipes-support/liburing/liburing_2.5.bb
@@ -0,0 +1,29 @@
+SUMMARY = "This is the io_uring library, liburing."
+DESCRIPTION = "liburing provides helpers to setup and teardown io_uring \
+instances, and also a simplified interface for applications that don't need \
+(or want) to deal with the full kernel side implementation."
+HOMEPAGE = "https://github.com/axboe/liburing"
+BUGTRACKER = "https://github.com/axboe/liburing/issues"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-only | MIT"
+LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af"
+
+SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https"
+SRCREV = "f4e42a515cd78c8c9cac2be14222834be5f8df2b"
+
+S = "${WORKDIR}/git"
+
+DEPENDS:append:libc-musl = " libucontext"
+XCFLAGS = "-pthread"
+XCFLAGS:append:libc-musl = " -lucontext"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'LDFLAGS=${LDFLAGS}' 'XCFLAGS=${XCFLAGS}' 'BUILDDIR=${S}'"
+do_configure() {
+ ${S}/configure --prefix=${prefix} --libdir=${libdir} --libdevdir=${libdir} --mandir=${mandir} --datadir=${datadir} --includedir=${includedir}
+}
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch b/meta-oe/recipes-support/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch
index f4f759c85e..7df44737ad 100644
--- a/meta-oe/recipes-support/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch
+++ b/meta-oe/recipes-support/libusb/libusb-compat/0001-usb.h-Include-sys-types.h.patch
@@ -8,21 +8,23 @@ We need the definitions for things like u_intX_t
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---
libusb/usb.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libusb/usb.h b/libusb/usb.h
-index fa0e6c6..4e88eb8 100644
+index ea62543..18b610a 100644
--- a/libusb/usb.h
+++ b/libusb/usb.h
-@@ -45,6 +45,8 @@ typedef unsigned __int32 uint32_t;
+@@ -46,6 +46,8 @@ typedef unsigned __int32 uint32_t;
#include <stdint.h>
#endif
+#include <sys/types.h>
+
- /*
- * USB spec information
- *
+ /* On linux PATH_MAX is defined in linux/limits.h. */
+ #if defined(__linux__)
+ #include <linux/limits.h>
+--
+2.34.1
+
diff --git a/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch b/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch
new file mode 100644
index 0000000000..faf532cad2
--- /dev/null
+++ b/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch
@@ -0,0 +1,24 @@
+From 9dcdfa716e3c3831d9b70472b39dab2fd370f503 Mon Sep 17 00:00:00 2001
+From: Yoann Congal <yoann.congal@smile.fr>
+Date: Sun, 26 Feb 2023 16:04:35 +0100
+Subject: [PATCH] automake: make example programs installable
+
+The example programs are used as tests for ptest, so we need a way to
+install them on the rootfs.
+
+Upstream-Status: Inappropriate [oe-core specific]
+---
+ examples/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/Makefile.am b/examples/Makefile.am
+index 9bd3efc..f4324c2 100644
+--- a/examples/Makefile.am
++++ b/examples/Makefile.am
+@@ -1,5 +1,5 @@
+ AM_CPPFLAGS = -I$(top_srcdir)/libusb
+-noinst_PROGRAMS = lsusb testlibusb
++bin_PROGRAMS = lsusb testlibusb
+
+ lsusb_SOURCES = lsusb.c
+ lsusb_LDADD = ../libusb/libusb.la
diff --git a/meta-oe/recipes-support/libusb/libusb-compat/run-ptest b/meta-oe/recipes-support/libusb/libusb-compat/run-ptest
new file mode 100644
index 0000000000..901662d696
--- /dev/null
+++ b/meta-oe/recipes-support/libusb/libusb-compat/run-ptest
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+rc=0
+for TEST in lsusb testlibusb; do
+ if ! ./$TEST ; then
+ echo "FAIL: $TEST"
+ rc=$((rc + 1))
+ else
+ echo "PASS: $TEST"
+ fi
+done
+
+# return number of failed tests
+exit $rc
diff --git a/meta-oe/recipes-support/libusb/libusb-compat_0.1.7.bb b/meta-oe/recipes-support/libusb/libusb-compat_0.1.7.bb
deleted file mode 100644
index 21fa478b6e..0000000000
--- a/meta-oe/recipes-support/libusb/libusb-compat_0.1.7.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-SUMMARY = "libusb-0.1 compatibility layer for libusb1"
-DESCRIPTION = "libusb-0.1 compatible layer for libusb1, a drop-in replacement \
-that aims to look, feel and behave exactly like libusb-0.1"
-HOMEPAGE = "http://www.libusb.org/"
-BUGTRACKER = "http://www.libusb.org/report"
-SECTION = "libs"
-
-LICENSE = "LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=f2ac5f3ac4835e8f91324a26a590a423"
-DEPENDS = "libusb1"
-
-# Few packages are known not to work with libusb-compat (e.g. libmtp-1.0.0),
-# so here libusb-0.1 is removed completely instead of adding virtual/libusb0.
-# Besides, libusb-0.1 uses a per 1ms polling that hurts a lot to power
-# consumption.
-PROVIDES = "libusb virtual/libusb0"
-BBCLASSEXTEND = "native nativesdk"
-
-PE = "1"
-
-SRC_URI = " \
- git://github.com/libusb/libusb-compat-0.1.git;protocol=https \
- file://0001-usb.h-Include-sys-types.h.patch \
-"
-SRCREV = "4a27760ec5954ec8605e052a3207afbe0979eeef"
-S = "${WORKDIR}/git"
-
-UPSTREAM_CHECK_URI = "https://github.com/libusb/libusb-compat-0.1/releases"
-
-BINCONFIG = "${bindir}/libusb-config"
-
-inherit autotools pkgconfig binconfig-disabled lib_package
-
-EXTRA_OECONF = "--libdir=${base_libdir}"
-
-do_install_append() {
- install -d ${D}${libdir}
- if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
- mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
- fi
-}
diff --git a/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb b/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb
new file mode 100644
index 0000000000..57f1f54387
--- /dev/null
+++ b/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb
@@ -0,0 +1,47 @@
+SUMMARY = "libusb-0.1 compatibility layer for libusb1"
+DESCRIPTION = "libusb-0.1 compatible layer for libusb1, a drop-in replacement \
+that aims to look, feel and behave exactly like libusb-0.1"
+HOMEPAGE = "http://www.libusb.org/"
+BUGTRACKER = "http://www.libusb.org/report"
+SECTION = "libs"
+
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=f2ac5f3ac4835e8f91324a26a590a423"
+DEPENDS = "libusb1"
+
+# libusb-compat dlopen() libusb1 so we need to explicitly RDEPENDS on it
+RDEPENDS:${PN} += "libusb1"
+
+# Few packages are known not to work with libusb-compat (e.g. libmtp-1.0.0),
+# so here libusb-0.1 is removed completely instead of adding virtual/libusb0.
+# Besides, libusb-0.1 uses a per 1ms polling that hurts a lot to power
+# consumption.
+PROVIDES = "libusb virtual/libusb0"
+BBCLASSEXTEND = "native nativesdk"
+
+PE = "1"
+
+SRC_URI = " \
+ git://github.com/libusb/libusb-compat-0.1.git;protocol=https;branch=master \
+ file://0001-usb.h-Include-sys-types.h.patch \
+ file://0002-automake-make-example-programs-installable.patch \
+ file://run-ptest \
+"
+SRCREV = "c497eff1ae8c4cfd4fdff370f04c78fa0584f4f3"
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_URI = "https://github.com/libusb/libusb-compat-0.1/releases"
+
+BINCONFIG = "${bindir}/libusb-config"
+
+inherit autotools pkgconfig binconfig-disabled lib_package ptest
+
+# examples are used as ptest so enable them at configuration if needed
+EXTRA_OECONF += "${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-examples-build', '', d)}"
+
+# Move test binaries out of bindir to avoid clashing with a "real" lsusb.
+do_install_ptest() {
+ for bin in lsusb testlibusb; do
+ mv ${D}${bindir}/$bin ${D}${PTEST_PATH}
+ done
+}
diff --git a/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch
index 6be49fbca4..16506999e2 100644
--- a/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch
+++ b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch
@@ -7,7 +7,7 @@ The include flag should point to the source directory, not the build
directory.
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
-Upstream-status: Submitted [https://github.com/libusbg/libusbg/pull/9]
+Upstream-Status: Submitted [https://github.com/libusbg/libusbg/pull/9]
---
examples/Makefile.am | 2 +-
src/Makefile.am | 2 +-
diff --git a/meta-oe/recipes-support/libusbg/libusbg_git.bb b/meta-oe/recipes-support/libusbg/libusbg_git.bb
index b1c4663525..716d9c4ce4 100644
--- a/meta-oe/recipes-support/libusbg/libusbg_git.bb
+++ b/meta-oe/recipes-support/libusbg/libusbg_git.bb
@@ -1,6 +1,6 @@
SUMMARY = "USB Gadget Configfs Library"
-LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
@@ -8,12 +8,12 @@ inherit autotools update-alternatives
PV = "0.1.0"
SRCREV = "a826d136e0e8fa53815f1ba05893e6dd74208c15"
-SRC_URI = "git://github.com/libusbg/libusbg.git \
+SRC_URI = "git://github.com/libusbg/libusbg.git;branch=master;protocol=https \
file://0001-Fix-out-of-tree-builds.patch \
"
S = "${WORKDIR}/git"
-ALTERNATIVE_${PN} = "gadget-acm-ecm show-gadgets"
+ALTERNATIVE:${PN} = "gadget-acm-ecm show-gadgets"
ALTERNATIVE_LINK_NAME[gadget-acm-ecm] = "${bindir}/gadget-acm-ecm"
ALTERNATIVE_LINK_NAME[show-gadgets] = "${bindir}/show-gadgets"
diff --git a/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch b/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch
new file mode 100644
index 0000000000..24a2760d11
--- /dev/null
+++ b/meta-oe/recipes-support/libusbgx/libusbgx/0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch
@@ -0,0 +1,796 @@
+From 421b366cafdf954b7e1cd2bbb78b55e04d73c082 Mon Sep 17 00:00:00 2001
+From: Wlodzimierz Lipert <wlodzimierz.lipert@gmail.com>
+Date: Mon, 28 Nov 2022 08:29:54 +0100
+Subject: [PATCH] fix: stack-buffer-overflow in usbg_f_foo_attr_val processing.
+ Changed ABI version from 2 to 3.
+
+Upstream-Status: Submitted [https://github.com/linux-usb-gadgets/libusbgx/pull/72]
+
+Signed-off-by: Wlodzimierz Lipert <wlodzimierz.lipert@gmail.com>
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ include/usbg/function/hid.h | 28 ++++++++++++----------------
+ include/usbg/function/midi.h | 35 +++++++++++++----------------------
+ include/usbg/function/ms.h | 30 +++++++++++-------------------
+ include/usbg/function/net.h | 34 ++++++++++++++--------------------
+ include/usbg/function/uac2.h | 29 +++++++++++++----------------
+ include/usbg/usbg_internal.h | 10 +++++-----
+ src/Makefile.am | 2 +-
+ src/function/ether.c | 10 +++++-----
+ src/function/hid.c | 12 ++++++------
+ src/function/midi.c | 10 +++++-----
+ src/function/ms.c | 10 +++++-----
+ src/function/uac2.c | 10 +++++-----
+ src/function/uvc.c | 10 +++++-----
+ src/usbg_common.c | 2 +-
+ 14 files changed, 101 insertions(+), 131 deletions(-)
+
+diff --git a/include/usbg/function/hid.h b/include/usbg/function/hid.h
+index 3463140..3b3907b 100644
+--- a/include/usbg/function/hid.h
++++ b/include/usbg/function/hid.h
+@@ -56,11 +56,6 @@ union usbg_f_hid_attr_val {
+ unsigned int subclass;
+ };
+
+-#define USBG_F_HID_UINT_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_hid_attr_val, protocol, WHAT)
+-
+-#define USBG_F_HID_RDESC_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_hid_attr_val, report_desc, WHAT)
+ /**
+ * @brief Cast from generic function to hid function
+ * @param[in] f function to be converted to hid funciton.
+@@ -137,7 +132,7 @@ int usbg_f_hid_get_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr,
+ * @return 0 on success usbg_error if error occurred.
+ */
+ int usbg_f_hid_set_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr,
+- union usbg_f_hid_attr_val val);
++ const union usbg_f_hid_attr_val *val);
+
+ /**
+ * @brief Get the minor and major of corresponding character device
+@@ -173,8 +168,9 @@ static inline int usbg_f_hid_get_protocol(usbg_f_hid *hf,
+ static inline int usbg_f_hid_set_protocol(usbg_f_hid *hf,
+ unsigned int protocol)
+ {
+- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_PROTOCOL,
+- USBG_F_HID_UINT_TO_ATTR_VAL(protocol));
++
++ union usbg_f_hid_attr_val val = {.protocol = protocol};
++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_PROTOCOL, &val);
+ }
+
+ /**
+@@ -199,8 +195,8 @@ static inline int usbg_f_hid_get_report_desc(usbg_f_hid *hf,
+ static inline int usbg_f_hid_set_report_desc(usbg_f_hid *hf,
+ struct usbg_f_hid_report_desc report_desc)
+ {
+- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC,
+- USBG_F_HID_RDESC_TO_ATTR_VAL(report_desc));
++ union usbg_f_hid_attr_val val = {.report_desc = report_desc};
++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC, &val);
+ }
+
+ /**
+@@ -242,8 +238,8 @@ static inline int usbg_f_hid_set_report_desc_raw(usbg_f_hid *hf,
+ .len = len,
+ };
+
+- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC,
+- USBG_F_HID_RDESC_TO_ATTR_VAL(report_desc));
++ union usbg_f_hid_attr_val val = {.report_desc = report_desc};
++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_DESC, &val);
+ }
+
+ /**
+@@ -268,8 +264,8 @@ static inline int usbg_f_hid_get_report_length(usbg_f_hid *hf,
+ static inline int usbg_f_hid_set_report_length(usbg_f_hid *hf,
+ unsigned int report_length)
+ {
+- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_LENGTH,
+- USBG_F_HID_UINT_TO_ATTR_VAL(report_length));
++ union usbg_f_hid_attr_val val = {.report_length = report_length};
++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_REPORT_LENGTH, &val);
+ }
+
+ /**
+@@ -294,8 +290,8 @@ static inline int usbg_f_hid_get_subclass(usbg_f_hid *hf,
+ static inline int usbg_f_hid_set_subclass(usbg_f_hid *hf,
+ unsigned int subclass)
+ {
+- return usbg_f_hid_set_attr_val(hf, USBG_F_HID_SUBCLASS,
+- USBG_F_HID_UINT_TO_ATTR_VAL(subclass));
++ union usbg_f_hid_attr_val val = {.subclass = subclass};
++ return usbg_f_hid_set_attr_val(hf, USBG_F_HID_SUBCLASS, &val);
+ }
+
+ #ifdef __cplusplus
+diff --git a/include/usbg/function/midi.h b/include/usbg/function/midi.h
+index 39df047..b9d9d4f 100644
+--- a/include/usbg/function/midi.h
++++ b/include/usbg/function/midi.h
+@@ -53,15 +53,6 @@ union usbg_f_midi_attr_val {
+ unsigned int qlen;
+ };
+
+-#define USBG_F_MIDI_INT_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_midi_attr_val, index, WHAT)
+-
+-#define USBG_F_MIDI_UINT_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_midi_attr_val, qlen, WHAT)
+-
+-#define USBG_F_MIDI_CCHAR_PTR_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_midi_attr_val, id, WHAT)
+-
+ /**
+ * @brief Cast from generic function to midi function
+ * @param[in] f function to be converted to midi funciton.
+@@ -126,7 +117,7 @@ int usbg_f_midi_get_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr,
+ * @return 0 on success usbg_error if error occurred.
+ */
+ int usbg_f_midi_set_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr,
+- union usbg_f_midi_attr_val val);
++ const union usbg_f_midi_attr_val *val);
+
+ /**
+ * @brief Get the index value of MIDI adapter
+@@ -148,8 +139,8 @@ static inline int usbg_f_midi_get_index(usbg_f_midi *mf, int *index)
+ */
+ static inline int usbg_f_midi_set_index(usbg_f_midi *mf, int index)
+ {
+- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_INDEX,
+- USBG_F_MIDI_INT_TO_ATTR_VAL(index));
++ union usbg_f_midi_attr_val val = {.index = index};
++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_INDEX, &val);
+ }
+
+ /**
+@@ -188,8 +179,8 @@ int usbg_f_midi_get_id_s(usbg_f_midi *mf, char *buf, int len);
+ */
+ static inline int usbg_f_midi_set_id(usbg_f_midi *mf, const char *id)
+ {
+- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_ID,
+- USBG_F_MIDI_CCHAR_PTR_TO_ATTR_VAL(id));
++ union usbg_f_midi_attr_val val = {.id = id};
++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_ID, &val);
+ }
+
+ /**
+@@ -212,8 +203,8 @@ static inline int usbg_f_midi_get_in_ports(usbg_f_midi *mf, unsigned *in_ports)
+ */
+ static inline int usbg_f_midi_set_in_ports(usbg_f_midi *mf, unsigned in_ports)
+ {
+- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_IN_PORTS,
+- USBG_F_MIDI_UINT_TO_ATTR_VAL(in_ports));
++ union usbg_f_midi_attr_val val = {.in_ports = in_ports};
++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_IN_PORTS, &val);
+ }
+
+ /**
+@@ -236,8 +227,8 @@ static inline int usbg_f_midi_get_out_ports(usbg_f_midi *mf, unsigned *out_ports
+ */
+ static inline int usbg_f_midi_set_out_ports(usbg_f_midi *mf, unsigned out_ports)
+ {
+- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_OUT_PORTS,
+- USBG_F_MIDI_UINT_TO_ATTR_VAL(out_ports));
++ union usbg_f_midi_attr_val val = {.out_ports = out_ports};
++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_OUT_PORTS, &val);
+ }
+
+ /**
+@@ -264,8 +255,8 @@ static inline int usbg_f_midi_get_buflen(usbg_f_midi *mf, int *buflen)
+ */
+ static inline int usbg_f_midi_set_buflen(usbg_f_midi *mf, unsigned buflen)
+ {
+- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_BUFLEN,
+- USBG_F_MIDI_UINT_TO_ATTR_VAL(buflen));
++ union usbg_f_midi_attr_val val = {.buflen = buflen};
++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_BUFLEN, &val);
+ }
+
+ /**
+@@ -288,8 +279,8 @@ static inline int usbg_f_midi_get_qlen(usbg_f_midi *mf, unsigned *qlen)
+ */
+ static inline int usbg_f_midi_set_qlen(usbg_f_midi *mf, unsigned qlen)
+ {
+- return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_QLEN,
+- USBG_F_MIDI_UINT_TO_ATTR_VAL(qlen));
++ union usbg_f_midi_attr_val val = {.qlen = qlen};
++ return usbg_f_midi_set_attr_val(mf, USBG_F_MIDI_QLEN, &val);
+ }
+
+ #ifdef __cplusplus
+diff --git a/include/usbg/function/ms.h b/include/usbg/function/ms.h
+index 780464c..f52eb78 100644
+--- a/include/usbg/function/ms.h
++++ b/include/usbg/function/ms.h
+@@ -56,14 +56,6 @@ union usbg_f_ms_lun_attr_val {
+ const char *file;
+ };
+
+-#define USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_ms_lun_attr_val, cdrom, WHAT)
+-
+-#define USBG_F_MS_LUN_CCHAR_PTR_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_ms_lun_attr_val, file, WHAT)
+-
+-
+-
+ /**
+ * @brief Cast from generic function to mass storage function
+ * @param[in] f function to be converted to ms funciton.
+@@ -157,7 +149,7 @@ int usbg_f_ms_get_lun_attr_val(usbg_f_ms *mf, int lun_id,
+ */
+ int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id,
+ enum usbg_f_ms_lun_attr lattr,
+- const union usbg_f_ms_lun_attr_val val);
++ const union usbg_f_ms_lun_attr_val *val);
+
+ /**
+ * @brief Get the value which determines if lun is visible as a cdrom
+@@ -183,8 +175,8 @@ static inline int usbg_f_ms_get_lun_cdrom(usbg_f_ms *mf, int lun_id,
+ static inline int usbg_f_ms_set_lun_cdrom(usbg_f_ms *mf, int lun_id,
+ bool cdrom)
+ {
+- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_CDROM,
+- USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(cdrom));
++ union usbg_f_ms_lun_attr_val val = {.cdrom = cdrom};
++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_CDROM, &val);
+ }
+
+ /**
+@@ -209,8 +201,8 @@ static inline int usbg_f_ms_get_lun_ro(usbg_f_ms *mf, int lun_id, bool *ro)
+ */
+ static inline int usbg_f_ms_set_lun_ro(usbg_f_ms *mf, int lun_id, bool ro)
+ {
+- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_RO,
+- USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(ro));
++ union usbg_f_ms_lun_attr_val val = {.ro = ro};
++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_RO, &val);
+ }
+
+ /**
+@@ -239,8 +231,8 @@ static inline int usbg_f_ms_get_lun_nofua(usbg_f_ms *mf, int lun_id,
+ static inline int usbg_f_ms_set_lun_nofua(usbg_f_ms *mf, int lun_id,
+ bool nofua)
+ {
+- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_NOFUA,
+- USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(nofua));
++ union usbg_f_ms_lun_attr_val val = {.nofua = nofua};
++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_NOFUA, &val);
+ }
+
+ /**
+@@ -267,8 +259,8 @@ static inline int usbg_f_ms_get_lun_removable(usbg_f_ms *mf, int lun_id,
+ static inline int usbg_f_ms_set_lun_removable(usbg_f_ms *mf, int lun_id,
+ bool removable)
+ {
+- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_REMOVABLE,
+- USBG_F_MS_LUN_BOOL_TO_ATTR_VAL(removable));
++ union usbg_f_ms_lun_attr_val val = {.removable = removable};
++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_REMOVABLE, &val);
+ }
+
+ /**
+@@ -313,8 +305,8 @@ int usbg_f_ms_get_lun_file_s(usbg_f_ms *mf, int lun_id,
+ static inline int usbg_f_ms_set_lun_file(usbg_f_ms *mf, int lun_id,
+ const char *file)
+ {
+- return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_FILE,
+- USBG_F_MS_LUN_CCHAR_PTR_TO_ATTR_VAL(file));
++ union usbg_f_ms_lun_attr_val val = {.file = file};
++ return usbg_f_ms_set_lun_attr_val(mf, lun_id, USBG_F_MS_LUN_FILE, &val);
+ }
+
+ /**
+diff --git a/include/usbg/function/net.h b/include/usbg/function/net.h
+index b0409f1..06cee30 100644
+--- a/include/usbg/function/net.h
++++ b/include/usbg/function/net.h
+@@ -56,12 +56,6 @@ union usbg_f_net_attr_val {
+ unsigned int protocol;
+ };
+
+-#define USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_net_attr_val, dev_addr, WHAT)
+-
+-#define USBG_F_NET_INT_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_net_attr_val, qmult, WHAT)
+-
+ /**
+ * @brief Cast from generic function to net function
+ * @param[in] f function to be converted to net funciton.
+@@ -125,7 +119,7 @@ int usbg_f_net_get_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+ * @return 0 on success usbg_error if error occurred.
+ */
+ int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+- const union usbg_f_net_attr_val val);
++ const union usbg_f_net_attr_val *val);
+
+ /**
+ * @brief Get the value of device side MAC address
+@@ -136,7 +130,7 @@ int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+ static inline int usbg_f_net_get_dev_addr(usbg_f_net *nf,
+ struct ether_addr *addr)
+ {
+- union usbg_f_net_attr_val val = { .dev_addr = *addr, };
++ union usbg_f_net_attr_val val = {.dev_addr = *addr};
+ return usbg_f_net_get_attr_val(nf, USBG_F_NET_DEV_ADDR, &val);
+ }
+
+@@ -149,8 +143,8 @@ static inline int usbg_f_net_get_dev_addr(usbg_f_net *nf,
+ static inline int usbg_f_net_set_dev_addr(usbg_f_net *nf,
+ const struct ether_addr *addr)
+ {
+- return usbg_f_net_set_attr_val(nf, USBG_F_NET_DEV_ADDR,
+- USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(*addr));
++ union usbg_f_net_attr_val val = {.dev_addr = *addr};
++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_DEV_ADDR, &val);
+ }
+
+ /**
+@@ -175,8 +169,8 @@ static inline int usbg_f_net_get_host_addr(usbg_f_net *nf,
+ static inline int usbg_f_net_set_host_addr(usbg_f_net *nf,
+ const struct ether_addr *addr)
+ {
+- return usbg_f_net_set_attr_val(nf, USBG_F_NET_HOST_ADDR,
+- USBG_F_NET_ETHER_ADDR_TO_ATTR_VAL(*addr));
++ union usbg_f_net_attr_val val = {.host_addr = *addr};
++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_HOST_ADDR, &val);
+ }
+
+ /**
+@@ -226,8 +220,8 @@ static inline int usbg_f_net_get_qmult(usbg_f_net *nf, int *qmult)
+ */
+ static inline int usbg_f_net_set_qmult(usbg_f_net *nf, int qmult)
+ {
+- return usbg_f_net_set_attr_val(nf, USBG_F_NET_QMULT,
+- USBG_F_NET_INT_TO_ATTR_VAL(qmult));
++ union usbg_f_net_attr_val val = {.qmult = qmult};
++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_QMULT, &val);
+ }
+
+ /**
+@@ -250,8 +244,8 @@ static inline int usbg_f_net_get_class(usbg_f_net *nf, unsigned int *class_)
+ */
+ static inline int usbg_f_net_set_class(usbg_f_net *nf, unsigned int class_)
+ {
+- return usbg_f_net_set_attr_val(nf, USBG_F_NET_CLASS,
+- USBG_F_NET_INT_TO_ATTR_VAL(class_));
++ union usbg_f_net_attr_val val = {.class_ = class_};
++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_CLASS, &val);
+ }
+
+ /**
+@@ -274,8 +268,8 @@ static inline int usbg_f_net_get_subclass(usbg_f_net *nf, int *subclass)
+ */
+ static inline int usbg_f_net_set_subclass(usbg_f_net *nf, unsigned int subclass)
+ {
+- return usbg_f_net_set_attr_val(nf, USBG_F_NET_SUBCLASS,
+- USBG_F_NET_INT_TO_ATTR_VAL(subclass));
++ union usbg_f_net_attr_val val = {.subclass = subclass};
++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_SUBCLASS, &val);
+ }
+
+ /**
+@@ -298,8 +292,8 @@ static inline int usbg_f_net_get_protocol(usbg_f_net *nf, int *protocol)
+ */
+ static inline int usbg_f_net_set_protocol(usbg_f_net *nf, unsigned int protocol)
+ {
+- return usbg_f_net_set_attr_val(nf, USBG_F_NET_PROTOCOL,
+- USBG_F_NET_INT_TO_ATTR_VAL(protocol));
++ union usbg_f_net_attr_val val = {.protocol = protocol};
++ return usbg_f_net_set_attr_val(nf, USBG_F_NET_PROTOCOL, &val);
+ }
+
+ #ifdef __cplusplus
+diff --git a/include/usbg/function/uac2.h b/include/usbg/function/uac2.h
+index 6fc4d24..80918ef 100644
+--- a/include/usbg/function/uac2.h
++++ b/include/usbg/function/uac2.h
+@@ -110,9 +110,6 @@ union usbg_f_uac2_attr_val {
+ const char * function_name;
+ };
+
+-#define USBG_F_UAC2_INT_TO_ATTR_VAL(WHAT) \
+- USBG_TO_UNION(usbg_f_uac2_attr_val, c_chmask, WHAT)
+-
+ /**
+ * @brief Cast from generic function to uac2 function
+ * @param[in] f function to be converted to uac2 funciton.
+@@ -172,7 +169,7 @@ int usbg_f_uac2_get_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr,
+ * @return 0 on success usbg_error if error occurred.
+ */
+ int usbg_f_uac2_set_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr,
+- union usbg_f_uac2_attr_val val);
++ const union usbg_f_uac2_attr_val *val);
+
+ /**
+ * @brief Get the capture channel mask of UAC2 adapter
+@@ -194,8 +191,8 @@ static inline int usbg_f_uac2_get_c_chmask(usbg_f_uac2 *af, int *c_chmask)
+ */
+ static inline int usbg_f_uac2_set_c_chmask(usbg_f_uac2 *af, int c_chmask)
+ {
+- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_CHMASK,
+- USBG_F_UAC2_INT_TO_ATTR_VAL(c_chmask));
++ union usbg_f_uac2_attr_val val = {.c_chmask = c_chmask};
++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_CHMASK, &val);
+ }
+
+ /**
+@@ -218,8 +215,8 @@ static inline int usbg_f_uac2_get_c_srate(usbg_f_uac2 *af, int *c_srate)
+ */
+ static inline int usbg_f_uac2_set_c_srate(usbg_f_uac2 *af, int c_srate)
+ {
+- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SRATE,
+- USBG_F_UAC2_INT_TO_ATTR_VAL(c_srate));
++ union usbg_f_uac2_attr_val val = {.c_srate = c_srate};
++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SRATE, &val);
+ }
+
+ /**
+@@ -242,8 +239,8 @@ static inline int usbg_f_uac2_get_c_ssize(usbg_f_uac2 *af, int *c_ssize)
+ */
+ static inline int usbg_f_uac2_set_c_ssize(usbg_f_uac2 *af, int c_ssize)
+ {
+- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SSIZE,
+- USBG_F_UAC2_INT_TO_ATTR_VAL(c_ssize));
++ union usbg_f_uac2_attr_val val = {.c_ssize = c_ssize};
++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_C_SSIZE, &val);
+ }
+
+ /**
+@@ -266,8 +263,8 @@ static inline int usbg_f_uac2_get_p_chmask(usbg_f_uac2 *af, int *p_chmask)
+ */
+ static inline int usbg_f_uac2_set_p_chmask(usbg_f_uac2 *af, int p_chmask)
+ {
+- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_CHMASK,
+- USBG_F_UAC2_INT_TO_ATTR_VAL(p_chmask));
++ union usbg_f_uac2_attr_val val = {.p_chmask = p_chmask};
++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_CHMASK, &val);
+ }
+
+ /**
+@@ -290,8 +287,8 @@ static inline int usbg_f_uac2_get_p_srate(usbg_f_uac2 *af, int *p_srate)
+ */
+ static inline int usbg_f_uac2_set_p_srate(usbg_f_uac2 *af, int p_srate)
+ {
+- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SRATE,
+- USBG_F_UAC2_INT_TO_ATTR_VAL(p_srate));
++ union usbg_f_uac2_attr_val val = {.p_srate = p_srate};
++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SRATE, &val);
+ }
+
+ /**
+@@ -314,8 +311,8 @@ static inline int usbg_f_uac2_get_p_ssize(usbg_f_uac2 *af, int *p_ssize)
+ */
+ static inline int usbg_f_uac2_set_p_ssize(usbg_f_uac2 *af, int p_ssize)
+ {
+- return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SSIZE,
+- USBG_F_UAC2_INT_TO_ATTR_VAL(p_ssize));
++ union usbg_f_uac2_attr_val val = {.p_ssize = p_ssize};
++ return usbg_f_uac2_set_attr_val(af, USBG_F_UAC2_P_SSIZE, &val);
+ }
+
+ #ifdef __cplusplus
+diff --git a/include/usbg/usbg_internal.h b/include/usbg/usbg_internal.h
+index 1d8dfe2..d6a3e3a 100644
+--- a/include/usbg/usbg_internal.h
++++ b/include/usbg/usbg_internal.h
+@@ -322,7 +322,7 @@ void usbg_cleanup_function(struct usbg_function *f);
+ }
+
+ typedef int (*usbg_attr_get_func)(const char *, const char *, const char *, void *);
+-typedef int (*usbg_attr_set_func)(const char *, const char *, const char *, void *);
++typedef int (*usbg_attr_set_func)(const char *, const char *, const char *, const void *);
+
+ static inline int usbg_get_dec(const char *path, const char *name,
+ const char *attr, void *val)
+@@ -331,7 +331,7 @@ static inline int usbg_get_dec(const char *path, const char *name,
+ }
+
+ static inline int usbg_set_dec(const char *path, const char *name,
+- const char *attr, void *val)
++ const char *attr, const void *val)
+ {
+ return usbg_write_dec(path, name, attr, *((int *)val));
+ }
+@@ -343,7 +343,7 @@ static inline int usbg_get_bool(const char *path, const char *name,
+ }
+
+ static inline int usbg_set_bool(const char *path, const char *name,
+- const char *attr, void *val)
++ const char *attr, const void *val)
+ {
+ return usbg_write_bool(path, name, attr, *((bool *)val));
+ }
+@@ -355,7 +355,7 @@ static inline int usbg_get_string(const char *path, const char *name,
+ }
+
+ static inline int usbg_set_string(const char *path, const char *name,
+- const char *attr, void *val)
++ const char *attr, const void *val)
+ {
+ return usbg_write_string(path, name, attr, *(char **)val);
+ }
+@@ -364,7 +364,7 @@ int usbg_get_ether_addr(const char *path, const char *name, const char *attr,
+ void *val);
+
+ int usbg_set_ether_addr(const char *path, const char *name, const char *attr,
+- void *val);
++ const void *val);
+
+ int usbg_get_dev(const char *path, const char *name, const char *attr,
+ void *val);
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 634209f..ac97bc8 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -7,6 +7,6 @@ else
+ libusbgx_la_SOURCES += usbg_schemes_none.c
+ endif
+ libusbgx_la_LDFLAGS = $(LIBCONFIG_LIBS)
+-libusbgx_la_LDFLAGS += -version-info 2:0:0
++libusbgx_la_LDFLAGS += -version-info 3:0:0
+ libusbgx_la_CFLAGS = $(LIBCONFIG_CFLAGS)
+ AM_CPPFLAGS=-I$(top_srcdir)/include/ -I$(top_builddir)/include/usbg
+diff --git a/src/function/ether.c b/src/function/ether.c
+index a9eaf33..a1d20f1 100644
+--- a/src/function/ether.c
++++ b/src/function/ether.c
+@@ -124,7 +124,7 @@ static int ether_libconfig_import(struct usbg_function *f,
+ if (ret < 0)
+ break;
+
+- ret = usbg_f_net_set_attr_val(nf, i, val);
++ ret = usbg_f_net_set_attr_val(nf, i, &val);
+ if (ret)
+ break;
+ }
+@@ -258,8 +258,8 @@ int usbg_f_net_set_attrs(usbg_f_net *nf,
+ continue;
+
+ ret = usbg_f_net_set_attr_val(nf, i,
+- *(union usbg_f_net_attr_val *)
+- ((char *)attrs
++ (const union usbg_f_net_attr_val *)
++ ((const char *)attrs
+ + net_attr[i].offset));
+ if (ret)
+ break;
+@@ -277,12 +277,12 @@ int usbg_f_net_get_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+ }
+
+ int usbg_f_net_set_attr_val(usbg_f_net *nf, enum usbg_f_net_attr attr,
+- union usbg_f_net_attr_val val)
++ const union usbg_f_net_attr_val *val)
+ {
+ return net_attr[attr].ro ?
+ USBG_ERROR_INVALID_PARAM :
+ net_attr[attr].set(nf->func.path, nf->func.name,
+- net_attr[attr].name, &val);
++ net_attr[attr].name, val);
+ }
+
+ int usbg_f_net_get_ifname_s(usbg_f_net *nf, char *buf, int len)
+diff --git a/src/function/hid.c b/src/function/hid.c
+index 4d075cf..895c2c6 100644
+--- a/src/function/hid.c
++++ b/src/function/hid.c
+@@ -69,9 +69,9 @@ static int hid_get_report(const char *path, const char *name, const char *attr,
+ }
+
+ static int hid_set_report(const char *path, const char *name, const char *attr,
+- void *val)
++ const void *val)
+ {
+- struct usbg_f_hid_report_desc *report_desc = val;
++ const struct usbg_f_hid_report_desc *report_desc = val;
+ char *buf = report_desc->desc;
+ int len = report_desc->len;
+ int ret;
+@@ -239,7 +239,7 @@ static int hid_libconfig_import(struct usbg_function *f,
+ if (ret < 0)
+ break;
+
+- ret = usbg_f_hid_set_attr_val(hf, i, val);
++ ret = usbg_f_hid_set_attr_val(hf, i, &val);
+ if (ret)
+ break;
+ }
+@@ -327,7 +327,7 @@ int usbg_f_hid_set_attrs(usbg_f_hid *hf,
+ continue;
+
+ ret = usbg_f_hid_set_attr_val(hf, i,
+- *(union usbg_f_hid_attr_val *)
++ (union usbg_f_hid_attr_val *)
+ ((char *)attrs
+ + hid_attr[i].offset));
+ if (ret)
+@@ -346,11 +346,11 @@ int usbg_f_hid_get_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr,
+ }
+
+ int usbg_f_hid_set_attr_val(usbg_f_hid *hf, enum usbg_f_hid_attr attr,
+- union usbg_f_hid_attr_val val)
++ const union usbg_f_hid_attr_val *val)
+ {
+ return hid_attr[attr].ro ?
+ USBG_ERROR_INVALID_PARAM :
+ hid_attr[attr].set(hf->func.path, hf->func.name,
+- hid_attr[attr].name, &val);
++ hid_attr[attr].name, val);
+ }
+
+diff --git a/src/function/midi.c b/src/function/midi.c
+index 1cedb97..2318b49 100644
+--- a/src/function/midi.c
++++ b/src/function/midi.c
+@@ -100,7 +100,7 @@ static int midi_libconfig_import(struct usbg_function *f,
+ if (ret < 0)
+ break;
+
+- ret = usbg_f_midi_set_attr_val(mf, i, val);
++ ret = usbg_f_midi_set_attr_val(mf, i, &val);
+ if (ret)
+ break;
+ }
+@@ -185,8 +185,8 @@ int usbg_f_midi_set_attrs(usbg_f_midi *mf,
+
+ for (i = USBG_F_MIDI_ATTR_MIN; i < USBG_F_MIDI_ATTR_MAX; ++i) {
+ ret = usbg_f_midi_set_attr_val(mf, i,
+- *(union usbg_f_midi_attr_val *)
+- ((char *)attrs
++ (const union usbg_f_midi_attr_val *)
++ ((const char *)attrs
+ + midi_attr[i].offset));
+ if (ret)
+ break;
+@@ -204,10 +204,10 @@ int usbg_f_midi_get_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr,
+ }
+
+ int usbg_f_midi_set_attr_val(usbg_f_midi *mf, enum usbg_f_midi_attr attr,
+- union usbg_f_midi_attr_val val)
++ const union usbg_f_midi_attr_val *val)
+ {
+ return midi_attr[attr].set(mf->func.path, mf->func.name,
+- midi_attr[attr].name, &val);
++ midi_attr[attr].name, val);
+ }
+
+ int usbg_f_midi_get_id_s(usbg_f_midi *mf, char *buf, int len)
+diff --git a/src/function/ms.c b/src/function/ms.c
+index 519b012..5cdd814 100644
+--- a/src/function/ms.c
++++ b/src/function/ms.c
+@@ -207,7 +207,7 @@ static int ms_import_lun_attrs(struct usbg_f_ms *mf, int lun_id,
+ if (ret < 0)
+ break;
+
+- ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i, val);
++ ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i, &val);
+ if (ret)
+ break;
+ }
+@@ -605,8 +605,8 @@ int usbg_f_ms_set_lun_attrs(usbg_f_ms *mf, int lun_id,
+
+ for (i = USBG_F_MS_LUN_ATTR_MIN; i < USBG_F_MS_LUN_ATTR_MAX; ++i) {
+ ret = usbg_f_ms_set_lun_attr_val(mf, lun_id, i,
+- *(union usbg_f_ms_lun_attr_val *)
+- ((char *)lattrs
++ (const union usbg_f_ms_lun_attr_val *)
++ ((const char *)lattrs
+ + ms_lun_attr[i].offset));
+ if (ret)
+ break;
+@@ -633,7 +633,7 @@ int usbg_f_ms_get_lun_attr_val(usbg_f_ms *mf, int lun_id,
+
+ int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id,
+ enum usbg_f_ms_lun_attr lattr,
+- union usbg_f_ms_lun_attr_val val)
++ const union usbg_f_ms_lun_attr_val *val)
+ {
+ char lpath[USBG_MAX_PATH_LENGTH];
+ int ret;
+@@ -644,7 +644,7 @@ int usbg_f_ms_set_lun_attr_val(usbg_f_ms *mf, int lun_id,
+ return USBG_ERROR_PATH_TOO_LONG;
+
+ return ms_lun_attr[lattr].set(lpath, "",
+- ms_lun_attr[lattr].name, &val);
++ ms_lun_attr[lattr].name, val);
+ }
+
+ int usbg_f_ms_get_lun_file_s(usbg_f_ms *mf, int lun_id,
+diff --git a/src/function/uac2.c b/src/function/uac2.c
+index 9ca8b66..fc06c1d 100644
+--- a/src/function/uac2.c
++++ b/src/function/uac2.c
+@@ -125,7 +125,7 @@ static int uac2_libconfig_import(struct usbg_function *f,
+ if (ret < 0)
+ break;
+
+- ret = usbg_f_uac2_set_attr_val(af, i, val);
++ ret = usbg_f_uac2_set_attr_val(af, i, &val);
+ if (ret)
+ break;
+ }
+@@ -210,8 +210,8 @@ int usbg_f_uac2_set_attrs(usbg_f_uac2 *af,
+
+ for (i = USBG_F_UAC2_ATTR_MIN; i < USBG_F_UAC2_ATTR_MAX; ++i) {
+ ret = usbg_f_uac2_set_attr_val(af, i,
+- *(union usbg_f_uac2_attr_val *)
+- ((char *)attrs
++ (const union usbg_f_uac2_attr_val *)
++ ((const char *)attrs
+ + uac2_attr[i].offset));
+ if (ret)
+ break;
+@@ -229,8 +229,8 @@ int usbg_f_uac2_get_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr,
+ }
+
+ int usbg_f_uac2_set_attr_val(usbg_f_uac2 *af, enum usbg_f_uac2_attr attr,
+- union usbg_f_uac2_attr_val val)
++ const union usbg_f_uac2_attr_val *val)
+ {
+ return uac2_attr[attr].set(af->func.path, af->func.name,
+- uac2_attr[attr].name, &val);
++ uac2_attr[attr].name, val);
+ }
+diff --git a/src/function/uvc.c b/src/function/uvc.c
+index f39594b..947b94e 100644
+--- a/src/function/uvc.c
++++ b/src/function/uvc.c
+@@ -303,7 +303,7 @@ int usbg_f_uvc_get_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr
+ }
+
+ int usbg_f_uvc_set_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr iattr,
+- union usbg_f_uvc_config_attr_val val)
++ const union usbg_f_uvc_config_attr_val *val)
+ {
+ char ipath[USBG_MAX_PATH_LENGTH];
+ int nmb;
+@@ -314,7 +314,7 @@ int usbg_f_uvc_set_config_attr_val(usbg_f_uvc *uvcf, enum usbg_f_uvc_config_attr
+ return USBG_ERROR_PATH_TOO_LONG;
+
+ return uvc_config_attr[iattr].set(ipath, "",
+- uvc_config_attr[iattr].name, &val);
++ uvc_config_attr[iattr].name, val);
+ }
+
+ int usbg_f_uvc_get_config_attrs(usbg_f_uvc *uvcf, struct usbg_f_uvc_config_attrs *iattrs)
+@@ -341,8 +341,8 @@ int usbg_f_uvc_set_config_attrs(usbg_f_uvc *uvcf, const struct usbg_f_uvc_config
+
+ for (i = USBG_F_UVC_FRAME_ATTR_MIN; i < USBG_F_UVC_FRAME_ATTR_MAX; ++i) {
+ ret = usbg_f_uvc_set_config_attr_val(uvcf, i,
+- *(union usbg_f_uvc_config_attr_val *)
+- ((char *)iattrs
++ (const union usbg_f_uvc_config_attr_val *)
++ ((const char *)iattrs
+ + uvc_config_attr[i].offset));
+ if (ret)
+ break;
+@@ -774,7 +774,7 @@ static int uvc_import_config(struct usbg_f_uvc *uvcf, config_setting_t *root)
+ if (ret < 0)
+ break;
+
+- ret = usbg_f_uvc_set_config_attr_val(uvcf, i, val);
++ ret = usbg_f_uvc_set_config_attr_val(uvcf, i, &val);
+ if (ret)
+ break;
+ }
+diff --git a/src/usbg_common.c b/src/usbg_common.c
+index 5f7f4e5..7234649 100644
+--- a/src/usbg_common.c
++++ b/src/usbg_common.c
+@@ -337,7 +337,7 @@ int usbg_get_ether_addr(const char *path, const char *name,
+ }
+
+ int usbg_set_ether_addr(const char *path, const char *name,
+- const char *attr, void *val)
++ const char *attr, const void *val)
+ {
+ char str_addr[USBG_MAX_STR_LENGTH];
+
+--
+2.42.0
+
diff --git a/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch b/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch
new file mode 100644
index 0000000000..cc122c844c
--- /dev/null
+++ b/meta-oe/recipes-support/libusbgx/libusbgx/0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch
@@ -0,0 +1,52 @@
+From 4f3f2ad08e6ca132bd1dd388e02b57223bf4219d Mon Sep 17 00:00:00 2001
+From: Ming Liu <liu.ming50@gmail.com>
+Date: Sun, 11 Dec 2022 14:11:49 +0100
+Subject: [PATCH] libusbgx: Add interface name for NCM Feature Descriptors
+
+In commit: abf422bffca4a4767e7e242c44910dbf5ef7094f
+[
+Author: Stefan Agner <stefan.agner@toradex.com>
+Date: Tue Jan 24 14:22:25 2017 -0800
+
+ libusbgx: Add interface name for Feature Descriptors
+
+ This adds interface name required for "Feature Descriptors". If
+ specified, we can assume that a Feature Descriptor with the
+ interface name of the specified string is understood by the
+ kernel (e.g. interface.rndis).
+]
+
+it only added Feature Descriptors for RNDIS, NCM also needs that, or
+else it could not be recognized by Windows systems.
+
+Add Feature Descriptors interface name for NCM.
+
+Upstream-Status: Submitted [https://github.com/linux-usb-gadgets/libusbgx/pull/73]
+
+Signed-off-by: Ming Liu <liu.ming50@gmail.com>
+---
+ src/function/ether.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/function/ether.c b/src/function/ether.c
+index b1fe1d2..a9eaf33 100644
+--- a/src/function/ether.c
++++ b/src/function/ether.c
+@@ -184,8 +184,14 @@ struct usbg_function_type usbg_f_type_subset = {
+ ETHER_FUNCTION_OPTS
+ };
+
++static char *ncm_os_desc_ifnames[] = {
++ "ncm",
++ NULL
++};
++
+ struct usbg_function_type usbg_f_type_ncm = {
+ .name = "ncm",
++ .os_desc_iname = ncm_os_desc_ifnames,
+ ETHER_FUNCTION_OPTS
+ };
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start b/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
index 1a106b7851..e80cb2c340 100644..100755
--- a/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
+++ b/meta-oe/recipes-support/libusbgx/libusbgx/gadget-start
@@ -6,6 +6,15 @@ for i in $IMPORT_SCHEMAS; do
/usr/bin/gadget-import "$i" /etc/usbgx/"$i".schema
done
+for script in $(find -L /etc/usbgx.d -type f -exec test -e {} \; -print 2>/dev/null); do
+ $script
+done
+
for i in $ENABLED_SCHEMAS; do
- ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/"$i"/UDC
+ configured_udc=$(eval 'echo ${UDC_FOR_SCHEMA_'"$i"'}')
+ if [ -n "${configured_udc}" ] && [ -e "/sys/class/udc/${configured_udc}" ]; then
+ echo ${configured_udc} > /sys/kernel/config/usb_gadget/"$i"/UDC
+ else
+ ls /sys/class/udc/ > /sys/kernel/config/usb_gadget/"$i"/UDC
+ fi
done
diff --git a/meta-oe/recipes-support/libusbgx/libusbgx/gadget-stop b/meta-oe/recipes-support/libusbgx/libusbgx/gadget-stop
new file mode 100755
index 0000000000..24b7caed5e
--- /dev/null
+++ b/meta-oe/recipes-support/libusbgx/libusbgx/gadget-stop
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+[ -r /etc/default/usbgx ] && . /etc/default/usbgx
+
+for i in $IMPORT_SCHEMAS; do
+ if [ -e /sys/kernel/config/usb_gadget/"$i"/idVendor ]; then
+ if [ -e /sys/kernel/config/usb_gadget/"$i"/idProduct ]; then
+ idVendor=$(cat /sys/kernel/config/usb_gadget/"$i"/idVendor)
+ idProduct=$(cat /sys/kernel/config/usb_gadget/"$i"/idProduct)
+ /usr/bin/gadget-vid-pid-remove ${idVendor}:${idProduct}
+ fi
+ fi
+done
diff --git a/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service b/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
index 74541d3c2d..7210969d62 100644
--- a/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
+++ b/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
@@ -1,9 +1,13 @@
[Unit]
Description=Load USB gadget schemas
+Requires=sys-kernel-config.mount
+After=sys-kernel-config.mount
[Service]
Type=oneshot
+RemainAfterExit=yes
ExecStart=/usr/bin/gadget-start
+ExecStop=/usr/bin/gadget-stop
[Install]
-WantedBy=multi-user.target
+WantedBy=usb-gadget.target
diff --git a/meta-oe/recipes-support/libusbgx/libusbgx_git.bb b/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
index 48fc911434..a20ff4eeab 100644
--- a/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
+++ b/meta-oe/recipes-support/libusbgx/libusbgx_git.bb
@@ -1,45 +1,61 @@
SUMMARY = "USB Gadget neXt Configfs Library"
-LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "libconfig"
-
inherit autotools pkgconfig systemd update-rc.d update-alternatives
-PV = "0.2.0+git${SRCPV}"
-SRCREV = "45c14ef4d5d7ced0fbf984208de44ced6d5ed898"
+PV = "0.2.0+git"
+SRCREV = "ec0b01c03fdc7893997b7b32ec1c12c6103f62f3"
SRCBRANCH = "master"
SRC_URI = " \
- git://github.com/libusbgx/libusbgx.git;branch=${SRCBRANCH} \
+ git://github.com/libusbgx/libusbgx.git;branch=${SRCBRANCH};protocol=https \
+ file://0001-libusbgx-Add-interface-name-for-NCM-Feature-Descript.patch \
+ file://0001-fix-stack-buffer-overflow-in-usbg_f_foo_attr_val-pro.patch \
file://gadget-start \
+ file://gadget-stop \
file://usbgx.initd \
file://usbgx.service \
"
S = "${WORKDIR}/git"
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "usbgx.service"
+PACKAGECONFIG ??= "examples gadget-schemes libconfig"
+PACKAGECONFIG[libconfig] = "--with-libconfig=yes,--without-libconfig,libconfig"
+PACKAGECONFIG[examples] = "--enable-examples,--disable-examples"
+PACKAGECONFIG[gadget-schemes] = "--enable-gadget-schemes,--disable-gadget-schemes"
+PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,cmocka"
+
+PACKAGE_BEFORE_PN = "${@bb.utils.contains('PACKAGECONFIG', 'examples', '${PN}-examples', '', d)}"
+
+SYSTEMD_PACKAGES = "${PN}-examples"
+SYSTEMD_SERVICE:${PN}-examples = "usbgx.service"
+SYSTEMD_AUTO_ENABLE:${PN}-examples = "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'enable', 'disable', d)}"
+INITSCRIPT_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'examples', '${PN}-examples', '', d)}"
INITSCRIPT_NAME = "usbgx"
INITSCRIPT_PARAMS = "defaults"
+INHIBIT_UPDATERCD_BBCLASS = "${@bb.utils.contains('PACKAGECONFIG', 'examples', '1', '0', d)}"
-EXTRA_OECONF = "--includedir=${includedir}/usbgx"
+do_install:append() {
+ install -Dm 0755 ${WORKDIR}/gadget-start ${D}${bindir}/gadget-start
+ sed -i -e 's,/usr/bin,${bindir},g' -e 's,/etc,${sysconfdir},g' ${D}${bindir}/gadget-start
+ install -m 0755 ${WORKDIR}/gadget-start ${D}${bindir}/gadget-stop
+ sed -i -e 's,/usr/bin,${bindir},g' -e 's,/etc,${sysconfdir},g' ${D}${bindir}/gadget-stop
-do_install_append() {
- install -Dm 0755 ${WORKDIR}/gadget-start ${D}/${bindir}/gadget-start
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
install -Dm 0644 ${WORKDIR}/usbgx.service ${D}${systemd_system_unitdir}/usbgx.service
fi
+
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
- install -Dm 0755 ${WORKDIR}/usbgx.initd ${D}${sysconfdir}/init.d/usbgx
- fi
+ install -Dm 0755 ${WORKDIR}/usbgx.initd ${D}${sysconfdir}/init.d/usbgx
+ fi
}
-RDEPENDS_${PN} += "libusbgx-config"
+FILES:${PN}-examples = "${bindir}/* ${sysconfdir}/*"
+RDEPENDS:${PN}-examples += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'libusbgx-config', '', d)}"
ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN} = "gadget-acm-ecm show-gadgets"
+ALTERNATIVE:${PN}-examples = "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'gadget-acm-ecm show-gadgets', '', d)}"
ALTERNATIVE_LINK_NAME[gadget-acm-ecm] = "${bindir}/gadget-acm-ecm"
ALTERNATIVE_LINK_NAME[show-gadgets] = "${bindir}/show-gadgets"
diff --git a/meta-oe/recipes-support/libutempter/libutempter.bb b/meta-oe/recipes-support/libutempter/libutempter.bb
deleted file mode 100644
index b8a700b7b7..0000000000
--- a/meta-oe/recipes-support/libutempter/libutempter.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "A privileged helper for utmp/wtmp updates"
-DESCRIPTION = "\
-This library provides interface for terminal emulators such as \
-screen and xterm to record user sessions to utmp and wtmp files."
-HOMEPAGE = "ftp://ftp.altlinux.org/pub/people/ldv/utempter"
-SECTION = "System Environment/Libraries"
-LICENSE = "GPLv2 & GPLv2+ & LGPLv2 & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
-
-SRCREV = "3ef74fff310f09e2601e241b9f042cd39d591018"
-PV = "1.1.6-alt2+git${SRCPV}"
-
-SRC_URI = "git://git.altlinux.org/people/ldv/packages/libutempter.git \
- file://0001-Fix-macro-error.patch \
- file://0002-Proper-macro-path-generation.patch \
- file://libutempter-remove-glibc-assumption.patch \
- "
-
-S = "${WORKDIR}/git/${BPN}"
-
-CFLAGS += "-DLIBEXECDIR=${libexecdir}"
-
-do_compile() {
- oe_runmake \
- libdir=${libdir} \
- libexecdir=${libexecdir}
-}
-
-do_install() {
- oe_runmake install \
- DESTDIR=${D} \
- libdir="${libdir}" \
- libexecdir="${libexecdir}" \
- includedir=${includedir} \
- mandir=${mandir}
-
- rm -f ${D}${libdir}/*.a
-}
-
-FILES_${PN} = "${libdir}/*.so.*"
-FILES_${PN} += "${libexecdir}/utempter/utempter"
-FILES_${PN}-dbg += "${libexecdir}/utempter/.debug/utempter"
diff --git a/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch b/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch
index 8140ea3438..00119af11c 100644
--- a/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch
+++ b/meta-oe/recipes-support/libutempter/libutempter/0001-Fix-macro-error.patch
@@ -11,15 +11,13 @@ Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
iface.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
-diff --git a/iface.c b/iface.c
-index 5951d81..27793f0 100644
--- a/iface.c
+++ b/iface.c
@@ -43,7 +43,14 @@
__result; }))
#endif
--#define UTEMPTER_DEFAULT_PATHNAME LIBEXECDIR "/utempter/utempter"
+-#define UTEMPTER_DEFAULT_PATHNAME LIBEXECDIR "/utempter/utempter"
+#ifdef LIBEXECDIR
+# define CAT_PATH(DIR1,DIR2) DIR1##DIR2
+# define RAW_UTEMPTER_PATH CAT_PATH(LIBEXECDIR,/utempter/utempter)
@@ -31,6 +29,3 @@ index 5951d81..27793f0 100644
static const char *utempter_pathname;
static int saved_fd = -1;
---
-1.8.3.1
-
diff --git a/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch b/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch
index 2a866c0796..f43f54eaab 100644
--- a/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch
+++ b/meta-oe/recipes-support/libutempter/libutempter/0002-Proper-macro-path-generation.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Proper macro path generation.
Signed-off-by: iddinev <xidinev@gmail.com>
---
+Upstream-Status: Pending
+
libutempter/iface.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/meta-oe/recipes-support/libutempter/libutempter/libutempter-remove-glibc-assumption.patch b/meta-oe/recipes-support/libutempter/libutempter/libutempter-remove-glibc-assumption.patch
deleted file mode 100644
index 6ed93355bb..0000000000
--- a/meta-oe/recipes-support/libutempter/libutempter/libutempter-remove-glibc-assumption.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-diff -Naur libutempter-1.1.6.orig/utempter.c libutempter-1.1.6/utempter.c
---- libutempter-1.1.6.orig/utempter.c 2010-11-04 13:14:53.000000000 -0400
-+++ libutempter-1.1.6/utempter.c 2014-06-20 16:37:09.762403323 -0400
-@@ -34,13 +34,7 @@
- #include <sys/stat.h>
- #include <utmp.h>
-
--#ifdef __GLIBC__
- # include <pty.h>
--#elif defined(__FreeBSD__)
--# include <libutil.h>
--#else
--# error Unsupported platform
--#endif /* __GLIBC__ || __FreeBSD__ */
-
- #define DEV_PREFIX "/dev/"
- #define DEV_PREFIX_LEN (sizeof(DEV_PREFIX)-1)
-@@ -106,17 +100,12 @@
-
- static int
- write_uwtmp_record(const char *user, const char *term, const char *host,
--#ifdef __GLIBC__
- pid_t pid,
--#endif
- int add)
- {
- struct utmp ut;
- struct timeval tv;
--
--#ifdef __GLIBC__
- size_t offset;
--#endif
-
- memset(&ut, 0, sizeof(ut));
-
-@@ -128,8 +117,6 @@
- if (host)
- strncpy(ut.ut_host, host, sizeof(ut.ut_host));
-
--#ifdef __GLIBC__
--
- offset = (strlen(term) <= sizeof(ut.ut_id)) ? 0 :
- strlen(term) - sizeof(ut.ut_id);
- strncpy(ut.ut_id, term + offset, sizeof(ut.ut_id));
-@@ -156,27 +143,6 @@
-
- (void) updwtmp(_PATH_WTMP, &ut);
-
--#elif defined(__FreeBSD__)
--
-- ut.ut_time = tv.tv_sec;
--
-- if (add)
-- {
-- login(&ut);
-- } else
-- {
-- if (logout(term) != 1)
-- {
--#ifdef UTEMPTER_DEBUG
-- fprintf(stderr, "utempter: logout: %s\n",
-- strerror(errno));
--#endif
-- exit(EXIT_FAILURE);
-- }
-- }
--
--#endif /* __GLIBC__ || __FreeBSD__ */
--
- #ifdef UTEMPTER_DEBUG
- fprintf(stderr,
- "utempter: DEBUG: utmp/wtmp record %s for terminal '%s'\n",
-@@ -255,8 +221,6 @@
- validate_device(device);
-
- return write_uwtmp_record(pw->pw_name, device + DEV_PREFIX_LEN, host,
--#ifdef __GLIBC__
- pid,
--#endif
- add);
- }
diff --git a/meta-oe/recipes-support/libutempter/libutempter_1.2.2-alt1.bb b/meta-oe/recipes-support/libutempter/libutempter_1.2.2-alt1.bb
new file mode 100644
index 0000000000..0d2cd135c6
--- /dev/null
+++ b/meta-oe/recipes-support/libutempter/libutempter_1.2.2-alt1.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A privileged helper for utmp/wtmp updates"
+DESCRIPTION = "\
+This library provides interface for terminal emulators such as \
+screen and xterm to record user sessions to utmp and wtmp files."
+HOMEPAGE = "ftp://ftp.altlinux.org/pub/people/ldv/utempter"
+SECTION = "System Environment/Libraries"
+LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-only & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2caced0b25dfefd4c601d92bd15116de"
+
+SRCREV = "63825e2244629d44dae21132b1065d7ecc0491c0"
+
+SRC_URI = "git://git.altlinux.org/people/ldv/packages/libutempter.git;branch=master \
+ file://0001-Fix-macro-error.patch \
+ file://0002-Proper-macro-path-generation.patch \
+ "
+
+S = "${WORKDIR}/git/${BPN}"
+
+CFLAGS += "-DLIBEXECDIR=${libexecdir}"
+
+do_compile() {
+ oe_runmake \
+ libdir=${libdir} \
+ libexecdir=${libexecdir}
+}
+
+do_install() {
+ oe_runmake install \
+ DESTDIR=${D} \
+ libdir="${libdir}" \
+ libexecdir="${libexecdir}" \
+ includedir=${includedir} \
+ mandir=${mandir}
+
+ rm -f ${D}${libdir}/*.a
+}
+
+FILES:${PN} = "${libdir}/*.so.*"
+FILES:${PN} += "${libexecdir}/utempter/utempter"
+FILES:${PN}-dbg += "${libexecdir}/utempter/.debug/utempter"
diff --git a/meta-oe/recipes-support/links/files/ac-prog-cxx.patch b/meta-oe/recipes-support/links/files/ac-prog-cxx.patch
index 2dc57a5c83..0406b700d7 100644
--- a/meta-oe/recipes-support/links/files/ac-prog-cxx.patch
+++ b/meta-oe/recipes-support/links/files/ac-prog-cxx.patch
@@ -3,6 +3,8 @@ From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Mon, 30 Jul 2012 23:52:49 +0200
---
+Upstream-Status: Pending
+
configure.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/links/links-x11_2.20.2.bb b/meta-oe/recipes-support/links/links-x11_2.20.2.bb
deleted file mode 100644
index 645fe3b264..0000000000
--- a/meta-oe/recipes-support/links/links-x11_2.20.2.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-# FIXME: the LIC_FILES_CHKSUM values have been updated by 'devtool upgrade'.
-# The following is the difference between the old and the new license text.
-# Please update the LICENSE value if needed, and summarize the changes in
-# the commit message via 'License-Update:' tag.
-# (example: 'License-Update: copyright years updated.')
-#
-# The changes:
-#
-# --- COPYING
-# +++ COPYING
-# @@ -293,7 +293,7 @@
-# <one line to give the program's name and a brief idea of what it does.>
-# Copyright (C) <year> <name of author>
-#
-# - on, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAThis program is free software; you can redistribute it and/or modify
-# + This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-#
-
-require links.inc
-
-DEPENDS += "virtual/libx11"
-RCONFLICTS_${PN} = "links"
-
-inherit features_check
-# depends on virtual/libx11
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI += " file://links2.desktop \
- http://www.xora.org.uk/oe/links2.png;name=icon"
-
-S = "${WORKDIR}/links-${PV}"
-
-EXTRA_OECONF = "--enable-graphics \
- --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
- --without-libtiff --without-svgalib --without-fb \
- --without-directfb --without-pmshell --without-atheos \
- --with-x --without-gpm"
-
-do_install_append() {
- install -d ${D}/${datadir}/applications
- install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications
- install -d ${D}/${datadir}/pixmaps
- install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps
-}
-
-SRC_URI[md5sum] = "ee39e612249440d0497535d0dafc3c0e"
-SRC_URI[sha256sum] = "4b4f07d0e6261118d1365a5a5bfa31e1eafdbd280cfae6f0e9eedfea51a2f424"
-SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
-SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
diff --git a/meta-oe/recipes-support/links/links-x11_2.26.bb b/meta-oe/recipes-support/links/links-x11_2.26.bb
new file mode 100644
index 0000000000..4c8d935ccf
--- /dev/null
+++ b/meta-oe/recipes-support/links/links-x11_2.26.bb
@@ -0,0 +1,29 @@
+require links.inc
+
+DEPENDS += "virtual/libx11"
+RCONFLICTS:${PN} = "links"
+
+inherit features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI += " file://links2.desktop \
+ http://www.xora.org.uk/oe/links2.png;name=icon"
+
+SRC_URI[sha256sum] = "f05b3577f25dbe63e491c424f0ecb31f7bfadce9b2bc2f111dfed049c004c9cb"
+SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
+
+S = "${WORKDIR}/links-${PV}"
+
+EXTRA_OECONF = "--enable-graphics \
+ --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
+ --without-libtiff --without-svgalib --without-fb \
+ --without-directfb --without-pmshell --without-atheos \
+ --with-x --without-gpm"
+
+do_install:append() {
+ install -d ${D}/${datadir}/applications
+ install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications
+ install -d ${D}/${datadir}/pixmaps
+ install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps
+}
diff --git a/meta-oe/recipes-support/links/links.inc b/meta-oe/recipes-support/links/links.inc
index d6aa2d2d4e..d772d54aff 100644
--- a/meta-oe/recipes-support/links/links.inc
+++ b/meta-oe/recipes-support/links/links.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "Links is graphics and text mode WWW \
browser, similar to Lynx."
HOMEPAGE = "http://links.twibright.com/"
SECTION = "console/network"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b0c80473f97008e42e29a9f80fcc55ff"
DEPENDS = "jpeg libpng flex openssl zlib"
diff --git a/meta-oe/recipes-support/links/links_2.21.bb b/meta-oe/recipes-support/links/links_2.21.bb
deleted file mode 100644
index b6048c1d38..0000000000
--- a/meta-oe/recipes-support/links/links_2.21.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require links.inc
-
-DEPENDS += "gpm"
-RCONFLICTS_${PN} = "links-x11"
-
-EXTRA_OECONF = "--enable-graphics \
- --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
- --without-libtiff --without-svgalib --with-fb \
- --without-directfb --without-pmshell --without-atheos \
- --without-x"
-
-SRC_URI[md5sum] = "b88a46733d6932442ed8a6b751aac6b4"
-SRC_URI[sha256sum] = "285eed8591c7781ec26213df82786665aaa1b9286782e8a7a1a7e2a6e1630d63"
-SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
-SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47"
diff --git a/meta-oe/recipes-support/links/links_2.29.bb b/meta-oe/recipes-support/links/links_2.29.bb
new file mode 100644
index 0000000000..e3a15d1819
--- /dev/null
+++ b/meta-oe/recipes-support/links/links_2.29.bb
@@ -0,0 +1,11 @@
+require links.inc
+
+DEPENDS += "gpm"
+RCONFLICTS:${PN} = "links-x11"
+
+EXTRA_OECONF = "--enable-graphics \
+ --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \
+ --without-libtiff --without-svgalib --with-fb \
+ --without-directfb --without-pmshell --without-atheos \
+ --without-x"
+SRC_URI[sha256sum] = "22aa96c0b38e1a6f8f7ed9d7a4167a47fc37246097759ef6059ecf8f9ead7998"
diff --git a/meta-oe/recipes-support/lio-utils/lio-utils/0001-Makefiles-Respect-environment-variables-and-add-LDFL.patch b/meta-oe/recipes-support/lio-utils/lio-utils/0001-Makefiles-Respect-environment-variables-and-add-LDFL.patch
index 9608b7e753..86edcc2e42 100644
--- a/meta-oe/recipes-support/lio-utils/lio-utils/0001-Makefiles-Respect-environment-variables-and-add-LDFL.patch
+++ b/meta-oe/recipes-support/lio-utils/lio-utils/0001-Makefiles-Respect-environment-variables-and-add-LDFL.patch
@@ -8,6 +8,8 @@ Fixes QA errors about GNU_HASH
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
mib-modules/Makefile | 10 +++++-----
tools/Makefile | 2 +-
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb b/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
index 0fb4a6e516..844e5acf90 100644
--- a/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
+++ b/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb
@@ -1,12 +1,12 @@
SUMMARY = "lio-utils"
DESCRIPTION = "a simple low-level configuration tool set for the Target+iSCSI (LIO)"
HOMEPAGE = "http://linux-iscsi.org/index.php/Lio-utils"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=c3ea231a32635cbb5debedf3e88aa3df"
-PV = "4.1+git${SRCPV}"
+PV = "4.1+git"
-SRC_URI = "git://github.com/Datera/lio-utils.git \
+SRC_URI = "git://github.com/Datera/lio-utils.git;branch=master;protocol=https \
file://0001-Makefiles-Respect-environment-variables-and-add-LDFL.patch \
"
SRCREV = "0ac9091c1ff7a52d5435a4f4449e82637142e06e"
@@ -55,11 +55,13 @@ do_install() {
install -m 755 ${S}/conf/lio_start.default ${D}/etc/target/lio_start.sh
}
-RDEPENDS_${PN} += "python-stringold python-subprocess python-shell \
+SKIP_RECIPE[lio-utils] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"
+
+RDEPENDS:${PN} += "python-stringold python-subprocess python-shell \
python-datetime python-textutils python-crypt python-netclient python-email \
bash"
-FILES_${PN} += "${sbindir}/* /etc/init.d/* /etc/target/*"
+FILES:${PN} += "${sbindir}/* /etc/init.d/* /etc/target/*"
# http://errors.yoctoproject.org/Errors/Details/184712/
# python-native/python: can't open file 'setup.py': [Errno 2] No such file or directory
diff --git a/meta-oe/recipes-support/lockdev/lockdev/0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch b/meta-oe/recipes-support/lockdev/lockdev/0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch
new file mode 100644
index 0000000000..abcf1bc20f
--- /dev/null
+++ b/meta-oe/recipes-support/lockdev/lockdev/0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch
@@ -0,0 +1,28 @@
+From 11c78232aa589d5ed43eea3683e6e3de0362ffdc Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 26 Apr 2022 10:00:32 -0700
+Subject: [PATCH] lockdev: Define MAJOR/MINOR for non-glibc case
+
+gnu_dev_major and gnu_dev_minor are glibc extensions but we do have
+major/minor macros on musl too, so use them to define MINOR/MAJOR here
+
+Upstream-Status: Inappropriate [No active upstream]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lockdev.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/src/lockdev.c
++++ b/src/lockdev.c
+@@ -125,8 +125,8 @@
+ #include <sys/file.h>
+ #if defined (__GNU_LIBRARY__)
+ # include <sys/sysmacros.h>
+-# define MAJOR(dev) gnu_dev_major (dev)
+-# define MINOR(dev) gnu_dev_minor (dev)
++# define MAJOR(dev) major (dev)
++# define MINOR(dev) minor (dev)
+ #else
+ # error "put here a define for MAJOR and MINOR"
+ #endif
diff --git a/meta-oe/recipes-support/lockdev/lockdev/build.patch b/meta-oe/recipes-support/lockdev/lockdev/build.patch
index f9fe48b2a6..36daea79af 100644
--- a/meta-oe/recipes-support/lockdev/lockdev/build.patch
+++ b/meta-oe/recipes-support/lockdev/lockdev/build.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
commit 0dd47123655c52d68185f06b9da8fb0e1b925400
Author: Ludwig Nussel <ludwig.nussel@suse.de>
Date: Tue Feb 9 14:56:23 2010 +0100
diff --git a/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch b/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch
index aa8b0f6923..886af121b3 100644
--- a/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch
+++ b/meta-oe/recipes-support/lockdev/lockdev/cross_compile.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
--- a/Makefile
+++ b/Makefile
@@ -15,17 +15,18 @@ shared = ${libname}.${VER}.so
diff --git a/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb b/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
index 9d8800ebde..a52ca25da4 100644
--- a/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
+++ b/meta-oe/recipes-support/lockdev/lockdev_1.0.3.bb
@@ -1,26 +1,24 @@
SUMMARY = "Locking devices library"
SECTION = "libs"
-LICENSE = "LGPLv2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM="file://LICENSE;md5=d8045f3b8f929c1cb29a1e3fd737b499"
PE = "1"
SRC_URI = "http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/l/lockdev/lockdev_${PV}.orig.tar.gz \
- http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/l/lockdev/lockdev_${PV}-1.6.diff.gz;name=debianpatch \
file://cross_compile.patch \
file://build.patch \
+ file://0001-lockdev-Define-MAJOR-MINOR-for-non-glibc-case.patch \
"
-SRC_URI[md5sum] = "64b9c1b87b125fc348e892e24625524a"
SRC_URI[sha256sum] = "ccae635d7ac3fdd50897eceb250872b3d9a191d298f213e7f0c836910d869f82"
-SRC_URI[debianpatch.md5sum] = "5ef6267c42fca9145e0af006ccb6aff7"
-SRC_URI[debianpatch.sha256sum] = "a5405c6ee5e97e45eeb1c81330a7e9f444a58bda5e6771fa30007516c115007e"
inherit lib_package perlnative
-CFLAGS += " -D__GNU_LIBRARY__"
-
TARGET_CC_ARCH += "${LDFLAGS}"
-EXTRA_OEMAKE = "basedir=${D}${prefix} baselib=${baselib} LD='${CC}' LD='${CC}'"
+CFLAGS:append:libc-musl = " -D__GNU_LIBRARY__"
+
+EXTRA_OEMAKE = "basedir=${D}${prefix} baselib=${baselib} LD='${CC}'"
+
do_compile() {
oe_runmake shared static
}
diff --git a/meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch b/meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch
index 9ff9d70025..405104a0fc 100644
--- a/meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch
+++ b/meta-oe/recipes-support/log4c/log4c/0001-Use-the-API-properly-in-the-example-format-security-.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Use the API properly in the example (format security error
fixed).
---
+Upstream-Status: Pending
+
examples/helloworld1/mylog.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch b/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch
index 4872eb4f5e..dadefec33a 100644
--- a/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch
+++ b/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch
@@ -1,7 +1,7 @@
The original use of AC_ARG_WITH is buggy and causes expat support
to be *disabled* if "--with-expat" is passed to configure.
-Upstream status: pending
+Upstream-Status: Pending
Index: log4c-1.2.4/configure.in
===================================================================
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 ef7ad847a6..7d9b9d50f8 100644
--- a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb
+++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb
@@ -1,6 +1,6 @@
SUMMARY = "Log4c is a C library for flexible logging to files, syslog and other destinations"
HOMEPAGE = "http://log4c.sourceforge.net"
-LICENSE = "LGPLv2"
+LICENSE = "LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
diff --git a/meta-oe/recipes-support/log4cpp/files/fix-pc.patch b/meta-oe/recipes-support/log4cpp/files/fix-pc.patch
index b8fb42e5fd..b57b5a263c 100644
--- a/meta-oe/recipes-support/log4cpp/files/fix-pc.patch
+++ b/meta-oe/recipes-support/log4cpp/files/fix-pc.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
diff -Nurd ./log4cpp.orig/configure.in ./log4cpp/configure.in
--- ./log4cpp.orig/configure.in 2009-09-07 16:57:46.000000000 -0400
+++ ./log4cpp/configure.in 2016-02-23 12:57:11.567240018 -0500
diff --git a/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb
deleted file mode 100644
index c6f9404d6e..0000000000
--- a/meta-oe/recipes-support/log4cpp/log4cpp_1.1.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations."
-HOMEPAGE = "http://sourceforge.net/projects/log4cpp/"
-LICENSE = "LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
-
-SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz \
- file://fix-pc.patch;striplevel=2 \
- "
-SRC_URI[md5sum] = "b9e2cee932da987212f2c74b767b4d8b"
-SRC_URI[sha256sum] = "2cbbea55a5d6895c9f0116a9a9ce3afb86df383cd05c9d6c1a4238e5e5c8f51d"
-
-S = "${WORKDIR}/${BPN}"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "\
- --enable-doxygen=no \
- --enable-dot=no \
- --enable-html-docs=no \
- --enable-latex-docs=no \
-"
diff --git a/meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb
new file mode 100644
index 0000000000..729857eb62
--- /dev/null
+++ b/meta-oe/recipes-support/log4cpp/log4cpp_1.1.4.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "A library of C++ classes for flexible logging to files, syslog, IDSA and other destinations."
+HOMEPAGE = "http://sourceforge.net/projects/log4cpp/"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
+
+SRC_URI = "http://downloads.sourceforge.net/${BPN}/${BP}.tar.gz \
+ file://fix-pc.patch;striplevel=2 \
+ "
+SRC_URI[sha256sum] = "696113659e426540625274a8b251052cc04306d8ee5c42a0c7639f39ca90c9d6"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "\
+ --enable-doxygen=no \
+ --enable-dot=no \
+ --enable-html-docs=no \
+ --enable-latex-docs=no \
+"
+
+CXXFLAGS += "-std=c++14"
diff --git a/meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb b/meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb
index 5ae36bb67c..3549cb2153 100644
--- a/meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb
+++ b/meta-oe/recipes-support/logwarn/logwarn_1.0.14.bb
@@ -31,7 +31,7 @@ CACHED_CONFIGUREVARS += " \
# Make sure some files exist for autoreconf.
#
-do_configure_prepend () {
+do_configure:prepend () {
touch ${S}/NEWS
touch ${S}/ChangeLog
touch ${S}/README
@@ -39,7 +39,7 @@ do_configure_prepend () {
# Create a directory for logfile state info, usually under /var/lib.
#
-do_install_append () {
+do_install:append () {
install -d ${D}${lcl_default_state_dir}
}
@@ -47,6 +47,6 @@ do_install_append () {
#
PACKAGES += "${PN}-nagios"
-FILES_${PN}-nagios = "${nonarch_libdir}/nagios"
+FILES:${PN}-nagios = "${nonarch_libdir}/nagios"
-RDEPENDS_${PN}-nagios += "bash coreutils sed"
+RDEPENDS:${PN}-nagios += "bash coreutils sed"
diff --git a/meta-oe/recipes-support/lvm2/files/0001-configure.ac-check-egrep.patch b/meta-oe/recipes-support/lvm2/files/0001-configure.ac-check-egrep.patch
new file mode 100644
index 0000000000..474c2f8ac7
--- /dev/null
+++ b/meta-oe/recipes-support/lvm2/files/0001-configure.ac-check-egrep.patch
@@ -0,0 +1,33 @@
+configure.ac: check egrep
+
+The macro AC_HEADER_STDC which requires AC_PROG_EGREP has been removed
+from configure.ac, then it fails to substitute '@EGREP@':
+
+| [GEN] command-lines-input.h
+| /bin/bash: line 2: @EGREP@: command not found
+| [GEN] command-count.h
+
+Call AC_PROG_EGREP to fix the error.
+
+Upstream-Status: Submitted [https://gitlab.com/lvmteam/lvm2/-/merge_requests/4]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 2e52498f9..d9462e22c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,7 @@ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+ AC_PROG_MKDIR_P
+ AC_PROG_RANLIB
++AC_PROG_EGREP
+ AC_CHECK_TOOL([READELF], [readelf])
+ AC_CHECK_TOOL(AR, ar)
+ AC_PATH_TOOL(CFLOW_CMD, cflow)
+--
+2.34.1
+
diff --git a/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch b/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch
index bb582ed1ff..f46d7f7014 100644
--- a/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch
+++ b/meta-oe/recipes-support/lvm2/files/0001-implement-libc-specific-reopen_stream.patch
@@ -15,6 +15,8 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Dengke Du <dengke.du@windriver.com>
---
+Upstream-Status: Pending
+
lib/log/log.c | 6 ++++++
tools/lvmcmdline.c | 6 +++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-support/lvm2/files/0001-include-libgen.h-for-basename.patch b/meta-oe/recipes-support/lvm2/files/0001-include-libgen.h-for-basename.patch
new file mode 100644
index 0000000000..7add3a7bb1
--- /dev/null
+++ b/meta-oe/recipes-support/lvm2/files/0001-include-libgen.h-for-basename.patch
@@ -0,0 +1,32 @@
+From 1b9677f40ac547ba19d1cdbfd700901eab0a0d0b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 25 Mar 2024 13:07:28 -0700
+Subject: [PATCH] include libgen.h for basename
+
+basename prototype has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [ Sent to maintainer and lvm-devel@redhat.com ]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lib/device/device_id.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/device/device_id.c b/lib/device/device_id.c
+index 1422f5d05..8215811bd 100644
+--- a/lib/device/device_id.c
++++ b/lib/device/device_id.c
+@@ -25,6 +25,7 @@
+ #include "lib/datastruct/str_list.h"
+ #include "lib/metadata/metadata-exported.h"
+
++#include <libgen.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <unistd.h>
+--
+2.44.0
+
diff --git a/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch b/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
deleted file mode 100644
index ce8a97ab6f..0000000000
--- a/meta-oe/recipes-support/lvm2/files/0002-Guard-use-of-mallinfo-with-__GLIBC__.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3ae9c0b607ec33fb07f32a41e9d28cc9068dd39a Mon Sep 17 00:00:00 2001
-From: Dengke Du <dengke.du@windriver.com>
-Date: Tue, 25 Oct 2016 11:52:44 +0000
-Subject: [PATCH] Guard use of mallinfo() with __GLIBC__
-
-This API is glibc-only
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Signed-off-by: Dengke Du <dengke.du@windriver.com>
-
----
- lib/mm/memlock.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: LVM2.2.02.177/lib/mm/memlock.c
-===================================================================
---- LVM2.2.02.177.orig/lib/mm/memlock.c
-+++ LVM2.2.02.177/lib/mm/memlock.c
-@@ -151,7 +151,7 @@ static void _touch_memory(void *mem, siz
-
- static void _allocate_memory(void)
- {
--#ifndef VALGRIND_POOL
-+#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
- void *stack_mem;
- struct rlimit limit;
- int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;
diff --git a/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch b/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
index 517b9a5f28..ed9972a5f9 100644
--- a/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
+++ b/meta-oe/recipes-support/lvm2/files/0004-tweak-MODPROBE_CMD-for-cross-compile.patch
@@ -21,18 +21,18 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 2 deletions(-)
diff --git a/configure.ac b/configure.ac
-index e427708..aa374ea 100644
+index b43d8b9be..efe3062c1 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1791,8 +1791,6 @@ if test "$BUILD_DMFILEMAPD" = yes; then
- fi
+@@ -1646,8 +1646,6 @@ AS_IF([test "$BUILD_DMFILEMAPD" = "yes"], [
+ ])
################################################################################
-AC_PATH_TOOL(MODPROBE_CMD, modprobe, [], [$PATH_SBIN])
-
- if test -n "$MODPROBE_CMD"; then
+ AS_IF([test -n "$MODPROBE_CMD"], [
AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.])
- fi
+ ])
--
2.7.4
diff --git a/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch b/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
index 7117d99a39..7979efbefb 100644
--- a/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
+++ b/meta-oe/recipes-support/lvm2/files/0005-do-not-build-manual.patch
@@ -15,25 +15,26 @@ Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
Update context for lvm2 2.03.02.
-
Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+Update context for lvm2 2.03.16.
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
Makefile.in | 6 +++---
configure.ac | 1 -
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/Makefile.in b/Makefile.in
-index 6a1a990..80cba91 100644
+index 3b7e0ec..37f14eb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -18,7 +18,7 @@ top_builddir = @top_builddir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
--SUBDIRS = conf daemons include lib libdaemon libdm man scripts tools
-+SUBDIRS = conf daemons include lib libdaemon libdm scripts tools
+-SUBDIRS = libdm conf daemons include lib libdaemon man scripts tools
++SUBDIRS = libdm conf daemons include lib libdaemon scripts tools
ifeq ("@UDEV_RULES@", "yes")
SUBDIRS += udev
@@ -46,20 +47,20 @@ index 6a1a990..80cba91 100644
libdaemon lib tools daemons libdm \
udev po
tools.distclean: test.distclean
-@@ -65,7 +65,7 @@ libdm.device-mapper: include.device-mapper
+@@ -59,7 +59,7 @@ unit-test run-unit-test: test
+
daemons.device-mapper: libdm.device-mapper
tools.device-mapper: libdm.device-mapper
- scripts.device-mapper: include.device-mapper
-device-mapper: tools.device-mapper daemons.device-mapper man.device-mapper
+device-mapper: tools.device-mapper daemons.device-mapper
+ device_mapper: device-mapper
ifeq ("@INTL@", "yes")
- lib.pofile: include.pofile
diff --git a/configure.ac b/configure.ac
-index 7fd0561..4154dc0 100644
+index 6def519..18a5c97 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1812,7 +1812,6 @@ libdaemon/server/Makefile
+@@ -2018,7 +2018,6 @@ libdaemon/server/Makefile
libdm/Makefile
libdm/dm-tools/Makefile
libdm/libdevmapper.pc
@@ -68,5 +69,5 @@ index 7fd0561..4154dc0 100644
scripts/lvm2-pvscan.service
scripts/blkdeactivate.sh
--
-2.7.4
+2.25.1
diff --git a/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch b/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
index 9f9383ef48..5b9b2d5748 100644
--- a/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
+++ b/meta-oe/recipes-support/lvm2/files/0006-start-lvm2-monitor.service-after-tmp.mount.patch
@@ -11,23 +11,26 @@ Upstream-Status: Inappropriate [oe specific]
Rebase to v2_03_05
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+Rebase to v2_03_16
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
scripts/lvm2_monitoring_systemd_red_hat.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/lvm2_monitoring_systemd_red_hat.service.in b/scripts/lvm2_monitoring_systemd_red_hat.service.in
-index 4bf744a..46766cb 100644
+index c0c96e3..2a99a37 100644
--- a/scripts/lvm2_monitoring_systemd_red_hat.service.in
+++ b/scripts/lvm2_monitoring_systemd_red_hat.service.in
@@ -2,7 +2,7 @@
Description=Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
Documentation=man:dmeventd(8) man:lvcreate(8) man:lvchange(8) man:vgchange(8)
Requires=dm-event.socket
--After=dm-event.socket dm-event.service lvm2-activation.service
-+After=dm-event.socket dm-event.service lvm2-activation.service tmp.mount
+-After=dm-event.socket dm-event.service
++After=dm-event.socket dm-event.service tmp.mount
Before=local-fs-pre.target shutdown.target
DefaultDependencies=no
Conflicts=shutdown.target
--
-2.7.4
+2.25.1
diff --git a/meta-oe/recipes-support/lvm2/libdevmapper_2.03.11.bb b/meta-oe/recipes-support/lvm2/libdevmapper_2.03.22.bb
index be558ce1d2..be558ce1d2 100644
--- a/meta-oe/recipes-support/lvm2/libdevmapper_2.03.11.bb
+++ b/meta-oe/recipes-support/lvm2/libdevmapper_2.03.22.bb
diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc
index 6618e21f3b..d95366f97e 100644
--- a/meta-oe/recipes-support/lvm2/lvm2.inc
+++ b/meta-oe/recipes-support/lvm2/lvm2.inc
@@ -1,7 +1,7 @@
HOMEPAGE = "https://www.sourceware.org/lvm2/"
SECTION = "utils"
DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux."
-LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=12713b4d9386533feeb07d6e4831765a \
file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
@@ -10,23 +10,25 @@ DEPENDS += "libaio"
SRC_URI = "git://sourceware.org/git/lvm2.git;branch=main \
file://lvm.conf \
file://0001-implement-libc-specific-reopen_stream.patch \
- file://0002-Guard-use-of-mallinfo-with-__GLIBC__.patch \
file://0004-tweak-MODPROBE_CMD-for-cross-compile.patch \
file://0001-Avoid-bashisms-in-init-scripts.patch \
file://0005-do-not-build-manual.patch \
file://0006-start-lvm2-monitor.service-after-tmp.mount.patch \
file://reproducible-build.patch \
+ file://0001-configure.ac-check-egrep.patch \
+ file://0001-include-libgen.h-for-basename.patch \
"
-SRCREV = "3e8bd8d1bd70691f09a170785836aeb4f83154e6"
+SRCREV = "016e469caf856f1eb8dde39df0d1aa2e74225aed"
S = "${WORKDIR}/git"
-inherit autotools-brokensep pkgconfig systemd license
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\_\d+)+)"
+
+inherit autotools-brokensep pkgconfig systemd
LVM2_PACKAGECONFIG = "dmeventd"
-LVM2_PACKAGECONFIG_append_class-target = " \
+LVM2_PACKAGECONFIG:append:class-target = " \
${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
- ${@incompatible_license_contains('GPLv3', '', 'thin-provisioning-tools', d)} \
"
# odirect is always enabled because there currently is a bug in
@@ -39,6 +41,7 @@ PACKAGECONFIG[dmeventd] = "--enable-dmeventd,--disable-dmeventd"
PACKAGECONFIG[odirect] = "--enable-o_direct,--disable-o_direct"
PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
+# NOTE: Add thin-provisioning-tools only if your distro policy allows GPL-3.0 license
PACKAGECONFIG[thin-provisioning-tools] = "--with-thin=internal,--with-thin=none,,thin-provisioning-tools"
# Unset user/group to unbreak install.
@@ -56,3 +59,6 @@ EXTRA_OECONF = "--with-user= \
--with-thin-restore=${sbindir}/thin_restore \
"
+# gold doesn't like multiple dm_bitset_parse_list definitions in libdm/.exported_symbols.DM_1_02_138 and libdm/.exported_symbols.DM_1_02_129
+# after it was uncommented in the later in 2.03.12 with https://github.com/lvmteam/lvm2/commit/60eb608d66c2056a78e81f27db3da14139d9faab
+LDFLAGS:append = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', " -fuse-ld=bfd", '', d)}"
diff --git a/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch b/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
index 34e0620a1c..c0cf836ce8 100644
--- a/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
+++ b/meta-oe/recipes-support/lvm2/lvm2/0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch
@@ -15,10 +15,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 4811d4a3d..137b31a82 100644
+index 991a0cf85..e59c82472 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -1611,6 +1611,8 @@ fi
+@@ -1660,6 +1660,8 @@ AS_IF([test -n "$MODPROBE_CMD"], [
SYSCONFDIR="$(eval echo $(eval echo $sysconfdir))"
@@ -27,10 +27,10 @@ index 4811d4a3d..137b31a82 100644
SBINDIR="$(eval echo $(eval echo $sbindir))"
LVM_PATH="$SBINDIR/lvm"
AC_DEFINE_UNQUOTED(LVM_PATH, ["$LVM_PATH"], [Path to lvm binary.])
-@@ -1829,6 +1831,7 @@ AC_SUBST(SACKPT_CFLAGS)
- AC_SUBST(SACKPT_LIBS)
- AC_SUBST(SALCK_CFLAGS)
- AC_SUBST(SALCK_LIBS)
+@@ -1886,6 +1888,7 @@ AC_SUBST(PYTHON2DIR)
+ AC_SUBST(PYTHON3)
+ AC_SUBST(PYTHON3DIR)
+ AC_SUBST(RT_LIBS)
+AC_SUBST(BINDIR)
AC_SUBST(SBINDIR)
AC_SUBST(SELINUX_LIBS)
diff --git a/meta-oe/recipes-support/lvm2/lvm2/0001-lvmdbusd-create-dirs-for-lock-file.patch b/meta-oe/recipes-support/lvm2/lvm2/0001-lvmdbusd-create-dirs-for-lock-file.patch
new file mode 100644
index 0000000000..f6b293553d
--- /dev/null
+++ b/meta-oe/recipes-support/lvm2/lvm2/0001-lvmdbusd-create-dirs-for-lock-file.patch
@@ -0,0 +1,29 @@
+lvmdbusd: create dirs for lock file
+
+Create leading dirs for lvmdbusd lock file, otherwise it fails to start:
+
+| systemd[1]: Starting LVM2 D-Bus service...
+| lvmdbusd[1602]: [1602]: Error during creation of lock file(/var/lock/lvm/lvmdbusd): errno(2), exiting!
+
+Upstream-Status: Submitted [https://gitlab.com/lvmteam/lvm2/-/merge_requests/7]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ daemons/lvmdbusd/utils.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/daemons/lvmdbusd/utils.py b/daemons/lvmdbusd/utils.py
+index d479175f6..830648659 100644
+--- a/daemons/lvmdbusd/utils.py
++++ b/daemons/lvmdbusd/utils.py
+@@ -778,6 +778,7 @@ class LockFile(object):
+
+ def __enter__(self):
+ try:
++ os.makedirs(os.path.dirname(self.lock_file))
+ self.fd = os.open(self.lock_file, os.O_CREAT | os.O_RDWR, stat.S_IRUSR | stat.S_IWUSR)
+
+ # Get and set the close on exec and lock the file
+--
+2.34.1
+
diff --git a/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch b/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch
new file mode 100644
index 0000000000..3b85a17b61
--- /dev/null
+++ b/meta-oe/recipes-support/lvm2/lvm2/tweak-for-lvmdbusd.patch
@@ -0,0 +1,55 @@
+Not check python modules pyudev and dbus during configure that they are runtime
+dependencies. Deal with them in the package config setting in the recipe.
+
+Remove $(DESTDIR) from install destination that it is not suitable for oe. And
+no generate python cache files too.
+
+Upstream-Status: Pending [oe specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ configure.ac | 4 ++--
+ daemons/lvmdbusd/Makefile.in | 6 ++----
+ 2 files changed, 4 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ee088b3f5..b94ef4e56 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1262,8 +1262,8 @@ AS_IF([test "$BUILD_LVMDBUSD" = "yes"], [
+ AS_IF([test "$PYTHON3_BINDINGS" = "yes"], [PYTHON_BINDINGS="yes"])
+
+ # To get this macro, install autoconf-archive package then run autoreconf
+- AX_PYTHON_MODULE([pyudev], [Required], python3)
+- AX_PYTHON_MODULE([dbus], [Required], python3)
++ # AX_PYTHON_MODULE([pyudev], [Required], python3)
++ # AX_PYTHON_MODULE([dbus], [Required], python3)
+ ])
+
+ ################################################################################
+diff --git a/daemons/lvmdbusd/Makefile.in b/daemons/lvmdbusd/Makefile.in
+index 9c2629279..a79daabf7 100644
+--- a/daemons/lvmdbusd/Makefile.in
++++ b/daemons/lvmdbusd/Makefile.in
+@@ -16,7 +16,7 @@ top_srcdir = @top_srcdir@
+ top_builddir = @top_builddir@
+
+ lvmdbuspydir = $(python3dir)/lvmdbusd
+-lvmdbusdir = $(DESTDIR)$(lvmdbuspydir)
++lvmdbusdir = $(lvmdbuspydir)
+
+ LVMDBUS_SRCDIR_FILES = \
+ automatedproperties.py \
+@@ -55,11 +55,9 @@ install_lvmdbusd: $(LVMDBUSD)
+ @echo " [INSTALL] $<"
+ $(Q) $(INSTALL_DIR) $(sbindir)
+ $(Q) $(INSTALL_SCRIPT) $(LVMDBUSD) $(sbindir)
+- $(Q) $(INSTALL_DIR) $(lvmdbusdir) $(lvmdbusdir)/__pycache__
++ $(Q) $(INSTALL_DIR) $(lvmdbusdir)
+ $(Q) (cd $(srcdir); $(INSTALL_DATA) $(LVMDBUS_SRCDIR_FILES) $(lvmdbusdir))
+ $(Q) $(INSTALL_DATA) $(LVMDBUS_BUILDDIR_FILES) $(lvmdbusdir)
+- $(Q) PYTHON=$(PYTHON3) $(PYCOMPILE) --destdir "$(DESTDIR)" --basedir "$(lvmdbuspydir)" $(LVMDBUS_SRCDIR_FILES) $(LVMDBUS_BUILDDIR_FILES)
+- $(Q) $(CHMOD) 444 $(lvmdbusdir)/__pycache__/*.py[co]
+
+ install_lvm2: install_lvmdbusd
+
diff --git a/meta-oe/recipes-support/lvm2/lvm2_2.03.11.bb b/meta-oe/recipes-support/lvm2/lvm2_2.03.11.bb
deleted file mode 100644
index 7f3f000e0a..0000000000
--- a/meta-oe/recipes-support/lvm2/lvm2_2.03.11.bb
+++ /dev/null
@@ -1,91 +0,0 @@
-require lvm2.inc
-
-SRC_URI += " \
- file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \
- "
-
-DEPENDS += "autoconf-archive-native"
-
-inherit multilib_script
-
-MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf"
-
-CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
-
-do_install_append() {
- # Install machine specific configuration file
- install -d ${D}${sysconfdir}/lvm
- install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
- sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- oe_runmake 'DESTDIR=${D}' install install_systemd_units
- sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
- else
- oe_runmake 'DESTDIR=${D}' install install_initscripts
- mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
- rm -rf ${D}${sysconfdir}/rc.d
- fi
-}
-
-PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules"
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
- blk-availability.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-EXTRA_OECONF_append_class-nativesdk = " --with-confdir=${sysconfdir}"
-
-DEPENDS += "util-linux"
-LVM2_PACKAGECONFIG_append_class-target = " \
- udev \
-"
-PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,${PN}-udevrules"
-
-PACKAGES =+ "libdevmapper"
-FILES_libdevmapper = " \
- ${libdir}/libdevmapper.so.* \
- ${sbindir}/dmsetup \
- ${sbindir}/dmstats \
-"
-
-FILES_${PN} += " \
- ${libdir}/device-mapper/*.so \
- ${systemd_system_unitdir}/lvm2-pvscan@.service \
-"
-
-FILES_${PN}-scripts = " \
- ${sbindir}/blkdeactivate \
- ${sbindir}/fsadm \
- ${sbindir}/lvmconf \
- ${sbindir}/lvmdump \
-"
-# Specified explicitly for the udev rules, just in case that it does not get picked
-# up automatically:
-FILES_${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
-RDEPENDS_${PN}-udevrules = "libdevmapper"
-RDEPENDS_${PN}_append_class-target = " libdevmapper"
-RDEPENDS_${PN}_append_class-nativesdk = " libdevmapper"
-
-RDEPENDS_${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
- bash \
- util-linux-lsblk \
- util-linux-findmnt \
- coreutils \
-"
-RRECOMMENDS_${PN}_class-target = "${PN}-scripts (= ${EXTENDPKGV})"
-
-CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf"
-
-SYSROOT_PREPROCESS_FUNCS_append = " remove_libdevmapper_sysroot_preprocess"
-remove_libdevmapper_sysroot_preprocess() {
- rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \
- ${SYSROOT_DESTDIR}${sbindir}/dmsetup \
- ${SYSROOT_DESTDIR}${sbindir}/dmstats \
- ${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \
- ${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/lvm2/lvm2_2.03.22.bb b/meta-oe/recipes-support/lvm2/lvm2_2.03.22.bb
new file mode 100644
index 0000000000..c675d3ded8
--- /dev/null
+++ b/meta-oe/recipes-support/lvm2/lvm2_2.03.22.bb
@@ -0,0 +1,110 @@
+require lvm2.inc
+
+SRC_URI += " \
+ file://0001-fix-command-bin-findmnt-bin-lsblk-bin-sort-not-found.patch \
+ file://tweak-for-lvmdbusd.patch \
+ file://0001-lvmdbusd-create-dirs-for-lock-file.patch \
+ "
+
+DEPENDS += "autoconf-archive-native"
+
+inherit multilib_script python3native
+
+MULTILIB_SCRIPTS = "${PN}:${sysconfdir}/lvm/lvm.conf"
+
+CACHED_CONFIGUREVARS += "MODPROBE_CMD=${base_sbindir}/modprobe"
+
+do_install:append() {
+ # Install machine specific configuration file
+ install -d ${D}${sysconfdir}/lvm
+ install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
+ sed -i -e 's:@libdir@:${libdir}:g' ${D}${sysconfdir}/lvm/lvm.conf
+ # We don't want init scripts/systemd units for native SDK utilities
+ if [ "${PN}" != "nativesdk-lvm2" ]; then
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ oe_runmake 'DESTDIR=${D}' install install_systemd_units
+ sed -i -e 's:/usr/bin/true:${base_bindir}/true:g' ${D}${systemd_system_unitdir}/blk-availability.service
+ else
+ oe_runmake 'DESTDIR=${D}' install install_initscripts
+ mv ${D}${sysconfdir}/rc.d/init.d ${D}${sysconfdir}/init.d
+ rm -rf ${D}${sysconfdir}/rc.d
+ fi
+ fi
+
+ # following files only exist when package config `dbus` enabled
+ sed -i -e '1s,#!.*python.*,#!${USRBINPATH}/env python3,' \
+ ${D}${sbindir}/lvmdbusd \
+ ${D}${PYTHON_SITEPACKAGES_DIR}/lvmdbusd/lvmdb.py \
+ ${D}${PYTHON_SITEPACKAGES_DIR}/lvmdbusd/lvm_shell_proxy.py \
+ || true
+}
+
+PACKAGE_BEFORE_PN = "${PN}-scripts ${PN}-udevrules"
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "${@bb.utils.contains('PACKAGECONFIG', 'dmeventd', 'lvm2-monitor.service dm-event.socket dm-event.service', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'lvm2-lvmdbusd.service', '', d)} \
+ blk-availability.service \
+ "
+SYSTEMD_AUTO_ENABLE = "disable"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+EXTRA_OECONF:append:class-nativesdk = " --with-confdir=${sysconfdir}"
+
+DEPENDS += "util-linux"
+LVM2_PACKAGECONFIG:append:class-target = " \
+ udev \
+"
+
+PACKAGECONFIG[dbus] = "--enable-dbus-service,--disable-dbus-service,,python3-dbus python3-pyudev"
+PACKAGECONFIG[udev] = "--enable-udev_sync --enable-udev_rules --with-udevdir=${nonarch_base_libdir}/udev/rules.d,--disable-udev_sync --disable-udev_rules,udev,${PN}-udevrules"
+
+PACKAGES =+ "libdevmapper"
+FILES:libdevmapper = " \
+ ${libdir}/libdevmapper.so.* \
+ ${sbindir}/dmsetup \
+ ${sbindir}/dmstats \
+"
+
+FILES:${PN} += " \
+ ${libdir}/device-mapper/*.so \
+ ${systemd_system_unitdir}/lvm2-pvscan@.service \
+ ${PYTHON_SITEPACKAGES_DIR}/lvmdbusd \
+ ${datadir}/dbus-1/system-services/com.redhat.lvmdbus1.service \
+"
+
+FILES:${PN}-scripts = " \
+ ${sbindir}/blkdeactivate \
+ ${sbindir}/fsadm \
+ ${sbindir}/lvmconf \
+ ${sbindir}/lvmdump \
+"
+# Specified explicitly for the udev rules, just in case that it does not get picked
+# up automatically:
+FILES:${PN}-udevrules = "${nonarch_base_libdir}/udev/rules.d"
+RDEPENDS:${PN} = "bash"
+RDEPENDS:${PN}-udevrules = "libdevmapper"
+RDEPENDS:${PN}:append:class-target = " libdevmapper"
+RDEPENDS:${PN}:append:class-nativesdk = " libdevmapper"
+
+RDEPENDS:${PN}-scripts = "${PN} (= ${EXTENDPKGV}) \
+ bash \
+ util-linux-lsblk \
+ util-linux-findmnt \
+ coreutils \
+"
+RRECOMMENDS:${PN}:class-target = "${PN}-scripts (= ${EXTENDPKGV})"
+
+CONFFILES:${PN} += "${sysconfdir}/lvm/lvm.conf"
+
+SYSROOT_PREPROCESS_FUNCS:append = " remove_libdevmapper_sysroot_preprocess"
+remove_libdevmapper_sysroot_preprocess() {
+ rm -f ${SYSROOT_DESTDIR}${libdir}/libdevmapper.so* \
+ ${SYSROOT_DESTDIR}${sbindir}/dmsetup \
+ ${SYSROOT_DESTDIR}${sbindir}/dmstats \
+ ${SYSROOT_DESTDIR}${includedir}/libdevmapper.h \
+ ${SYSROOT_DESTDIR}${libdir}/pkgconfig/devmapper.pc
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb b/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb
deleted file mode 100644
index 69e1788e94..0000000000
--- a/meta-oe/recipes-support/mailcap/mailcap_2.1.52.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Helper application and MIME type associations for file types"
-HOMEPAGE = "https://pagure.io/mailcap"
-DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \
-mailcap file to determine how it should display non-text or multimedia \
-material. Basically, mailcap associates a particular type of file \
-with a particular program that a mail agent or other program can call \
-in order to handle the file. Mailcap should be installed to allow \
-certain programs to be able to handle non-text files. \
-\
-Also included in this package is the mime.types file which contains a \
-list of MIME types and their filename extension associations, used \
-by several applications e.g. to determine MIME types for filenames."
-
-SECTION = "System Environment/Base"
-
-LICENSE = "PD & MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8dce08227d135cfda1f19d4c0c6689de"
-
-SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz"
-
-SRC_URI[md5sum] = "3d1a14a80bb85564c323562670f1c01f"
-SRC_URI[sha256sum] = "e6f615ec2ffe705522075d960744534c443ece66acfb34fada38d567d8823639"
-
-inherit update-alternatives
-
-do_install() {
- oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir}
-}
-
-ALTERNATIVE_${PN} = "mime.types"
-ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types"
diff --git a/meta-oe/recipes-support/mailcap/mailcap_2.1.54.bb b/meta-oe/recipes-support/mailcap/mailcap_2.1.54.bb
new file mode 100644
index 0000000000..8385b63543
--- /dev/null
+++ b/meta-oe/recipes-support/mailcap/mailcap_2.1.54.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Helper application and MIME type associations for file types"
+HOMEPAGE = "https://pagure.io/mailcap"
+DESCRIPTION = "The mailcap file is used by the metamail program. Metamail reads the \
+mailcap file to determine how it should display non-text or multimedia \
+material. Basically, mailcap associates a particular type of file \
+with a particular program that a mail agent or other program can call \
+in order to handle the file. Mailcap should be installed to allow \
+certain programs to be able to handle non-text files. \
+\
+Also included in this package is the mime.types file which contains a \
+list of MIME types and their filename extension associations, used \
+by several applications e.g. to determine MIME types for filenames."
+
+SECTION = "System Environment/Base"
+
+LICENSE = "PD & MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8dce08227d135cfda1f19d4c0c6689de"
+
+SRC_URI = "https://releases.pagure.org/${BPN}/${BP}.tar.xz"
+
+SRC_URI[sha256sum] = "9a4032202fc0d2b0858f41b167389a9cfe52ac24ec282e6479b90765319de113"
+
+inherit update-alternatives
+
+do_install() {
+ oe_runmake install DESTDIR=${D} sysconfdir=${sysconfdir} mandir=${mandir}
+}
+
+ALTERNATIVE:${PN} = "mime.types"
+ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types"
diff --git a/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb
index 3467d28988..ccc21f418c 100644
--- a/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb
+++ b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "mbuffer is a tool for buffering data streams with a large set of unique features."
HOMEPAGE = "http://www.maier-komor.de/mbuffer.html"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
SECTION = "console/network"
diff --git a/meta-oe/recipes-support/mcelog/mce-inject_git.bb b/meta-oe/recipes-support/mcelog/mce-inject_git.bb
index cc33cbaf28..a228c3cc06 100644
--- a/meta-oe/recipes-support/mcelog/mce-inject_git.bb
+++ b/meta-oe/recipes-support/mcelog/mce-inject_git.bb
@@ -4,7 +4,7 @@ software level into a running Linux kernel. This is intended for \
validation of the kernel machine check handler."
SECTION = "System Environment/Base"
-SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git"
+SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git;branch=master"
SRCREV = "4cbe46321b4a81365ff3aafafe63967264dbfec5"
@@ -12,7 +12,7 @@ UPSTREAM_CHECK_COMMITS = "1"
DEPENDS = "bison-native"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://README;beginline=30;md5=94c18755082a2da9c9cf97cba3ad47d6"
S = "${WORKDIR}/git"
@@ -21,4 +21,4 @@ COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
inherit autotools-brokensep
-EXTRA_OEMAKE = "destdir=${D}"
+EXTRA_OEMAKE = "destdir=${D} CFLAGS='${CFLAGS}'"
diff --git a/meta-oe/recipes-support/mcelog/mce-test_git.bb b/meta-oe/recipes-support/mcelog/mce-test_git.bb
index 35fb944702..05e98e86ed 100644
--- a/meta-oe/recipes-support/mcelog/mce-test_git.bb
+++ b/meta-oe/recipes-support/mcelog/mce-test_git.bb
@@ -7,25 +7,27 @@ DESCRIPTION = "The MCE test suite is a collection of tools and test scripts for
testing the Linux RAS related features, including CPU/Memory error \
containment and recovery, ACPI/APEI support etc."
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
-SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git;protocol=git \
+SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git;protocol=git;branch=master \
file://makefile-remove-ldflags.patch \
file://0001-gcov_merge.py-scov_merge.py-switch-to-python3.patch \
"
-SRCREV = "7643baf6c3919b3d727e6ba6c2e545dc6a653307"
-PV = "20190917+git${SRCPV}"
+SRCREV = "025014dedca39d2b8a57a82e52286e72e157d73a"
+PV = "20222810+git"
-RDEPENDS_${PN} = "mcelog mce-inject dialog bash"
+RDEPENDS:${PN} = "mcelog mce-inject dialog bash"
COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
S ="${WORKDIR}/git"
-do_install_append(){
+EXTRA_OEMAKE += "CFLAGS='${CFLAGS}'"
+
+do_install:append(){
install -d ${D}/opt/mce-test
cp -rf ${S}/* ${D}/opt/mce-test/
}
-FILES_${PN} += "/opt"
+FILES:${PN} += "/opt"
diff --git a/meta-oe/recipes-support/mcelog/mcelog/0001-client-Include-string.h-form-mem-function-prototypes.patch b/meta-oe/recipes-support/mcelog/mcelog/0001-client-Include-string.h-form-mem-function-prototypes.patch
new file mode 100644
index 0000000000..3b6fd7d702
--- /dev/null
+++ b/meta-oe/recipes-support/mcelog/mcelog/0001-client-Include-string.h-form-mem-function-prototypes.patch
@@ -0,0 +1,26 @@
+From c7753f82261d49862d5e0f9691bf87799d36ef0c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 16:20:03 -0700
+Subject: [PATCH] client: Include string.h form mem* function prototypes
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ client.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/client.c b/client.c
+index 883b1de..e474e55 100644
+--- a/client.c
++++ b/client.c
+@@ -16,6 +16,7 @@
+ on your Linux system; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+ #include <stdio.h>
++#include <string.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+ #include <unistd.h>
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/mcelog/mcelog/0001-test-avoid-the-pfa-test-hang.patch b/meta-oe/recipes-support/mcelog/mcelog/0001-test-avoid-the-pfa-test-hang.patch
deleted file mode 100644
index 03bcc451df..0000000000
--- a/meta-oe/recipes-support/mcelog/mcelog/0001-test-avoid-the-pfa-test-hang.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 3765b3a4cabf76f55c1c126ac64780a8c117d1d9 Mon Sep 17 00:00:00 2001
-From: Mingli Yu <mingli.yu@windriver.com>
-Date: Tue, 12 Jan 2021 10:30:13 +0800
-Subject: [PATCH] test: avoid the pfa test hang
-
-Per [1], the pfa test needs to install page-types and the pfa test
-will hang forever if there is no page-types installed.
-
-Improve the test script to avoid the pfa test hang.
-
-[1] https://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git/tree/tests/pfa/PFA_test_howto?id=7b776a8c005b60572f49797e81287540f99fff1f
-
-Upstream-Status: Submitted [https://github.com/andikleen/mcelog/pull/87]
-
-Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
----
- tests/test | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/tests/test b/tests/test
-index 020ae2b..320f57f 100755
---- a/tests/test
-+++ b/tests/test
-@@ -47,6 +47,9 @@ do
- # Inject mce records and run mcelog in parallel.
- # So that the mce records can be consumed by mcelog in time (avoid mce record overflow).
- ./inject $conf &
-+ if [ "$1" = "pfa" ] ; then
-+ which page-types > /dev/null 2>&1 || continue
-+ fi
- $D ../../mcelog --foreground --daemon --debug-numerrors --config $conf --logfile $log >> result
-
- # let triggers finish
---
-2.29.2
-
diff --git a/meta-oe/recipes-support/mcelog/mcelog/run-ptest b/meta-oe/recipes-support/mcelog/mcelog/run-ptest
index ba7a2c7683..320240f276 100644
--- a/meta-oe/recipes-support/mcelog/mcelog/run-ptest
+++ b/meta-oe/recipes-support/mcelog/mcelog/run-ptest
@@ -1,3 +1,9 @@
#!/bin/sh
-make -C tests test
+make -C tests test | sed -e '/\[PASS\]/ s/^/PASS: /g' \
+ -e '/\[FAIL\]/ s/^/FAIL: /g' \
+ -e '/\[IGNORE\]/ s/^/SKIP: /g' \
+ -e 's/IGNORE:/SKIP:/' \
+ -e 's/: \[PASS\]//' \
+ -e 's/: \[FAIL\]//' \
+ -e 's/: \[IGNORE\]//'
diff --git a/meta-oe/recipes-support/mcelog/mcelog_175.bb b/meta-oe/recipes-support/mcelog/mcelog_175.bb
deleted file mode 100644
index ae810eff8e..0000000000
--- a/meta-oe/recipes-support/mcelog/mcelog_175.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
-DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
-and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
-and should run on all Linux systems that need error handling."
-HOMEPAGE = "http://mcelog.org/"
-SECTION = "System Environment/Base"
-
-SRC_URI = "git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http; \
- file://0001-test-avoid-the-pfa-test-hang.patch \
- file://run-ptest \
-"
-
-SRCREV = "7b776a8c005b60572f49797e81287540f99fff1f"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README.md;md5=74bb47b9a68850cb398665cf78b31de6"
-
-S = "${WORKDIR}/git"
-
-inherit autotools-brokensep ptest
-
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-do_install_append() {
- install -d ${D}${sysconfdir}/cron.hourly
- install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
- sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
-}
-
-do_install_ptest() {
- install -d ${D}${PTEST_PATH}
- cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
- sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
-}
-
-RDEPENDS_${PN}-ptest += "make bash mce-inject"
diff --git a/meta-oe/recipes-support/mcelog/mcelog_198.bb b/meta-oe/recipes-support/mcelog/mcelog_198.bb
new file mode 100644
index 0000000000..e302f4175d
--- /dev/null
+++ b/meta-oe/recipes-support/mcelog/mcelog_198.bb
@@ -0,0 +1,44 @@
+SUMMARY = "mcelog daemon accounts memory and some other errors in various ways."
+DESCRIPTION = "mcelog is required by both 32bit x86 Linux kernels (since 2.6.30) \
+and 64bit Linux kernels (since early 2.6 kernel releases) to log machine checks \
+and should run on all Linux systems that need error handling."
+HOMEPAGE = "https://mcelog.org/"
+SECTION = "System Environment/Base"
+
+SRC_URI = "\
+ git://git.kernel.org/pub/scm/utils/cpu/mce/mcelog.git;protocol=http;;branch=master \
+ file://0001-client-Include-string.h-form-mem-function-prototypes.patch \
+ file://run-ptest \
+"
+
+SRCREV = "ab58f07b9b1a4456fca0f5f41639d5cbecc80e36"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+S = "${WORKDIR}/git"
+
+inherit ptest
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
+
+EXTRA_OEMAKE += "CFLAGS='${CFLAGS}'"
+
+do_compile() {
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D}
+ install -d ${D}${sysconfdir}/cron.hourly
+ install -m 0755 ${S}/mcelog.cron ${D}${sysconfdir}/cron.hourly/
+ sed -i 's/bash/sh/' ${D}${sysconfdir}/cron.hourly/mcelog.cron
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}
+ cp -r ${S}/tests ${S}/input ${D}${PTEST_PATH}
+ sed -i 's#../../mcelog#mcelog#' ${D}${PTEST_PATH}/tests/test
+}
+
+RDEPENDS:${PN}-ptest += "make bash mce-inject"
diff --git a/meta-oe/recipes-support/md4c/md4c_0.5.2.bb b/meta-oe/recipes-support/md4c/md4c_0.5.2.bb
new file mode 100644
index 0000000000..6c409666fc
--- /dev/null
+++ b/meta-oe/recipes-support/md4c/md4c_0.5.2.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Markdown for C"
+DESCRIPTION = "MD4C is Markdown parser implementation in C."
+HOMEPAGE = "http://github.com/mity/md4c"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=383f39920f391605af6e8e46e60e2378"
+
+
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+ git://github.com/mity/md4c.git;protocol=https;branch=master \
+"
+
+SRCREV = "729e6b8b320caa96328968ab27d7db2235e4fb47"
+
+inherit cmake
diff --git a/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch b/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch
index 9c154a1734..ce139a6387 100644
--- a/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch
+++ b/meta-oe/recipes-support/mg/mg/0001-Undefine-REGEX-for-musl-based-systems.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Undefine REGEX for musl based systems
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
GNUmakefile | 1 -
Makefile | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch b/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch
index 8e8c2b9025..4eeb1d97dc 100644
--- a/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch
+++ b/meta-oe/recipes-support/mg/mg/0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 1/2] fileio: Include sys/param.h for MAXNAMLEN
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
fileio.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch b/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch
index bdd7632be6..ef7811081b 100644
--- a/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch
+++ b/meta-oe/recipes-support/mg/mg/0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 2/2] fileio: Define DEFFILEMODE if platform is missing
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
fileio.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta-oe/recipes-support/mg/mg_20200723.bb b/meta-oe/recipes-support/mg/mg_20200723.bb
deleted file mode 100644
index b73f937565..0000000000
--- a/meta-oe/recipes-support/mg/mg_20200723.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
-HOMEPAGE = "http://homepage.boetes.org/software/mg/"
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://version.c;md5=1895eb37bf6bd79cdc5c89d8166fabfb"
-DEPENDS = "ncurses libbsd"
-SECTION = "console/editors"
-
-SRCREV = "60fa3582f5f735b9d43825f5bdcc4ea5f0740f91"
-SRC_URI = "git://github.com/hboetes/mg \
- file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \
- file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \
- "
-SRC_URI_append_libc-musl = "\
- file://0001-Undefine-REGEX-for-musl-based-systems.patch \
- "
-
-S = "${WORKDIR}/git"
-
-# CFLAGS isn't in EXTRA_OEMAKE, as the makefile picks it up via ?=
-EXTRA_OEMAKE = "\
- 'CC=${CC}' \
- 'LDFLAGS=${LDFLAGS}' \
- \
- 'prefix=${prefix}' \
- 'bindir=${bindir}' \
- 'libdir=${libdir}' \
- 'includedir=${includedir}' \
- 'mandir=${mandir}' \
- 'PKG_CONFIG=pkg-config' \
-"
-
-CFLAGS += "-I${STAGING_INCDIR}/bsd"
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
-
-inherit pkgconfig
diff --git a/meta-oe/recipes-support/mg/mg_20230501.bb b/meta-oe/recipes-support/mg/mg_20230501.bb
new file mode 100644
index 0000000000..ee00003977
--- /dev/null
+++ b/meta-oe/recipes-support/mg/mg_20230501.bb
@@ -0,0 +1,38 @@
+SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
+HOMEPAGE = "http://homepage.boetes.org/software/mg/"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://version.c;md5=a8e0b53d89d277bf3b40878ac568bedd"
+DEPENDS = "ncurses libbsd"
+SECTION = "console/editors"
+
+SRCREV = "f21c2ba36772ffa68d9cfa55305e427d37903b4a"
+SRC_URI = "git://github.com/hboetes/mg;branch=master;protocol=https \
+ file://0001-fileio-Include-sys-param.h-for-MAXNAMLEN.patch \
+ file://0002-fileio-Define-DEFFILEMODE-if-platform-is-missing.patch \
+ "
+SRC_URI:append:libc-musl = "\
+ file://0001-Undefine-REGEX-for-musl-based-systems.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+# CFLAGS isn't in EXTRA_OEMAKE, as the makefile picks it up via ?=
+EXTRA_OEMAKE = "\
+ 'CC=${CC}' \
+ 'LDFLAGS=${LDFLAGS}' \
+ \
+ 'prefix=${prefix}' \
+ 'bindir=${bindir}' \
+ 'libdir=${libdir}' \
+ 'includedir=${includedir}' \
+ 'mandir=${mandir}' \
+ 'PKG_CONFIG=pkg-config' \
+"
+
+CFLAGS += "-I${STAGING_INCDIR}/bsd"
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+inherit pkgconfig
diff --git a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb
deleted file mode 100644
index 1137f5012a..0000000000
--- a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-SECTION = "base"
-SUMMARY = "MIME files 'mime.types' & 'mailcap', and support programs"
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://debian/README;md5=36bbe2ace0a05c3fb684b73208fbf30b"
-
-DEPENDS = "file"
-RDEPENDS_${PN} = "perl"
-RRECOMMENDS_${PN} = "file"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}-1.tar.gz"
-S = "${WORKDIR}/${BPN}"
-
-inherit update-alternatives
-
-FILES_${PN} += " ${libdir}/mime"
-
-docdir_append = "/${BPN}"
-
-do_install () {
- install -d ${D}${sysconfdir}
- install -d ${D}${libdir}/mime/packages
- install -d ${D}${docdir}
- install -d ${D}${sbindir}
- install -d ${D}${bindir}
- install -d ${D}${mandir}/man1
- install -d ${D}${mandir}/man5
- install -d ${D}${mandir}/man8
- install -m 644 mime.types ${D}${sysconfdir}/
- install -m 644 mailcap ${D}${libdir}/mime/
- install -m 644 mailcap.order ${D}${sysconfdir}/
- install -m 644 mailcap.man ${D}${mandir}/man5/mailcap.5
- install -m 644 mailcap.order.man ${D}${mandir}/man5/mailcap.order.5
-# install -m 755 install-mime ${D}${sbindir}/
-# install -m 644 install-mime.man ${D}${mandir}/man8/install-mime.8
- install -m 755 update-mime ${D}${sbindir}/
- install -m 644 update-mime.man ${D}${mandir}/man8/update-mime.8
- install -m 755 run-mailcap ${D}${bindir}/
- install -m 644 run-mailcap.man ${D}${mandir}/man1/run-mailcap.1
-# install -m 644 rfcs/* ${D}${docdir}/
- install -m 644 debian/changelog ${D}${docdir}/changelog.Debian
- install -m 644 debian/README ${D}${docdir}/copyright
- install -m 755 debian-view ${D}${libdir}/mime/
- install -m 755 playaudio ${D}${libdir}/mime/
- install -m 755 playdsp ${D}${libdir}/mime/
- install -m 644 mailcap.entries ${D}${libdir}/mime/packages/mime-support
- cd ${D}${mandir}; gzip -9fv */*
- cd ${D}${docdir}; gzip -9v *
- cd ${D}${docdir}; gunzip copyright.gz
- cd ${D}${bindir}; ln -s run-mailcap see
- cd ${D}${bindir}; ln -s run-mailcap edit
- cd ${D}${bindir}; ln -s run-mailcap compose
- cd ${D}${bindir}; ln -s run-mailcap print
- cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz see.1.gz
- cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz edit.1.gz
- cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz compose.1.gz
- cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz print.1.gz
-}
-
-SRC_URI[md5sum] = "d6e5d715e331147352c50c158dbdec6d"
-SRC_URI[sha256sum] = "a529c7892cb786f514af71f4ca5a4c3ebc58b538a49ff959c0d97592d38f040a"
-
-ALTERNATIVE_PRIORITY = "90"
-ALTERNATIVE_${PN} = "mime.types"
-ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types"
diff --git a/meta-oe/recipes-support/mime-support/mime-support_3.62.bb b/meta-oe/recipes-support/mime-support/mime-support_3.62.bb
new file mode 100644
index 0000000000..46def2a23c
--- /dev/null
+++ b/meta-oe/recipes-support/mime-support/mime-support_3.62.bb
@@ -0,0 +1,65 @@
+SECTION = "base"
+SUMMARY = "MIME files 'mime.types' & 'mailcap', and support programs"
+LICENSE = "PD & Bellcore"
+LICENSE:${PN} = "PD"
+# mailcap.man's license is Bellcore
+LICENSE:${PN}-doc = "PD & Bellcore"
+LIC_FILES_CHKSUM = "file://debian/copyright;md5=53c851e31d27c3ea8a6217073a5ff01c"
+
+DEPENDS = "file"
+RDEPENDS:${PN} = "perl"
+RRECOMMENDS:${PN} = "file"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}.tar.gz"
+SRC_URI[sha256sum] = "54e0a03e0cd63c7c9fe68a18ead0a2143fd3c327604215f989d85484d0409f4a"
+S = "${WORKDIR}/${BPN}"
+
+inherit update-alternatives
+
+FILES:${PN} += " ${libdir}/mime"
+
+docdir:append = "/${BPN}"
+
+do_install () {
+ install -d ${D}${sysconfdir}
+ install -d ${D}${libdir}/mime/packages
+ install -d ${D}${docdir}
+ install -d ${D}${sbindir}
+ install -d ${D}${bindir}
+ install -d ${D}${mandir}/man1
+ install -d ${D}${mandir}/man5
+ install -d ${D}${mandir}/man8
+ install -m 644 mime.types ${D}${sysconfdir}/
+ install -m 644 mailcap ${D}${libdir}/mime/
+ install -m 644 mailcap.order ${D}${sysconfdir}/
+ install -m 644 mailcap.man ${D}${mandir}/man5/mailcap.5
+ install -m 644 mailcap.order.man ${D}${mandir}/man5/mailcap.order.5
+# install -m 755 install-mime ${D}${sbindir}/
+# install -m 644 install-mime.man ${D}${mandir}/man8/install-mime.8
+ install -m 755 update-mime ${D}${sbindir}/
+ install -m 644 update-mime.man ${D}${mandir}/man8/update-mime.8
+ install -m 755 run-mailcap ${D}${bindir}/
+ install -m 644 run-mailcap.man ${D}${mandir}/man1/run-mailcap.1
+# install -m 644 rfcs/* ${D}${docdir}/
+ install -m 644 debian/changelog ${D}${docdir}/changelog.Debian
+ install -m 644 debian/copyright ${D}${docdir}/copyright
+ install -m 755 debian-view ${D}${libdir}/mime/
+ install -m 755 playaudio ${D}${libdir}/mime/
+ install -m 755 playdsp ${D}${libdir}/mime/
+ install -m 644 mailcap.entries ${D}${libdir}/mime/packages/mime-support
+ cd ${D}${mandir}; gzip -9fv */*
+ cd ${D}${docdir}; gzip -9v *
+ cd ${D}${docdir}; gunzip copyright.gz
+ cd ${D}${bindir}; ln -s run-mailcap see
+ cd ${D}${bindir}; ln -s run-mailcap edit
+ cd ${D}${bindir}; ln -s run-mailcap compose
+ cd ${D}${bindir}; ln -s run-mailcap print
+ cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz see.1.gz
+ cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz edit.1.gz
+ cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz compose.1.gz
+ cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz print.1.gz
+}
+
+ALTERNATIVE_PRIORITY = "90"
+ALTERNATIVE:${PN} = "mime.types"
+ALTERNATIVE_LINK_NAME[mime.types] = "${sysconfdir}/mime.types"
diff --git a/meta-oe/recipes-support/monit/monit_5.27.2.bb b/meta-oe/recipes-support/monit/monit_5.27.2.bb
deleted file mode 100644
index b5e16d0f97..0000000000
--- a/meta-oe/recipes-support/monit/monit_5.27.2.bb
+++ /dev/null
@@ -1,53 +0,0 @@
-DESCRIPTION = "Monit is a free open source utility for managing and monitoring, \
-processes, programs, files, directories and filesystems on a UNIX system. \
-Monit conducts automatic maintenance and repair and can execute meaningful \
-causal actions in error situations."
-
-HOMEPAGE = "http://mmonit.com/monit/"
-
-LICENSE = "AGPL-3.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ea116a7defaf0e93b3bb73b2a34a3f51 \
- file://libmonit/COPYING;md5=2405f1c59ed1bf3714cebdb40162ce92"
-
-SRC_URI = " \
- https://mmonit.com/monit/dist/monit-${PV}.tar.gz \
- file://monit \
- file://monitrc \
-"
-
-SRC_URI[md5sum] = "13a0804dae18ef08198c3ace72f9dd60"
-SRC_URI[sha256sum] = "d8809c78d5dc1ed7a7ba32a5a55c5114855132cc4da4805f8d3aaf8cf46eaa4c"
-
-DEPENDS = "zlib bison-native libnsl2 flex-native openssl virtual/crypt"
-
-inherit autotools-brokensep systemd update-rc.d
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
-PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
-
-EXTRA_OECONF = "\
- libmonit_cv_setjmp_available=no \
- libmonit_cv_vsnprintf_c99_conformant=no \
- --with-ssl-lib-dir=${STAGING_LIBDIR} \
- --with-ssl-incl-dir=${STAGING_INCDIR} \
-"
-
-SYSTEMD_SERVICE_${PN} = "monit.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "monit"
-INITSCRIPT_PARAMS_${PN} = "defaults 89"
-
-do_install_append() {
-
- # Configuration file
- install -Dm 0600 ${WORKDIR}/monitrc ${D}${sysconfdir}/monitrc
-
- # SystemD
- install -Dm 0644 ${S}/system/startup/monit.service.in ${D}${systemd_system_unitdir}/monit.service
- sed -i -e 's,@prefix@,${exec_prefix},g' ${D}${systemd_unitdir}/system/monit.service
-
- # SysV
- install -Dm 0755 ${WORKDIR}/monit ${D}${sysconfdir}/init.d/monit
-}
diff --git a/meta-oe/recipes-support/monit/monit_5.33.0.bb b/meta-oe/recipes-support/monit/monit_5.33.0.bb
new file mode 100644
index 0000000000..66d4079a94
--- /dev/null
+++ b/meta-oe/recipes-support/monit/monit_5.33.0.bb
@@ -0,0 +1,56 @@
+DESCRIPTION = "Monit is a free open source utility for managing and monitoring, \
+processes, programs, files, directories and filesystems on a UNIX system. \
+Monit conducts automatic maintenance and repair and can execute meaningful \
+causal actions in error situations."
+
+HOMEPAGE = "http://mmonit.com/monit/"
+
+LICENSE = "AGPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea116a7defaf0e93b3bb73b2a34a3f51 \
+ file://libmonit/COPYING;md5=2405f1c59ed1bf3714cebdb40162ce92"
+
+SRC_URI = " \
+ https://mmonit.com/monit/dist/monit-${PV}.tar.gz \
+ file://monit \
+ file://monitrc \
+"
+
+SRC_URI[sha256sum] = "1ace889c0183473a9d70160df6533bb6e1338dc1354f5928507803e1e2a863b5"
+
+DEPENDS = "zlib bison-native libnsl2 flex-native openssl virtual/crypt"
+
+inherit autotools-brokensep systemd update-rc.d
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam"
+
+EXTRA_OECONF = "\
+ libmonit_cv_setjmp_available=no \
+ libmonit_cv_vsnprintf_c99_conformant=no \
+ --with-ssl-lib-dir=${STAGING_LIBDIR} \
+ --with-ssl-incl-dir=${STAGING_INCDIR} \
+"
+
+SYSTEMD_SERVICE:${PN} = "monit.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME:${PN} = "monit"
+INITSCRIPT_PARAMS:${PN} = "defaults 89"
+
+do_configure:prepend() {
+ rm -rf ${S}/m4/*
+}
+
+do_install:append() {
+
+ # Configuration file
+ install -Dm 0600 ${WORKDIR}/monitrc ${D}${sysconfdir}/monitrc
+
+ # SystemD
+ install -Dm 0644 ${S}/system/startup/monit.service.in ${D}${systemd_system_unitdir}/monit.service
+ sed -i -e 's,@prefix@,${exec_prefix},g' ${D}${systemd_unitdir}/system/monit.service
+
+ # SysV
+ install -Dm 0755 ${WORKDIR}/monit ${D}${sysconfdir}/init.d/monit
+}
diff --git a/meta-oe/recipes-support/mscgen/mscgen_0.20.bb b/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
index 49899edd73..371281d6e4 100644
--- a/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
+++ b/meta-oe/recipes-support/mscgen/mscgen_0.20.bb
@@ -1,7 +1,7 @@
SUMMARY = "Mscgen is a small program that parses Message Sequence Chart descriptions and produces PNG, SVG, EPS or server side image maps (ismaps) as the output."
HOMEPAGE = "http://www.mcternan.me.uk/mscgen/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b1e6a340187c1cf716513439d07c1d79"
SRC_URI = "http://www.mcternan.me.uk/mscgen/software/${BPN}-src-${PV}.tar.gz"
@@ -11,9 +11,9 @@ SRC_URI[sha256sum] = "3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d855
DEPENDS = "gd "
-inherit autotools gettext
+inherit autotools gettext pkgconfig
-do_configure_prepend() {
+do_configure:prepend() {
sed -i "s#AC_PATH_PROG(GDLIB_CONFIG,gdlib-config)#AC_PATH_PROG([GDLIB_CONFIG],[gdlib-config], ,[${STAGING_BINDIR_CROSS}])#" ${S}/configure.ac
}
diff --git a/meta-oe/recipes-support/msktutil/msktutil/0001-configure.ac-Remove-native-include-path.patch b/meta-oe/recipes-support/msktutil/msktutil/0001-configure.ac-Remove-native-include-path.patch
new file mode 100644
index 0000000000..1643c08566
--- /dev/null
+++ b/meta-oe/recipes-support/msktutil/msktutil/0001-configure.ac-Remove-native-include-path.patch
@@ -0,0 +1,31 @@
+From bf9795ffbda7bb241b708ff261976016efb943b1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 25 Jan 2023 23:12:19 -0800
+Subject: [PATCH] configure.ac: Remove native include path
+
+On OE com_err.h is found in /usr/include too, therefore adding new path
+to include search path is not needed. Moreover it fixed QA checks where
+it warns about using build system paths.
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index eaac16f..d23d0b0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -134,7 +134,6 @@ fi
+ # Fedora, RHEL, Centos has com_err.h in /usr/include/et
+ AC_CHECK_HEADERS([et/com_err.h])
+ if test "$ac_cv_header_et_com_err_h" = "yes"; then
+- CPPFLAGS="-I/usr/include/et $CPPFLAGS"
+ AC_DEFINE(HAVE_COM_ERR_H, 1)
+ fi
+
+--
+2.39.1
+
diff --git a/meta-oe/recipes-support/msktutil/msktutil_1.2.1.bb b/meta-oe/recipes-support/msktutil/msktutil_1.2.1.bb
new file mode 100644
index 0000000000..b4f4651e37
--- /dev/null
+++ b/meta-oe/recipes-support/msktutil/msktutil_1.2.1.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Program for interoperability with Active Directory"
+DESCRIPTION = "Msktutil creates user or computer accounts in Active Directory, \
+ creates Kerberos keytabs on Unix/Linux systems, adds and removes \
+ principals to and from keytabs and changes the user or computer \
+ account's password."
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
+
+SRC_URI = "https://github.com/msktutil/msktutil/releases/download/${PV}/${BP}.tar.bz2 \
+ file://0001-configure.ac-Remove-native-include-path.patch"
+SRC_URI[sha256sum] = "f9686237c4e24414802415f4c8627c7343da365c5a3bcdef7a853fa3cd27b45d"
+
+DEPENDS += "krb5 cyrus-sasl openldap"
+
+inherit autotools
diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-RH-fixup-udev-rules-for-redhat.patch b/meta-oe/recipes-support/multipath-tools/files/0001-RH-fixup-udev-rules-for-redhat.patch
new file mode 100644
index 0000000000..74ae1530cb
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0001-RH-fixup-udev-rules-for-redhat.patch
@@ -0,0 +1,76 @@
+From 1e1ba9ecc16895bf472eae345d44631b65629611 Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Thu, 13 Apr 2017 07:22:23 -0500
+Subject: [PATCH 01/12] RH: fixup udev rules for redhat
+
+The multipath rules need to run after scsi_id is run. This means moving
+them after 60-persistent-storage.rules for redhat. Redhat also uses a
+different naming scheme for partitions than SuSE. Also, there are some
+false warnings that gcc throws because of the changed options. Fix these
+too.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+Upstream-Status: Pending
+---
+ Makefile.inc | 2 +-
+ kpartx/kpartx.rules | 2 +-
+ multipath/Makefile | 4 ++--
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.inc b/Makefile.inc
+index 5668e638..de89b21f 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -59,7 +59,7 @@ tmpfilesdir := $(systemd_prefix)lib/tmpfiles.d
+ modulesloaddir := $(systemd_prefix)lib/modules-load.d
+ libudevdir := $(systemd_prefix)lib/udev
+ udevrulesdir := $(libudevdir)/rules.d
+-bindir := $(exec_prefix)sbin
++bindir := $(exec_prefix)/usr/sbin
+ mandir := $(usr_prefix)share/man
+ LIB := $(if $(shell test -d /lib64 && echo 1),lib64,lib)
+ syslibdir := $(prefix)$(LIB)
+diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules
+index 1969dee0..d2b28233 100644
+--- a/kpartx/kpartx.rules
++++ b/kpartx/kpartx.rules
+@@ -39,6 +39,6 @@ LABEL="mpath_kpartx_end"
+ GOTO="kpartx_end"
+
+ LABEL="run_kpartx"
+-RUN+="/sbin/kpartx -un -p -part /dev/$name"
++RUN+="/sbin/kpartx -un /dev/$name"
+
+ LABEL="kpartx_end"
+diff --git a/multipath/Makefile b/multipath/Makefile
+index 67fb5e62..2ea9e528 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -27,7 +27,7 @@ install:
+ $(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
+ $(Q)$(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
+ $(Q)$(INSTALL_PROGRAM) -m 644 99-z-dm-mpath-late.rules $(DESTDIR)$(udevrulesdir)
+- $(Q)$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)$(udevrulesdir)/56-multipath.rules
++ $(Q)$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)$(udevrulesdir)/62-multipath.rules
+ $(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(tmpfilesdir)
+ $(Q)$(INSTALL_PROGRAM) -m 644 tmpfiles.conf $(DESTDIR)$(tmpfilesdir)/multipath.conf
+ $(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)/man8
+@@ -50,7 +50,7 @@ uninstall:
+ $(Q)$(RM) $(DESTDIR)$(udevrulesdir)/99-z-dm-mpath-late.rules
+ $(Q)$(RM) $(DESTDIR)$(modulesloaddir)/multipath.conf
+ $(Q)$(RM) $(DESTDIR)$(modulesloaddir)/scsi_dh.conf
+- $(Q)$(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
++ $(Q)$(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
+ $(Q)$(RM) $(DESTDIR)$(mandir)/man8/$(EXEC).8
+ $(Q)$(RM) $(DESTDIR)$(mandir)/man5/$(EXEC).conf.5
+ $(Q)$(RM) $(DESTDIR)$(tmpfilesdir)/multipath.conf
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch b/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch
deleted file mode 100644
index 2827bb8745..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0001-add-explicit-dependency-on-libraries.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 04884263d1de8c427a7a15bd1cf6466ea65d3a0b Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 25 May 2020 23:22:55 -0700
-Subject: [PATCH] add explicit dependency on libraries
-
-[snip]
-gcc/i686-overc-linux/10.1.0/ld: cannot find -lmpathpersist
-collect2: error: ld returned 1 exit status
-Makefile:36: recipe for target 'multipathd' failed
-make[1]: *** [multipathd] Error 1
-make[1]: Leaving directory 'git/multipathd'
-Makefile:29: recipe for target 'multipathd' failed
-make: *** [multipathd] Error 2
-ln -sf libmpathpersist.so.0 libmpathpersist.so
-[snip]
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index bea0a0b2..37a77129 100644
---- a/Makefile
-+++ b/Makefile
-@@ -29,7 +29,8 @@ $(BUILDDIRS):
- $(MAKE) -C $@
-
- multipath multipathd mpathpersist libmpathpersist : libmultipath
--mpathpersist: libmpathpersist
-+mpathpersist multipathd: libmpathpersist
-+libdmmp libmultipath mpathpersist multipath multipathd: libmpathcmd
-
- DEPS_ON_MULTIPATH := \
- multipath \
---
-2.21.0
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-fix-boolean-value-with-json-c-0.14.patch b/meta-oe/recipes-support/multipath-tools/files/0001-fix-boolean-value-with-json-c-0.14.patch
deleted file mode 100644
index cf97b491e1..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0001-fix-boolean-value-with-json-c-0.14.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 5ae81386a8cfea4180738c261cd3f7944a631199 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 3 Jun 2020 16:03:56 -0700
-Subject: [PATCH] fix boolean value with json-c 0.14
-
-Patch from Christian Hesse posted here
-https://www.spinics.net/lists/dm-devel/msg40646.html
-
-Upstream json-c 0.14+ removed the TRUE and FALSE defines in commit
-0992aac61f8b087efd7094e9ac2b84fa9c040fcd.
-
-Upstream-Status: Submitted [https://www.spinics.net/lists/dm-devel/msg40646.html]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- libdmmp/libdmmp_private.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libdmmp/libdmmp_private.h b/libdmmp/libdmmp_private.h
-index ac85b63f..29400826 100644
---- a/libdmmp/libdmmp_private.h
-+++ b/libdmmp/libdmmp_private.h
-@@ -82,7 +82,7 @@ static out_type func_name(struct dmmp_context *ctx, const char *var_name) { \
- do { \
- json_type j_type = json_type_null; \
- json_object *j_obj_tmp = NULL; \
-- if (json_object_object_get_ex(j_obj, key, &j_obj_tmp) != TRUE) { \
-+ if (json_object_object_get_ex(j_obj, key, &j_obj_tmp) != 1) { \
- _error(ctx, "Invalid JSON output from multipathd IPC: " \
- "key '%s' not found", key); \
- rc = DMMP_ERR_IPC_ERROR; \
-@@ -90,7 +90,7 @@ do { \
- } \
- if (j_obj_tmp == NULL) { \
- _error(ctx, "BUG: Got NULL j_obj_tmp from " \
-- "json_object_object_get_ex() while it return TRUE"); \
-+ "json_object_object_get_ex() while it return 1"); \
- rc = DMMP_ERR_BUG; \
- goto out; \
- } \
---
-2.27.0
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch b/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch
deleted file mode 100644
index ac87337694..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0001-fix-bug-of-do_compile-and-do_install.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From fd90d952edaa4b27e62a29fdba7a201288d440eb Mon Sep 17 00:00:00 2001
-From: Wang Mingyu <wangmy@cn.fujitsu.com>
-Date: Sun, 10 May 2020 21:22:53 +0800
-Subject: [PATCH] fix bug of do_compile and do_install
-
-when multiple processes make run in parallel,
-because of dependency error will occur.
-
-Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
----
- Makefile | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 1dee3680..bea0a0b2 100644
---- a/Makefile
-+++ b/Makefile
-@@ -28,9 +28,22 @@ all: $(BUILDDIRS)
- $(BUILDDIRS):
- $(MAKE) -C $@
-
--multipath multipathd mpathpersist: libmultipath
-+multipath multipathd mpathpersist libmpathpersist : libmultipath
- mpathpersist: libmpathpersist
-
-+DEPS_ON_MULTIPATH := \
-+ multipath \
-+ libmultipath/prioritizers \
-+ libmultipath/checkers \
-+ libmultipath/foreign \
-+ multipathd \
-+ mpathpersist \
-+ libmpathpersist
-+
-+$(DEPS_ON_MULTIPATH:=.install): libmultipath.install
-+mpathpersist.install: libmpathpersist.install
-+libdmmp.install libmultipath/foreign.install: mpathpersist.install
-+
- $(BUILDDIRS.clean):
- $(MAKE) -C ${@:.clean=} clean
-
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-libmultipath-always-use-glibc-basename.patch b/meta-oe/recipes-support/multipath-tools/files/0001-libmultipath-always-use-glibc-basename.patch
new file mode 100644
index 0000000000..0365a7ef64
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0001-libmultipath-always-use-glibc-basename.patch
@@ -0,0 +1,42 @@
+From 389286b25a903be62ce7f964246824fcc20c4c67 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 26 Mar 2024 18:56:55 -0700
+Subject: [PATCH] libmultipath: always use glibc basename()
+
+There is a use of basename() which expects it to be GNU version of
+basename, which is not available in other libcs e.g. musl on Linux
+therefore provide a version for such cases
+
+Upstream-Status: Submitted [https://github.com/opensvc/multipath-tools/pull/84]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libmultipath/configure.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/libmultipath/configure.c b/libmultipath/configure.c
+index 4ecf6ba4..e81cc67c 100644
+--- a/libmultipath/configure.c
++++ b/libmultipath/configure.c
+@@ -43,6 +43,19 @@
+ #include "sysfs.h"
+ #include "io_err_stat.h"
+
++#ifndef __GLIBC__
++/*
++ * glibc's non-destructive version of basename()
++ * License: LGPL-2.1-or-later
++ */
++static const char *__basename(const char *filename)
++{
++ char *p = strrchr(filename, '/');
++ return p ? p + 1 : filename;
++}
++#define basename(x) __basename(x)
++#endif
++
+ /* group paths in pg by host adapter
+ */
+ int group_by_host_adapter(struct pathgroup *pgp, vector adapters)
+--
+2.44.0
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0001-libmultipath-uevent.c-fix-error-handling-for-udev_mo.patch b/meta-oe/recipes-support/multipath-tools/files/0001-libmultipath-uevent.c-fix-error-handling-for-udev_mo.patch
deleted file mode 100644
index d261b13d91..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0001-libmultipath-uevent.c-fix-error-handling-for-udev_mo.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 8579d8a35886f91974e0ac4dbdf2edb7dac06d52 Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Fri, 18 Dec 2020 11:17:50 +0800
-Subject: [PATCH] libmultipath/uevent.c: fix error handling for
- udev_monitor_set_receive_buffer_size
-
-Since systemd v246.5[1], udev_monitor_set_receive_buffer_size() will
-return 0 or 1 if successful. We only need to check a negative value for
-the failure.
-
-[1] https://github.com/systemd/systemd-stable/commit/4dcae666889ae9469e4406c0bcaffadbc01c4f66
- https://github.com/systemd/systemd-stable/commit/fe9b92e566f837665cc06c82374e4e42f9295c99
- https://github.com/systemd/systemd-stable/commit/5dd4cc4b10daea5d2ba969425ba02d2098dd06a4
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- libmultipath/uevent.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/libmultipath/uevent.c b/libmultipath/uevent.c
-index d38e8a7f..4b298052 100644
---- a/libmultipath/uevent.c
-+++ b/libmultipath/uevent.c
-@@ -810,7 +810,8 @@ int uevent_listen(struct udev *udev)
- }
- pthread_cleanup_push(monitor_cleanup, monitor);
- #ifdef LIBUDEV_API_RECVBUF
-- if (udev_monitor_set_receive_buffer_size(monitor, 128 * 1024 * 1024))
-+ err = udev_monitor_set_receive_buffer_size(monitor, 128 * 1024 * 1024);
-+ if (err < 0)
- condlog(2, "failed to increase buffer size");
- #endif
- fd = udev_monitor_get_fd(monitor);
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0002-RH-Remove-the-property-blacklist-exception-builtin.patch b/meta-oe/recipes-support/multipath-tools/files/0002-RH-Remove-the-property-blacklist-exception-builtin.patch
new file mode 100644
index 0000000000..4b24bd2d35
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0002-RH-Remove-the-property-blacklist-exception-builtin.patch
@@ -0,0 +1,65 @@
+From bb6db01cc19940bb5162c1cc0c9b5f8e4c209822 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 1 Mar 2024 10:34:06 +0800
+Subject: [PATCH 02/12] RH: Remove the property blacklist exception builtin
+
+Multipath set the default property blacklist exceptions to
+(ID_SCSI_VPD|ID_WWN). This has the effect of blacklisting some internal
+devices. These devices may never have multiple paths, but it is nice
+to be able to set multipath up on them all the same. This patch simply
+removes the default, and makes it so that if no property
+blacklist_exception is given, then devices aren't failed for not matching
+it.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upsteam-Status: Pending
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+
+Upstream-Status: Pending
+---
+ libmultipath/blacklist.c | 16 +++++-----------
+ 1 file changed, 5 insertions(+), 11 deletions(-)
+
+diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c
+index 75100b20..4fdaca76 100644
+--- a/libmultipath/blacklist.c
++++ b/libmultipath/blacklist.c
+@@ -221,15 +221,6 @@ setup_default_blist (struct config * conf)
+ struct hwentry *hwe;
+ int i;
+
+- if (nvme_multipath_enabled()) {
+- if (store_ble(conf->blist_devnode, "!^(sd[a-z]|dasd[a-z])",
+- ORIGIN_DEFAULT))
+- return 1;
+- } else {
+- if (store_ble(conf->blist_devnode, "!^(sd[a-z]|dasd[a-z]|nvme[0-9])",
+- ORIGIN_DEFAULT))
+- return 1;
+- }
+ if (store_ble(conf->elist_property, "(SCSI_IDENT_|ID_WWN)", ORIGIN_DEFAULT))
+ return 1;
+
+@@ -464,8 +455,11 @@ filter_property(const struct config *conf, struct udev_device *udev,
+ r = MATCH_NOTHING;
+ }
+
+- log_filter(devname, NULL, NULL, NULL, env, NULL, r, lvl);
+- return r;
++ if (VECTOR_SIZE(conf->elist_property)) {
++ log_filter(devname, NULL, NULL, NULL, env, NULL, r, lvl);
++ return r;
++ }
++ return 0;
+ }
+
+ static void free_ble(struct blentry *ble)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0003-RH-don-t-start-without-a-config-file.patch b/meta-oe/recipes-support/multipath-tools/files/0003-RH-don-t-start-without-a-config-file.patch
new file mode 100644
index 0000000000..54b3bdc863
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0003-RH-don-t-start-without-a-config-file.patch
@@ -0,0 +1,117 @@
+From de8ee3480ec7479ed014c197a9d747403f6e0237 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 23 Nov 2018 17:25:15 +0800
+Subject: [PATCH 03/12] RH: don't start without a config file
+
+If /etc/multipath.conf doesn't exist, don't start multipathd and blacklist
+all devices when running multipath. A completely blank configuration file
+is almost never what users want. Also, people may have the multipath
+packages installed but don't want to use them. This patch provides a
+simple way to disable multipath. Simply removing or renaming
+/etc/multipath.conf will keep multipath from doing anything.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ libmultipath/config.c | 18 ++++++++++++++++++
+ libmultipath/config.h | 1 +
+ multipath/multipath.rules.in | 1 +
+ multipathd/multipathd.8.in | 2 ++
+ multipathd/multipathd.service.in | 1 +
+ 5 files changed, 23 insertions(+)
+
+diff --git a/libmultipath/config.c b/libmultipath/config.c
+index 83fa7369..8a3a8f37 100644
+--- a/libmultipath/config.c
++++ b/libmultipath/config.c
+@@ -26,6 +26,7 @@
+ #include "mpath_cmd.h"
+ #include "propsel.h"
+ #include "foreign.h"
++#include "version.h"
+
+ /*
+ * We don't support re-initialization after
+@@ -959,6 +960,23 @@ int _init_config (const char *file, struct config *conf)
+ }
+ factorize_hwtable(conf->hwtable, builtin_hwtable_size, file);
+ validate_pctable(conf->overrides, 0, file);
++ } else {
++ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
++ if (conf->blist_devnode == NULL) {
++ conf->blist_devnode = vector_alloc();
++ if (!conf->blist_devnode) {
++ conf->blist_devnode = vector_alloc();
++ if (!conf->blist_devnode) {
++ condlog(0, "cannot allocate blacklist\n");
++ goto out;
++ }
++ }
++ if (store_ble(conf->blist_devnode, strdup(".*"),
++ ORIGIN_NO_CONFIG)) {
++ condlog(0, "cannot store default no-config blacklist\n");
++ goto out;
++ }
++ }
+ }
+
+ conf->processed_main_config = 1;
+diff --git a/libmultipath/config.h b/libmultipath/config.h
+index 384193ab..158cebf0 100644
+--- a/libmultipath/config.h
++++ b/libmultipath/config.h
+@@ -10,6 +10,7 @@
+
+ #define ORIGIN_DEFAULT 0
+ #define ORIGIN_CONFIG 1
++#define ORIGIN_NO_CONFIG 2
+
+ enum devtypes {
+ DEV_NONE,
+diff --git a/multipath/multipath.rules.in b/multipath/multipath.rules.in
+index 780bf852..2c518378 100644
+--- a/multipath/multipath.rules.in
++++ b/multipath/multipath.rules.in
+@@ -9,6 +9,7 @@ IMPORT{cmdline}="nompath"
+ ENV{nompath}=="?*", GOTO="end_mpath"
+ IMPORT{cmdline}="multipath"
+ ENV{multipath}=="off", GOTO="end_mpath"
++TEST!="/etc/multipath.conf", GOTO="end_mpath"
+
+ ENV{DEVTYPE}!="partition", GOTO="test_dev"
+ IMPORT{parent}="DM_MULTIPATH_DEVICE_PATH"
+diff --git a/multipathd/multipathd.8.in b/multipathd/multipathd.8.in
+index f1cab3ff..5ae21db1 100644
+--- a/multipathd/multipathd.8.in
++++ b/multipathd/multipathd.8.in
+@@ -49,6 +49,8 @@ map regains its maximum performance and redundancy.
+ With the \fB-k\fR option, \fBmultipathd\fR acts as a client utility that
+ sends commands to a running instance of the multipathd daemon (see
+ \fBCOMMANDS\fR below).
++
++In this Linux distribution, multipathd does not run unless a /etc/multipath.conf file exists.
+ .
+ .
+ .\" ----------------------------------------------------------------------------
+diff --git a/multipathd/multipathd.service.in b/multipathd/multipathd.service.in
+index 6d03ff71..0cd85102 100644
+--- a/multipathd/multipathd.service.in
++++ b/multipathd/multipathd.service.in
+@@ -5,6 +5,7 @@ Before=local-fs-pre.target blk-availability.service shutdown.target
+ Wants=systemd-udevd-kernel.socket @MODPROBE_UNIT@
+ After=systemd-udevd-kernel.socket @MODPROBE_UNIT@
+ After=multipathd.socket systemd-remount-fs.service
++ConditionPathExists=/etc/multipath.conf
+ Before=initrd-cleanup.service
+ DefaultDependencies=no
+ Conflicts=shutdown.target
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0004-RH-use-rpm-optflags-if-present.patch b/meta-oe/recipes-support/multipath-tools/files/0004-RH-use-rpm-optflags-if-present.patch
new file mode 100644
index 0000000000..91477a44cb
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0004-RH-use-rpm-optflags-if-present.patch
@@ -0,0 +1,55 @@
+From f1b74f21875d6d9f0a5ac3d67df40a28b167052a Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 09:19:17 +0800
+Subject: [PATCH 04/12] RH: use rpm optflags if present
+
+Use the passed in optflags when compiling as an RPM, and keep the
+default flags as close as possible to the current fedora flags, while
+still being generic.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ Makefile.inc | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.inc b/Makefile.inc
+index de89b21f..6ac632ff 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -95,7 +95,15 @@ SYSTEMD_LIBDEPS := $(if $(SYSTEMD),$(if $(shell test $(SYSTEMD) -gt 209 && echo
+ MODPROBE_UNIT := $(shell test "0$(SYSTEMD)" -lt 245 2>/dev/null || \
+ echo "modprobe@dm_multipath.service")
+
+-OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
++ifndef RPM_OPT_FLAGS
++ OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
++else
++ OPTFLAGS = $(RPM_OPT_FLAGS)
++endif
++OPTFLAGS += -Wextra -Wstrict-prototypes -Wformat=0 -Werror=implicit-int \
++ -Werror=implicit-function-declaration -Wno-sign-compare \
++ -Wno-unused-parameter -Werror=cast-qual \
++ -Werror=discarded-qualifiers
+ WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
+ -Werror=implicit-function-declaration -Werror=format-security \
+ $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) $(W_URCU_TYPE_LIMITS)
+@@ -105,7 +113,7 @@ CPPFLAGS := $(FORTIFY_OPT) $(CPPFLAGS) $(D_URCU_VERSION) \
+ -DRUNTIME_DIR=\"$(runtimedir)\" -DCONFIG_DIR=\"$(configdir)\" \
+ -DDEFAULT_CONFIGFILE=\"$(configfile)\" -DSTATE_DIR=\"$(statedir)\" \
+ -DEXTRAVERSION=\"$(EXTRAVERSION)\" -MMD -MP
+-CFLAGS := -std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe
++CFLAGS := -std=gnu99 $(CFLAGS) $(OPTFLAGS) -pipe
+ BIN_CFLAGS := -fPIE -DPIE
+ LIB_CFLAGS := -fPIC
+ SHARED_FLAGS := -shared
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch b/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch
new file mode 100644
index 0000000000..c6089612b3
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0005-RH-add-mpathconf.patch
@@ -0,0 +1,653 @@
+From 8f52504859704466667e042baf437c2b6272ffb9 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 09:55:12 +0800
+Subject: [PATCH 05/12] RH: add mpathconf
+
+mpathconf is a program (largely based on lvmcomf) to help users
+configure /etc/multipath.conf and enable or disable multipathing. It
+has a couple of built-in options that can be set directly from the
+command line. But, mostly it is used to get a multipath.conf file
+with the OS defaults, and to enable and disable multipathing via
+a single command.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ libmultipath/config.c | 1 +
+ multipath/Makefile | 4 +
+ multipath/mpathconf | 464 ++++++++++++++++++++++++++++++++++++++++++
+ multipath/mpathconf.8 | 101 +++++++++
+ 4 files changed, 570 insertions(+)
+ create mode 100644 multipath/mpathconf
+ create mode 100644 multipath/mpathconf.8
+
+diff --git a/libmultipath/config.c b/libmultipath/config.c
+index 8a3a8f37..a40b41ab 100644
+--- a/libmultipath/config.c
++++ b/libmultipath/config.c
+@@ -962,6 +962,7 @@ int _init_config (const char *file, struct config *conf)
+ validate_pctable(conf->overrides, 0, file);
+ } else {
+ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
++ condlog(0, "You can run /sbin/mpathconf to create or modify /etc/multipath.conf");
+ if (conf->blist_devnode == NULL) {
+ conf->blist_devnode = vector_alloc();
+ if (!conf->blist_devnode) {
+diff --git a/multipath/Makefile b/multipath/Makefile
+index 2ea9e528..6b1fa09e 100644
+--- a/multipath/Makefile
++++ b/multipath/Makefile
+@@ -24,6 +24,7 @@ $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
+ install:
+ $(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+ $(Q)$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
++ $(Q)$(INSTALL_PROGRAM) -m 755 mpathconf $(DESTDIR)$(bindir)/
+ $(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
+ $(Q)$(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
+ $(Q)$(INSTALL_PROGRAM) -m 644 99-z-dm-mpath-late.rules $(DESTDIR)$(udevrulesdir)
+@@ -34,6 +35,7 @@ install:
+ $(Q)$(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(mandir)/man8
+ $(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)/man5
+ $(Q)$(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(mandir)/man5
++ $(Q)$(INSTALL_PROGRAM) -m 644 mpathconf.8 $(DESTDIR)$(mandir)/man8
+ $(Q)$(INSTALL_PROGRAM) -d $(DESTDIR)$(modulesloaddir)
+ ifeq ($(MODPROBE_UNIT),)
+ $(Q)$(INSTALL_PROGRAM) -m 644 modules-load.conf $(DESTDIR)$(modulesloaddir)/multipath.conf
+@@ -51,8 +53,10 @@ uninstall:
+ $(Q)$(RM) $(DESTDIR)$(modulesloaddir)/multipath.conf
+ $(Q)$(RM) $(DESTDIR)$(modulesloaddir)/scsi_dh.conf
+ $(Q)$(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
++ $(Q)$(RM) $(DESTDIR)$(bindir)/mpathconf
+ $(Q)$(RM) $(DESTDIR)$(mandir)/man8/$(EXEC).8
+ $(Q)$(RM) $(DESTDIR)$(mandir)/man5/$(EXEC).conf.5
++ $(Q)$(RM) $(DESTDIR)$(mandir)/man8/mpathconf.8
+ $(Q)$(RM) $(DESTDIR)$(tmpfilesdir)/multipath.conf
+
+ clean: dep_clean
+diff --git a/multipath/mpathconf b/multipath/mpathconf
+new file mode 100644
+index 00000000..e8391347
+--- /dev/null
++++ b/multipath/mpathconf
+@@ -0,0 +1,464 @@
++#!/bin/bash
++#
++# Copyright (C) 2010 Red Hat, Inc. All rights reserved.
++#
++# This file is part of the device-mapper-multipath package.
++#
++# This copyrighted material is made available to anyone wishing to use,
++# modify, copy, or redistribute it subject to the terms and conditions
++# of the GNU General Public License v.2.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software Foundation,
++# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++#
++# Simple editting of /etc/multipath.conf
++# This program was largely ripped off from lvmconf
++#
++
++unset ENABLE FIND FRIENDLY MODULE MULTIPATHD HAVE_DISABLE HAVE_WWID_DISABLE HAVE_FIND HAVE_BLACKLIST HAVE_EXCEPTIONS HAVE_DEFAULTS HAVE_FRIENDLY HAVE_MULTIPATHD HAVE_MODULE HAVE_OUTFILE SHOW_STATUS CHANGED_CONFIG WWID_LIST
++
++DEFAULT_CONFIG="# device-mapper-multipath configuration file
++
++# For a complete list of the default configuration values, run either:
++# # multipath -t
++# or
++# # multipathd show config
++
++# For a list of configuration options with descriptions, see the
++# multipath.conf man page.
++
++defaults {
++ user_friendly_names yes
++ find_multipaths yes
++}
++
++blacklist_exceptions {
++ property \"(SCSI_IDENT_|ID_WWN)\"
++}"
++
++CONFIGFILE="/etc/multipath.conf"
++OUTPUTFILE="/etc/multipath.conf"
++MULTIPATHDIR="/etc/multipath"
++TMPFILE="/etc/multipath/.multipath.conf.tmp"
++WWIDS=0
++
++function usage
++{
++ echo "usage: $0 <command>"
++ echo ""
++ echo "Commands:"
++ echo "Enable: --enable "
++ echo "Disable: --disable"
++ echo "Only allow certain wwids (instead of enable): --allow <WWID>"
++ echo "Set user_friendly_names (Default y): --user_friendly_names <y|n>"
++ echo "Set find_multipaths (Default y): --find_multipaths <y|n>"
++ echo "Load the dm-multipath modules on enable (Default y): --with_module <y|n>"
++ echo "start/stop/reload multipathd (Default n): --with_multipathd <y|n>"
++ echo "select output file (Default /etc/multipath.conf): --outfile <FILE>"
++ echo ""
++}
++
++function add_wwid
++{
++ INDEX=0
++ while [ "$INDEX" -lt "$WWIDS" ] ; do
++ if [ "$1" = "${WWID_LIST[$INDEX]}" ] ; then
++ return
++ fi
++ ((INDEX++))
++ done
++ WWID_LIST[$WWIDS]="$1"
++ ((WWIDS++))
++}
++
++function get_dm_deps
++{
++ shift 3
++ while [ -n "$1" -a -n "$2" ]; do
++ MAJOR=$(echo $1 | tr -d '(,')
++ MINOR=$(echo $2 | tr -d ')')
++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null`
++ if [ -n "$UUID" ] ; then
++ set_dm_wwid $UUID
++ fi
++ shift 2
++ done
++}
++
++function set_dm_wwid
++{
++ if [[ "$1" =~ ^part[[:digit:]]+-mpath- ]] ; then
++ add_wwid "${1##part*-mpath-}"
++ elif [[ "$1" =~ ^mpath- ]] ; then
++ add_wwid "${1##mpath-}"
++ else
++ get_dm_deps `dmsetup deps -u $1`
++ fi
++}
++
++function set_wwid
++{
++ UUID=""
++ if [[ "$1" =~ ^[[:digit:]]+:[[:digit:]]+$ ]] ; then
++ MAJOR=${1%%:*}
++ MINOR=${1##*:}
++ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null`
++ else
++ UUID=`dmsetup info -c --noheadings -o uuid $1 2> /dev/null`
++ fi
++ if [ -n "$UUID" ] ; then
++ set_dm_wwid $UUID
++ else
++ add_wwid "$1"
++ fi
++}
++
++function parse_args
++{
++ while [ -n "$1" ]; do
++ case $1 in
++ --enable)
++ ENABLE=1
++ shift
++ ;;
++ --disable)
++ ENABLE=0
++ shift
++ ;;
++ --allow)
++ ENABLE=2
++ if [ -n "$2" ]; then
++ set_wwid $2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --user_friendly_names)
++ if [ -n "$2" ]; then
++ FRIENDLY=$2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --find_multipaths)
++ if [ -n "$2" ]; then
++ FIND=$2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --with_module)
++ if [ -n "$2" ]; then
++ MODULE=$2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --with_multipathd)
++ if [ -n "$2" ]; then
++ MULTIPATHD=$2
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ --outfile)
++ if [ -n "$2" ]; then
++ OUTPUTFILE=$2
++ HAVE_OUTFILE=1
++ shift 2
++ else
++ usage
++ exit 1
++ fi
++ ;;
++ *)
++ usage
++ exit
++ esac
++ done
++}
++
++function validate_args
++{
++ if [ "$ENABLE" = "0" ] && [ -n "$FRIENDLY" -o -n "$FIND" -o -n "$MODULE" ]; then
++ echo "ignoring extra parameters on disable"
++ FRIENDLY=""
++ FIND=""
++ MODULE=""
++ fi
++ if [ -n "$FRIENDLY" ] && [ "$FRIENDLY" != "y" -a "$FRIENDLY" != "n" ]; then
++ echo "--user_friendly_names must be either 'y' or 'n'"
++ exit 1
++ fi
++ if [ -n "$FIND" ] && [ "$FIND" != "y" -a "$FIND" != "n" ]; then
++ echo "--find_multipaths must be either 'y' or 'n'"
++ exit 1
++ fi
++ if [ -z "$ENABLE" -a -z "$FIND" -a -z "$FRIENDLY" ]; then
++ SHOW_STATUS=1
++ fi
++ if [ -n "$MODULE" ] && [ "$MODULE" != "y" -a "$MODULE" != "n" ]; then
++ echo "--with_module must be either 'y' or 'n'"
++ exit 1
++ fi
++ if [ -n "$MULTIPATHD" ] && [ "$MULTIPATHD" != "y" -a "$MULTIPATHD" != "n" ]; then
++ echo "--with_multipathd must be either 'y' or 'n'"
++ exit 1
++ fi
++ if [ "$ENABLE" = 2 -a -z "$HAVE_OUTFILE" ]; then
++ echo "Because --allow makes changes that cannot be automatically reversed,"
++ echo "you must set --outfile when you set --allow"
++ exit 1
++ fi
++}
++
++function add_blacklist_exceptions
++{
++ INDEX=0
++ while [ "$INDEX" -lt "$WWIDS" ] ; do
++ sed -i '/^blacklist_exceptions[[:space:]]*{/ a\
++ wwid '"\"${WWID_LIST[$INDEX]}\""'
++' $TMPFILE
++ ((INDEX++))
++ done
++}
++
++umask 0077
++
++parse_args "$@"
++
++validate_args
++
++if [ ! -d "$MULTIPATHDIR" ]; then
++ echo "/etc/multipath/ does not exist. failing"
++ exit 1
++fi
++
++rm $TMPFILE 2> /dev/null
++echo "$DEFAULT_CONFIG" > $TMPFILE
++if [ -f "$CONFIGFILE" ]; then
++ cp $CONFIGFILE $TMPFILE
++fi
++
++if grep -q "^blacklist[[:space:]]*{" $TMPFILE ; then
++ HAVE_BLACKLIST=1
++fi
++
++if grep -q "^blacklist_exceptions[[:space:]]*{" $TMPFILE ; then
++ HAVE_EXCEPTIONS=1
++fi
++
++if grep -q "^defaults[[:space:]]*{" $TMPFILE ; then
++ HAVE_DEFAULTS=1
++fi
++
++if [ -z "$MODULE" -o "$MODULE" = "y" ]; then
++ if lsmod | grep -q "dm_multipath" ; then
++ HAVE_MODULE=1
++ else
++ HAVE_MODULE=0
++ fi
++fi
++
++if [ "$MULTIPATHD" = "y" ]; then
++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then
++ HAVE_MULTIPATHD=1
++ else
++ HAVE_MULTIPATHD=0
++ fi
++fi
++
++if [ "$HAVE_BLACKLIST" = "1" ]; then
++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*devnode \"\.\?\*\"" ; then
++ HAVE_DISABLE=1
++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"" ; then
++ HAVE_DISABLE=0
++ fi
++fi
++
++if [ "$HAVE_BLACKLIST" = "1" ]; then
++ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*wwid \"\.\?\*\"" ; then
++ HAVE_WWID_DISABLE=1
++ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"" ; then
++ HAVE_WWID_DISABLE=0
++ fi
++fi
++
++if [ "$HAVE_DEFAULTS" = "1" ]; then
++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)" ; then
++ HAVE_FIND=1
++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)" ; then
++ HAVE_FIND=0
++ fi
++ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)" ; then
++ HAVE_FRIENDLY=1
++ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)" ; then
++ HAVE_FRIENDLY=0
++ fi
++fi
++
++if [ -n "$SHOW_STATUS" ]; then
++ if [ -z "$HAVE_DISABLE" -o "$HAVE_DISABLE" = 0 ]; then
++ echo "multipath is enabled"
++ else
++ echo "multipath is disabled"
++ fi
++ if [ -z "$HAVE_FIND" -o "$HAVE_FIND" = 0 ]; then
++ echo "find_multipaths is disabled"
++ else
++ echo "find_multipaths is enabled"
++ fi
++ if [ -z "$HAVE_FRIENDLY" -o "$HAVE_FRIENDLY" = 0 ]; then
++ echo "user_friendly_names is disabled"
++ else
++ echo "user_friendly_names is enabled"
++ fi
++ if [ -n "$HAVE_MODULE" ]; then
++ if [ "$HAVE_MODULE" = 1 ]; then
++ echo "dm_multipath module is loaded"
++ else
++ echo "dm_multipath module is not loaded"
++ fi
++ fi
++ if [ -z "$HAVE_MULTIPATHD" ]; then
++ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then
++ HAVE_MULTIPATHD=1
++ else
++ HAVE_MULTIPATHD=0
++ fi
++ fi
++ if [ "$HAVE_MULTIPATHD" = 1 ]; then
++ echo "multipathd is running"
++ else
++ echo "multipathd is not running"
++ fi
++ exit 0
++fi
++
++if [ -z "$HAVE_BLACKLIST" ]; then
++ cat >> $TMPFILE <<- _EOF_
++
++blacklist {
++}
++_EOF_
++fi
++
++if [ -z "$HAVE_DEFAULTS" ]; then
++ cat >> $TMPFILE <<- _EOF_
++
++defaults {
++}
++_EOF_
++fi
++
++if [ "$ENABLE" = 2 ]; then
++ if [ "$HAVE_DISABLE" = 1 ]; then
++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE
++ fi
++ if [ -z "$HAVE_WWID_DISABLE" ]; then
++ sed -i '/^blacklist[[:space:]]*{/ a\
++ wwid ".*"
++' $TMPFILE
++ elif [ "$HAVE_WWID_DISABLE" = 0 ]; then
++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"/ wwid ".*"/' $TMPFILE
++ fi
++ if [ "$HAVE_EXCEPTIONS" = 1 ]; then
++ sed -i '/^blacklist_exceptions[[:space:]]*{/,/^}/ {/^[[:space:]]*wwid/ d}' $TMPFILE
++ else
++ cat >> $TMPFILE <<- _EOF_
++
++blacklist_exceptions {
++}
++_EOF_
++ fi
++ add_blacklist_exceptions
++elif [ "$ENABLE" = 1 ]; then
++ if [ "$HAVE_DISABLE" = 1 ]; then
++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE
++ fi
++elif [ "$ENABLE" = 0 ]; then
++ if [ -z "$HAVE_DISABLE" ]; then
++ sed -i '/^blacklist[[:space:]]*{/ a\
++ devnode ".*"
++' $TMPFILE
++ elif [ "$HAVE_DISABLE" = 0 ]; then
++ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"/ devnode ".*"/' $TMPFILE
++ fi
++fi
++
++if [ "$FIND" = "n" ]; then
++ if [ "$HAVE_FIND" = 1 ]; then
++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)/ find_multipaths no/' $TMPFILE
++ CHANGED_CONFIG=1
++ fi
++elif [ "$FIND" = "y" ]; then
++ if [ -z "$HAVE_FIND" ]; then
++ sed -i '/^defaults[[:space:]]*{/ a\
++ find_multipaths yes
++' $TMPFILE
++ CHANGED_CONFIG=1
++ elif [ "$HAVE_FIND" = 0 ]; then
++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)/ find_multipaths yes/' $TMPFILE
++ CHANGED_CONFIG=1
++ fi
++fi
++
++if [ "$FRIENDLY" = "n" ]; then
++ if [ "$HAVE_FRIENDLY" = 1 ]; then
++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)/ user_friendly_names no/' $TMPFILE
++ CHANGED_CONFIG=1
++ fi
++elif [ "$FRIENDLY" = "y" ]; then
++ if [ -z "$HAVE_FRIENDLY" ]; then
++ sed -i '/^defaults[[:space:]]*{/ a\
++ user_friendly_names yes
++' $TMPFILE
++ CHANGED_CONFIG=1
++ elif [ "$HAVE_FRIENDLY" = 0 ]; then
++ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)/ user_friendly_names yes/' $TMPFILE
++ CHANGED_CONFIG=1
++ fi
++fi
++
++if [ -f "$OUTPUTFILE" ]; then
++ cp $OUTPUTFILE $OUTPUTFILE.old
++ if [ $? != 0 ]; then
++ echo "failed to backup old config file, $OUTPUTFILE not updated"
++ exit 1
++ fi
++fi
++
++cp $TMPFILE $OUTPUTFILE
++if [ $? != 0 ]; then
++ echo "failed to copy new config file into place, check $OUTPUTFILE is still OK"
++ exit 1
++fi
++
++rm -f $TMPFILE
++
++if [ "$ENABLE" = 1 ]; then
++ if [ "$HAVE_MODULE" = 0 ]; then
++ modprobe dm_multipath
++ fi
++ if [ "$HAVE_MULTIPATHD" = 0 ]; then
++ systemctl start multipathd.service
++ fi
++elif [ "$ENABLE" = 0 ]; then
++ if [ "$HAVE_MULTIPATHD" = 1 ]; then
++ systemctl stop multipathd.service
++ fi
++elif [ -n "$CHANGED_CONFIG" -a "$HAVE_MULTIPATHD" = 1 ]; then
++ systemctl reload multipathd.service
++fi
+diff --git a/multipath/mpathconf.8 b/multipath/mpathconf.8
+new file mode 100644
+index 00000000..4cd32672
+--- /dev/null
++++ b/multipath/mpathconf.8
+@@ -0,0 +1,101 @@
++.TH MPATHCONF 8 "June 2010" "" "Linux Administrator's Manual"
++.SH NAME
++mpathconf - A tool for configuring device-mapper-multipath
++.SH SYNOPSIS
++.B mpathconf
++.RB [\| commands \|]
++.RB [\| options \|]
++.SH DESCRIPTION
++.B mpathconf
++is a utility that creates or modifies
++.B /etc/multipath.conf.
++It can enable or disable multipathing and configure some common options.
++.B mpathconf
++can also load the
++.B dm_multipath
++module, start and stop the
++.B multipathd
++daemon, and configure the
++.B multipathd
++service to start automatically or not. If
++.B mpathconf
++is called with no commands, it will display the current configuration.
++
++The default options for mpathconf are
++.B --with_module
++The
++.B --with_multipathd
++option is not set by default. Enabling multipathing will load the
++.B dm_multipath
++module but it will not immediately start it. This is so
++that users can manually edit their config file if necessary, before starting
++.B multipathd.
++
++If
++.B /etc/multipath.conf
++already exists, mpathconf will edit it. If it does not exist, mpathconf will
++create a default file with
++.B user_friendly_names
++and
++.B find_multipaths
++set. To disable these, use the
++.B --user_friendly_names n
++and
++.B --find_multipaths n
++options
++.SH COMMANDS
++.TP
++.B --enable
++Removes any line that blacklists all device nodes from the
++.B /etc/multipath.conf
++blacklist section.
++.TP
++.B --disable
++Adds a line that blacklists all device nodes to the
++.B /etc/multipath.conf
++blacklist section. If no blacklist section exists, it will create one.
++.TP
++.B --user_friendly_name \fP { \fBy\fP | \fBn\fP }
++If set to \fBy\fP, this adds the line
++.B user_friendly_names yes
++to the
++.B /etc/multipath.conf
++defaults section. If set to \fBn\fP, this removes the line, if present. This
++command can be used along with any other command.
++.TP
++.B --find_multipaths\fP { \fBy\fP | \fBn\fP }
++If set to \fBy\fP, this adds the line
++.B find_multipaths yes
++to the
++.B /etc/multipath.conf
++defaults section. If set to \fBn\fP, this removes the line, if present. This
++command can be used aldong with any other command.
++.SH OPTIONS
++.TP
++.B --with_module\fP { \fBy\fP | \fBn\fP }
++If set to \fBy\fP, this runs
++.B modprobe dm_multipath
++to install the multipath modules. This option only works with the
++.B --enable
++command. This option is set to \fBy\fP by default.
++.TP
++.B --with_multipathd { \fBy\fP | \fBn\fP }
++If set to \fBy\fP, this runs
++.B service multipathd start
++to start the multipathd daemon on \fB--enable\fP,
++.B service multipathd stop
++to stop the multipathd daemon on \fB--disable\fP, and
++.B service multipathd reload
++to reconfigure multipathd on \fB--user_frindly_names\fP and
++\fB--find_multipaths\fP.
++This option is set to \fBn\fP by default.
++.SH FILES
++.BR /etc/multipath.conf
++.SH "SEE ALSO"
++.BR multipath.conf (5),
++.BR modprobe (8),
++.BR multipath (8),
++.BR multipathd (8),
++.BR service (8),
++.SH AUTHOR
++Benjamin Marzinski <bmarzins@redhat.com>
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
new file mode 100644
index 0000000000..8df7de3b48
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
@@ -0,0 +1,95 @@
+From f93248d8e3598ccdc42b6d639107917c9cda268c Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 26 Sep 2019 16:29:48 +0800
+Subject: [PATCH 06/12] RH: add wwids from kernel cmdline mpath.wwids with -A
+
+This patch adds another option to multipath, "-A", which reads
+/proc/cmdline for mpath.wwid=<WWID> options, and adds any wwids it finds
+to /etc/multipath/wwids. While this isn't usually important during
+normal operation, since these wwids should already be added, it can be
+helpful during installation, to make sure that multipath can claim
+devices as its own, before LVM or something else makes use of them. The
+patch also execs "/sbin/multipath -A" before running multipathd in
+multipathd.service
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ libmultipath/wwids.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ libmultipath/wwids.h | 1 +
+ 2 files changed, 45 insertions(+)
+
+diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c
+index 591cd09b..b01f1b85 100644
+--- a/libmultipath/wwids.c
++++ b/libmultipath/wwids.c
+@@ -439,3 +439,47 @@ int unmark_failed_wwid(const char *wwid)
+ print_failed_wwid_result("unmark_failed", wwid, r);
+ return r;
+ }
++
++int remember_cmdline_wwid(void)
++{
++ FILE *f = NULL;
++ char buf[LINE_MAX], *next, *ptr;
++ int ret = 0;
++
++ f = fopen("/proc/cmdline", "re");
++ if (!f) {
++ condlog(0, "can't open /proc/cmdline : %s", strerror(errno));
++ return -1;
++ }
++
++ if (!fgets(buf, sizeof(buf), f)) {
++ if (ferror(f))
++ condlog(0, "read of /proc/cmdline failed : %s",
++ strerror(errno));
++ else
++ condlog(0, "couldn't read /proc/cmdline");
++ fclose(f);
++ return -1;
++ }
++ fclose(f);
++ next = buf;
++ while((ptr = strstr(next, "mpath.wwid="))) {
++ ptr += 11;
++ next = strpbrk(ptr, " \t\n");
++ if (next) {
++ *next = '\0';
++ next++;
++ }
++ if (strlen(ptr)) {
++ if (remember_wwid(ptr) != 0)
++ ret = -1;
++ }
++ else {
++ condlog(0, "empty mpath.wwid kernel command line option");
++ ret = -1;
++ }
++ if (!next)
++ break;
++ }
++ return ret;
++}
+diff --git a/libmultipath/wwids.h b/libmultipath/wwids.h
+index 0c6ee54d..e32a0b0e 100644
+--- a/libmultipath/wwids.h
++++ b/libmultipath/wwids.h
+@@ -17,6 +17,7 @@ int remember_wwid(char *wwid);
+ int check_wwids_file(char *wwid, int write_wwid);
+ int remove_wwid(char *wwid);
+ int replace_wwids(vector mp);
++int remember_cmdline_wwid(void);
+
+ enum {
+ WWID_IS_NOT_FAILED = 0,
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0007-RH-warn-on-invalid-regex-instead-of-failing.patch b/meta-oe/recipes-support/multipath-tools/files/0007-RH-warn-on-invalid-regex-instead-of-failing.patch
new file mode 100644
index 0000000000..c64b8aeabc
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0007-RH-warn-on-invalid-regex-instead-of-failing.patch
@@ -0,0 +1,105 @@
+From 49d0b0279f54ceb96878e8e72e828efbb84a534c Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Fri, 1 Mar 2024 11:45:10 +0800
+Subject: [PATCH 07/12] RH: warn on invalid regex instead of failing
+
+multipath.conf used to allow "*" as a match everything regular expression,
+instead of requiring ".*". Instead of erroring when the old style
+regular expressions are used, it should print a warning and convert
+them.
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+[OP: Rebase to 0.9.3]
+[OP: adjusted FREE() -> free(), made set_regex_value() static]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ libmultipath/dict.c | 40 ++++++++++++++++++++++++++++++++++------
+ 1 file changed, 34 insertions(+), 6 deletions(-)
+
+diff --git a/libmultipath/dict.c b/libmultipath/dict.c
+index 5af036b7..e494419d 100644
+--- a/libmultipath/dict.c
++++ b/libmultipath/dict.c
+@@ -189,6 +189,34 @@ set_str_noslash(vector strvec, void *ptr, const char *file, int line_nr)
+ return 0;
+ }
+
++static void *
++set_regex_value(vector strvec)
++{
++ char *buff = set_value(strvec);
++
++ if (buff && strcmp("*", buff) == 0) {
++ condlog(0, "Invalid regular expression \"*\" in multipath.conf. Using \".*\"");
++ free(buff);
++ return strdup(".*");
++ }
++ return buff;
++}
++
++static int
++set_regex(vector strvec, void *ptr, const char *file, int line_nr)
++{
++ char **str_ptr = (char **)ptr;
++
++ if (*str_ptr)
++ free(*str_ptr);
++ *str_ptr = set_regex_value(strvec);
++
++ if (!*str_ptr)
++ return 1;
++
++ return 0;
++}
++
+ static int
+ set_yes_no(vector strvec, void *ptr, const char *file, int line_nr)
+ {
+@@ -1798,7 +1826,7 @@ ble_ ## option ## _handler (struct config *conf, vector strvec, \
+ if (!conf->option) \
+ return 1; \
+ \
+- buff = set_value(strvec); \
++ buff = set_regex_value(strvec); \
+ if (!buff) \
+ return 1; \
+ \
+@@ -1818,7 +1846,7 @@ ble_ ## option ## _ ## name ## _handler (struct config *conf, vector strvec, \
+ if (!conf->option) \
+ return 1; \
+ \
+- buff = set_value(strvec); \
++ buff = set_regex_value(strvec); \
+ if (!buff) \
+ return 1; \
+ \
+@@ -1924,16 +1952,16 @@ device_handler(struct config *conf, vector strvec, const char *file,
+ return 0;
+ }
+
+-declare_hw_handler(vendor, set_str)
++declare_hw_handler(vendor, set_regex)
+ declare_hw_snprint(vendor, print_str)
+
+-declare_hw_handler(product, set_str)
++declare_hw_handler(product, set_regex)
+ declare_hw_snprint(product, print_str)
+
+-declare_hw_handler(revision, set_str)
++declare_hw_handler(revision, set_regex)
+ declare_hw_snprint(revision, print_str)
+
+-declare_hw_handler(bl_product, set_str)
++declare_hw_handler(bl_product, set_regex)
+ declare_hw_snprint(bl_product, print_str)
+
+ declare_hw_arg_str_handler(hwhandler, 0)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0008-RH-reset-default-find_mutipaths-value-to-off.patch b/meta-oe/recipes-support/multipath-tools/files/0008-RH-reset-default-find_mutipaths-value-to-off.patch
new file mode 100644
index 0000000000..1fa1f3be27
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0008-RH-reset-default-find_mutipaths-value-to-off.patch
@@ -0,0 +1,34 @@
+From fcba3e0d4c8448a2510025acb255c7335413bf56 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 11:12:01 +0800
+Subject: [PATCH 08/12] RH: reset default find_mutipaths value to off
+
+Upstream has changed to default find_multipaths to "strict". For now
+Redhat will retain the previous default of "off".
+
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+
+Upstream-Status: Pending
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ libmultipath/defaults.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
+index 64b633f2..a06a8a41 100644
+--- a/libmultipath/defaults.h
++++ b/libmultipath/defaults.h
+@@ -23,7 +23,7 @@
+ #define DEFAULT_NO_PATH_RETRY NO_PATH_RETRY_UNDEF
+ #define DEFAULT_VERBOSITY 2
+ #define DEFAULT_REASSIGN_MAPS 0
+-#define DEFAULT_FIND_MULTIPATHS FIND_MULTIPATHS_STRICT
++#define DEFAULT_FIND_MULTIPATHS FIND_MULTIPATHS_OFF
+ #define DEFAULT_FAST_IO_FAIL 5
+ #define DEFAULT_DEV_LOSS_TMO 600
+ #define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_ON
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-modify-create-config.mk-for-cross-co.patch b/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-modify-create-config.mk-for-cross-co.patch
new file mode 100644
index 0000000000..041b79a9af
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0009-multipath-tools-modify-create-config.mk-for-cross-co.patch
@@ -0,0 +1,40 @@
+From 7452549e572b1c40aefe25524bf4bbbf34c952e5 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 4 Jun 2019 11:39:39 +0800
+Subject: [PATCH 09/12] multipath-tools: modify create-config.mk for
+ cross-compilation
+
+Do not look for systemd info on the host, and allow us to pass in CFLAGS
+using the OPTFLAGS variable.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ create-config.mk | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/create-config.mk b/create-config.mk
+index 4d318b96..a65975ba 100644
+--- a/create-config.mk
++++ b/create-config.mk
+@@ -127,10 +127,6 @@ ifeq ($(ENABLE_DMEVENTS_POLL),0)
+ DEFINES += -DNO_DMEVENTS_POLL
+ endif
+
+-SYSTEMD := $(strip $(or $(shell $(PKG_CONFIG) --modversion libsystemd 2>/dev/null | awk '{print $$1}'), \
+- $(shell systemctl --version 2>/dev/null | sed -n 's/systemd \([0-9]*\).*/\1/p')))
+-
+-
+ # $(call TEST_CC_OPTION,option,fallback)
+ # Test if the C compiler supports the option.
+ # Evaluates to "option" if yes, and "fallback" otherwise.
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0010-Subject-PATCH-Always-use-devmapper.patch b/meta-oe/recipes-support/multipath-tools/files/0010-Subject-PATCH-Always-use-devmapper.patch
new file mode 100644
index 0000000000..b48720b8a1
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0010-Subject-PATCH-Always-use-devmapper.patch
@@ -0,0 +1,72 @@
+From 5d2fa3c5975266a6c02214afa6254e6eeeb1baad Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 26 Nov 2018 11:17:41 +0800
+Subject: [PATCH 10/12] Subject: [PATCH] Always use devmapper
+
+Do not try to compute several _API_ make variables
+from host information when cross-compiling.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Rebase to 0.9.8
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ create-config.mk | 36 ++++++++----------------------------
+ 1 file changed, 8 insertions(+), 28 deletions(-)
+
+diff --git a/create-config.mk b/create-config.mk
+index a65975ba..8ba592f4 100644
+--- a/create-config.mk
++++ b/create-config.mk
+@@ -79,34 +79,14 @@ URCU_VERSION = $(shell \
+
+ DEFINES :=
+
+-ifneq ($(call check_func,dm_task_no_flush,$(devmapper_incdir)/libdevmapper.h),0)
+- DEFINES += LIBDM_API_FLUSH
+-endif
+-
+-ifneq ($(call check_func,dm_task_get_errno,$(devmapper_incdir)/libdevmapper.h),0)
+- DEFINES += LIBDM_API_GET_ERRNO
+-endif
+-
+-ifneq ($(call check_func,dm_task_set_cookie,$(devmapper_incdir)/libdevmapper.h),0)
+- DEFINES += LIBDM_API_COOKIE
+-endif
+-
+-ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,$(libudev_incdir)/libudev.h),0)
+- DEFINES += LIBUDEV_API_RECVBUF
+-endif
+-
+-ifneq ($(call check_func,dm_task_deferred_remove,$(devmapper_incdir)/libdevmapper.h),0)
+- DEFINES += LIBDM_API_DEFERRED
+-endif
+-
+-ifneq ($(call check_func,dm_hold_control_dev,$(devmapper_incdir)/libdevmapper.h),0)
+- DEFINES += LIBDM_API_HOLD_CONTROL
+-endif
+-
+-ifneq ($(call check_var,ELS_DTAG_LNK_INTEGRITY,$(kernel_incdir)/scsi/fc/fc_els.h),0)
+- DEFINES += FPIN_EVENT_HANDLER
+- FPIN_SUPPORT = 1
+-endif
++DEFINES += LIBDM_API_FLUSH
++DEFINES += LIBDM_API_GET_ERRNO
++DEFINES += LIBDM_API_COOKIE
++DEFINES += LIBUDEV_API_RECVBUF
++DEFINES += LIBDM_API_DEFERRED
++DEFINES += LIBDM_API_HOLD_CONTROL
++DEFINES += FPIN_EVENT_HANDLER
++FPIN_SUPPORT = 1
+
+ libmount_h := $(shell $(PKG_CONFIG) --variable=includedir mount)/libmount/libmount.h
+ ifneq ($(call check_func,mnt_unref_cache,$(libmount_h)),0)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0011-fix-bug-of-do_compile-and-do_install.patch b/meta-oe/recipes-support/multipath-tools/files/0011-fix-bug-of-do_compile-and-do_install.patch
new file mode 100644
index 0000000000..abaea2cfb6
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0011-fix-bug-of-do_compile-and-do_install.patch
@@ -0,0 +1,43 @@
+From 949070286692dfff89213792571da233fe82e440 Mon Sep 17 00:00:00 2001
+From: Wang Mingyu <wangmy@cn.fujitsu.com>
+Date: Sun, 10 May 2020 21:22:53 +0800
+Subject: [PATCH 11/12] fix bug of do_compile and do_install
+
+when multiple processes make run in parallel,
+because of dependency error will occur.
+
+Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
+
+[OP: Rebase to 0.9.3]
+[OP: Drop dependencies that are already present in the 0.9.3 Makefile]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+
+Upstream-Status: Pending
+---
+ Makefile | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 4df5f161..065249c2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -91,6 +91,16 @@ libmpathpersist libmpathvalid multipath multipathd: libmultipath
+ libmultipath/prioritizers libmultipath/checkers libmultipath/foreign: libmultipath
+ mpathpersist multipathd: libmpathpersist
+
++DEPS_ON_MULTIPATH := \
++ multipath \
++ multipathd \
++ mpathpersist \
++ libmpathpersist
++
++$(DEPS_ON_MULTIPATH:=.install): libmultipath.install
++mpathpersist.install: libmpathpersist.install
++libdmmp.install libmultipath/foreign.install: mpathpersist.install
++
+ libmultipath/checkers.install \
+ libmultipath/prioritizers.install \
+ libmultipath/foreign.install: libmultipath.install
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0012-add-explicit-dependency-on-libraries.patch b/meta-oe/recipes-support/multipath-tools/files/0012-add-explicit-dependency-on-libraries.patch
new file mode 100644
index 0000000000..2f774940d6
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/files/0012-add-explicit-dependency-on-libraries.patch
@@ -0,0 +1,40 @@
+From 7a46f43682641436464579d8bf76c382e71ea557 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 25 May 2020 23:22:55 -0700
+Subject: [PATCH 12/12] add explicit dependency on libraries
+
+[snip]
+gcc/i686-overc-linux/10.1.0/ld: cannot find -lmpathpersist
+collect2: error: ld returned 1 exit status
+Makefile:36: recipe for target 'multipathd' failed
+make[1]: *** [multipathd] Error 1
+make[1]: Leaving directory 'git/multipathd'
+Makefile:29: recipe for target 'multipathd' failed
+make: *** [multipathd] Error 2
+ln -sf libmpathpersist.so.0 libmpathpersist.so
+[snip]
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+[OP: Rebase to 0.9.3]
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index 065249c2..0444c2ea 100644
+--- a/Makefile
++++ b/Makefile
+@@ -90,6 +90,7 @@ libmultipath: libmpathutil
+ libmpathpersist libmpathvalid multipath multipathd: libmultipath
+ libmultipath/prioritizers libmultipath/checkers libmultipath/foreign: libmultipath
+ mpathpersist multipathd: libmpathpersist
++libmultipath mpathpersist multipath multipathd: libmpathcmd
+
+ DEPS_ON_MULTIPATH := \
+ multipath \
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch b/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
deleted file mode 100644
index e88e25617d..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0021-RH-fixup-udev-rules-for-redhat.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Benjamin Marzinski <bmarzins@redhat.com>
-Date: Thu, 13 Apr 2017 07:22:23 -0500
-Subject: [PATCH] RH: fixup udev rules for redhat
-
-The multipath rules need to run after scsi_id is run. This means moving
-them after 60-persistent-storage.rules for redhat. Redhat also uses a
-different naming scheme for partitions than SuSE. Also, there are some
-false warnings that gcc throws because of the changed options. Fix these
-too.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Update patch to 0.8.0
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- Makefile.inc | 2 +-
- kpartx/kpartx.rules | 2 +-
- multipath/Makefile | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/Makefile.inc b/Makefile.inc
-index fc728ca..2f0bcea 100644
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -48,7 +48,7 @@ endif
- prefix =
- exec_prefix = $(prefix)
- usr_prefix = $(prefix)
--bindir = $(exec_prefix)/sbin
-+bindir = $(exec_prefix)/usr/sbin
- libudevdir = $(prefix)/$(SYSTEMDPATH)/udev
- udevrulesdir = $(libudevdir)/rules.d
- multipathdir = $(TOPDIR)/libmultipath
-diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules
-index 8f99049..8a3a171 100644
---- a/kpartx/kpartx.rules
-+++ b/kpartx/kpartx.rules
-@@ -32,6 +32,6 @@ LABEL="mpath_kpartx_end"
- GOTO="kpartx_end"
-
- LABEL="run_kpartx"
--RUN+="/sbin/kpartx -un -p -part /dev/$name"
-+RUN+="/sbin/kpartx -un /dev/$name"
-
- LABEL="kpartx_end"
-diff --git a/multipath/Makefile b/multipath/Makefile
-index 0828a8f..b9bbb3c 100644
---- a/multipath/Makefile
-+++ b/multipath/Makefile
-@@ -24,7 +24,7 @@ install:
- $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
- $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
-@@ -33,7 +33,7 @@ install:
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
- $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules
-- $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
-+ $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
- $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
-
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch b/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
deleted file mode 100644
index 21b8ec6b06..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0022-RH-Remove-the-property-blacklist-exception-builtin.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17
-00:00:00 2001 From:Benjamin Marzinski <bmarzins@redhat.com> Date: Wed, 2 Jul
-2014 12:49:53 -0500 Subject: [PATCH] RH: Remove the property blacklist
-exception builtin
-
-Multipath set the default property blacklist exceptions to
-(ID_SCSI_VPD|ID_WWN). This has the effect of blacklisting some internal
-devices. These devices may never have multiple paths, but it is nice
-to be able to set multipath up on them all the same. This patch simply
-removes the default, and makes it so that if no property
-blacklist_exception is given, then devices aren't failed for not matching
-it.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Upsteam-Status: Pending
-
-Update patch to 0.8.2
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- libmultipath/blacklist.c | 13 +++++--------
- 1 file changed, 5 insertions(+), 8 deletions(-)
-
-diff --git a/libmultipath/blacklist.c b/libmultipath/blacklist.c
-index 00e8dbd..5204501 100644
---- a/libmultipath/blacklist.c
-+++ b/libmultipath/blacklist.c
-@@ -192,12 +192,6 @@ setup_default_blist (struct config * conf)
- char * str;
- int i;
-
-- str = STRDUP("^(ram|zram|raw|loop|fd|md|dm-|sr|scd|st|dcssblk)[0-9]");
-- if (!str)
-- return 1;
-- if (store_ble(conf->blist_devnode, str, ORIGIN_DEFAULT))
-- return 1;
--
- str = STRDUP("^(td|hd|vd)[a-z]");
- if (!str)
- return 1;
-@@ -437,8 +431,11 @@ filter_property(struct config *conf, struct udev_device *udev, int lvl,
- r = MATCH_NOTHING;
- }
-
-- log_filter(devname, NULL, NULL, NULL, env, NULL, r, lvl);
-- return r;
-+ if (VECTOR_SIZE(conf->elist_property)) {
-+ log_filter(devname, NULL, NULL, NULL, env, NULL, r, lvl);
-+ return r;
-+ }
-+ return 0;
- }
-
- static void free_ble(struct blentry *ble)
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch b/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
deleted file mode 100644
index ea6137f878..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0023-RH-don-t-start-without-a-config-file.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 0bf8ff8dab26201b268b419809844c07e168f17d Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 23 Nov 2018 17:25:15 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Wed, 15
- Oct 2014 10:39:30 -0500 Subject: [PATCH] RH: don't start without a config
- file
-
-If /etc/multipath.conf doesn't exist, don't start multipathd and blacklist
-all devices when running multipath. A completely blank configuration file
-is almost never what users want. Also, people may have the multipath
-packages installed but don't want to use them. This patch provides a
-simple way to disable multipath. Simply removing or renaming
-/etc/multipath.conf will keep multipath from doing anything.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Upstream-Status: Pending
-
-update this patch to new version
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- libmultipath/config.c | 18 ++++++++++++++++++
- libmultipath/config.h | 1 +
- multipath/multipath.rules | 1 +
- multipathd/multipathd.8 | 2 ++
- multipathd/multipathd.service | 1 +
- 5 files changed, 23 insertions(+)
-
-diff --git a/libmultipath/config.c b/libmultipath/config.c
-index 5af7af5..e4233f1 100644
---- a/libmultipath/config.c
-+++ b/libmultipath/config.c
-@@ -26,6 +26,7 @@
- #include "devmapper.h"
- #include "mpath_cmd.h"
- #include "propsel.h"
-+#include "version.h"
-
- static int
- hwe_strmatch (const struct hwentry *hwe1, const struct hwentry *hwe2)
-@@ -743,6 +745,23 @@ load_config (char * file)
- goto out;
- }
- factorize_hwtable(conf->hwtable, builtin_hwtable_size, file);
-+ } else {
-+ condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
-+ if (conf->blist_devnode == NULL) {
-+ conf->blist_devnode = vector_alloc();
-+ if (!conf->blist_devnode) {
-+ conf->blist_devnode = vector_alloc();
-+ if (!conf->blist_devnode) {
-+ condlog(0, "cannot allocate blacklist\n");
-+ goto out;
-+ }
-+ }
-+ if (store_ble(conf->blist_devnode, strdup(".*"),
-+ ORIGIN_NO_CONFIG)) {
-+ condlog(0, "cannot store default no-config blacklist\n");
-+ goto out;
-+ }
-+ }
- }
-
- conf->processed_main_config = 1;
-diff --git a/libmultipath/config.h b/libmultipath/config.h
-index 7d0cd9a..d7fb8e2 100644
---- a/libmultipath/config.h
-+++ b/libmultipath/config.h
-@@ -9,6 +9,7 @@
-
- #define ORIGIN_DEFAULT 0
- #define ORIGIN_CONFIG 1
-+#define ORIGIN_NO_CONFIG 2
-
- /*
- * In kernel, fast_io_fail == 0 means immediate failure on rport delete.
-diff --git a/multipath/multipath.rules b/multipath/multipath.rules
-index 9df11a9..0486bf7 100644
---- a/multipath/multipath.rules
-+++ b/multipath/multipath.rules
-@@ -9,6 +9,7 @@ IMPORT{cmdline}="nompath"
- ENV{nompath}=="?*", GOTO="end_mpath"
- IMPORT{cmdline}="multipath"
- ENV{multipath}=="off", GOTO="end_mpath"
-+TEST!="/etc/multipath.conf", GOTO="end_mpath"
-
- ENV{DEVTYPE}!="partition", GOTO="test_dev"
- IMPORT{parent}="DM_MULTIPATH_DEVICE_PATH"
-diff --git a/multipathd/multipathd.8 b/multipathd/multipathd.8
-index 94c3f97..ed13efd 100644
---- a/multipathd/multipathd.8
-+++ b/multipathd/multipathd.8
-@@ -38,6 +38,8 @@ map regains its maximum performance and redundancy.
- This daemon executes the external \fBmultipath\fR tool when events occur.
- In turn, the multipath tool signals the multipathd daemon when it is done with
- devmap reconfiguration, so that it can refresh its failed path list.
-+
-+In this Linux distribution, multipathd does not run unless a /etc/multipath.conf file exists.
- .
- .
- .\" ----------------------------------------------------------------------------
-diff --git a/multipathd/multipathd.service b/multipathd/multipathd.service
-index ba24983..17434ce 100644
---- a/multipathd/multipathd.service
-+++ b/multipathd/multipathd.service
-@@ -4,6 +4,7 @@ Wants=systemd-udev-trigger.service systemd-udev-settle.service
- Before=iscsi.service iscsid.service lvm2-activation-early.service
- Before=local-fs-pre.target blk-availability.service
- After=multipathd.socket systemd-udev-trigger.service systemd-udev-settle.service
-+ConditionPathExists=/etc/multipath.conf
- DefaultDependencies=no
- Conflicts=shutdown.target
- ConditionKernelCommandLine=!nompath
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch b/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
deleted file mode 100644
index 17542fd4fd..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0024-RH-use-rpm-optflags-if-present.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 436f7594485e35523269e662c4b5dc3a2c10ff9b Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 09:19:17 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep
-17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Wed,
-19
- Apr 2017 06:10:01 -0500 Subject: [PATCH] RH: use rpm optflags if
-present
-
-Use the passed in optflags when compiling as an RPM, and keep the
-default flags as close as possible to the current fedora flags, while
-still being generic.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Upstream-Status: Pending
-
-update this patch to new version
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- Makefile.inc | 24 ++++++++++++++++--------
- 1 file changed, 16 insertions(+), 8 deletions(-)
-
-diff --git a/Makefile.inc b/Makefile.inc
-index 42dbb5bf..55a06c60 100644
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -89,15 +89,23 @@ TEST_CC_OPTION = $(shell \
- echo "$(2)"; \
- fi)
-
--STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
--ERROR_DISCARDED_QUALIFIERS := $(call TEST_CC_OPTION,-Werror=discarded-qualifiers,)
--WNOCLOBBERED := $(call TEST_CC_OPTION,-Wno-clobbered,)
-+ifndef RPM_OPT_FLAGS
-+ STACKPROT := $(call TEST_CC_OPTION,-fstack-protector-strong,-fstack-protector)
-+ OPTFLAGS = -O2 -g -pipe -Wall -Werror=format-security \
-+ -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \
-+ $(STACKPROT) --param=ssp-buffer-size=4 \
-+ -grecord-gcc-switches
-+ ifeq ($(shell test -f /usr/lib/rpm/redhat/redhat-hardened-cc1 && echo 1),1)
-+ OPTFLAGS += -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-+ endif
-+else
-+ OPTFLAGS = $(RPM_OPT_FLAGS)
-+endif
-+OPTFLAGS += -Wextra -Wstrict-prototypes -Wformat=2 -Werror=implicit-int \
-+ -Werror=implicit-function-declaration -Wno-sign-compare \
-+ -Wno-unused-parameter -Werror=cast-qual \
-+ -Werror=discarded-qualifiers
-
--OPTFLAGS = -O2 -g -pipe -Werror -Wall -Wextra -Wformat=2 -Werror=implicit-int \
-- -Werror=implicit-function-declaration -Werror=format-security \
-- $(WNOCLOBBERED) \
-- -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) \
-- $(STACKPROT) --param=ssp-buffer-size=4
- CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2
- CFLAGS := $(OPTFLAGS) -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
- -MMD -MP $(CFLAGS)
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch b/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
deleted file mode 100644
index a1407718d5..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0025-RH-add-mpathconf.patch
+++ /dev/null
@@ -1,656 +0,0 @@
-From eb5a36e6e0caedf06008e48eb77b7bf7c6534ee5 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 09:55:12 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Thu, 16
- Oct 2014 15:49:01 -0500 Subject: [PATCH] RH: add mpathconf
-
-mpathconf is a program (largely based on lvmcomf) to help users
-configure /etc/multipath.conf and enable or disable multipathing. It
-has a couple of built-in options that can be set directly from the
-command line. But, mostly it is used to get a multipath.conf file
-with the OS defaults, and to enable and disable multipathing via
-a single command.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Upstream-Status: Pending
-
-update this patch to new version
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- libmultipath/config.c | 1 +
- multipath/Makefile | 5 +
- multipath/mpathconf | 464 ++++++++++++++++++++++++++++++++++++++++++++++++++
- multipath/mpathconf.8 | 101 +++++++++++
- 4 files changed, 571 insertions(+)
- create mode 100644 multipath/mpathconf
- create mode 100644 multipath/mpathconf.8
-
-diff --git a/libmultipath/config.c b/libmultipath/config.c
-index e4233f1..b779505 100644
---- a/libmultipath/config.c
-+++ b/libmultipath/config.c
-@@ -747,6 +747,7 @@ load_config (char * file)
- factorize_hwtable(conf->hwtable, builtin_hwtable_size, file);
- } else {
- condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
-+ condlog(0, "You can run /sbin/mpathconf to create or modify /etc/multipath.conf");
- if (conf->blist_devnode == NULL) {
- conf->blist_devnode = vector_alloc();
- if (!conf->blist_devnode) {
-diff --git a/multipath/Makefile b/multipath/Makefile
-index b9bbb3c..e720c7f 100644
---- a/multipath/Makefile
-+++ b/multipath/Makefile
-@@ -18,10 +18,12 @@ $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
- $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS)
- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
- $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz
-+ $(GZIP) mpathconf.8 > mpathconf.8.gz
-
- install:
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
- $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
-+ $(INSTALL_PROGRAM) -m 755 mpathconf $(DESTDIR)$(bindir)/
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(udevrulesdir)
- $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
- $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
-@@ -29,13 +31,16 @@ install:
- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
- $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir)
-+ $(INSTALL_PROGRAM) -m 644 mpathconf.8.gz $(DESTDIR)$(man8dir)
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
- $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules
- $(RM) $(DESTDIR)$(libudevdir)/rules.d/62-multipath.rules
-+ $(RM) $(DESTDIR)$(bindir)/mpathconf
- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
- $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
-+ $(RM) $(DESTDIR)$(man8dir)/mpathconf.8.gz
-
- clean: dep_clean
- $(RM) core *.o $(EXEC) *.gz
-diff --git a/multipath/mpathconf b/multipath/mpathconf
-new file mode 100644
-index 0000000..e839134
---- /dev/null
-+++ b/multipath/mpathconf
-@@ -0,0 +1,464 @@
-+#!/bin/bash
-+#
-+# Copyright (C) 2010 Red Hat, Inc. All rights reserved.
-+#
-+# This file is part of the device-mapper-multipath package.
-+#
-+# This copyrighted material is made available to anyone wishing to use,
-+# modify, copy, or redistribute it subject to the terms and conditions
-+# of the GNU General Public License v.2.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software Foundation,
-+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+
-+#
-+# Simple editting of /etc/multipath.conf
-+# This program was largely ripped off from lvmconf
-+#
-+
-+unset ENABLE FIND FRIENDLY MODULE MULTIPATHD HAVE_DISABLE HAVE_WWID_DISABLE HAVE_FIND HAVE_BLACKLIST HAVE_EXCEPTIONS HAVE_DEFAULTS HAVE_FRIENDLY HAVE_MULTIPATHD HAVE_MODULE HAVE_OUTFILE SHOW_STATUS CHANGED_CONFIG WWID_LIST
-+
-+DEFAULT_CONFIG="# device-mapper-multipath configuration file
-+
-+# For a complete list of the default configuration values, run either:
-+# # multipath -t
-+# or
-+# # multipathd show config
-+
-+# For a list of configuration options with descriptions, see the
-+# multipath.conf man page.
-+
-+defaults {
-+ user_friendly_names yes
-+ find_multipaths yes
-+}
-+
-+blacklist_exceptions {
-+ property \"(SCSI_IDENT_|ID_WWN)\"
-+}"
-+
-+CONFIGFILE="/etc/multipath.conf"
-+OUTPUTFILE="/etc/multipath.conf"
-+MULTIPATHDIR="/etc/multipath"
-+TMPFILE="/etc/multipath/.multipath.conf.tmp"
-+WWIDS=0
-+
-+function usage
-+{
-+ echo "usage: $0 <command>"
-+ echo ""
-+ echo "Commands:"
-+ echo "Enable: --enable "
-+ echo "Disable: --disable"
-+ echo "Only allow certain wwids (instead of enable): --allow <WWID>"
-+ echo "Set user_friendly_names (Default y): --user_friendly_names <y|n>"
-+ echo "Set find_multipaths (Default y): --find_multipaths <y|n>"
-+ echo "Load the dm-multipath modules on enable (Default y): --with_module <y|n>"
-+ echo "start/stop/reload multipathd (Default n): --with_multipathd <y|n>"
-+ echo "select output file (Default /etc/multipath.conf): --outfile <FILE>"
-+ echo ""
-+}
-+
-+function add_wwid
-+{
-+ INDEX=0
-+ while [ "$INDEX" -lt "$WWIDS" ] ; do
-+ if [ "$1" = "${WWID_LIST[$INDEX]}" ] ; then
-+ return
-+ fi
-+ ((INDEX++))
-+ done
-+ WWID_LIST[$WWIDS]="$1"
-+ ((WWIDS++))
-+}
-+
-+function get_dm_deps
-+{
-+ shift 3
-+ while [ -n "$1" -a -n "$2" ]; do
-+ MAJOR=$(echo $1 | tr -d '(,')
-+ MINOR=$(echo $2 | tr -d ')')
-+ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null`
-+ if [ -n "$UUID" ] ; then
-+ set_dm_wwid $UUID
-+ fi
-+ shift 2
-+ done
-+}
-+
-+function set_dm_wwid
-+{
-+ if [[ "$1" =~ ^part[[:digit:]]+-mpath- ]] ; then
-+ add_wwid "${1##part*-mpath-}"
-+ elif [[ "$1" =~ ^mpath- ]] ; then
-+ add_wwid "${1##mpath-}"
-+ else
-+ get_dm_deps `dmsetup deps -u $1`
-+ fi
-+}
-+
-+function set_wwid
-+{
-+ UUID=""
-+ if [[ "$1" =~ ^[[:digit:]]+:[[:digit:]]+$ ]] ; then
-+ MAJOR=${1%%:*}
-+ MINOR=${1##*:}
-+ UUID=`dmsetup info -c --noheadings -o uuid -j $MAJOR -m $MINOR 2> /dev/null`
-+ else
-+ UUID=`dmsetup info -c --noheadings -o uuid $1 2> /dev/null`
-+ fi
-+ if [ -n "$UUID" ] ; then
-+ set_dm_wwid $UUID
-+ else
-+ add_wwid "$1"
-+ fi
-+}
-+
-+function parse_args
-+{
-+ while [ -n "$1" ]; do
-+ case $1 in
-+ --enable)
-+ ENABLE=1
-+ shift
-+ ;;
-+ --disable)
-+ ENABLE=0
-+ shift
-+ ;;
-+ --allow)
-+ ENABLE=2
-+ if [ -n "$2" ]; then
-+ set_wwid $2
-+ shift 2
-+ else
-+ usage
-+ exit 1
-+ fi
-+ ;;
-+ --user_friendly_names)
-+ if [ -n "$2" ]; then
-+ FRIENDLY=$2
-+ shift 2
-+ else
-+ usage
-+ exit 1
-+ fi
-+ ;;
-+ --find_multipaths)
-+ if [ -n "$2" ]; then
-+ FIND=$2
-+ shift 2
-+ else
-+ usage
-+ exit 1
-+ fi
-+ ;;
-+ --with_module)
-+ if [ -n "$2" ]; then
-+ MODULE=$2
-+ shift 2
-+ else
-+ usage
-+ exit 1
-+ fi
-+ ;;
-+ --with_multipathd)
-+ if [ -n "$2" ]; then
-+ MULTIPATHD=$2
-+ shift 2
-+ else
-+ usage
-+ exit 1
-+ fi
-+ ;;
-+ --outfile)
-+ if [ -n "$2" ]; then
-+ OUTPUTFILE=$2
-+ HAVE_OUTFILE=1
-+ shift 2
-+ else
-+ usage
-+ exit 1
-+ fi
-+ ;;
-+ *)
-+ usage
-+ exit
-+ esac
-+ done
-+}
-+
-+function validate_args
-+{
-+ if [ "$ENABLE" = "0" ] && [ -n "$FRIENDLY" -o -n "$FIND" -o -n "$MODULE" ]; then
-+ echo "ignoring extra parameters on disable"
-+ FRIENDLY=""
-+ FIND=""
-+ MODULE=""
-+ fi
-+ if [ -n "$FRIENDLY" ] && [ "$FRIENDLY" != "y" -a "$FRIENDLY" != "n" ]; then
-+ echo "--user_friendly_names must be either 'y' or 'n'"
-+ exit 1
-+ fi
-+ if [ -n "$FIND" ] && [ "$FIND" != "y" -a "$FIND" != "n" ]; then
-+ echo "--find_multipaths must be either 'y' or 'n'"
-+ exit 1
-+ fi
-+ if [ -z "$ENABLE" -a -z "$FIND" -a -z "$FRIENDLY" ]; then
-+ SHOW_STATUS=1
-+ fi
-+ if [ -n "$MODULE" ] && [ "$MODULE" != "y" -a "$MODULE" != "n" ]; then
-+ echo "--with_module must be either 'y' or 'n'"
-+ exit 1
-+ fi
-+ if [ -n "$MULTIPATHD" ] && [ "$MULTIPATHD" != "y" -a "$MULTIPATHD" != "n" ]; then
-+ echo "--with_multipathd must be either 'y' or 'n'"
-+ exit 1
-+ fi
-+ if [ "$ENABLE" = 2 -a -z "$HAVE_OUTFILE" ]; then
-+ echo "Because --allow makes changes that cannot be automatically reversed,"
-+ echo "you must set --outfile when you set --allow"
-+ exit 1
-+ fi
-+}
-+
-+function add_blacklist_exceptions
-+{
-+ INDEX=0
-+ while [ "$INDEX" -lt "$WWIDS" ] ; do
-+ sed -i '/^blacklist_exceptions[[:space:]]*{/ a\
-+ wwid '"\"${WWID_LIST[$INDEX]}\""'
-+' $TMPFILE
-+ ((INDEX++))
-+ done
-+}
-+
-+umask 0077
-+
-+parse_args "$@"
-+
-+validate_args
-+
-+if [ ! -d "$MULTIPATHDIR" ]; then
-+ echo "/etc/multipath/ does not exist. failing"
-+ exit 1
-+fi
-+
-+rm $TMPFILE 2> /dev/null
-+echo "$DEFAULT_CONFIG" > $TMPFILE
-+if [ -f "$CONFIGFILE" ]; then
-+ cp $CONFIGFILE $TMPFILE
-+fi
-+
-+if grep -q "^blacklist[[:space:]]*{" $TMPFILE ; then
-+ HAVE_BLACKLIST=1
-+fi
-+
-+if grep -q "^blacklist_exceptions[[:space:]]*{" $TMPFILE ; then
-+ HAVE_EXCEPTIONS=1
-+fi
-+
-+if grep -q "^defaults[[:space:]]*{" $TMPFILE ; then
-+ HAVE_DEFAULTS=1
-+fi
-+
-+if [ -z "$MODULE" -o "$MODULE" = "y" ]; then
-+ if lsmod | grep -q "dm_multipath" ; then
-+ HAVE_MODULE=1
-+ else
-+ HAVE_MODULE=0
-+ fi
-+fi
-+
-+if [ "$MULTIPATHD" = "y" ]; then
-+ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then
-+ HAVE_MULTIPATHD=1
-+ else
-+ HAVE_MULTIPATHD=0
-+ fi
-+fi
-+
-+if [ "$HAVE_BLACKLIST" = "1" ]; then
-+ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*devnode \"\.\?\*\"" ; then
-+ HAVE_DISABLE=1
-+ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"" ; then
-+ HAVE_DISABLE=0
-+ fi
-+fi
-+
-+if [ "$HAVE_BLACKLIST" = "1" ]; then
-+ if sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*wwid \"\.\?\*\"" ; then
-+ HAVE_WWID_DISABLE=1
-+ elif sed -n '/^blacklist[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"" ; then
-+ HAVE_WWID_DISABLE=0
-+ fi
-+fi
-+
-+if [ "$HAVE_DEFAULTS" = "1" ]; then
-+ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)" ; then
-+ HAVE_FIND=1
-+ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)" ; then
-+ HAVE_FIND=0
-+ fi
-+ if sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)" ; then
-+ HAVE_FRIENDLY=1
-+ elif sed -n '/^defaults[[:space:]]*{/,/^}/ p' $TMPFILE | grep -q "^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)" ; then
-+ HAVE_FRIENDLY=0
-+ fi
-+fi
-+
-+if [ -n "$SHOW_STATUS" ]; then
-+ if [ -z "$HAVE_DISABLE" -o "$HAVE_DISABLE" = 0 ]; then
-+ echo "multipath is enabled"
-+ else
-+ echo "multipath is disabled"
-+ fi
-+ if [ -z "$HAVE_FIND" -o "$HAVE_FIND" = 0 ]; then
-+ echo "find_multipaths is disabled"
-+ else
-+ echo "find_multipaths is enabled"
-+ fi
-+ if [ -z "$HAVE_FRIENDLY" -o "$HAVE_FRIENDLY" = 0 ]; then
-+ echo "user_friendly_names is disabled"
-+ else
-+ echo "user_friendly_names is enabled"
-+ fi
-+ if [ -n "$HAVE_MODULE" ]; then
-+ if [ "$HAVE_MODULE" = 1 ]; then
-+ echo "dm_multipath module is loaded"
-+ else
-+ echo "dm_multipath module is not loaded"
-+ fi
-+ fi
-+ if [ -z "$HAVE_MULTIPATHD" ]; then
-+ if /bin/systemctl status multipathd.service > /dev/null 2>&1 ; then
-+ HAVE_MULTIPATHD=1
-+ else
-+ HAVE_MULTIPATHD=0
-+ fi
-+ fi
-+ if [ "$HAVE_MULTIPATHD" = 1 ]; then
-+ echo "multipathd is running"
-+ else
-+ echo "multipathd is not running"
-+ fi
-+ exit 0
-+fi
-+
-+if [ -z "$HAVE_BLACKLIST" ]; then
-+ cat >> $TMPFILE <<- _EOF_
-+
-+blacklist {
-+}
-+_EOF_
-+fi
-+
-+if [ -z "$HAVE_DEFAULTS" ]; then
-+ cat >> $TMPFILE <<- _EOF_
-+
-+defaults {
-+}
-+_EOF_
-+fi
-+
-+if [ "$ENABLE" = 2 ]; then
-+ if [ "$HAVE_DISABLE" = 1 ]; then
-+ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE
-+ fi
-+ if [ -z "$HAVE_WWID_DISABLE" ]; then
-+ sed -i '/^blacklist[[:space:]]*{/ a\
-+ wwid ".*"
-+' $TMPFILE
-+ elif [ "$HAVE_WWID_DISABLE" = 0 ]; then
-+ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*wwid \"\.\?\*\"/ wwid ".*"/' $TMPFILE
-+ fi
-+ if [ "$HAVE_EXCEPTIONS" = 1 ]; then
-+ sed -i '/^blacklist_exceptions[[:space:]]*{/,/^}/ {/^[[:space:]]*wwid/ d}' $TMPFILE
-+ else
-+ cat >> $TMPFILE <<- _EOF_
-+
-+blacklist_exceptions {
-+}
-+_EOF_
-+ fi
-+ add_blacklist_exceptions
-+elif [ "$ENABLE" = 1 ]; then
-+ if [ "$HAVE_DISABLE" = 1 ]; then
-+ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*devnode \"\.\?\*\"/# devnode ".*"/' $TMPFILE
-+ fi
-+elif [ "$ENABLE" = 0 ]; then
-+ if [ -z "$HAVE_DISABLE" ]; then
-+ sed -i '/^blacklist[[:space:]]*{/ a\
-+ devnode ".*"
-+' $TMPFILE
-+ elif [ "$HAVE_DISABLE" = 0 ]; then
-+ sed -i '/^blacklist[[:space:]]*{/,/^}/ s/^[[:space:]]*#[[:space:]]*devnode \"\.\?\*\"/ devnode ".*"/' $TMPFILE
-+ fi
-+fi
-+
-+if [ "$FIND" = "n" ]; then
-+ if [ "$HAVE_FIND" = 1 ]; then
-+ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(yes\|1\)/ find_multipaths no/' $TMPFILE
-+ CHANGED_CONFIG=1
-+ fi
-+elif [ "$FIND" = "y" ]; then
-+ if [ -z "$HAVE_FIND" ]; then
-+ sed -i '/^defaults[[:space:]]*{/ a\
-+ find_multipaths yes
-+' $TMPFILE
-+ CHANGED_CONFIG=1
-+ elif [ "$HAVE_FIND" = 0 ]; then
-+ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*find_multipaths[[:space:]]*\(no\|0\)/ find_multipaths yes/' $TMPFILE
-+ CHANGED_CONFIG=1
-+ fi
-+fi
-+
-+if [ "$FRIENDLY" = "n" ]; then
-+ if [ "$HAVE_FRIENDLY" = 1 ]; then
-+ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(yes\|1\)/ user_friendly_names no/' $TMPFILE
-+ CHANGED_CONFIG=1
-+ fi
-+elif [ "$FRIENDLY" = "y" ]; then
-+ if [ -z "$HAVE_FRIENDLY" ]; then
-+ sed -i '/^defaults[[:space:]]*{/ a\
-+ user_friendly_names yes
-+' $TMPFILE
-+ CHANGED_CONFIG=1
-+ elif [ "$HAVE_FRIENDLY" = 0 ]; then
-+ sed -i '/^defaults[[:space:]]*{/,/^}/ s/^[[:space:]]*user_friendly_names[[:space:]]*\(no\|0\)/ user_friendly_names yes/' $TMPFILE
-+ CHANGED_CONFIG=1
-+ fi
-+fi
-+
-+if [ -f "$OUTPUTFILE" ]; then
-+ cp $OUTPUTFILE $OUTPUTFILE.old
-+ if [ $? != 0 ]; then
-+ echo "failed to backup old config file, $OUTPUTFILE not updated"
-+ exit 1
-+ fi
-+fi
-+
-+cp $TMPFILE $OUTPUTFILE
-+if [ $? != 0 ]; then
-+ echo "failed to copy new config file into place, check $OUTPUTFILE is still OK"
-+ exit 1
-+fi
-+
-+rm -f $TMPFILE
-+
-+if [ "$ENABLE" = 1 ]; then
-+ if [ "$HAVE_MODULE" = 0 ]; then
-+ modprobe dm_multipath
-+ fi
-+ if [ "$HAVE_MULTIPATHD" = 0 ]; then
-+ systemctl start multipathd.service
-+ fi
-+elif [ "$ENABLE" = 0 ]; then
-+ if [ "$HAVE_MULTIPATHD" = 1 ]; then
-+ systemctl stop multipathd.service
-+ fi
-+elif [ -n "$CHANGED_CONFIG" -a "$HAVE_MULTIPATHD" = 1 ]; then
-+ systemctl reload multipathd.service
-+fi
-diff --git a/multipath/mpathconf.8 b/multipath/mpathconf.8
-new file mode 100644
-index 0000000..4cd3267
---- /dev/null
-+++ b/multipath/mpathconf.8
-@@ -0,0 +1,101 @@
-+.TH MPATHCONF 8 "June 2010" "" "Linux Administrator's Manual"
-+.SH NAME
-+mpathconf - A tool for configuring device-mapper-multipath
-+.SH SYNOPSIS
-+.B mpathconf
-+.RB [\| commands \|]
-+.RB [\| options \|]
-+.SH DESCRIPTION
-+.B mpathconf
-+is a utility that creates or modifies
-+.B /etc/multipath.conf.
-+It can enable or disable multipathing and configure some common options.
-+.B mpathconf
-+can also load the
-+.B dm_multipath
-+module, start and stop the
-+.B multipathd
-+daemon, and configure the
-+.B multipathd
-+service to start automatically or not. If
-+.B mpathconf
-+is called with no commands, it will display the current configuration.
-+
-+The default options for mpathconf are
-+.B --with_module
-+The
-+.B --with_multipathd
-+option is not set by default. Enabling multipathing will load the
-+.B dm_multipath
-+module but it will not immediately start it. This is so
-+that users can manually edit their config file if necessary, before starting
-+.B multipathd.
-+
-+If
-+.B /etc/multipath.conf
-+already exists, mpathconf will edit it. If it does not exist, mpathconf will
-+create a default file with
-+.B user_friendly_names
-+and
-+.B find_multipaths
-+set. To disable these, use the
-+.B --user_friendly_names n
-+and
-+.B --find_multipaths n
-+options
-+.SH COMMANDS
-+.TP
-+.B --enable
-+Removes any line that blacklists all device nodes from the
-+.B /etc/multipath.conf
-+blacklist section.
-+.TP
-+.B --disable
-+Adds a line that blacklists all device nodes to the
-+.B /etc/multipath.conf
-+blacklist section. If no blacklist section exists, it will create one.
-+.TP
-+.B --user_friendly_name \fP { \fBy\fP | \fBn\fP }
-+If set to \fBy\fP, this adds the line
-+.B user_friendly_names yes
-+to the
-+.B /etc/multipath.conf
-+defaults section. If set to \fBn\fP, this removes the line, if present. This
-+command can be used along with any other command.
-+.TP
-+.B --find_multipaths\fP { \fBy\fP | \fBn\fP }
-+If set to \fBy\fP, this adds the line
-+.B find_multipaths yes
-+to the
-+.B /etc/multipath.conf
-+defaults section. If set to \fBn\fP, this removes the line, if present. This
-+command can be used aldong with any other command.
-+.SH OPTIONS
-+.TP
-+.B --with_module\fP { \fBy\fP | \fBn\fP }
-+If set to \fBy\fP, this runs
-+.B modprobe dm_multipath
-+to install the multipath modules. This option only works with the
-+.B --enable
-+command. This option is set to \fBy\fP by default.
-+.TP
-+.B --with_multipathd { \fBy\fP | \fBn\fP }
-+If set to \fBy\fP, this runs
-+.B service multipathd start
-+to start the multipathd daemon on \fB--enable\fP,
-+.B service multipathd stop
-+to stop the multipathd daemon on \fB--disable\fP, and
-+.B service multipathd reload
-+to reconfigure multipathd on \fB--user_frindly_names\fP and
-+\fB--find_multipaths\fP.
-+This option is set to \fBn\fP by default.
-+.SH FILES
-+.BR /etc/multipath.conf
-+.SH "SEE ALSO"
-+.BR multipath.conf (5),
-+.BR modprobe (8),
-+.BR multipath (8),
-+.BR multipathd (8),
-+.BR service (8),
-+.SH AUTHOR
-+Benjamin Marzinski <bmarzins@redhat.com>
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch b/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
deleted file mode 100644
index 5fd6d668e2..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 0f54b3120ca06ff3168cdbf901a27b68c4638398 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 26 Sep 2019 16:29:48 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep
-17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Fri,
-17
- Oct 2014 11:20:34 -0500 Subject: [PATCH] RH: add wwids from kernel
-cmdline
- mpath.wwids with -A
-
-This patch adds another option to multipath, "-A", which reads
-/proc/cmdline for mpath.wwid=<WWID> options, and adds any wwids it finds
-to /etc/multipath/wwids. While this isn't usually important during
-normal operation, since these wwids should already be added, it can be
-helpful during installation, to make sure that multipath can claim
-devices as its own, before LVM or something else makes use of them. The
-patch also execs "/sbin/multipath -A" before running multipathd in
-multipathd.service
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Upstream-Status: Pending
-
-Update this patch to new version 0.8.2
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- libmultipath/wwids.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
- libmultipath/wwids.h | 1 +
- 2 files changed, 45 insertions(+)
-
-diff --git a/libmultipath/wwids.c b/libmultipath/wwids.c
-index 28a2150d..a0bfa851 100644
---- a/libmultipath/wwids.c
-+++ b/libmultipath/wwids.c
-@@ -454,3 +454,47 @@ int op ## _wwid(const char *wwid) \
- declare_failed_wwid_op(is_failed, false)
- declare_failed_wwid_op(mark_failed, true)
- declare_failed_wwid_op(unmark_failed, true)
-+
-+int remember_cmdline_wwid(void)
-+{
-+ FILE *f = NULL;
-+ char buf[LINE_MAX], *next, *ptr;
-+ int ret = 0;
-+
-+ f = fopen("/proc/cmdline", "re");
-+ if (!f) {
-+ condlog(0, "can't open /proc/cmdline : %s", strerror(errno));
-+ return -1;
-+ }
-+
-+ if (!fgets(buf, sizeof(buf), f)) {
-+ if (ferror(f))
-+ condlog(0, "read of /proc/cmdline failed : %s",
-+ strerror(errno));
-+ else
-+ condlog(0, "couldn't read /proc/cmdline");
-+ fclose(f);
-+ return -1;
-+ }
-+ fclose(f);
-+ next = buf;
-+ while((ptr = strstr(next, "mpath.wwid="))) {
-+ ptr += 11;
-+ next = strpbrk(ptr, " \t\n");
-+ if (next) {
-+ *next = '\0';
-+ next++;
-+ }
-+ if (strlen(ptr)) {
-+ if (remember_wwid(ptr) != 0)
-+ ret = -1;
-+ }
-+ else {
-+ condlog(0, "empty mpath.wwid kernel command line option");
-+ ret = -1;
-+ }
-+ if (!next)
-+ break;
-+ }
-+ return ret;
-+}
-diff --git a/libmultipath/wwids.h b/libmultipath/wwids.h
-index 0c6ee54d..e32a0b0e 100644
---- a/libmultipath/wwids.h
-+++ b/libmultipath/wwids.h
-@@ -17,6 +17,7 @@ int remember_wwid(char *wwid);
- int check_wwids_file(char *wwid, int write_wwid);
- int remove_wwid(char *wwid);
- int replace_wwids(vector mp);
-+int remember_cmdline_wwid(void);
-
- enum {
- WWID_IS_NOT_FAILED = 0,
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch b/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
deleted file mode 100644
index c59edbbb27..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0027-RH-warn-on-invalid-regex-instead-of-failing.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17
-00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Mon, 6 Nov
-2017 21:39:28 -0600 Subject: [PATCH] RH: warn on invalid regex instead of
-failing
-
-multipath.conf used to allow "*" as a match everything regular expression,
-instead of requiring ".*". Instead of erroring when the old style
-regular expressions are used, it should print a warning and convert
-them.
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Upstream-Status: Pending
-
-update this patch to 0.8.2
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- libmultipath/dict.c | 29 ++++++++++++++++++++++-------
- libmultipath/parser.c | 13 +++++++++++++
- libmultipath/parser.h | 1 +
- 3 files changed, 36 insertions(+), 7 deletions(-)
-
-diff --git a/libmultipath/dict.c b/libmultipath/dict.c
-index c6eba0f..05ed3d8 100644
---- a/libmultipath/dict.c
-+++ b/libmultipath/dict.c
-@@ -59,6 +59,21 @@ set_str(vector strvec, void *ptr)
- }
-
- static int
-+set_regex(vector strvec, void *ptr)
-+{
-+ char **str_ptr = (char **)ptr;
-+
-+ if (*str_ptr)
-+ FREE(*str_ptr);
-+ *str_ptr = set_regex_value(strvec);
-+
-+ if (!*str_ptr)
-+ return 1;
-+
-+ return 0;
-+}
-+
-+static int
- set_yes_no(vector strvec, void *ptr)
- {
- char * buff;
-@@ -1415,8 +1430,8 @@ ble_ ## option ## _handler (struct config *conf, vector strvec) \
- \
- if (!conf->option) \
- return 1; \
-- \
-- buff = set_value(strvec); \
-+ \
-+ buff = set_regex_value(strvec); \
- if (!buff) \
- return 1; \
- \
-@@ -1432,7 +1447,7 @@ ble_ ## option ## _ ## name ## _handler (struct config *conf, vector strvec) \
- if (!conf->option) \
- return 1; \
- \
-- buff = set_value(strvec); \
-+ buff = set_regex_value(strvec); \
- if (!buff) \
- return 1; \
- \
-@@ -1535,16 +1550,16 @@ device_handler(struct config *conf, vector strvec)
- return 0;
- }
-
--declare_hw_handler(vendor, set_str)
-+declare_hw_handler(vendor, set_regex)
- declare_hw_snprint(vendor, print_str)
-
--declare_hw_handler(product, set_str)
-+declare_hw_handler(product, set_regex)
- declare_hw_snprint(product, print_str)
-
--declare_hw_handler(revision, set_str)
-+declare_hw_handler(revision, set_regex)
- declare_hw_snprint(revision, print_str)
-
--declare_hw_handler(bl_product, set_str)
-+declare_hw_handler(bl_product, set_regex)
- declare_hw_snprint(bl_product, print_str)
-
- declare_hw_handler(hwhandler, set_str)
-diff --git a/libmultipath/parser.c b/libmultipath/parser.c
-index e00c5ff..6ca5842 100644
---- a/libmultipath/parser.c
-+++ b/libmultipath/parser.c
-@@ -382,6 +382,19 @@ oom:
- return NULL;
- }
-
-+void *
-+set_regex_value(vector strvec)
-+{
-+ char *buff = set_value(strvec);
-+
-+ if (buff && strcmp("*", buff) == 0) {
-+ condlog(0, "Invalid regular expression \"*\" in multipath.conf. Using \".*\"");
-+ FREE(buff);
-+ return strdup(".*");
-+ }
-+ return buff;
-+}
-+
- /* non-recursive configuration stream handler */
- static int kw_level = 0;
-
-diff --git a/libmultipath/parser.h b/libmultipath/parser.h
-index 62906e9..b791705 100644
---- a/libmultipath/parser.h
-+++ b/libmultipath/parser.h
-@@ -77,6 +77,7 @@ extern void dump_keywords(vector keydump, int level);
- extern void free_keywords(vector keywords);
- extern vector alloc_strvec(char *string);
- extern void *set_value(vector strvec);
-+extern void *set_regex_value(vector strvec);
- extern int process_file(struct config *conf, char *conf_file);
- extern struct keyword * find_keyword(vector keywords, vector v, char * name);
- int snprint_keyword(char *buff, int len, char *fmt, struct keyword *kw,
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch b/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
deleted file mode 100644
index ad03b8acc4..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0028-RH-reset-default-find_mutipaths-value-to-off.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 16900150e02e5b367a8b33621b393975ad011130 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 11:12:01 +0800
-Subject: [PATCH] From 0000000000000000000000000000000000000000 Mon Sep 17
- 00:00:00 2001 From: Benjamin Marzinski <bmarzins@redhat.com> Date: Thu, 7 Jun
- 2018 17:43:52 -0500 Subject: [PATCH] RH: reset default find_mutipaths value
- to off
-
-Upstream has changed to default find_multipaths to "strict". For now
-Redhat will retain the previous default of "off".
-
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
-
-Upstream-Status: Pending
-
-Update this patch to new version
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- libmultipath/defaults.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
-index 6576939..a2404b2 100644
---- a/libmultipath/defaults.h
-+++ b/libmultipath/defaults.h
-@@ -17,7 +17,7 @@
- #define DEFAULT_NO_PATH_RETRY NO_PATH_RETRY_UNDEF
- #define DEFAULT_VERBOSITY 2
- #define DEFAULT_REASSIGN_MAPS 0
--#define DEFAULT_FIND_MULTIPATHS FIND_MULTIPATHS_STRICT
-+#define DEFAULT_FIND_MULTIPATHS FIND_MULTIPATHS_OFF
- #define DEFAULT_FAST_IO_FAIL 5
- #define DEFAULT_DEV_LOSS_TMO 600
- #define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_ON
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch b/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
deleted file mode 100644
index 3919f99045..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From c3436ec8a502a40579abf62be0a479fa9d7888ad Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 4 Jun 2019 11:39:39 +0800
-Subject: [PATCH] multipath-tools: modify Makefile.inc for cross-compilation
-
-Do not look for systemd info on the host, and allow us to pass in CFLAGS
-using the OPTFLAGS variable.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Update for version 0.5.0-144-g770e6d0
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
-Update for version 0.7.1
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-update for version 0.7.7
-
-remove change about CFLAGS part, since patch 0024 already have similar function.
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-update for version 0.8.1
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- Makefile.inc | 11 -----------
- 1 file changed, 11 deletions(-)
-
-diff --git a/Makefile.inc b/Makefile.inc
-index 661f141..3f9fd28 100644
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -35,17 +35,6 @@ ifndef RUN
- endif
- endif
-
--ifndef SYSTEMD
-- ifeq ($(shell pkg-config --modversion libsystemd >/dev/null 2>&1 && echo 1), 1)
-- SYSTEMD = $(shell pkg-config --modversion libsystemd)
-- else
-- ifeq ($(shell systemctl --version >/dev/null 2>&1 && echo 1), 1)
-- SYSTEMD = $(shell systemctl --version 2> /dev/null | \
-- sed -n 's/systemd \([0-9]*\).*/\1/p')
-- endif
-- endif
--endif
--
- ifndef SYSTEMDPATH
- SYSTEMDPATH=usr/lib
- endif
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch b/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
deleted file mode 100644
index 3e88b41004..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0030-Always-use-devmapper.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From e4acb46b10484d1da6f093257e34f269832e6a37 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 11:17:41 +0800
-Subject: [PATCH] Subject: [PATCH] Always use devmapper
-
-Do not try to compute several _API_ make variables
-from host information when cross-compiling.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Rebase to 0.7.1
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Rebase to 0.7.7
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-Rebase to 0.7.9
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- libmultipath/Makefile | 19 ++++---------------
- 1 file changed, 4 insertions(+), 15 deletions(-)
-
-diff --git a/libmultipath/Makefile b/libmultipath/Makefile
-index 33f5269..adf6f4a 100644
---- a/libmultipath/Makefile
-+++ b/libmultipath/Makefile
-@@ -20,21 +20,10 @@ ifdef SYSTEMD
- endif
- endif
-
--ifneq ($(call check_func,dm_task_no_flush,/usr/include/libdevmapper.h),0)
-- CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
--endif
--
--ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0)
-- CFLAGS += -DLIBDM_API_COOKIE
--endif
--
--ifneq ($(call check_func,udev_monitor_set_receive_buffer_size,/usr/include/libudev.h),0)
-- CFLAGS += -DLIBUDEV_API_RECVBUF
--endif
--
--ifneq ($(call check_func,dm_task_deferred_remove,/usr/include/libdevmapper.h),0)
-- CFLAGS += -DLIBDM_API_DEFERRED
--endif
-+CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE
-+CFLAGS += -DLIBDM_API_COOKIE
-+CFLAGS += -DLIBUDEV_API_RECVBUF
-+CFLAGS += -DLIBDM_API_DEFERRED
-
- OBJS = memory.o parser.o vector.o devmapper.o callout.o \
- hwtable.o blacklist.o util.o dmparser.o config.o \
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch b/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
deleted file mode 100644
index 418c0200f4..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0031-Always-use-devmapper-for-kpartx.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 1fe937835311a2d0afbc85ce4a4dbd3c9e0c912f Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Mon, 26 Nov 2018 11:19:45 +0800
-Subject: [PATCH] Subject: [PATCH] Always use devmapper for kpartx
-
-Do not try to compute the LIBDM_API_COOKIE make variable
-from host information when cross-compiling.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-Rebase to 0.7.1
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Rebase to 0.7.7
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-Rebase to 0.7.9
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- kpartx/Makefile | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/kpartx/Makefile b/kpartx/Makefile
-index 7eb467e..c143321 100644
---- a/kpartx/Makefile
-+++ b/kpartx/Makefile
-@@ -8,9 +8,7 @@ LDFLAGS += $(BIN_LDFLAGS)
-
- LIBDEPS += -ldevmapper
-
--ifneq ($(call check_func,dm_task_set_cookie,/usr/include/libdevmapper.h),0)
-- CFLAGS += -DLIBDM_API_COOKIE
--endif
-+CFLAGS += -DLIBDM_API_COOKIE
-
- OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \
- gpt.o mac.o ps3.o crc32.o lopart.o xstrncpy.o devmapper.o
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/multipath-tools/files/0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch b/meta-oe/recipes-support/multipath-tools/files/0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch
deleted file mode 100644
index b35d67cf59..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 35421d03898ac1b38f97a76241e6a29086d0c9f1 Mon Sep 17 00:00:00 2001
-From: Geoff Parker <geoffrey.parker@arthrex.com>
-Date: Fri, 9 Oct 2020 17:48:47 +0000
-Subject: [PATCH] libdmmp/Makefile: replace perl with sed in install target to
- work with pseudo
-
-The multipath-tools libdmmp/Makefile install target uses 'perl -i' instead
-of 'sed -i' for string substitutions. The perl method creates a temporary file
-and overwrites the original which changes the inodes and corrupts the pseudo
-db. Changes to pseduo cause a build abort rather than allow possible bad
-ownership or permissions settings on the files. 'sed -i' is compatible
-with pseudo.
-
-Signed-off-by: Geoff Parker <geoffrey.parker@arthrex.com>
----
- libdmmp/Makefile | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/libdmmp/Makefile b/libdmmp/Makefile
-index 1dd3f340..8166075c 100644
---- a/libdmmp/Makefile
-+++ b/libdmmp/Makefile
-@@ -34,11 +34,11 @@ install:
- $(LN) $(LIBS) $(DESTDIR)$(usrlibdir)/$(DEVLIB)
- $(INSTALL_PROGRAM) -m 644 -D \
- $(PKGFILE).in $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
-- perl -i -pe 's|__VERSION__|$(LIBDMMP_VERSION)|g' \
-+ sed -i 's|__VERSION__|$(LIBDMMP_VERSION)|g' \
- $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
-- perl -i -pe 's|__LIBDIR__|$(usrlibdir)|g' \
-+ sed -i 's|__LIBDIR__|$(usrlibdir)|g' \
- $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
-- perl -i -pe 's|__INCLUDEDIR__|$(includedir)|g' \
-+ sed -i 's|__INCLUDEDIR__|$(includedir)|g' \
- $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
- @for file in docs/man/*.3.gz; do \
- $(INSTALL_PROGRAM) -m 644 -D \
---
-2.20.1
-
diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.4.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.4.bb
deleted file mode 100644
index 186f78b8f2..0000000000
--- a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.8.4.bb
+++ /dev/null
@@ -1,122 +0,0 @@
-SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
-
-DESCRIPTION = "It provides tools to manage multipath devices \
-by instructing the device-mapper kernel module what to do. These \
-tools include: \
-1. multipath - Scan the system for multipath devices and assemble them.\
-2. multipathd - Detects when paths fail and execs multipath to update \
-things.\
-3. mpathpersist - Persistent reservation management feature allows \
-cluster management software to manage persistent reservation through \
-mpath device. It processes management requests from callers and hides \
-the management task details. It also handles persistent reservation \
-management of data path life cycle and state changes.\
-4. kpartx - This tool, derived from util-linux's partx, reads partition \
-tables on specified device and create device maps over partitions \
-segments detected. It is called from hotplug upon device maps creation \
-and deletion"
-
-HOMEPAGE = "http://christophe.varoqui.free.fr/"
-
-DEPENDS = "libdevmapper \
- lvm2 \
- libaio \
- liburcu \
- readline \
- udev \
- json-c \
- "
-
-LICENSE = "GPLv2"
-
-SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \
- file://multipathd.oe \
- file://multipath.conf.example \
- file://0021-RH-fixup-udev-rules-for-redhat.patch \
- file://0022-RH-Remove-the-property-blacklist-exception-builtin.patch \
- file://0023-RH-don-t-start-without-a-config-file.patch \
- file://0024-RH-use-rpm-optflags-if-present.patch \
- file://0025-RH-add-mpathconf.patch \
- file://0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \
- file://0027-RH-warn-on-invalid-regex-instead-of-failing.patch \
- file://0028-RH-reset-default-find_mutipaths-value-to-off.patch \
- file://0029-multipath-tools-modify-Makefile.inc-for-cross-compil.patch \
- file://0030-Always-use-devmapper.patch \
- file://0031-Always-use-devmapper-for-kpartx.patch \
- file://0032-libdmmp-Makefile-replace-perl-with-sed-in-install-ta.patch \
- file://0001-fix-bug-of-do_compile-and-do_install.patch \
- file://0001-add-explicit-dependency-on-libraries.patch \
- file://0001-fix-boolean-value-with-json-c-0.14.patch \
- file://0001-libmultipath-uevent.c-fix-error-handling-for-udev_mo.patch \
- "
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
-
-SRCREV = "d4915917655b3d205aa0e339ca13080ed8182d0d"
-
-S = "${WORKDIR}/git"
-
-inherit systemd pkgconfig
-
-SYSTEMD_SERVICE_${PN} = "multipathd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-# multipath-tools includes a copy of the valgrind.h header
-# file and uses the macros to suppress some false positives. However,
-# that only works on ARM when thumb is disabled. Otherwise one gets:
-# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
-# ../Makefile.inc:66: recipe for target 'debug.o' failed
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-# The exact version of SYSTEMD does not matter but should be greater than 209.
-#
-EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
- OPTFLAGS="${CFLAGS}" \
- bindir=${base_sbindir} \
- LIB=${base_libdir} libdir=${base_libdir}/multipath \
- unitdir=${systemd_system_unitdir} \
- libudevdir=${nonarch_base_libdir}/udev \
- ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \
- '
-
-do_install() {
- oe_runmake install
-
- # We copy an initscript, but do not start multipathd at init time.
- #
- if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then
- install -d ${D}${sysconfdir}/init.d
- cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd
- fi
-
- sed -i "s:/usr/lib/udev/kpartx_id:${nonarch_base_libdir}/udev/kpartx_id:g" \
- ${D}${nonarch_base_libdir}/udev/rules.d/11-dm-mpath.rules
-
- install -d ${D}${sysconfdir}
- install -m 0644 ${WORKDIR}/multipath.conf.example \
- ${D}${sysconfdir}/multipath.conf.example
-}
-
-FILES_${PN}-dbg += "${base_libdir}/multipath/.debug"
-
-PACKAGES =+ "${PN}-libs"
-FILES_${PN}-libs = "${base_libdir}/lib*.so.* \
- ${base_libdir}/multipath/lib*.so*"
-RDEPENDS_${PN} += "${PN}-libs bash"
-
-PROVIDES += "device-mapper-multipath"
-RPROVIDES_${PN} += "device-mapper-multipath"
-RPROVIDES_${PN}-libs += "device-mapper-multipath-libs"
-
-FILES_${PN}-dev += "${base_libdir}/pkgconfig"
-
-PACKAGES =+ "kpartx"
-FILES_kpartx = "${base_sbindir}/kpartx \
- ${nonarch_base_libdir}/udev/kpartx_id \
- "
-
-RDEPENDS_${PN} += "kpartx"
-PARALLEL_MAKE = ""
diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.8.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.8.bb
new file mode 100644
index 0000000000..e9f01bd1fe
--- /dev/null
+++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_0.9.8.bb
@@ -0,0 +1,125 @@
+SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
+
+DESCRIPTION = "It provides tools to manage multipath devices \
+by instructing the device-mapper kernel module what to do. These \
+tools include: \
+1. multipath - Scan the system for multipath devices and assemble them.\
+2. multipathd - Detects when paths fail and execs multipath to update \
+things.\
+3. mpathpersist - Persistent reservation management feature allows \
+cluster management software to manage persistent reservation through \
+mpath device. It processes management requests from callers and hides \
+the management task details. It also handles persistent reservation \
+management of data path life cycle and state changes.\
+4. kpartx - This tool, derived from util-linux's partx, reads partition \
+tables on specified device and create device maps over partitions \
+segments detected. It is called from hotplug upon device maps creation \
+and deletion"
+
+HOMEPAGE = "http://christophe.varoqui.free.fr/"
+
+DEPENDS = "libdevmapper \
+ lvm2 \
+ libaio \
+ liburcu \
+ readline \
+ udev \
+ json-c \
+ "
+
+LICENSE = "GPL-2.0-only"
+
+SRC_URI = "git://github.com/opensvc/multipath-tools.git;protocol=https;branch=master \
+ file://multipathd.oe \
+ file://multipath.conf.example \
+ file://0001-RH-fixup-udev-rules-for-redhat.patch \
+ file://0002-RH-Remove-the-property-blacklist-exception-builtin.patch \
+ file://0003-RH-don-t-start-without-a-config-file.patch \
+ file://0004-RH-use-rpm-optflags-if-present.patch \
+ file://0005-RH-add-mpathconf.patch \
+ file://0006-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch \
+ file://0007-RH-warn-on-invalid-regex-instead-of-failing.patch \
+ file://0008-RH-reset-default-find_mutipaths-value-to-off.patch \
+ file://0009-multipath-tools-modify-create-config.mk-for-cross-co.patch \
+ file://0010-Subject-PATCH-Always-use-devmapper.patch \
+ file://0011-fix-bug-of-do_compile-and-do_install.patch \
+ file://0012-add-explicit-dependency-on-libraries.patch \
+ file://0001-libmultipath-always-use-glibc-basename.patch \
+ "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
+
+SRCREV = "3daacfdfd110b24a3a7d5a276dcf8512b7039199"
+
+S = "${WORKDIR}/git"
+
+inherit systemd pkgconfig
+
+SYSTEMD_SERVICE:${PN} = "multipathd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+# multipath-tools includes a copy of the valgrind.h header
+# file and uses the macros to suppress some false positives. However,
+# that only works on ARM when thumb is disabled. Otherwise one gets:
+# Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r12,r12,ror#3'
+# ../Makefile.inc:66: recipe for target 'debug.o' failed
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+
+# The exact version of SYSTEMD does not matter but should be greater than 209.
+#
+EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \
+ OPTFLAGS="${CFLAGS}" \
+ prefix=${prefix} \
+ bindir=${base_sbindir} \
+ LIB=${base_libdir} libdir=${base_libdir}/multipath \
+ usrlibdir=${libdir} \
+ plugindir=${base_libdir}/multipath \
+ unitdir=${systemd_system_unitdir} \
+ libudevdir=${nonarch_base_libdir}/udev \
+ modulesloaddir=${sysconfdir}/modules-load.d \
+ tmpfilesdir=${sysconfdir}/tmpfiles.d \
+ ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \
+ '
+
+do_install() {
+ oe_runmake install
+
+ # We copy an initscript, but do not start multipathd at init time.
+ #
+ if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)};then
+ install -d ${D}${sysconfdir}/init.d
+ cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd
+ fi
+
+ sed -i "s:/usr/lib/udev/kpartx_id:${nonarch_base_libdir}/udev/kpartx_id:g" \
+ ${D}${nonarch_base_libdir}/udev/rules.d/11-dm-mpath.rules
+
+ install -d ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/multipath.conf.example \
+ ${D}${sysconfdir}/multipath.conf.example
+}
+
+FILES:${PN} += "${systemd_system_unitdir}"
+FILES:${PN}-dbg += "${base_libdir}/multipath/.debug"
+
+PACKAGES =+ "${PN}-libs"
+FILES:${PN}-libs = "${base_libdir}/lib*.so.* \
+ ${base_libdir}/multipath/lib*.so*"
+RDEPENDS:${PN} += "${PN}-libs bash libgcc"
+
+PROVIDES += "device-mapper-multipath"
+RPROVIDES:${PN} += "device-mapper-multipath"
+RPROVIDES:${PN}-libs += "device-mapper-multipath-libs"
+
+FILES:${PN}-dev += "${base_libdir}/pkgconfig"
+
+PACKAGES =+ "kpartx"
+FILES:kpartx = "${base_sbindir}/kpartx \
+ ${nonarch_base_libdir}/udev/kpartx_id \
+ "
+
+RDEPENDS:${PN} += "kpartx"
+PARALLEL_MAKE = ""
diff --git a/meta-oe/recipes-support/nano/nano_5.6.bb b/meta-oe/recipes-support/nano/nano_5.6.bb
deleted file mode 100644
index 1ce08dd506..0000000000
--- a/meta-oe/recipes-support/nano/nano_5.6.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "GNU nano (Nano's ANOther editor, or \
-Not ANOther editor) is an enhanced clone of the \
-Pico text editor."
-HOMEPAGE = "http://www.nano-editor.org/"
-SECTION = "console/utils"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
-
-DEPENDS = "ncurses file"
-RDEPENDS_${PN} = "ncurses-terminfo-base"
-
-PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
-
-SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
-SRC_URI[sha256sum] = "fce183e4a7034d07d219c79aa2f579005d1fd49f156db6e50f53543a87637a32"
-
-UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano"
-
-inherit autotools gettext pkgconfig
-
-PACKAGECONFIG[tiny] = "--enable-tiny,"
diff --git a/meta-oe/recipes-support/nano/nano_7.2.bb b/meta-oe/recipes-support/nano/nano_7.2.bb
new file mode 100644
index 0000000000..0642287c98
--- /dev/null
+++ b/meta-oe/recipes-support/nano/nano_7.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Small and friendly console text editor"
+DESCRIPTION = "GNU nano (Nano's ANOther editor, or \
+Not ANOther editor) is an enhanced clone of the \
+Pico text editor."
+HOMEPAGE = "http://www.nano-editor.org/"
+SECTION = "console/utils"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
+
+DEPENDS = "ncurses file"
+RDEPENDS:${PN} = "ncurses-terminfo-base"
+
+PV_MAJOR = "${@d.getVar('PV').split('.')[0]}"
+
+SRC_URI = "https://nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.xz"
+SRC_URI[sha256sum] = "86f3442768bd2873cec693f83cdf80b4b444ad3cc14760b74361474fc87a4526"
+
+UPSTREAM_CHECK_URI = "https://ftp.gnu.org/gnu/nano"
+
+inherit autotools gettext pkgconfig
+
+PACKAGECONFIG[tiny] = "--enable-tiny,"
diff --git a/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch b/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch
index 9f2faaa529..6b51f992f5 100644
--- a/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch
+++ b/meta-oe/recipes-support/ne10/ne10/0001-CMakeLists.txt-Remove-mthumb-interwork.patch
@@ -12,6 +12,8 @@ where this option is absent
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch b/meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch
index a8fea82dc3..cb99daf78c 100644
--- a/meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch
+++ b/meta-oe/recipes-support/ne10/ne10/0001-Dont-specify-march-explicitly.patch
@@ -15,6 +15,8 @@ Fixes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
index f37ccde1cb..b10c23984d 100644
--- a/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -4,26 +4,26 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e7fe20c9be97be5579e3ab5d92d3a218"
SECTION = "libs"
-SRC_URI = "git://github.com/projectNe10/Ne10.git \
+SRC_URI = "git://github.com/projectNe10/Ne10.git;branch=master;protocol=https \
file://0001-CMakeLists.txt-Remove-mthumb-interwork.patch \
file://0001-Dont-specify-march-explicitly.patch \
"
SRCREV = "18c4c982a595dad069cd8df4932aefb1d257591f"
S = "${WORKDIR}/git"
-PV .= "gitr+${SRCPV}"
+PV .= "+git"
inherit cmake
# Incompatible with archs other than armv7, armv7ve and aarch64
COMPATIBLE_MACHINE = "(^$)"
-COMPATIBLE_MACHINE_aarch64 = "(.*)"
-COMPATIBLE_MACHINE_armv7a = "(.*)"
-COMPATIBLE_MACHINE_armv7ve = "(.*)"
+COMPATIBLE_MACHINE:aarch64 = "(.*)"
+COMPATIBLE_MACHINE:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","(.*)","(^$)",d)}"
+COMPATIBLE_MACHINE:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon","(.*)","(^$)",d)}"
NE10_TARGET_ARCH = ""
-NE10_TARGET_ARCH_aarch64 = "aarch64"
-NE10_TARGET_ARCH_armv7a = "armv7"
-NE10_TARGET_ARCH_armv7ve = "armv7"
+NE10_TARGET_ARCH:aarch64 = "aarch64"
+NE10_TARGET_ARCH:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","armv7","",d)}"
+NE10_TARGET_ARCH:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon","armv7","",d)}"
EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"'
@@ -38,4 +38,4 @@ do_install() {
# ERROR: QA Issue: ELF binary 'ne10/1.2.1-r0/packages-split/ne10/usr/lib/libNE10.so.10' has relocations in .text [textrel]
# ERROR: QA Issue: ELF binary 'ne10/1.2.1-r0/packages-split/ne10/usr/lib/libNE10.so.10' has relocations in .text [textrel]
-INSANE_SKIP_${PN} += "textrel"
+INSANE_SKIP:${PN} += "textrel"
diff --git a/meta-oe/recipes-support/neon/neon/0001-Disable-installing-documentation.patch b/meta-oe/recipes-support/neon/neon/0001-Disable-installing-documentation.patch
new file mode 100644
index 0000000000..177a71ec0a
--- /dev/null
+++ b/meta-oe/recipes-support/neon/neon/0001-Disable-installing-documentation.patch
@@ -0,0 +1,30 @@
+From f477408f1c24ce6e5589e5a99d369279916c7c6e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 24 Aug 2022 13:11:12 -0700
+Subject: [PATCH] Disable installing documentation
+
+It does not build
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ Makefile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index ed87a69..c32405c 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -125,7 +125,7 @@ Makefile: $(srcdir)/Makefile.in
+ neon-config: $(srcdir)/neon-config.in
+ @./config.status neon-config
+
+-install-docs: install-man install-html
++install-docs:
+
+ install-html:
+ $(INSTALL) -d $(DESTDIR)$(docdir)/html
+--
+2.37.2
+
diff --git a/meta-oe/recipes-support/neon/neon/run-ptest b/meta-oe/recipes-support/neon/neon/run-ptest
new file mode 100644
index 0000000000..602084a52c
--- /dev/null
+++ b/meta-oe/recipes-support/neon/neon/run-ptest
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+set -eux
+
+rm -f debug.log child.log
+
+ulimit -c unlimited
+ulimit -t 120
+
+cd test
+echo foobar > foobar.txt
+
+BASIC_TESTS="auth basic redirect request session socket string-tests \
+ stubs uri-tests util-tests"
+DAV_TESTS="acl3744 lock oldacl props xml xmlreq"
+for t in $BASIC_TESTS $DAV_TESTS
+do
+ echo "Running $t..."
+ if "./$t"
+ then
+ echo "PASS:$t"
+ else
+ echo "FAIL:$t"
+ fi
+done
diff --git a/meta-oe/recipes-support/neon/neon_0.30.2.bb b/meta-oe/recipes-support/neon/neon_0.30.2.bb
deleted file mode 100644
index 00b79f6330..0000000000
--- a/meta-oe/recipes-support/neon/neon_0.30.2.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "An HTTP and WebDAV client library with a C interface"
-HOMEPAGE = "http://www.webdav.org/neon/"
-SECTION = "libs"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://src/COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a \
- file://src/ne_utils.h;beginline=1;endline=20;md5=2caca609538eddaa6f6adf120a218037"
-
-SRC_URI = "${DEBIAN_MIRROR}/main/n/neon27/neon27_${PV}.orig.tar.gz \
- file://pkgconfig.patch \
- "
-
-SRC_URI[md5sum] = "e28d77bf14032d7f5046b3930704ef41"
-SRC_URI[sha256sum] = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca"
-
-inherit autotools binconfig-disabled lib_package pkgconfig
-
-# Enable gnutls or openssl, not both
-PACKAGECONFIG ?= "expat gnutls libproxy webdav zlib"
-PACKAGECONFIG_class-native = "expat gnutls webdav zlib"
-
-PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat"
-PACKAGECONFIG[gnutls] = "--with-ssl=gnutls,,gnutls"
-PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5"
-PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy"
-PACKAGECONFIG[libxml2] = "--with-libxml2,--without-libxml2,libxml2"
-PACKAGECONFIG[openssl] = "--with-ssl=openssl,,openssl"
-PACKAGECONFIG[webdav] = "--enable-webdav,--disable-webdav,"
-PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
-
-EXTRA_OECONF += "--enable-shared"
-
-do_compile_append() {
- oe_runmake -C test
-}
-
-BINCONFIG = "${bindir}/neon-config"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/neon/neon_0.33.0.bb b/meta-oe/recipes-support/neon/neon_0.33.0.bb
new file mode 100644
index 0000000000..a0333f4560
--- /dev/null
+++ b/meta-oe/recipes-support/neon/neon_0.33.0.bb
@@ -0,0 +1,63 @@
+SUMMARY = "An HTTP and WebDAV client library with a C interface"
+HOMEPAGE = "http://www.webdav.org/neon/"
+SECTION = "libs"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://src/COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a \
+ file://src/ne_utils.h;beginline=1;endline=20;md5=34c8e338bfa0237561e68d30c3c71133"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/n/neon27/neon27_${PV}.orig.tar.gz \
+ file://pkgconfig.patch \
+ file://0001-Disable-installing-documentation.patch \
+ file://run-ptest \
+ "
+
+SRC_URI[sha256sum] = "659a5cc9cea05e6e7864094f1e13a77abbbdbab452f04d751a8c16a9447cf4b8"
+
+inherit autotools-brokensep binconfig-disabled lib_package pkgconfig ptest
+
+# Enable gnutls or openssl, not both
+PACKAGECONFIG ?= "expat gnutls libproxy webdav zlib nls"
+PACKAGECONFIG:class-native = "expat gnutls webdav zlib nls"
+PACKAGECONFIG:remove:libc-musl = "nls"
+
+PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat"
+PACKAGECONFIG[gnutls] = "--with-ssl=gnutls,,gnutls"
+PACKAGECONFIG[gssapi] = "--with-gssapi,--without-gssapi,krb5"
+PACKAGECONFIG[libproxy] = "--with-libproxy,--without-libproxy,libproxy"
+PACKAGECONFIG[libxml2] = "--with-libxml2,--without-libxml2,libxml2"
+PACKAGECONFIG[nls] = ",--disable-nls,gettext-native"
+PACKAGECONFIG[openssl] = "--with-ssl=openssl,,openssl"
+PACKAGECONFIG[webdav] = "--enable-webdav,--disable-webdav,"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+
+EXTRA_OECONF += "--enable-shared --enable-threadsafe-ssl=posix"
+
+# Do not install into /usr/local
+EXTRA_OEMAKE:append:class-native = " prefix=${prefix_native}"
+
+do_configure:prepend() {
+ echo "${PV}" > ${S}/.version
+}
+
+do_compile:append() {
+ if ${@bb.utils.contains('PACKAGECONFIG', 'nls', 'true', 'false', d)}; then
+ oe_runmake compile-gmo
+ fi
+ oe_runmake -C test
+}
+
+do_install_ptest(){
+ BASIC_TESTS="auth basic redirect request session socket string-tests \
+ stubs uri-tests util-tests"
+ DAV_TESTS="acl3744 lock oldacl props xml xmlreq"
+ mkdir "${D}${PTEST_PATH}/test"
+ for i in ${BASIC_TESTS} ${DAV_TESTS}
+ do
+ install -m 0755 "${B}/test/${i}" \
+ "${D}${PTEST_PATH}/test"
+ done
+}
+
+BINCONFIG = "${bindir}/neon-config"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/nmon/nmon/0001-Fix-a-lot-of-Werror-format-security-errors-with-mvpr.patch b/meta-oe/recipes-support/nmon/nmon/0001-Fix-a-lot-of-Werror-format-security-errors-with-mvpr.patch
new file mode 100644
index 0000000000..af79efed96
--- /dev/null
+++ b/meta-oe/recipes-support/nmon/nmon/0001-Fix-a-lot-of-Werror-format-security-errors-with-mvpr.patch
@@ -0,0 +1,175 @@
+From eba852316735daec27d4ff11483018ca596312d0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Oct 2021 02:11:49 -0700
+Subject: [PATCH] Fix a lot of -Werror=format-security errors with
+ mvprintw/mvwprintw
+
+In all these places a non-constant is used as a format string which
+compiler complains about. Fix by using "%s" as format.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ lmon16m.c | 86 +++++++++++++++++++++++++++----------------------------
+ 1 file changed, 43 insertions(+), 43 deletions(-)
+
+diff --git a/lmon16m.c b/lmon16m.c
+index 7e46642..1d53367 100644
+--- a/lmon16m.c
++++ b/lmon16m.c
+@@ -5475,20 +5475,20 @@ int main(int argc, char **argv)
+ /*
+ *mvwprintw(padsmp,2, 0, "CPU User%% Sys%% Wait%% Idle|0 |25 |50 |75 100|");
+ */
+- mvwprintw(padsmp, 1, 0, cpu_line);
+- mvwprintw(padsmp, 2, 0, "CPU ");
++ mvwprintw(padsmp, 1, 0, "%s", cpu_line);
++ mvwprintw(padsmp, 2, 0, "%s", "CPU ");
+ COLOUR wattrset(padsmp, COLOR_PAIR(2)); /* Green */
+- mvwprintw(padsmp, 2, 4, "User%%");
++ mvwprintw(padsmp, 2, 4, "%s", "User%%");
+ COLOUR wattrset(padsmp, COLOR_PAIR(1)); /* Red */
+- mvwprintw(padsmp, 2, 9, " Sys%%");
++ mvwprintw(padsmp, 2, 9, "%s", " Sys%%");
+ COLOUR wattrset(padsmp, COLOR_PAIR(4)); /* Blue */
+- mvwprintw(padsmp, 2, 15, " Wait%%");
++ mvwprintw(padsmp, 2, 15, "%s", " Wait%%");
+ if (p->cpu_total.steal != q->cpu_total.steal) {
+ COLOUR wattrset(padsmp, COLOR_PAIR(5));
+- mvwprintw(padsmp, 2, 22, "Steal");
++ mvwprintw(padsmp, 2, 22, "%s", "Steal");
+ } else {
+ COLOUR wattrset(padsmp, COLOR_PAIR(0));
+- mvwprintw(padsmp, 2, 22, " Idle");
++ mvwprintw(padsmp, 2, 22, "%s", " Idle");
+ }
+ COLOUR wattrset(padsmp, COLOR_PAIR(0));
+ mvwprintw(padsmp, 2, 27,
+@@ -5579,8 +5579,8 @@ int main(int argc, char **argv)
+ /* lparcfg gathered above */
+ if (lparcfg.smt_mode > 1
+ && i % lparcfg.smt_mode == 0) {
+- mvwprintw(padsmp, 3 + i, 27, "*");
+- mvwprintw(padsmp, 3 + i, 77, "*");
++ mvwprintw(padsmp, 3 + i, 27, "%s", "*");
++ mvwprintw(padsmp, 3 + i, 77, "%s", "*");
+ }
+ #endif
+
+@@ -5597,7 +5597,7 @@ int main(int argc, char **argv)
+ 100.0);
+ }
+ } /* for (i = 0; i < cpus; i++) */
+- CURSE mvwprintw(padsmp, i + 3, 0, cpu_line);
++ CURSE mvwprintw(padsmp, i + 3, 0, "%s", cpu_line);
+ #ifdef POWER
+ /* proc_lparcfg called above in previous ifdef
+ */
+@@ -5673,7 +5673,7 @@ int main(int argc, char **argv)
+ 100.0);
+ }
+
+- CURSE mvwprintw(padsmp, i + 5, 0, cpu_line);
++ CURSE mvwprintw(padsmp, i + 5, 0, "%s", cpu_line);
+ i = i + 2;
+ } /* if (cpus > 1 || !cursed) */
+ smp_first_time = 0;
+@@ -5704,16 +5704,16 @@ int main(int argc, char **argv)
+ char *wide10 =
+ " 10%%-| |-10%%";
+
+- mvwprintw(padwide, 1, 0, wide1);
+- mvwprintw(padwide, 2, 0, wide2);
+- mvwprintw(padwide, 3, 0, wide3);
+- mvwprintw(padwide, 4, 0, wide4);
+- mvwprintw(padwide, 5, 0, wide5);
+- mvwprintw(padwide, 6, 0, wide6);
+- mvwprintw(padwide, 7, 0, wide7);
+- mvwprintw(padwide, 8, 0, wide8);
+- mvwprintw(padwide, 9, 0, wide9);
+- mvwprintw(padwide, 10, 0, wide10);
++ mvwprintw(padwide, 1, 0, "%s", wide1);
++ mvwprintw(padwide, 2, 0, "%s", wide2);
++ mvwprintw(padwide, 3, 0, "%s", wide3);
++ mvwprintw(padwide, 4, 0, "%s", wide4);
++ mvwprintw(padwide, 5, 0, "%s", wide5);
++ mvwprintw(padwide, 6, 0, "%s", wide6);
++ mvwprintw(padwide, 7, 0, "%s", wide7);
++ mvwprintw(padwide, 8, 0, "%s", wide8);
++ mvwprintw(padwide, 9, 0, "%s", wide9);
++ mvwprintw(padwide, 10, 0, "%s", wide10);
+ mvwprintw(padwide, 11, 0,
+ " CPU +1--------+10-------+20-------+30-------+40-------+50-------+60--+--0%%");
+ mvwprintw(padwide, 1, 6, "CPU(s)=%d", cpus);
+@@ -5755,16 +5755,16 @@ int main(int argc, char **argv)
+ rows = 12;
+ }
+ if (cpus > 63) {
+- mvwprintw(padwide, rows + 0, 0, wide1);
+- mvwprintw(padwide, rows + 1, 0, wide2);
+- mvwprintw(padwide, rows + 2, 0, wide3);
+- mvwprintw(padwide, rows + 3, 0, wide4);
+- mvwprintw(padwide, rows + 4, 0, wide5);
+- mvwprintw(padwide, rows + 5, 0, wide6);
+- mvwprintw(padwide, rows + 6, 0, wide7);
+- mvwprintw(padwide, rows + 7, 0, wide8);
+- mvwprintw(padwide, rows + 8, 0, wide9);
+- mvwprintw(padwide, rows + 9, 0, wide10);
++ mvwprintw(padwide, rows + 0, 0, "%s", wide1);
++ mvwprintw(padwide, rows + 1, 0, "%s", wide2);
++ mvwprintw(padwide, rows + 2, 0, "%s", wide3);
++ mvwprintw(padwide, rows + 3, 0, "%s", wide4);
++ mvwprintw(padwide, rows + 4, 0, "%s", wide5);
++ mvwprintw(padwide, rows + 5, 0, "%s", wide6);
++ mvwprintw(padwide, rows + 6, 0, "%s", wide7);
++ mvwprintw(padwide, rows + 7, 0, "%s", wide8);
++ mvwprintw(padwide, rows + 8, 0, "%s", wide9);
++ mvwprintw(padwide, rows + 9, 0, "%s", wide10);
+ mvwprintw(padwide, rows + 10, 0,
+ " CPU +65---+70-------+80-------+90-------+100------+110------+120-----+--0%%");
+ if (wide_first_time) {
+@@ -5813,16 +5813,16 @@ int main(int argc, char **argv)
+ rows = 23;
+ }
+ if (cpus > 127) {
+- mvwprintw(padwide, rows + 0, 0, wide1);
+- mvwprintw(padwide, rows + 1, 0, wide2);
+- mvwprintw(padwide, rows + 2, 0, wide3);
+- mvwprintw(padwide, rows + 3, 0, wide4);
+- mvwprintw(padwide, rows + 4, 0, wide5);
+- mvwprintw(padwide, rows + 5, 0, wide6);
+- mvwprintw(padwide, rows + 6, 0, wide7);
+- mvwprintw(padwide, rows + 7, 0, wide8);
+- mvwprintw(padwide, rows + 8, 0, wide9);
+- mvwprintw(padwide, rows + 9, 0, wide10);
++ mvwprintw(padwide, rows + 0, 0, "%s", wide1);
++ mvwprintw(padwide, rows + 1, 0, "%s", wide2);
++ mvwprintw(padwide, rows + 2, 0, "%s", wide3);
++ mvwprintw(padwide, rows + 3, 0, "%s", wide4);
++ mvwprintw(padwide, rows + 4, 0, "%s", wide5);
++ mvwprintw(padwide, rows + 5, 0, "%s", wide6);
++ mvwprintw(padwide, rows + 6, 0, "%s", wide7);
++ mvwprintw(padwide, rows + 7, 0, "%s", wide8);
++ mvwprintw(padwide, rows + 8, 0, "%s", wide9);
++ mvwprintw(padwide, rows + 9, 0, "%s", wide10);
+ mvwprintw(padwide, rows + 10, 0,
+ " CPU +129--------+140------+150------+160------+170------+180------+190--0%%");
+ if (wide_first_time) {
+@@ -8274,7 +8274,7 @@ I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv Trans
+ formatstring =
+ " PID %%CPU Size Res Res Res Res Shared Faults Command";
+ }
+- CURSE mvwprintw(padtop, 1, y, formatstring);
++ CURSE mvwprintw(padtop, 1, y, "%s", formatstring);
+
+ if (show_args == ARGS_ONLY) {
+ formatstring =
+@@ -8294,7 +8294,7 @@ I/F Name Recv=KB/s Trans=KB/s packin packout insize outsize Peak->Recv Trans
+ formatstring =
+ " Used KB Set Text Data Lib KB Min Maj ";
+ }
+- CURSE mvwprintw(padtop, 2, 1, formatstring);
++ CURSE mvwprintw(padtop, 2, 1, "%s", formatstring);
+ for (j = 0; j < max_sorted; j++) {
+ i = topper[j].index;
+ if (!show_all) {
diff --git a/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch
index e8debe56af..6721d2b5e5 100644
--- a/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch
+++ b/meta-oe/recipes-support/nmon/nmon/0001-lmon16g.c-Adjust-system-headers.patch
@@ -9,13 +9,15 @@ defines from sys/cdefs.h is used
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- lmon16g.c | 4 ++--
+Upstream-Status: Pending
+
+ lmon16m.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/lmon16g.c b/lmon16g.c
+diff --git a/lmon16m.c b/lmon16m.c
index cb27e09..d2a11c5 100644
---- a/lmon16g.c
-+++ b/lmon16g.c
+--- a/lmon16m.c
++++ b/lmon16m.c
@@ -63,7 +63,7 @@ static char *SccsId = "nmon " VERSION;
#include <fcntl.h>
#include <math.h>
diff --git a/meta-oe/recipes-support/nmon/nmon_16g.bb b/meta-oe/recipes-support/nmon/nmon_16g.bb
deleted file mode 100644
index e77faa30ad..0000000000
--- a/meta-oe/recipes-support/nmon/nmon_16g.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "nmon performance monitor"
-HOMEPAGE = "http://nmon.sf.net"
-SECTION = "console/utils"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a"
-DEPENDS = "ncurses"
-DEPENDS_append_libc-musl = " bsd-headers"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon${PV}.c;name=lmon \
- ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \
- file://0001-lmon16g.c-Adjust-system-headers.patch \
-"
-SRC_URI[lmon.md5sum] = "246ccfc74d5af55d992601fc4d3d4a72"
-SRC_URI[lmon.sha256sum] = "da82dd693b503b062854dfe7dbb5d36b347872ab44a4aa05b97e9d577747f688"
-SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a"
-SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278"
-
-CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM"
-LDFLAGS += "-ltinfo -lncursesw -lm"
-ASNEEDED_pn-nmon = ""
-
-S = "${WORKDIR}"
-
-do_compile() {
- ${CC} ${CFLAGS} ${LDFLAGS} lmon${PV}.c -o nmon
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 nmon ${D}${bindir}
-}
diff --git a/meta-oe/recipes-support/nmon/nmon_16m.bb b/meta-oe/recipes-support/nmon/nmon_16m.bb
new file mode 100644
index 0000000000..d4a357cea0
--- /dev/null
+++ b/meta-oe/recipes-support/nmon/nmon_16m.bb
@@ -0,0 +1,30 @@
+SUMMARY = "nmon performance monitor"
+HOMEPAGE = "http://nmon.sf.net"
+SECTION = "console/utils"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a"
+DEPENDS = "ncurses"
+DEPENDS:append:libc-musl = " bsd-headers"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon${PV}.c;name=lmon \
+ ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \
+ file://0001-lmon16g.c-Adjust-system-headers.patch \
+ file://0001-Fix-a-lot-of-Werror-format-security-errors-with-mvpr.patch \
+ "
+SRC_URI[lmon.sha256sum] = "2bed4d45fdfdf1d1387ec91e139c04975d5f838e3e0d53c0fe2d803a707e5fc1"
+SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278"
+
+CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM"
+LDFLAGS += "-ltinfo -lncursesw -lm"
+ASNEEDED:pn-nmon = ""
+
+S = "${WORKDIR}"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} lmon${PV}.c -o nmon
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 nmon ${D}${bindir}
+}
diff --git a/meta-oe/recipes-support/nspr/nspr/0001-Fix-Wincompatible-function-pointer-types.patch b/meta-oe/recipes-support/nspr/nspr/0001-Fix-Wincompatible-function-pointer-types.patch
new file mode 100644
index 0000000000..8515075fe0
--- /dev/null
+++ b/meta-oe/recipes-support/nspr/nspr/0001-Fix-Wincompatible-function-pointer-types.patch
@@ -0,0 +1,39 @@
+From d24dc9bebaefbd8abf32707bad5efc0c811c0cd4 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Jan 2023 13:04:56 -0800
+Subject: [PATCH] Fix -Wincompatible-function-pointer-types
+
+Fixes warnings with clang16
+testfile.c:576:31: error: incompatible function pointer types passing 'PRInt32 (void *)' (aka 'int (void *)') to parameter of type 'void (*)(void *)' [-Wincompatible-function-pointe r-types]
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pr/tests/testfile.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pr/tests/testfile.c b/pr/tests/testfile.c
+index 79d8a05..42aa6a7 100644
+--- a/pr/tests/testfile.c
++++ b/pr/tests/testfile.c
+@@ -123,7 +123,7 @@ PRThread* create_new_thread(PRThreadType type,
+ if (native_thread) {
+ #if defined(_PR_PTHREADS)
+ pthread_t tid;
+- if (!pthread_create(&tid, NULL, start, arg)) {
++ if (!pthread_create(&tid, NULL, (void*(*)(void*))start, arg)) {
+ return((PRThread *) tid);
+ }
+ else {
+@@ -573,7 +573,7 @@ static PRInt32 RunDirTest(void)
+
+ thrarg.done= 0;
+ t = create_new_thread(PR_USER_THREAD,
+- DirTest, &thrarg,
++ (void (*)(void *))DirTest, &thrarg,
+ PR_PRIORITY_NORMAL,
+ PR_LOCAL_THREAD,
+ PR_UNJOINABLE_THREAD,
+--
+2.39.1
+
diff --git a/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch b/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch
new file mode 100644
index 0000000000..6ebc9c4ae6
--- /dev/null
+++ b/meta-oe/recipes-support/nspr/nspr/0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch
@@ -0,0 +1,30 @@
+From 13e9d66c24d1dce5179805ae5e1bf940409b4914 Mon Sep 17 00:00:00 2001
+From: Mingli Yu <mingli.yu@windriver.com>
+Date: Wed, 10 Aug 2022 15:21:07 +0800
+Subject: [PATCH] config/nspr-config.in: don't pass LDFLAGS
+
+Don't pass LDFLAGS to avoid exposing the build env info.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+---
+ config/nspr-config.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config/nspr-config.in b/config/nspr-config.in
+index 2cb62a0..2bec715 100755
+--- a/config/nspr-config.in
++++ b/config/nspr-config.in
+@@ -136,7 +136,7 @@ if test "$echo_libs" = "yes"; then
+ if test -n "$lib_nspr"; then
+ libdirs="$libdirs -lnspr${major_version}"
+ fi
+- os_ldflags="@LDFLAGS@"
++ os_ldflags="LDFLAGS"
+ for i in $os_ldflags ; do
+ if echo $i | grep \^-L >/dev/null; then
+ libdirs="$libdirs $i"
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch b/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch
index d2b9bf6420..09855a03dc 100644
--- a/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch
+++ b/meta-oe/recipes-support/nspr/nspr/0001-md-Fix-build-with-musl.patch
@@ -1,4 +1,4 @@
-From 147f3c2acbd96d44025cec11800ded0282327764 Mon Sep 17 00:00:00 2001
+From 5f6fcaeb0b7a319c8afd32ddb48b3515b63a6c0c Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 18 Sep 2017 17:22:43 -0700
Subject: [PATCH] md: Fix build with musl
@@ -6,24 +6,17 @@ Subject: [PATCH] md: Fix build with musl
The MIPS specific header <sgidefs.h> is not provided by musl
linux kernel headers provide <asm/sgidefs.h> which has same definitions
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
pr/include/md/_linux.cfg | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
+diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg
+index aa3af78..899826f 100644
--- a/pr/include/md/_linux.cfg
+++ b/pr/include/md/_linux.cfg
-@@ -499,7 +499,7 @@
- #elif defined(__mips__)
-
- /* For _ABI64 */
--#include <sgidefs.h>
-+#include <asm/sgidefs.h>
-
- #ifdef __MIPSEB__
- #define IS_BIG_ENDIAN 1
@@ -511,7 +511,7 @@
#error "Unknown MIPS endianness."
#endif
diff --git a/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch b/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch
index 3a04d426a8..dab2a4e291 100644
--- a/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch
+++ b/meta-oe/recipes-support/nspr/nspr/0002-Add-nios2-support.patch
@@ -1,4 +1,4 @@
-From 95bda64fb4cf1825fea745e918cfe8202843f0ba Mon Sep 17 00:00:00 2001
+From 4760065a58153e4dae24e4e437a5136592c624bc Mon Sep 17 00:00:00 2001
From: Marek Vasut <marex@denx.de>
Date: Sat, 30 Jan 2016 07:18:02 +0100
Subject: [PATCH] Add nios2 support
@@ -7,15 +7,14 @@ Add support for the nios2 CPU.
Signed-off-by: Marek Vasut <marex@denx.de>
Upstream-Status: Submitted [ https://bugzilla.mozilla.org/show_bug.cgi?id=1244421 ]
+
---
- nspr/pr/include/md/_linux.cfg | 45 +++++++++++++++++++++++++++++++++++++++++++
- nspr/pr/include/md/_linux.h | 14 ++++++++++++++
- 2 files changed, 59 insertions(+)
+ pr/include/md/_linux.cfg | 45 +++++++++++++++++++++++++++++++++++
+ pr/include/md/_linux.h | 4 +++-
+ 2 files changed, 48 insertions(+), 1 deletion(-)
-Index: nspr/pr/include/md/_linux.cfg
-===================================================================
---- nspr.orig/pr/include/md/_linux.cfg
-+++ nspr/pr/include/md/_linux.cfg
+--- a/pr/include/md/_linux.cfg
++++ b/pr/include/md/_linux.cfg
@@ -975,6 +975,51 @@
#define PR_BYTES_PER_WORD_LOG2 2
#define PR_BYTES_PER_DWORD_LOG2 3
@@ -68,10 +67,8 @@ Index: nspr/pr/include/md/_linux.cfg
#elif defined(__or1k__)
#undef IS_LITTLE_ENDIAN
-Index: nspr/pr/include/md/_linux.h
-===================================================================
---- nspr.orig/pr/include/md/_linux.h
-+++ nspr/pr/include/md/_linux.h
+--- a/pr/include/md/_linux.h
++++ b/pr/include/md/_linux.h
@@ -55,6 +55,8 @@
#define _PR_SI_ARCHITECTURE "avr32"
#elif defined(__m32r__)
@@ -81,22 +78,12 @@ Index: nspr/pr/include/md/_linux.h
#elif defined(__or1k__)
#define _PR_SI_ARCHITECTURE "or1k"
#elif defined(__riscv) && (__riscv_xlen == 32)
-@@ -129,6 +131,18 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRIn
+@@ -143,7 +145,7 @@ extern PRInt32 _PR_x86_64_AtomicSet(PRIn
#define _MD_ATOMIC_SET _PR_x86_64_AtomicSet
#endif
-+#if defined(__nios2__)
-+#if defined(__GNUC__)
-+/* Use GCC built-in functions */
-+#define _PR_HAVE_ATOMIC_OPS
-+#define _MD_INIT_ATOMIC()
-+#define _MD_ATOMIC_INCREMENT(ptr) __sync_add_and_fetch(ptr, 1)
-+#define _MD_ATOMIC_DECREMENT(ptr) __sync_sub_and_fetch(ptr, 1)
-+#define _MD_ATOMIC_ADD(ptr, i) __sync_add_and_fetch(ptr, i)
-+#define _MD_ATOMIC_SET(ptr, nv) __sync_lock_test_and_set(ptr, nv)
-+#endif
-+#endif
-+
- #if defined(__or1k__)
+-#if defined(__loongarch__)
++#if defined(__loongarch__) || defined(__nios2__)
#if defined(__GNUC__)
/* Use GCC built-in functions */
+ #define _PR_HAVE_ATOMIC_OPS
diff --git a/meta-oe/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch b/meta-oe/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch
deleted file mode 100644
index bde715c5dc..0000000000
--- a/meta-oe/recipes-support/nspr/nspr/remove-srcdir-from-configure-in.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-the $srcdir is not defined at the time of gnu-configurize.
-
-Upstream-Status: Inappropriate [OE-Core specific]
-
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
-
-Index: nspr/configure.in
-===================================================================
---- nspr.orig/configure.in
-+++ nspr/configure.in
-@@ -8,7 +8,7 @@ AC_PREREQ(2.61)
- AC_INIT
- AC_CONFIG_SRCDIR([pr/include/nspr.h])
-
--AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf)
-+AC_CONFIG_AUX_DIR(build/autoconf)
- AC_CANONICAL_TARGET
-
- dnl ========================================================
diff --git a/meta-oe/recipes-support/nspr/nspr_4.29.bb b/meta-oe/recipes-support/nspr/nspr_4.29.bb
deleted file mode 100644
index 6307c159eb..0000000000
--- a/meta-oe/recipes-support/nspr/nspr_4.29.bb
+++ /dev/null
@@ -1,197 +0,0 @@
-SUMMARY = "Netscape Portable Runtime Library"
-HOMEPAGE = "http://www.mozilla.org/projects/nspr/"
-LICENSE = "GPL-2.0 | MPL-2.0 | LGPL-2.1"
-LIC_FILES_CHKSUM = "file://configure.in;beginline=3;endline=6;md5=90c2fdee38e45d6302abcfe475c8b5c5 \
- file://Makefile.in;beginline=4;endline=38;md5=beda1dbb98a515f557d3e58ef06bca99"
-SECTION = "libs/network"
-
-SRC_URI = "http://ftp.mozilla.org/pub/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \
- file://remove-rpath-from-tests.patch \
- file://fix-build-on-x86_64.patch \
- file://remove-srcdir-from-configure-in.patch \
- file://0002-Add-nios2-support.patch \
- file://0001-md-Fix-build-with-musl.patch \
- file://Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch \
- file://nspr.pc.in \
-"
-
-CACHED_CONFIGUREVARS_append_libc-musl = " CFLAGS='${CFLAGS} -D_PR_POLL_AVAILABLE \
- -D_PR_HAVE_OFF64_T -D_PR_INET6 -D_PR_HAVE_INET_NTOP \
- -D_PR_HAVE_GETHOSTBYNAME2 -D_PR_HAVE_GETADDRINFO \
- -D_PR_INET6_PROBE -DNO_DLOPEN_NULL'"
-
-UPSTREAM_CHECK_URI = "http://ftp.mozilla.org/pub/nspr/releases/"
-UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+)/"
-
-SRC_URI[md5sum] = "a546926d3c8e887be02c668c1293da92"
-SRC_URI[sha256sum] = "22286bdb8059d74632cc7c2865c139e63953ecfb33bf4362ab58827e86e92582"
-
-CVE_PRODUCT = "netscape_portable_runtime"
-
-S = "${WORKDIR}/nspr-${PV}/nspr"
-
-RDEPENDS_${PN}-dev += "perl"
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-TESTS = " \
- accept \
- acceptread \
- acceptreademu \
- affinity \
- alarm \
- anonfm \
- atomic \
- attach \
- bigfile \
- cleanup \
- cltsrv \
- concur \
- cvar \
- cvar2 \
- dlltest \
- dtoa \
- errcodes \
- exit \
- fdcach \
- fileio \
- foreign \
- formattm \
- fsync \
- gethost \
- getproto \
- i2l \
- initclk \
- inrval \
- instrumt \
- intrio \
- intrupt \
- io_timeout \
- ioconthr \
- join \
- joinkk \
- joinku \
- joinuk \
- joinuu \
- layer \
- lazyinit \
- libfilename \
- lltest \
- lock \
- lockfile \
- logfile \
- logger \
- many_cv \
- multiwait \
- nameshm1 \
- nblayer \
- nonblock \
- ntioto \
- ntoh \
- op_2long \
- op_excl \
- op_filnf \
- op_filok \
- op_nofil \
- parent \
- parsetm \
- peek \
- perf \
- pipeping \
- pipeping2 \
- pipeself \
- poll_nm \
- poll_to \
- pollable \
- prftest \
- primblok \
- provider \
- prpollml \
- ranfile \
- randseed \
- reinit \
- rwlocktest \
- sel_spd \
- selct_er \
- selct_nm \
- selct_to \
- selintr \
- sema \
- semaerr \
- semaping \
- sendzlf \
- server_test \
- servr_kk \
- servr_uk \
- servr_ku \
- servr_uu \
- short_thread \
- sigpipe \
- socket \
- sockopt \
- sockping \
- sprintf \
- stack \
- stdio \
- str2addr \
- strod \
- switch \
- system \
- testbit \
- testfile \
- threads \
- timemac \
- timetest \
- tpd \
- udpsrv \
- vercheck \
- version \
- writev \
- xnotify \
- zerolen"
-
-inherit autotools multilib_script
-
-MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/nspr-config"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-# Do not install nspr in usr/include, but in usr/include/nspr, the
-# preferred path upstream.
-EXTRA_OECONF += "--includedir=${includedir}/nspr"
-
-do_compile_prepend() {
- oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX ${BUILD_CFLAGS}" LDFLAGS="" CC="${BUILD_CC}" -C config export
-}
-
-do_compile_append() {
- oe_runmake -C pr/tests
-}
-
-do_install_append() {
- install -D ${WORKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc
- sed -i \
- -e 's:NSPRVERSION:${PV}:g' \
- -e 's:OEPREFIX:${prefix}:g' \
- -e 's:OELIBDIR:${libdir}:g' \
- -e 's:OEINCDIR:${includedir}:g' \
- -e 's:OEEXECPREFIX:${exec_prefix}:g' \
- ${D}${libdir}/pkgconfig/nspr.pc
-
- mkdir -p ${D}${libdir}/nspr/tests
- install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests
- install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests
- cd ${B}/pr/tests
- install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests
-
- # delete compile-et.pl and perr.properties from ${bindir} because these are
- # only used to generate prerr.c and prerr.h files from prerr.et at compile
- # time
- rm ${D}${bindir}/compile-et.pl ${D}${bindir}/prerr.properties
-}
-
-FILES_${PN} = "${libdir}/lib*.so"
-FILES_${PN}-dev = "${bindir}/* ${libdir}/nspr/tests/* ${libdir}/pkgconfig \
- ${includedir}/* ${datadir}/aclocal/* "
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/nspr/nspr_4.35.bb b/meta-oe/recipes-support/nspr/nspr_4.35.bb
new file mode 100644
index 0000000000..f8d329398b
--- /dev/null
+++ b/meta-oe/recipes-support/nspr/nspr_4.35.bb
@@ -0,0 +1,199 @@
+SUMMARY = "Netscape Portable Runtime Library"
+HOMEPAGE = "http://www.mozilla.org/projects/nspr/"
+LICENSE = "GPL-2.0-only | MPL-2.0 | LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://configure.in;beginline=3;endline=6;md5=90c2fdee38e45d6302abcfe475c8b5c5 \
+ file://Makefile.in;beginline=4;endline=38;md5=beda1dbb98a515f557d3e58ef06bca99"
+SECTION = "libs/network"
+
+SRC_URI = "http://ftp.mozilla.org/pub/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \
+ file://remove-rpath-from-tests.patch \
+ file://fix-build-on-x86_64.patch \
+ file://0002-Add-nios2-support.patch \
+ file://0001-md-Fix-build-with-musl.patch \
+ file://Makefile.in-remove-_BUILD_STRING-and-_BUILD_TIME.patch \
+ file://0001-config-nspr-config.in-don-t-pass-LDFLAGS.patch \
+ file://0001-Fix-Wincompatible-function-pointer-types.patch \
+ file://nspr.pc.in \
+ "
+
+CACHED_CONFIGUREVARS:append:libc-musl = " CFLAGS='${CFLAGS} -D_PR_POLL_AVAILABLE \
+ -D_PR_HAVE_LARGE_OFF_T -D_PR_INET6 -D_PR_HAVE_INET_NTOP \
+ -D_PR_HAVE_GETHOSTBYNAME2 -D_PR_HAVE_GETADDRINFO \
+ -D_PR_INET6_PROBE -DNO_DLOPEN_NULL'"
+
+UPSTREAM_CHECK_URI = "http://ftp.mozilla.org/pub/nspr/releases/"
+UPSTREAM_CHECK_REGEX = "v(?P<pver>\d+(\.\d+)+)/"
+
+SRC_URI[sha256sum] = "7ea3297ea5969b5d25a5dd8d47f2443cda88e9ee746301f6e1e1426f8a6abc8f"
+
+CVE_PRODUCT = "netscape_portable_runtime"
+
+S = "${WORKDIR}/nspr-${PV}/nspr"
+
+RDEPENDS:${PN}-dev += "perl"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+TESTS = " \
+ accept \
+ acceptread \
+ acceptreademu \
+ affinity \
+ alarm \
+ anonfm \
+ atomic \
+ attach \
+ bigfile \
+ cleanup \
+ cltsrv \
+ concur \
+ cvar \
+ cvar2 \
+ dlltest \
+ dtoa \
+ errcodes \
+ exit \
+ fdcach \
+ fileio \
+ foreign \
+ formattm \
+ fsync \
+ gethost \
+ getproto \
+ i2l \
+ initclk \
+ inrval \
+ instrumt \
+ intrio \
+ intrupt \
+ io_timeout \
+ ioconthr \
+ join \
+ joinkk \
+ joinku \
+ joinuk \
+ joinuu \
+ layer \
+ lazyinit \
+ libfilename \
+ lltest \
+ lock \
+ lockfile \
+ logfile \
+ logger \
+ many_cv \
+ multiwait \
+ nameshm1 \
+ nblayer \
+ nonblock \
+ ntioto \
+ ntoh \
+ op_2long \
+ op_excl \
+ op_filnf \
+ op_filok \
+ op_nofil \
+ parent \
+ parsetm \
+ peek \
+ perf \
+ pipeping \
+ pipeping2 \
+ pipeself \
+ poll_nm \
+ poll_to \
+ pollable \
+ prftest \
+ primblok \
+ provider \
+ prpollml \
+ ranfile \
+ randseed \
+ reinit \
+ rwlocktest \
+ sel_spd \
+ selct_er \
+ selct_nm \
+ selct_to \
+ selintr \
+ sema \
+ semaerr \
+ semaping \
+ sendzlf \
+ server_test \
+ servr_kk \
+ servr_uk \
+ servr_ku \
+ servr_uu \
+ short_thread \
+ sigpipe \
+ socket \
+ sockopt \
+ sockping \
+ sprintf \
+ stack \
+ stdio \
+ str2addr \
+ strod \
+ switch \
+ system \
+ testbit \
+ testfile \
+ threads \
+ timemac \
+ timetest \
+ tpd \
+ udpsrv \
+ vercheck \
+ version \
+ writev \
+ xnotify \
+ zerolen"
+
+inherit autotools multilib_script
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/nspr-config"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+
+# Do not install nspr in usr/include, but in usr/include/nspr, the
+# preferred path upstream.
+EXTRA_OECONF += "--includedir=${includedir}/nspr"
+
+EXTRA_OEMAKE:append:class-native = " EXTRA_LIBS='-lpthread -lrt -ldl'"
+
+do_compile:prepend() {
+ oe_runmake CROSS_COMPILE=1 CFLAGS="-DXP_UNIX ${BUILD_CFLAGS}" LDFLAGS="" CC="${BUILD_CC}" -C config export
+}
+
+do_compile:append() {
+ oe_runmake -C pr/tests
+}
+
+do_install:append() {
+ install -D ${WORKDIR}/nspr.pc.in ${D}${libdir}/pkgconfig/nspr.pc
+ sed -i \
+ -e 's:NSPRVERSION:${PV}:g' \
+ -e 's:OEPREFIX:${prefix}:g' \
+ -e 's:OELIBDIR:${libdir}:g' \
+ -e 's:OEINCDIR:${includedir}:g' \
+ -e 's:OEEXECPREFIX:${exec_prefix}:g' \
+ ${D}${libdir}/pkgconfig/nspr.pc
+
+ mkdir -p ${D}${libdir}/nspr/tests
+ install -m 0755 ${S}/pr/tests/runtests.pl ${D}${libdir}/nspr/tests
+ install -m 0755 ${S}/pr/tests/runtests.sh ${D}${libdir}/nspr/tests
+ cd ${B}/pr/tests
+ install -m 0755 ${TESTS} ${D}${libdir}/nspr/tests
+
+ # delete compile-et.pl and perr.properties from ${bindir} because these are
+ # only used to generate prerr.c and prerr.h files from prerr.et at compile
+ # time
+ rm ${D}${bindir}/compile-et.pl ${D}${bindir}/prerr.properties
+}
+
+FILES:${PN} = "${libdir}/lib*.so"
+FILES:${PN}-dev = "${bindir}/* ${libdir}/nspr/tests/* ${libdir}/pkgconfig \
+ ${includedir}/* ${datadir}/aclocal/* "
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch b/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
index 65e1500ae5..b7f1b01a14 100644
--- a/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
+++ b/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
@@ -1,4 +1,4 @@
-From 8b67c22b057e158f61c9fdd5b01f37195c6f5ca4 Mon Sep 17 00:00:00 2001
+From 7c8f367faf8848a43a414079189e10270d6c0fcc Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 18 Dec 2019 12:29:50 +0100
Subject: [PATCH] freebl: add a configure option to disable ARM HW crypto
@@ -15,28 +15,28 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
2 files changed, 5 insertions(+)
diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile
-index fe8c526..922f67c 100644
+index 7ee8736..f9b4925 100644
--- a/nss/lib/freebl/Makefile
+++ b/nss/lib/freebl/Makefile
-@@ -125,6 +125,8 @@ else
- DEFINES += -DNSS_X86
- endif
+@@ -142,6 +142,8 @@ endif
+ endif
+ endif
endif
+ifdef NSS_USE_ARM_HW_CRYPTO
+ DEFINES += -DNSS_USE_ARM_HW_CRYPTO
ifeq ($(CPU_ARCH),aarch64)
ifdef CC_IS_CLANG
DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
-@@ -166,6 +168,7 @@ endif
+@@ -183,6 +185,7 @@ endif
endif
endif
endif
+endif
- ifeq ($(OS_TARGET),OSF1)
- DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_NO_MP_WORD
+ ifeq (OS2,$(OS_TARGET))
+ ASFILES = mpi_x86_os2.s
diff --git a/nss/lib/freebl/gcm.c b/nss/lib/freebl/gcm.c
-index c2cc18d..b77f573 100644
+index 2dae724..9ee7fc8 100644
--- a/nss/lib/freebl/gcm.c
+++ b/nss/lib/freebl/gcm.c
@@ -18,6 +18,7 @@
diff --git a/meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch b/meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch
index 3d90e2d951..2385fd3b9d 100644
--- a/meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch
+++ b/meta-oe/recipes-support/nss/nss/0001-nss-fix-support-cross-compiling.patch
@@ -1,4 +1,4 @@
-From 8cea16e7550ae14494fbb3a8fe9f5452e6bd1407 Mon Sep 17 00:00:00 2001
+From 46ab1ca6e6fb8e1196e0665a54506dff370f8f2a Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 22 Feb 2017 11:36:11 +0200
Subject: [PATCH] nss: fix support cross compiling
@@ -10,15 +10,20 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
- nss/coreconf/arch.mk | 2 +-
+ nss/coreconf/arch.mk | 4 ++--
nss/lib/freebl/Makefile | 6 ++++++
- 2 files changed, 7 insertions(+), 1 deletion(-)
+ 2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/nss/coreconf/arch.mk b/nss/coreconf/arch.mk
-index 790372d..2563134 100644
+index 17e9fae..bc4180a 100644
--- a/nss/coreconf/arch.mk
+++ b/nss/coreconf/arch.mk
-@@ -30,7 +30,7 @@ OS_TEST := $(shell uname -m)
+@@ -26,11 +26,11 @@ OS_ARCH := $(subst /,_,$(shell uname -s))
+ # Attempt to differentiate between sparc and x86 Solaris
+ #
+
+-OS_TEST := $(shell uname -m)
++OS_TEST ?= $(shell uname -m)
ifeq ($(OS_TEST),i86pc)
OS_RELEASE := $(shell uname -r)_$(OS_TEST)
else
@@ -26,9 +31,9 @@ index 790372d..2563134 100644
+ OS_RELEASE ?= $(shell uname -r)
endif
- #
+
diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile
-index 52d827c..f99f769 100644
+index eeee90a..7ee8736 100644
--- a/nss/lib/freebl/Makefile
+++ b/nss/lib/freebl/Makefile
@@ -36,6 +36,12 @@ ifdef USE_64
diff --git a/meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch b/meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch
index e87dc9f76b..4c9bea30c0 100644
--- a/meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch
+++ b/meta-oe/recipes-support/nss/nss/disable-Wvarargs-with-clang.patch
@@ -1,4 +1,4 @@
-From c5b2c6327f3692ed07bf8d212123e0bf08485722 Mon Sep 17 00:00:00 2001
+From f613c9a9107435a40d91329f33f12cfb16927f07 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 7 Mar 2020 08:34:02 -0800
Subject: [PATCH] nss,nspr: Add recipes
diff --git a/meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch b/meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch
index 6f02dbcb4b..735b06b5ca 100644
--- a/meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch
+++ b/meta-oe/recipes-support/nss/nss/nss-fix-incorrect-shebang-of-perl.patch
@@ -1,4 +1,4 @@
-From 028ec9c7e9f7a6f083eec987f3ad7e7623398d9d Mon Sep 17 00:00:00 2001
+From 2ce67b1f4b1f582d556ae058da10698bbaa0edc1 Mon Sep 17 00:00:00 2001
From: Ovidiu Panait <ovidiu.panait@windriver.com>
Date: Mon, 13 Jul 2020 12:12:31 +0300
Subject: [PATCH] nss: fix incorrect shebang of perl
diff --git a/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch b/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
index fbfa828b23..a1897f88d8 100644
--- a/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
+++ b/meta-oe/recipes-support/nss/nss/nss-fix-nsinstall-build.patch
@@ -1,4 +1,4 @@
-From 2701905e689cf7c1ee7ca2d116f20b5bbc146431 Mon Sep 17 00:00:00 2001
+From f9b2b1c738576a17460aebd005f511f427aa1974 Mon Sep 17 00:00:00 2001
From: Wenzong Fan <wenzong.fan@windriver.com>
Date: Sat, 7 Mar 2020 08:34:02 -0800
Subject: [PATCH] Fix nss multilib build on openSUSE 11.x 32bit
@@ -15,7 +15,7 @@ on host to install built files, it doesn't need any cross-compling or
multilib build options. Just clean the ARCHFLAG and LDFLAGS to fix this
error.
-Upstream-Status: Pending
+Upstream-Status: Inappropriate [configuration]
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
===================================================
diff --git a/meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch b/meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch
index 7dbc1a3721..8c715cc447 100644
--- a/meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch
+++ b/meta-oe/recipes-support/nss/nss/nss-no-rpath-for-cross-compiling.patch
@@ -1,4 +1,4 @@
-From dc51214895bcd63fc8eb8d1fe7941cd3e5500620 Mon Sep 17 00:00:00 2001
+From 73edfbdf33fe4e41724e7e947033d8caeec8f3d0 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Sat, 7 Mar 2020 08:34:02 -0800
Subject: [PATCH] nss:no rpath for cross compiling
diff --git a/meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch b/meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch
index 5505ae36ac..589b4d5e7f 100644
--- a/meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch
+++ b/meta-oe/recipes-support/nss/nss/pqg.c-ULL_addend.patch
@@ -1,4 +1,4 @@
-From a550bdf458f11dff46ebddbac94cf48c27d3471e Mon Sep 17 00:00:00 2001
+From cbd367160338847b28fc801a12c74f1c8b5b03ee Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 7 Mar 2020 08:34:02 -0800
Subject: [PATCH] nss does not build on mips with clang because wrong types are
@@ -16,7 +16,7 @@ Upstream-Status: Pending
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/nss/lib/freebl/pqg.c b/nss/lib/freebl/pqg.c
-index 626b2fb..052ad36 100644
+index 1b03278..ad895b7 100644
--- a/nss/lib/freebl/pqg.c
+++ b/nss/lib/freebl/pqg.c
@@ -326,8 +326,8 @@ generate_h_candidate(SECItem *hit, mp_int *H)
diff --git a/meta-oe/recipes-support/nss/nss_3.60.1.bb b/meta-oe/recipes-support/nss/nss_3.60.1.bb
deleted file mode 100644
index 0d668ba067..0000000000
--- a/meta-oe/recipes-support/nss/nss_3.60.1.bb
+++ /dev/null
@@ -1,282 +0,0 @@
-SUMMARY = "Mozilla's SSL and TLS implementation"
-DESCRIPTION = "Network Security Services (NSS) is a set of libraries \
-designed to support cross-platform development of \
-security-enabled client and server applications. \
-Applications built with NSS can support SSL v2 and v3, \
-TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \
-v3 certificates, and other security standards."
-HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/"
-SECTION = "libs"
-
-DEPENDS = "sqlite3 nspr zlib nss-native"
-DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
-
-LICENSE = "MPL-2.0 | (MPL-2.0 & GPL-2.0+) | (MPL-2.0 & LGPL-2.1+)"
-
-LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \
- file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \
- file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132"
-
-VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}"
-
-SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \
- file://nss.pc.in \
- file://0001-nss-fix-support-cross-compiling.patch \
- file://nss-no-rpath-for-cross-compiling.patch \
- file://nss-fix-incorrect-shebang-of-perl.patch \
- file://disable-Wvarargs-with-clang.patch \
- file://pqg.c-ULL_addend.patch \
- file://blank-cert9.db \
- file://blank-key4.db \
- file://system-pkcs11.txt \
- file://nss-fix-nsinstall-build.patch \
- file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \
- "
-SRC_URI[sha256sum] = "2051c20b61112df24bad533ac37f6c66c1bc0d6ea70bb9d9cad102d20324279d"
-
-UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
-UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
-
-inherit siteinfo
-
-TD = "${S}/tentative-dist"
-TDS = "${S}/tentative-dist-staging"
-
-# cortex-a55 is ARMv8.2-a based but libatomic explicitly asks for -march=armv8.1-a
-# which caused -march conflicts in gcc
-TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc -mcpu=cortex-a55 -mcpu=cortex-a55+crc+crypto"
-
-TARGET_CC_ARCH += "${LDFLAGS}"
-
-do_configure_prepend_libc-musl () {
- sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk
-}
-
-do_configure_prepend_powerpc64le_toolchain-clang () {
- sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk
-}
-
-do_configure_prepend_powerpc64_toolchain-clang () {
- sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk
-}
-
-do_compile_prepend_class-native() {
- export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr
- export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
-}
-
-do_compile_prepend_class-nativesdk() {
- export LDFLAGS=""
-}
-
-do_compile_prepend_class-native() {
- # Need to set RPATH so that chrpath will do its job correctly
- RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}"
-}
-
-do_compile() {
- export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr
-
- export CROSS_COMPILE=1
- export NATIVE_CC="${BUILD_CC}"
- # Additional defines needed on Centos 7
- export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux"
- export BUILD_OPT=1
-
- # POSIX.1-2001 states that the behaviour of getcwd() when passing a null
- # pointer as the buf argument, is unspecified.
- export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC"
-
- export FREEBL_NO_DEPEND=1
- export FREEBL_LOWHASH=1
-
- export LIBDIR=${libdir}
- export MOZILLA_CLIENT=1
- export NS_USE_GCC=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSS_ENABLE_ECC=1
-
- ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)}
-
- export OS_RELEASE=3.4
- export OS_TARGET=Linux
- export OS_ARCH=Linux
-
- if [ "${TARGET_ARCH}" = "powerpc" ]; then
- OS_TEST=ppc
- elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then
- OS_TEST=ppc64
- elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
- OS_TEST=mips
- elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
- OS_TEST="aarch64"
- else
- OS_TEST="${TARGET_ARCH}"
- fi
-
- if [ "${SITEINFO_BITS}" = "64" ]; then
- export USE_64=1
- elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
- export USE_X32=1
- fi
-
- export NSS_DISABLE_GTESTS=1
-
- # We can modify CC in the environment, but if we set it via an
- # argument to make, nsinstall, a host program, will also build with it!
- #
- # nss pretty much does its own thing with CFLAGS, so we put them into CC.
- # Optimization will get clobbered, but most of the stuff will survive.
- # The motivation for this is to point to the correct place for debug
- # source files and CFLAGS does that. Nothing uses CCC.
- #
- export CC="${CC} ${CFLAGS}"
- make -C ./nss CCC="${CXX} -g" \
- OS_TEST=${OS_TEST} \
- RPATH="${RPATH}" \
- autobuild
-}
-
-do_compile[vardepsexclude] += "SITEINFO_BITS"
-
-do_install_prepend_class-nativesdk() {
- export LDFLAGS=""
-}
-
-do_install() {
- export CROSS_COMPILE=1
- export NATIVE_CC="${BUILD_CC}"
- export BUILD_OPT=1
-
- export FREEBL_NO_DEPEND=1
-
- export LIBDIR=${libdir}
- export MOZILLA_CLIENT=1
- export NS_USE_GCC=1
- export NSS_USE_SYSTEM_SQLITE=1
- export NSS_ENABLE_ECC=1
-
- export OS_RELEASE=3.4
- export OS_TARGET=Linux
- export OS_ARCH=Linux
-
- if [ "${TARGET_ARCH}" = "powerpc" ]; then
- OS_TEST=ppc
- elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then
- OS_TEST=ppc64
- elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
- OS_TEST=mips
- elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
- CPU_ARCH=aarch64
- OS_TEST="aarch64"
- else
- OS_TEST="${TARGET_ARCH}"
- fi
- if [ "${SITEINFO_BITS}" = "64" ]; then
- export USE_64=1
- elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
- export USE_X32=1
- fi
-
- export NSS_DISABLE_GTESTS=1
-
- make -C ./nss \
- CCC="${CXX}" \
- OS_TEST=${OS_TEST} \
- SOURCE_LIB_DIR="${TD}/${libdir}" \
- SOURCE_BIN_DIR="${TD}/${bindir}" \
- install
-
- install -d ${D}/${libdir}/
- for file in ${S}/dist/*.OBJ/lib/*.so; do
- echo "Installing `basename $file`..."
- cp $file ${D}/${libdir}/
- done
-
- for shared_lib in ${TD}/${libdir}/*.so.*; do
- if [ -f $shared_lib ]; then
- cp $shared_lib ${D}/${libdir}
- ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe)
- fi
- done
- for shared_lib in ${TD}/${libdir}/*.so; do
- if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then
- cp $shared_lib ${D}/${libdir}
- fi
- done
-
- install -d ${D}/${includedir}/nss3
- install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/*
-
- install -d ${D}/${bindir}
- for binary in ${TD}/${bindir}/*; do
- install -m 755 -t ${D}/${bindir} $binary
- done
-}
-
-do_install[vardepsexclude] += "SITEINFO_BITS"
-
-do_install_append() {
- # Create empty .chk files for the NSS libraries at build time. They could
- # be regenerated at target's boot time.
- for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do
- touch ${D}/${libdir}/$file
- chmod 755 ${D}/${libdir}/$file
- done
-
- install -d ${D}${libdir}/pkgconfig/
- sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc
- sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc
- sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc
- sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc
- sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc
-}
-
-do_install_append_class-target() {
- # It used to call certutil to create a blank certificate with empty password at
- # build time, but the checksum of key4.db changes every time when certutil is called.
- # It causes non-determinism issue, so provide databases with a blank certificate
- # which are originally from output of nss in qemux86-64 build. You can get these
- # databases by:
- # certutil -N -d sql:/database/path/ --empty-password
- install -d ${D}${sysconfdir}/pki/nssdb/
- install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db
- install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db
- install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt
-}
-
-PACKAGE_WRITE_DEPS += "nss-native"
-
-pkg_postinst_${PN} () {
- for I in $D${libdir}/lib*.chk; do
- DN=`dirname $I`
- BN=`basename $I .chk`
- FN=$DN/$BN.so
- shlibsign -i $FN
- if [ $? -ne 0 ]; then
- echo "shlibsign -i $FN failed"
- fi
- done
-}
-
-PACKAGES =+ "${PN}-smime"
-FILES_${PN}-smime = "\
- ${bindir}/smime \
-"
-
-FILES_${PN} = "\
- ${sysconfdir} \
- ${bindir} \
- ${libdir}/lib*.chk \
- ${libdir}/lib*.so \
- "
-
-FILES_${PN}-dev = "\
- ${libdir}/nss \
- ${libdir}/pkgconfig/* \
- ${includedir}/* \
- "
-
-RDEPENDS_${PN}-smime = "perl"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/nss/nss_3.98.bb b/meta-oe/recipes-support/nss/nss_3.98.bb
new file mode 100644
index 0000000000..01501362e2
--- /dev/null
+++ b/meta-oe/recipes-support/nss/nss_3.98.bb
@@ -0,0 +1,289 @@
+SUMMARY = "Mozilla's SSL and TLS implementation"
+DESCRIPTION = "Network Security Services (NSS) is a set of libraries \
+designed to support cross-platform development of \
+security-enabled client and server applications. \
+Applications built with NSS can support SSL v2 and v3, \
+TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \
+v3 certificates, and other security standards."
+HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/"
+SECTION = "libs"
+
+DEPENDS = "sqlite3 nspr zlib nss-native"
+DEPENDS:class-native = "sqlite3-native nspr-native zlib-native"
+
+LICENSE = "(MPL-2.0 & MIT) | (MPL-2.0 & GPL-2.0-or-later & MIT) | (MPL-2.0 & LGPL-2.1-or-later & MIT)"
+
+LIC_FILES_CHKSUM = "file://nss/COPYING;md5=3b1e88e1b9c0b5a4b2881d46cce06a18 \
+ file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f \
+ file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=5d425c8f3157dbf212db2ec53d9e5132 \
+ file://nss/lib/freebl/verified/Hacl_Poly1305_256.c;beginline=1;endline=22;md5=cc22f07b95d28d56baeb757df46ee7c8"
+
+VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '_RTM'}"
+
+SRC_URI = "http://ftp.mozilla.org/pub/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \
+ file://nss.pc.in \
+ file://0001-nss-fix-support-cross-compiling.patch \
+ file://nss-no-rpath-for-cross-compiling.patch \
+ file://nss-fix-incorrect-shebang-of-perl.patch \
+ file://disable-Wvarargs-with-clang.patch \
+ file://pqg.c-ULL_addend.patch \
+ file://blank-cert9.db \
+ file://blank-key4.db \
+ file://system-pkcs11.txt \
+ file://nss-fix-nsinstall-build.patch \
+ file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \
+ "
+SRC_URI[sha256sum] = "f549cc33d35c0601674bfacf7c6ad683c187595eb4125b423238d3e9aa4209ce"
+
+UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
+UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
+
+inherit siteinfo
+
+TD = "${S}/tentative-dist"
+TDS = "${S}/tentative-dist-staging"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+CFLAGS:append:class-native = " -D_XOPEN_SOURCE "
+
+do_configure:prepend:libc-musl () {
+ sed -i -e '/-DHAVE_SYS_CDEFS_H/d' ${S}/nss/lib/dbm/config/config.mk
+}
+
+do_configure:prepend:powerpc64le:toolchain-clang () {
+ sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk
+}
+
+do_configure:prepend:powerpc64:toolchain-clang () {
+ sed -i -e 's/\-std=c99/\-std=gnu99/g' ${S}/nss/coreconf/command.mk
+}
+
+do_compile:prepend:class-native() {
+ export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr
+ export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
+}
+
+do_compile:prepend:class-nativesdk() {
+ export LDFLAGS=""
+}
+
+do_compile:prepend:class-native() {
+ # Need to set RPATH so that chrpath will do its job correctly
+ RPATH="-Wl,-rpath-link,${STAGING_LIBDIR_NATIVE} -Wl,-rpath-link,${STAGING_BASE_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_LIBDIR_NATIVE} -Wl,-rpath,${STAGING_BASE_LIBDIR_NATIVE}"
+}
+
+do_compile() {
+ export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr
+
+ export CROSS_COMPILE=1
+ export NATIVE_CC="${BUILD_CC}"
+ # Additional defines needed on Centos 7
+ export NATIVE_FLAGS="${BUILD_CFLAGS} -DLINUX -Dlinux"
+ export BUILD_OPT=1
+
+ # POSIX.1-2001 states that the behaviour of getcwd() when passing a null
+ # pointer as the buf argument, is unspecified.
+ export NATIVE_FLAGS="${NATIVE_FLAGS} -DGETCWD_CANT_MALLOC"
+
+ export FREEBL_NO_DEPEND=1
+ export FREEBL_LOWHASH=1
+
+ export LIBDIR=${libdir}
+ export MOZILLA_CLIENT=1
+ export NS_USE_GCC=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSS_ENABLE_ECC=1
+ export NSS_ENABLE_WERROR=0
+
+ ${@bb.utils.contains("TUNE_FEATURES", "crypto", "export NSS_USE_ARM_HW_CRYPTO=1", "", d)}
+
+ export OS_RELEASE=3.4
+ export OS_TARGET=Linux
+ export OS_ARCH=Linux
+
+ if [ "${TARGET_ARCH}" = "powerpc" ]; then
+ OS_TEST=ppc
+ elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then
+ OS_TEST=ppc64
+ elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
+ OS_TEST=mips
+ elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
+ OS_TEST="aarch64"
+ else
+ OS_TEST="${TARGET_ARCH}"
+ fi
+
+ if [ "${SITEINFO_BITS}" = "64" ]; then
+ export USE_64=1
+ elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
+ export USE_X32=1
+ fi
+
+ export NSS_DISABLE_GTESTS=1
+ # We can modify CC in the environment, but if we set it via an
+ # argument to make, nsinstall, a host program, will also build with it!
+ #
+ # nss pretty much does its own thing with CFLAGS, so we put them into CC.
+ # Optimization will get clobbered, but most of the stuff will survive.
+ # The motivation for this is to point to the correct place for debug
+ # source files and CFLAGS does that. Nothing uses CCC.
+ #
+ export CC="${CC} ${CFLAGS}"
+ make -C ./nss CCC="${CXX} -g" \
+ OS_TEST=${OS_TEST} \
+ RPATH="${RPATH}" \
+ autobuild
+}
+
+do_compile[vardepsexclude] += "SITEINFO_BITS"
+
+do_install:prepend:class-nativesdk() {
+ export LDFLAGS=""
+}
+
+do_install() {
+ export CROSS_COMPILE=1
+ export NATIVE_CC="${BUILD_CC}"
+ export BUILD_OPT=1
+
+ export FREEBL_NO_DEPEND=1
+
+ export LIBDIR=${libdir}
+ export MOZILLA_CLIENT=1
+ export NS_USE_GCC=1
+ export NSS_USE_SYSTEM_SQLITE=1
+ export NSS_ENABLE_ECC=1
+
+ export OS_RELEASE=3.4
+ export OS_TARGET=Linux
+ export OS_ARCH=Linux
+
+ if [ "${TARGET_ARCH}" = "powerpc" ]; then
+ OS_TEST=ppc
+ elif [ "${TARGET_ARCH}" = "powerpc64" -o "${TARGET_ARCH}" = "powerpc64le" ]; then
+ OS_TEST=ppc64
+ elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then
+ OS_TEST=mips
+ elif [ "${TARGET_ARCH}" = "aarch64_be" ]; then
+ CPU_ARCH=aarch64
+ OS_TEST="aarch64"
+ else
+ OS_TEST="${TARGET_ARCH}"
+ fi
+ if [ "${SITEINFO_BITS}" = "64" ]; then
+ export USE_64=1
+ elif [ "${TARGET_ARCH}" = "x86_64" -a "${SITEINFO_BITS}" = "32" ]; then
+ export USE_X32=1
+ fi
+
+ export NSS_DISABLE_GTESTS=1
+
+ make -C ./nss \
+ CCC="${CXX}" \
+ OS_TEST=${OS_TEST} \
+ SOURCE_LIB_DIR="${TD}/${libdir}" \
+ SOURCE_BIN_DIR="${TD}/${bindir}" \
+ install
+
+ install -d ${D}/${libdir}/
+ for file in ${S}/dist/*.OBJ/lib/*.so; do
+ echo "Installing `basename $file`..."
+ cp $file ${D}/${libdir}/
+ done
+
+ for shared_lib in ${TD}/${libdir}/*.so.*; do
+ if [ -f $shared_lib ]; then
+ cp $shared_lib ${D}/${libdir}
+ ln -sf $(basename $shared_lib) ${D}/${libdir}/$(basename $shared_lib .1oe)
+ fi
+ done
+ for shared_lib in ${TD}/${libdir}/*.so; do
+ if [ -f $shared_lib -a ! -e ${D}/${libdir}/$shared_lib ]; then
+ cp $shared_lib ${D}/${libdir}
+ fi
+ done
+
+ install -d ${D}/${includedir}/nss3
+ install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/*
+
+ install -d ${D}/${bindir}
+ for binary in ${TD}/${bindir}/*; do
+ install -m 755 -t ${D}/${bindir} $binary
+ done
+}
+
+do_install[vardepsexclude] += "SITEINFO_BITS"
+
+do_install:append() {
+ # Create empty .chk files for the NSS libraries at build time. They could
+ # be regenerated at target's boot time.
+ for file in libsoftokn3.chk libfreebl3.chk libnssdbm3.chk; do
+ touch ${D}/${libdir}/$file
+ chmod 755 ${D}/${libdir}/$file
+ done
+
+ install -d ${D}${libdir}/pkgconfig/
+ sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OELIBDIR:${libdir}:g ${D}${libdir}/pkgconfig/nss.pc
+ sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc
+}
+
+do_install:append:class-target() {
+ # It used to call certutil to create a blank certificate with empty password at
+ # build time, but the checksum of key4.db changes every time when certutil is called.
+ # It causes non-determinism issue, so provide databases with a blank certificate
+ # which are originally from output of nss in qemux86-64 build. You can get these
+ # databases by:
+ # certutil -N -d sql:/database/path/ --empty-password
+ install -d ${D}${sysconfdir}/pki/nssdb/
+ install -m 0644 ${WORKDIR}/blank-cert9.db ${D}${sysconfdir}/pki/nssdb/cert9.db
+ install -m 0644 ${WORKDIR}/blank-key4.db ${D}${sysconfdir}/pki/nssdb/key4.db
+ install -m 0644 ${WORKDIR}/system-pkcs11.txt ${D}${sysconfdir}/pki/nssdb/pkcs11.txt
+}
+
+PACKAGE_WRITE_DEPS += "nss-native"
+
+pkg_postinst:${PN} () {
+ for I in $D${libdir}/lib*.chk; do
+ DN=`dirname $I`
+ BN=`basename $I .chk`
+ FN=$DN/$BN.so
+ shlibsign -i $FN
+ if [ $? -ne 0 ]; then
+ echo "shlibsign -i $FN failed"
+ fi
+ done
+}
+
+PACKAGES =+ "${PN}-smime"
+FILES:${PN}-smime = "\
+ ${bindir}/smime \
+"
+
+FILES:${PN} = "\
+ ${sysconfdir} \
+ ${bindir} \
+ ${libdir}/lib*.chk \
+ ${libdir}/lib*.so \
+ "
+
+FILES:${PN}-dev = "\
+ ${libdir}/nss \
+ ${libdir}/pkgconfig/* \
+ ${includedir}/* \
+ "
+
+RDEPENDS:${PN}-smime = "perl"
+
+BBCLASSEXTEND = "native nativesdk"
+
+CVE_PRODUCT += "network_security_services"
+
+CVE_STATUS_GROUPS += "CVE_STATUS_NSS"
+CVE_STATUS_NSS[status] = "not-applicable-config: This only affect the legacy db (libnssdbm), only compiled with --enable-legacy-db"
+CVE_STATUS_NSS = "CVE-2017-11695 CVE-2017-11696 CVE-2017-11697 CVE-2017-11698"
+
+CVE_STATUS[CVE-2022-3479] = "not-applicable-config: vulnerability was introduced in 3.77 and fixed in 3.87"
diff --git a/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch b/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch
index 891592650d..1db9684abd 100644
--- a/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch
+++ b/meta-oe/recipes-support/onig/onig/0001-build-don-t-link-against-host-system-libraries.patch
@@ -1,7 +1,7 @@
-From 78103ecd18efcd0966531d8718f6e94dcb7a5abf Mon Sep 17 00:00:00 2001
+From 543990bc34a0e5d4f66a9167efb1f3b8de6a3635 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
Date: Mon, 6 Jan 2020 16:56:31 +0000
-Subject: [PATCH] build: don't link against (host) system libraries
+Subject: [PATCH 1/2] build: don't link against (host) system libraries
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -14,29 +14,29 @@ Signed-off-by: André Draszik <git@andred.net>
2 files changed, 2 deletions(-)
diff --git a/sample/Makefile.am b/sample/Makefile.am
-index 22a4989..e935bf0 100644
+index 681cd2a933de..c4f796d36da0 100644
--- a/sample/Makefile.am
+++ b/sample/Makefile.am
-@@ -3,7 +3,6 @@
- lib_onig = ../src/libonig.la
+@@ -4,7 +4,6 @@ lib_onig = ../src/libonig.la
LDADD = $(lib_onig)
--AM_LDFLAGS = -L$(prefix)/lib
+ AM_CFLAGS = -Wall
+-AM_LDFLAGS = -L$(libdir)
AM_CPPFLAGS = -I$(top_srcdir)/src
if ENABLE_POSIX_API
diff --git a/test/Makefile.am b/test/Makefile.am
-index 4d62568..b7a2105 100644
+index 94739a24ab22..a23ef1e2e139 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,7 +1,6 @@
## Makefile.am for Oniguruma
lib_onig = ../src/libonig.la
--AM_LDFLAGS = -L$(prefix)/lib
+-AM_LDFLAGS = -L$(libdir)
AM_CFLAGS = -Wall -Wno-invalid-source-encoding
AM_CPPFLAGS = -I$(top_srcdir)/src
--
-2.23.0.rc1
+2.35.1
diff --git a/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch b/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch
deleted file mode 100644
index 587e5ac1b8..0000000000
--- a/meta-oe/recipes-support/onig/onig/0001-build-enable-serial-tests-automake-option-for-ptest.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 8bf8189ec4a0d7ee569f66feb0e590e9602c31b6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
-Date: Mon, 6 Jan 2020 15:10:30 +0000
-Subject: [PATCH] build: enable serial-tests automake option (for ptest)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-For ptest, we need to be able to compile the tests without
-running them.
-
-Enabling the serial-tests automake option will add
-buildtest-TESTS and runtest-TESTS makefile targets, the
-former being what we want.
-
-Signed-off-by: André Draszik <git@andred.net>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index ac51e85..48e63ce 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3,7 +3,7 @@ AC_INIT(onig, 6.9.4)
-
- AC_CONFIG_MACRO_DIR([m4])
-
--AM_INIT_AUTOMAKE([-Wno-portability])
-+AM_INIT_AUTOMAKE([-Wno-portability serial-tests])
- AC_CONFIG_HEADERS([src/config.h])
-
-
---
-2.23.0.rc1
-
diff --git a/meta-oe/recipes-support/onig/onig/0002-build-enable-serial-tests-automake-option-for-ptest.patch b/meta-oe/recipes-support/onig/onig/0002-build-enable-serial-tests-automake-option-for-ptest.patch
new file mode 100644
index 0000000000..096b8baa79
--- /dev/null
+++ b/meta-oe/recipes-support/onig/onig/0002-build-enable-serial-tests-automake-option-for-ptest.patch
@@ -0,0 +1,38 @@
+From 1ab999aa5a7a21329bab13e05f843e5e029493e1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Mon, 6 Jan 2020 15:10:30 +0000
+Subject: [PATCH 2/2] build: enable serial-tests automake option (for ptest)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+For ptest, we need to be able to compile the tests without
+running them.
+
+Enabling the serial-tests automake option will add
+buildtest-TESTS and runtest-TESTS makefile targets, the
+former being what we want.
+
+Signed-off-by: André Draszik <git@andred.net>
+---
+Upstream-Status: Pending
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 079fef9a1a52..058b5504b9b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,7 +3,7 @@ AC_INIT(onig, 6.9.8)
+
+ AC_CONFIG_MACRO_DIR([m4])
+
+-AM_INIT_AUTOMAKE([-Wno-portability])
++AM_INIT_AUTOMAKE([-Wno-portability serial-tests])
+ AC_CONFIG_HEADERS([src/config.h])
+
+
+--
+2.35.1
+
diff --git a/meta-oe/recipes-support/onig/onig/run-ptest b/meta-oe/recipes-support/onig/onig/run-ptest
index 2574d7efa5..fbce336990 100755
--- a/meta-oe/recipes-support/onig/onig/run-ptest
+++ b/meta-oe/recipes-support/onig/onig/run-ptest
@@ -17,7 +17,7 @@ workdir=$(mktemp -d -t onig.ptest.XXXXXX)
status="${workdir}/failed"
touch "${status}"
-find tests/ -perm -111 -type f -exec sh -c '
+find tests/ -perm -111 -type f ! -path "tests/.debug/*" -exec sh -c '
workdir="${1}"
status="${2}"
t="${3}"
diff --git a/meta-oe/recipes-support/onig/onig_6.9.4.bb b/meta-oe/recipes-support/onig/onig_6.9.4.bb
deleted file mode 100644
index 50d9f52353..0000000000
--- a/meta-oe/recipes-support/onig/onig_6.9.4.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-SUMMARY = "Regular expressions library"
-DESCRIPTION = "Oniguruma is a modern and flexible regular expressions library. \
-It encompasses features from different regular expression \
-implementations that traditionally exist in different languages. \
-Character encoding can be specified per regular expression object."
-HOMEPAGE = "https://github.com/kkos/oniguruma"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=1ee043784bdce7503e619b2d1a85798b"
-
-SRC_URI = "\
- https://github.com/kkos/oniguruma/releases/download/v${PV}/${BP}.tar.gz \
- file://0001-build-don-t-link-against-host-system-libraries.patch \
- file://0001-build-enable-serial-tests-automake-option-for-ptest.patch \
- file://run-ptest \
-"
-
-SRC_URI[md5sum] = "a12d2fe997b789bd87cf63799c091879"
-SRC_URI[sha256sum] = "4669d22ff7e0992a7e93e116161cac9c0949cd8960d1c562982026726f0e6d53"
-
-BINCONFIG = "${bindir}/onig-config"
-
-inherit autotools binconfig-disabled ptest
-
-BBCLASSEXTEND = "native"
-
-do_compile_ptest() {
- oe_runmake -C test buildtest-TESTS
-}
-
-do_install_ptest() {
- mkdir -p ${D}${PTEST_PATH}/tests
- install -m 0755 -t ${D}${PTEST_PATH}/tests/ ${B}/test/.libs/*
-}
diff --git a/meta-oe/recipes-support/onig/onig_6.9.9.bb b/meta-oe/recipes-support/onig/onig_6.9.9.bb
new file mode 100644
index 0000000000..b29437db1e
--- /dev/null
+++ b/meta-oe/recipes-support/onig/onig_6.9.9.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Regular expressions library"
+DESCRIPTION = "Oniguruma is a modern and flexible regular expressions library. \
+It encompasses features from different regular expression \
+implementations that traditionally exist in different languages. \
+Character encoding can be specified per regular expression object."
+HOMEPAGE = "https://github.com/kkos/oniguruma"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6365c225bb5cc4321d0913f0baffa04"
+
+SRC_URI = "\
+ https://github.com/kkos/oniguruma/releases/download/v${PV}/${BP}.tar.gz \
+ file://0001-build-don-t-link-against-host-system-libraries.patch \
+ file://0002-build-enable-serial-tests-automake-option-for-ptest.patch \
+ file://run-ptest \
+"
+
+SRC_URI[sha256sum] = "60162bd3b9fc6f4886d4c7a07925ffd374167732f55dce8c491bfd9cd818a6cf"
+
+BINCONFIG = "${bindir}/onig-config"
+
+inherit autotools binconfig-disabled ptest
+
+BBCLASSEXTEND = "native"
+
+do_compile_ptest() {
+ oe_runmake -C test buildtest-TESTS
+}
+
+do_install_ptest() {
+ mkdir -p ${D}${PTEST_PATH}/tests
+ install -m 0755 -t ${D}${PTEST_PATH}/tests/ ${B}/test/.libs/*
+}
+
+PROVIDES += "oniguruma"
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
deleted file mode 100644
index 6cb5dfcccb..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 6fb28085e867d7c3ef46577d9ff193a185693bcb Mon Sep 17 00:00:00 2001
-From: Oliver Kurth <okurth@vmware.com>
-Date: Mon, 30 Sep 2019 16:24:27 -0700
-Subject: [PATCH] GitHub Issue #367. Remove references to deprecated G_INLINE_FUNC.
-
-G_INLINE_FUNC was a work-around for compilers that didn't support
-static inline. Change uses of it to static inline.
-
-Upstream-Status: Backport
-[https://github.com/vmware/open-vm-tools/commit/89c0d444567eb525e8d083fb564c46d68e96660c]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/include/vmware/tools/plugin.h | 2 +-
- open-vm-tools/lib/include/vmware/tools/threadPool.h | 8 ++++----
- open-vm-tools/lib/include/vmware/tools/utils.h | 9 ---------
- 3 files changed, 5 insertions(+), 14 deletions(-)
-
-diff --git a/open-vm-tools/lib/include/vmware/tools/plugin.h b/open-vm-tools/lib/include/vmware/tools/plugin.h
-index f9acc6a2..deefd1f3 100644
---- a/open-vm-tools/lib/include/vmware/tools/plugin.h
-+++ b/open-vm-tools/lib/include/vmware/tools/plugin.h
-@@ -290,7 +290,7 @@ typedef struct ToolsAppCtx {
- *
- * @return TRUE if COM is initialized when the function returns.
- */
--G_INLINE_FUNC gboolean
-+static inline gboolean
- ToolsCore_InitializeCOM(ToolsAppCtx *ctx)
- {
- if (!ctx->comInitialized) {
-diff --git a/open-vm-tools/lib/include/vmware/tools/threadPool.h b/open-vm-tools/lib/include/vmware/tools/threadPool.h
-index 3f2082b3..5880fbcf 100644
---- a/open-vm-tools/lib/include/vmware/tools/threadPool.h
-+++ b/open-vm-tools/lib/include/vmware/tools/threadPool.h
-@@ -91,7 +91,7 @@ typedef struct ToolsCorePool {
- *******************************************************************************
- */
-
--G_INLINE_FUNC ToolsCorePool *
-+static inline ToolsCorePool *
- ToolsCorePool_GetPool(ToolsAppCtx *ctx)
- {
- ToolsCorePool *pool = NULL;
-@@ -123,7 +123,7 @@ ToolsCorePool_GetPool(ToolsAppCtx *ctx)
- *******************************************************************************
- */
-
--G_INLINE_FUNC guint
-+static inline guint
- ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
- ToolsCorePoolCb cb,
- gpointer data,
-@@ -153,7 +153,7 @@ ToolsCorePool_SubmitTask(ToolsAppCtx *ctx,
- *******************************************************************************
- */
-
--G_INLINE_FUNC void
-+static inline void
- ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
- guint taskId)
- {
-@@ -197,7 +197,7 @@ ToolsCorePool_CancelTask(ToolsAppCtx *ctx,
- *******************************************************************************
- */
-
--G_INLINE_FUNC gboolean
-+static inline gboolean
- ToolsCorePool_StartThread(ToolsAppCtx *ctx,
- const gchar *threadName,
- ToolsCorePoolCb cb,
-diff --git a/open-vm-tools/lib/include/vmware/tools/utils.h b/open-vm-tools/lib/include/vmware/tools/utils.h
-index f6574590..a3292d5c 100644
---- a/open-vm-tools/lib/include/vmware/tools/utils.h
-+++ b/open-vm-tools/lib/include/vmware/tools/utils.h
-@@ -51,15 +51,6 @@
- # include <sys/time.h>
- #endif
-
--
--/* Work around a glib limitation: it doesn't set G_INLINE_FUNC on Win32. */
--#if defined(G_PLATFORM_WIN32)
--# if defined(G_INLINE_FUNC)
--# undef G_INLINE_FUNC
--# endif
--# define G_INLINE_FUNC static __inline
--#endif
--
- #ifndef ABS
- # define ABS(x) (((x) >= 0) ? (x) : -(x))
- #endif
---
-2.23.0
-
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
deleted file mode 100644
index 61a681f17f..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From caf80e220b055dbce259078be96e899dc78ec1d2 Mon Sep 17 00:00:00 2001
-From: Bartosz Brachaczek <b.brachaczek@gmail.com>
-Date: Tue, 12 Nov 2019 14:31:08 +0100
-Subject: [PATCH] Make HgfsConvertFromNtTimeNsec aware of 64-bit time_t on i386
-
-I verified that this function behaves as expected on x86_64, i386 with
-32-bit time_t, and i386 with 64-bit time_t for the following values of
-ntTtime:
-
-UNIX_EPOCH-1, UNIX_EPOCH, UNIX_EPOCH+1, UNIX_S32_MAX-1, UNIX_S32_MAX,
-UNIX_S32_MAX+1, UNIX_S32_MAX*2+1
-
-I did not verify whether the use of Div643264 is optimal, performance
-wise.
-
-Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/387]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/hgfs/hgfsUtil.c | 34 +++++++++++++++++--------------
- 1 file changed, 19 insertions(+), 15 deletions(-)
-
-diff --git a/open-vm-tools/lib/hgfs/hgfsUtil.c b/open-vm-tools/lib/hgfs/hgfsUtil.c
-index cc580ab8..49b10040 100644
---- a/open-vm-tools/lib/hgfs/hgfsUtil.c
-+++ b/open-vm-tools/lib/hgfs/hgfsUtil.c
-@@ -110,23 +110,21 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
- uint64 ntTime) // IN: Time in Windows NT format
- {
- #ifdef __i386__
-- uint32 sec;
-- uint32 nsec;
-+ uint64 sec64;
-+ uint32 sec32, nsec;
-+#endif
-
- ASSERT(unixTime);
-- /* We assume that time_t is 32bit */
-- ASSERT_ON_COMPILE(sizeof (unixTime->tv_sec) == 4);
-
-- /* Cap NT time values that are outside of Unix time's range */
-+ if (sizeof (unixTime->tv_sec) == 4) {
-+ /* Cap NT time values that are outside of Unix time's range */
-
-- if (ntTime >= UNIX_S32_MAX) {
-- unixTime->tv_sec = 0x7FFFFFFF;
-- unixTime->tv_nsec = 0;
-- return 1;
-+ if (ntTime >= UNIX_S32_MAX) {
-+ unixTime->tv_sec = 0x7FFFFFFF;
-+ unixTime->tv_nsec = 0;
-+ return 1;
-+ }
- }
--#else
-- ASSERT(unixTime);
--#endif
-
- if (ntTime < UNIX_EPOCH) {
- unixTime->tv_sec = 0;
-@@ -135,9 +133,15 @@ HgfsConvertFromNtTimeNsec(struct timespec *unixTime, // OUT: Time in UNIX format
- }
-
- #ifdef __i386__
-- Div643232(ntTime - UNIX_EPOCH, 10000000, &sec, &nsec);
-- unixTime->tv_sec = sec;
-- unixTime->tv_nsec = nsec * 100;
-+ if (sizeof (unixTime->tv_sec) == 4) {
-+ Div643232(ntTime - UNIX_EPOCH, 10000000, &sec32, &nsec);
-+ unixTime->tv_sec = sec32;
-+ unixTime->tv_nsec = nsec * 100;
-+ } else {
-+ Div643264(ntTime - UNIX_EPOCH, 10000000, &sec64, &nsec);
-+ unixTime->tv_sec = sec64;
-+ unixTime->tv_nsec = nsec * 100;
-+ }
- #else
- unixTime->tv_sec = (ntTime - UNIX_EPOCH) / 10000000;
- unixTime->tv_nsec = ((ntTime - UNIX_EPOCH) % 10000000) * 100;
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
deleted file mode 100644
index a711f5e5d2..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-configure.ac-don-t-use-dnet-config.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From fc9bf1ce9f1a21150b10736a1c968d4ca6d4eaa3 Mon Sep 17 00:00:00 2001
-From: Martin Kelly <mkelly@xevo.com>
-Date: Fri, 7 Apr 2017 15:20:30 -0700
-Subject: [PATCH] configure.ac: don't use dnet-config
-
-The dnet-config tool doesn't know about cross-compilation, so it injects
--I/usr/include into the path, causing compiler errors. So instead find dnet via
--ldnet.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Martin Kelly <mkelly@xevo.com>
----
- open-vm-tools/configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/open-vm-tools/configure.ac
-+++ b/open-vm-tools/configure.ac
-@@ -937,7 +937,7 @@ if test "$with_dnet" = "yes"; then
- AC_VMW_CHECK_LIB([dnet],
- [DNET],
- [],
-- [dnet-config],
-+ [],
- [],
- [dnet.h],
- [intf_open],
-@@ -947,7 +947,7 @@ if test "$with_dnet" = "yes"; then
-
- if test $have_dnet = "no"; then
- AC_MSG_ERROR(
-- [dnet-config was not found on your PATH. Please configure without dnet or install dnet - http://libdnet.sourceforge.net])
-+ [dnet was not found. Please configure without dnet (using --without-dnet) or install dnet - http://libdnet.sourceforge.net])
- fi
- fi
-
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch
deleted file mode 100644
index 82443ee660..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-hgfsmounter-Makefile.am-support-usrmerge.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 33798f3e484ebd3470e9da791b73b4b90ba12bc3 Mon Sep 17 00:00:00 2001
-From: Yi Zhao <yi.zhao@windriver.com>
-Date: Tue, 14 Jan 2020 15:04:03 +0800
-Subject: [PATCH] hgfsmounter/Makefile.am: support usrmerge
-
-There is a do_package error when enable usrmerge feature due to the
-hardcoded sbin directory. Remove this piece of code because we already
-create the symbolic link in do_install.
-
-Upstream-Status: Inappropriate [oe-specific]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- open-vm-tools/hgfsmounter/Makefile.am | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/open-vm-tools/hgfsmounter/Makefile.am b/open-vm-tools/hgfsmounter/Makefile.am
-index 7c1ba1a..58bd3f8 100644
---- a/open-vm-tools/hgfsmounter/Makefile.am
-+++ b/open-vm-tools/hgfsmounter/Makefile.am
-@@ -39,9 +39,6 @@ uninstall-hook:
- rm -f $(DESTDIR)$(sbindir)/mount_vmhgfs
- else
- install-exec-hook:
-- -$(MKDIR_P) $(DESTDIR)/sbin
-- -$(LN_S) $(DESTDIR)$(sbindir)/mount.vmhgfs \
-- $(DESTDIR)/sbin/mount.vmhgfs &> /dev/null
- uninstall-hook:
- rm -f $(DESTDIR)/sbin/mount.vmhgfs
- endif !FREEBSD
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
deleted file mode 100644
index 95664e8552..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0001-utilBacktrace-Ignore-Warray-bounds.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From ac3f93ea087d3a5461fe57fe021d0fe9a959e13c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 25 Dec 2019 15:25:02 -0800
-Subject: [PATCH] utilBacktrace: Ignore -Warray-bounds
-
-This is new warning with gcc10, until its fixed ignore it like gcc<10
-did
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/user/utilBacktrace.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/open-vm-tools/lib/user/utilBacktrace.c b/open-vm-tools/lib/user/utilBacktrace.c
-index b72340ad..97ca53f2 100644
---- a/open-vm-tools/lib/user/utilBacktrace.c
-+++ b/open-vm-tools/lib/user/utilBacktrace.c
-@@ -517,6 +517,11 @@ Util_BacktraceWithFunc(int bugNr, // IN:
- } else {
- outFunc(outFuncData, "Backtrace for bugNr=%d\n",bugNr);
- }
-+#pragma GCC diagnostic push
-+#pragma GCC diagnostic ignored "-Warray-bounds"
-+
- Util_BacktraceFromPointerWithFunc(&x[-2], outFunc, outFuncData);
-+#pragma GCC diagnostic pop
- #endif
- }
-+
---
-2.24.1
-
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
deleted file mode 100644
index 34628ffbef..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-add-include-sys-sysmacros.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3fa237b3afabc293e563292b8d89265a871626ad Mon Sep 17 00:00:00 2001
-From: Martin Kelly <mkelly@xevo.com>
-Date: Mon, 22 May 2017 17:00:05 -0700
-Subject: [PATCH] add #include <sys/sysmacros.h>
-
-In newer glibc versions, the definition for major() has been moved to
-sys/sysmacros.h, and using the older version in <sys/types.h> has been
-deprecated. So, add an include for <sys/sysmacros.h>.
-
-Upstream-Status: Pending
-
-Signed-off-by: Martin Kelly <mkelly@xevo.com>
----
- open-vm-tools/lib/wiper/wiperPosix.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/open-vm-tools/lib/wiper/wiperPosix.c b/open-vm-tools/lib/wiper/wiperPosix.c
-index bd542410..ccf06293 100644
---- a/open-vm-tools/lib/wiper/wiperPosix.c
-+++ b/open-vm-tools/lib/wiper/wiperPosix.c
-@@ -43,6 +43,9 @@
- # include <libgen.h>
- # endif /* __FreeBSD_version >= 500000 */
- #endif
-+#if defined(__linux__)
-+#include <sys/sysmacros.h>
-+#endif
- #include <unistd.h>
-
- #include "vmware.h"
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
deleted file mode 100644
index 0f64eabc94..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From fe56b67a2915a8632ea30604c14241f335dd3c15 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 12 Nov 2019 10:49:46 -0800
-Subject: [PATCH] hgfsServerLinux: Consider 64bit time_t possibility
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- .../lib/hgfsServer/hgfsServerLinux.c | 19 +++++--------------
- 1 file changed, 5 insertions(+), 14 deletions(-)
-
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-index 03175623..554da67f 100644
---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -2561,20 +2561,11 @@ HgfsStatToFileAttr(struct stat *stats, // IN: stat information
- LOG(4, ("%s: done, permissions %o%o%o%o, size %"FMT64"u\n", __FUNCTION__,
- attr->specialPerms, attr->ownerPerms, attr->groupPerms,
- attr->otherPerms, attr->size));
--#ifdef __FreeBSD__
--# if !defined(VM_X86_64) && __FreeBSD_version >= 500043
--# define FMTTIMET ""
--# else
--# define FMTTIMET "l"
--# endif
--#else
--# define FMTTIMET "l"
--#endif
-- LOG(4, ("access: %"FMTTIMET"d/%"FMT64"u \nwrite: %"FMTTIMET"d/%"FMT64"u \n"
-- "attr: %"FMTTIMET"d/%"FMT64"u\n",
-- stats->st_atime, attr->accessTime, stats->st_mtime, attr->writeTime,
-- stats->st_ctime, attr->attrChangeTime));
--#undef FMTTIMET
-+ LOG(4, ("access: %jd/%"FMT64"u \nwrite: %jd/%"FMT64"u \n"
-+ "attr: %jd/%"FMT64"u\n",
-+ (intmax_t)stats->st_atime, attr->accessTime,
-+ (intmax_t)stats->st_mtime, attr->writeTime,
-+ (intmax_t)stats->st_ctime, attr->attrChangeTime));
-
- attr->userId = stats->st_uid;
- attr->groupId = stats->st_gid;
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch
deleted file mode 100644
index 6d2e498141..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0003-Use-configure-test-for-struct-timespec.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From bf9292ff9bd25467a014d6c2070805d163daa4c9 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 09:03:00 +0000
-Subject: [PATCH] Use configure test for struct timespec
-
-Use the configure script to test for struct time spec instead of trying
-to keep track of what platforms has it.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/configure.ac | 1 +
- open-vm-tools/lib/include/hgfsUtil.h | 8 +-------
- 2 files changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 713ea683..48ff1ef3 100644
---- a/open-vm-tools/configure.ac
-+++ b/open-vm-tools/configure.ac
-@@ -1208,6 +1208,7 @@ AC_TYPE_OFF_T
- AC_TYPE_PID_T
- AC_TYPE_SIZE_T
- AC_CHECK_MEMBERS([struct stat.st_rdev])
-+AC_CHECK_MEMBERS([struct timespec.tv_sec],[],[],[[#include <time.h>]])
- AC_HEADER_TIME
- AC_STRUCT_TM
- AC_C_VOLATILE
-diff --git a/open-vm-tools/lib/include/hgfsUtil.h b/open-vm-tools/lib/include/hgfsUtil.h
-index 609f4c00..a3a022d4 100644
---- a/open-vm-tools/lib/include/hgfsUtil.h
-+++ b/open-vm-tools/lib/include/hgfsUtil.h
-@@ -53,13 +53,7 @@
- # include <time.h>
- # endif
- # include "vm_basic_types.h"
--# if !defined _STRUCT_TIMESPEC && \
-- !defined _TIMESPEC_DECLARED && \
-- !defined __timespec_defined && \
-- !defined sun && \
-- !defined __FreeBSD__ && \
-- !__APPLE__ && \
-- !defined _WIN32
-+# if !defined HAVE_STRUCT_TIMESPEC_TV_SEC
- struct timespec {
- time_t tv_sec;
- long tv_nsec;
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
deleted file mode 100644
index e107ecf235..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 5a795b234c617150915a607776c76377948870a6 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 09:10:14 +0000
-Subject: [PATCH] Fix definition of ALLPERMS and ACCESSPERMS
-
-The ALLPERMS and ACCESSPERMS defines are not specified in POSIX so
-assume it is not there instead of testing for specific implementations.
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 8 +++++---
- open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c | 3 +--
- 2 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-index f2b7ce67..0e6351a9 100644
---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -105,11 +105,13 @@ typedef struct DirectoryEntry {
- #endif
-
- /*
-- * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not defined in the
-- * Solaris version of <sys/stat.h>.
-+ * ALLPERMS (mode 07777) and ACCESSPERMS (mode 0777) are not specified in
-+ * POSIX.
- */
--#ifdef sun
-+#ifndef ACCESSPERMS
- # define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO)
-+#endif
-+#ifndef ALLPERMS
- # define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)
- #endif
-
-diff --git a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-index 89133652..7e9c3a91 100644
---- a/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-+++ b/open-vm-tools/services/plugins/dndcp/dnd/dndLinux.c
-@@ -52,7 +52,7 @@
-
- #define DND_ROOTDIR_PERMS (S_IRWXU | S_IRWXG | S_IRWXO)
- #define DND_STAGINGDIR_PERMS (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
--#ifdef sun
-+#ifndef ACCESSPERMS
- #define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
- #endif
- #ifdef __ANDROID__
-@@ -61,7 +61,6 @@
- */
- #define NO_SETMNTENT
- #define NO_ENDMNTENT
--#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO)
- #endif
-
-
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
deleted file mode 100644
index c6378b8086..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0005-Use-configure-to-test-for-feature-instead-of-platfor.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 719d60978f979cf2e03771a9b8a62e36c92639f9 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 10:05:07 +0000
-Subject: [PATCH] Use configure to test for feature instead of platform
-
-Test for various functions instead of trying to keep track of what
-platform and what version of the given platform has support for what.
-
-This should make it easier to port to currently unknown platforms and
-will solve the issue if a platform add support for a missing feature in
-the future.
-
-The features we test for are:
-- getifaddrs
-- getauxval
-- issetugid
-- __secure_getenv
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/configure.ac | 4 ++++
- open-vm-tools/lib/misc/idLinux.c | 30 +++++++++++-------------
- open-vm-tools/lib/nicInfo/nicInfoPosix.c | 6 ++++-
- 3 files changed, 23 insertions(+), 17 deletions(-)
-
-diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 48ff1ef3..71e684bb 100644
---- a/open-vm-tools/configure.ac
-+++ b/open-vm-tools/configure.ac
-@@ -897,6 +897,7 @@ AC_CHECK_FUNCS(
-
- AC_CHECK_FUNCS([ecvt])
- AC_CHECK_FUNCS([fcvt])
-+AC_CHECK_FUNCS([getifaddrs getauxval issetugid __secure_getenv])
-
- AC_CHECK_FUNC([mkdtemp], [have_mkdtemp=yes])
-
-@@ -1145,10 +1146,13 @@ fi
- ###
-
- AC_CHECK_HEADERS([crypt.h])
-+AC_CHECK_HEADERS([ifaddrs.h])
- AC_CHECK_HEADERS([inttypes.h])
- AC_CHECK_HEADERS([stdint.h])
- AC_CHECK_HEADERS([stdlib.h])
- AC_CHECK_HEADERS([wchar.h])
-+AC_CHECK_HEADERS([net/if.h])
-+AC_CHECK_HEADERS([sys/auxv.h])
- AC_CHECK_HEADERS([sys/inttypes.h])
- AC_CHECK_HEADERS([sys/io.h])
- AC_CHECK_HEADERS([sys/param.h]) # Required to make the sys/user.h check work correctly on FreeBSD
-diff --git a/open-vm-tools/lib/misc/idLinux.c b/open-vm-tools/lib/misc/idLinux.c
-index b950cf84..1dcfb508 100644
---- a/open-vm-tools/lib/misc/idLinux.c
-+++ b/open-vm-tools/lib/misc/idLinux.c
-@@ -27,12 +27,9 @@
- #include <sys/syscall.h>
- #include <string.h>
- #include <unistd.h>
--#ifdef __linux__
--#if defined(__GLIBC__) && \
-- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
-+#ifdef HAVE_SYS_AUXV_H
- #include <sys/auxv.h>
- #endif
--#endif
- #ifdef __APPLE__
- #include <sys/socket.h>
- #include <TargetConditionals.h>
-@@ -997,31 +994,32 @@ Id_EndSuperUser(uid_t uid) // IN:
- static Bool
- IdIsSetUGid(void)
- {
--#if defined(__ANDROID__)
-- /* Android does not have a secure_getenv, so be conservative. */
-- return TRUE;
--#else
- /*
- * We use __secure_getenv, which returns NULL if the binary is
-- * setuid or setgid. Alternatives include,
-+ * setuid or setgid, when issetugid or getauxval(AT_SECURE) is not
-+ * available. Alternatives include,
- *
-- * a) getauxval(AT_SECURE); not available until glibc 2.16.
-- * b) __libc_enable_secure; may not be exported.
-+ * a) issetugid(); not (yet?) available in glibc.
-+ * b) getauxval(AT_SECURE); not available until glibc 2.16.
-+ * c) __libc_enable_secure; may not be exported.
- *
-- * Use (a) when we are based on glibc 2.16, or newer.
-+ * Use (b) when we are based on glibc 2.16, or newer.
- */
-
--#if defined(__GLIBC__) && \
-- (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 16))
-+#if HAVE_ISSETUGID
-+ return issetugid();
-+#elif HAVE_GETAUXVAL
- return getauxval(AT_SECURE) != 0;
--#else
-+#elif HAVE___SECURE_GETENV
- static const char envName[] = "VMW_SETUGID_TEST";
-
- if (setenv(envName, "1", TRUE) == -1) {
- return TRUE; /* Conservative */
- }
- return __secure_getenv(envName) == NULL;
--#endif
-+#else
-+ /* Android does not have a secure_getenv, so be conservative. */
-+ return TRUE;
- #endif
- }
- #endif
-diff --git a/open-vm-tools/lib/nicInfo/nicInfoPosix.c b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
-index a22981d5..b4e08681 100644
---- a/open-vm-tools/lib/nicInfo/nicInfoPosix.c
-+++ b/open-vm-tools/lib/nicInfo/nicInfoPosix.c
-@@ -34,9 +34,13 @@
- #include <sys/socket.h>
- #include <sys/stat.h>
- #include <errno.h>
--#if defined(__FreeBSD__) || defined(__APPLE__)
-+#if HAVE_SYS_SYSCTL_H
- # include <sys/sysctl.h>
-+#endif
-+#if HAVE_IFADDRS_H
- # include <ifaddrs.h>
-+#endif
-+#if HAVE_NET_IF_H
- # include <net/if.h>
- #endif
- #ifndef NO_DNET
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch
deleted file mode 100644
index 9a227f9ec7..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0006-Use-configure-test-for-sys-stat.h-include.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 11adcf43a1e7aa39ee4d82fa567f37e5b0c6ca81 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Wed, 18 Nov 2015 10:41:01 +0000
-Subject: [PATCH] Use configure test for sys/stat.h include
-
-This is needed for musl libc.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- open-vm-tools/services/plugins/vix/vixTools.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/open-vm-tools/services/plugins/vix/vixTools.c b/open-vm-tools/services/plugins/vix/vixTools.c
-index e5273786..cabc4137 100644
---- a/open-vm-tools/services/plugins/vix/vixTools.c
-+++ b/open-vm-tools/services/plugins/vix/vixTools.c
-@@ -66,7 +66,7 @@
- #include <unistd.h>
- #endif
-
--#if defined(sun) || defined(__FreeBSD__) || defined(__APPLE__)
-+#ifdef HAVE_SYS_STAT_H
- #include <sys/stat.h>
- #endif
-
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch
deleted file mode 100644
index 11be2d4a07..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0007-Fix-subdir-objects-configure-error.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From cf1284fda8fb22a2b27cb2ce7962f166166e74c3 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:48:04 -0700
-Subject: [PATCH] Fix subdir objects configure error
-
-Fix build on musl while here
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/configure.ac | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/open-vm-tools/configure.ac b/open-vm-tools/configure.ac
-index 71e684bb..b76a7966 100644
---- a/open-vm-tools/configure.ac
-+++ b/open-vm-tools/configure.ac
-@@ -303,6 +303,7 @@ AC_ARG_ENABLE(
- [],
- [enable_resolutionkms="auto"])
-
-+AM_INIT_AUTOMAKE([subdir-objects])
- AM_INIT_AUTOMAKE
-
- ###
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch
deleted file mode 100644
index 814b9e3b25..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0008-include-poll.h-instead-of-sys-poll.h.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e4f0b99d90e26b15106f634caad1c3dea9e09cb8 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:02:50 -0700
-Subject: [PATCH] include poll.h instead of sys/poll.h
-
-including sys/poll.h is deprecated
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-index 65b07109..b41aa29d 100644
---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
-+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-@@ -69,8 +69,8 @@
- #else
- #include <stddef.h>
- #include <ctype.h>
-+#include <poll.h>
- #include <sys/types.h>
--#include <sys/poll.h>
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <netdb.h>
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
deleted file mode 100644
index 9cf54f6f44..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0009-Rename-poll.h-to-vm_poll.h.patch
+++ /dev/null
@@ -1,742 +0,0 @@
-From 8793466326dd10b0d2dbb83c64beff5cc8c0fc7d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:11:58 -0700
-Subject: [PATCH] Rename poll.h to vm_poll.h
-
-musl libc's system headers pulls in open-vm-tools' poll.h. To avoid this
-we rename poll.h to vm_poll.h.
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/asyncsocket/asyncsocket.c | 2 +-
- open-vm-tools/lib/hgfsServer/hgfsServer.c | 2 +-
- open-vm-tools/lib/include/asyncsocket.h | 2 +-
- open-vm-tools/lib/include/pollImpl.h | 2 +-
- open-vm-tools/lib/include/{poll.h => vm_poll.h} | 2 +-
- open-vm-tools/lib/rpcIn/rpcin.c | 2 +-
- .../services/plugins/grabbitmqProxy/grabbitmqProxyPlugin.c | 2 +-
- 7 files changed, 7 insertions(+), 7 deletions(-)
- rename open-vm-tools/lib/include/{poll.h => vm_poll.h} (99%)
-
---- a/open-vm-tools/lib/asyncsocket/asyncsocket.c
-+++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c
-@@ -86,7 +86,7 @@
- #include "random.h"
- #include "asyncsocket.h"
- #include "asyncSocketBase.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #include "log.h"
- #include "err.h"
- #include "hostinfo.h"
---- a/open-vm-tools/lib/hgfsServer/hgfsServer.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServer.c
-@@ -48,7 +48,7 @@
- #include "hgfsServerOplock.h"
- #include "hgfsDirNotify.h"
- #include "userlock.h"
--#include "poll.h"
-+#include "vm_poll.h"
- #include "mutexRankLib.h"
- #include "vm_basic_asm.h"
- #include "unicodeOperations.h"
---- a/open-vm-tools/lib/include/asyncsocket.h
-+++ b/open-vm-tools/lib/include/asyncsocket.h
-@@ -164,7 +164,7 @@ typedef struct AsyncSocket AsyncSocket;
- * Or the client can specify its favorite poll class and locking behavior.
- * Use of IVmdbPoll is only supported for regular sockets and for Attach.
- */
--#include "poll.h"
-+#include "vm_poll.h"
- struct IVmdbPoll;
- typedef struct AsyncSocketPollParams {
- int flags; /* Default 0, only POLL_FLAG_NO_BULL is valid */
---- a/open-vm-tools/lib/include/pollImpl.h
-+++ b/open-vm-tools/lib/include/pollImpl.h
-@@ -44,7 +44,7 @@
- #define INCLUDE_ALLOW_USERLEVEL
- #include "includeCheck.h"
-
--#include "poll.h"
-+#include "vm_poll.h"
- #include "vm_basic_asm.h"
-
- #if defined(__cplusplus)
---- a/open-vm-tools/lib/include/poll.h
-+++ /dev/null
-@@ -1,330 +0,0 @@
--/*********************************************************
-- * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
-- *
-- * This program is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU Lesser General Public License as published
-- * by the Free Software Foundation version 2.1 and no later version.
-- *
-- * This program is distributed in the hope that it will be useful, but
-- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-- * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
-- * License for more details.
-- *
-- * You should have received a copy of the GNU Lesser General Public License
-- * along with this program; if not, write to the Free Software Foundation, Inc.,
-- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- *********************************************************/
--
--/*********************************************************
-- * The contents of this file are subject to the terms of the Common
-- * Development and Distribution License (the "License") version 1.0
-- * and no later version. You may not use this file except in
-- * compliance with the License.
-- *
-- * You can obtain a copy of the License at
-- * http://www.opensource.org/licenses/cddl1.php
-- *
-- * See the License for the specific language governing permissions
-- * and limitations under the License.
-- *
-- *********************************************************/
--
--
--#ifndef _POLL_H_
--#define _POLL_H_
--
--#define INCLUDE_ALLOW_USERLEVEL
--#define INCLUDE_ALLOW_VMCORE
--#include "includeCheck.h"
--
--#include "vm_basic_types.h"
--#include "vm_basic_defs.h"
--#include "vmware.h"
--#include "userlock.h"
--
--#if defined(__cplusplus)
--extern "C" {
--#endif
--
--#ifdef _WIN32
--#define HZ 100
--#elif defined linux
--#include <asm/param.h>
--#elif __APPLE__
--#include <TargetConditionals.h>
--/*
-- * Old SDKs don't define TARGET_OS_IPHONE at all.
-- * New ones define it to 0 on Mac OS X, 1 on iOS.
-- */
--#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
--#include <sys/kernel.h>
--#endif
--#include <sys/poll.h>
--#define HZ 100
--#endif
--#ifdef __ANDROID__
--/*
-- * <poll.h> of android should be included, but its name is same
-- * with this file. So its content is put here to avoid conflict.
-- */
--#include <asm/poll.h>
--#define HZ 100
--typedef unsigned int nfds_t;
--int poll(struct pollfd *, nfds_t, long);
--#endif
--
--
--/*
-- * Poll event types: each type has a different reason for firing,
-- * or condition that must be met before firing.
-- */
--
--typedef enum {
-- /*
-- * Actual Poll queue types against which you can register callbacks.
-- */
-- POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
-- POLL_VTIME = 0,
-- POLL_REALTIME,
-- POLL_DEVICE,
-- POLL_MAIN_LOOP,
-- POLL_NUM_QUEUES
--} PollEventType;
--
--
--/*
-- * Classes of events
-- *
-- * These are the predefined classes. More can be declared
-- * with Poll_AllocClass().
-- */
--
--typedef enum PollClass {
-- POLL_CLASS_MAIN,
-- POLL_CLASS_PAUSE,
-- POLL_CLASS_IPC,
-- POLL_CLASS_CPT,
-- POLL_CLASS_MKS,
-- POLL_FIXED_CLASSES,
-- POLL_DEFAULT_FIXED_CLASSES,
-- /* Size enum to maximum */
-- POLL_MAX_CLASSES = 31,
--} PollClass;
--
--/*
-- * Do not use; Special pseudo private poll class supported by
-- * PollDefault only
-- */
--#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
--#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
--
--/*
-- * Each callback is registered in a set of classes
-- */
--
--typedef struct PollClassSet {
-- uintptr_t bits;
--} PollClassSet;
--
--/* An empty PollClassSet. */
--static INLINE PollClassSet
--PollClassSet_Empty(void)
--{
-- PollClassSet set = { 0 };
-- return set;
--}
--
--/* A PollClassSet with the single member. */
--static INLINE PollClassSet
--PollClassSet_Singleton(PollClass c)
--{
-- PollClassSet s = PollClassSet_Empty();
--
-- ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
-- ASSERT(c < POLL_MAX_CLASSES);
--
-- s.bits = CONST3264U(1) << c;
-- return s;
--}
--
--/* Combine two PollClassSets. */
--static INLINE PollClassSet
--PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
--{
-- PollClassSet set;
-- set.bits = lhs.bits | rhs.bits;
-- return set;
--}
--
--/* Add single class to PollClassSet. */
--static INLINE PollClassSet
--PollClassSet_Include(PollClassSet set, PollClass c)
--{
-- return PollClassSet_Union(set, PollClassSet_Singleton(c));
--}
--
--
--#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
--#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
-- PollClassSet_Singleton(POLL_CLASS_PAUSE))
--#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
-- PollClassSet_Singleton(POLL_CLASS_CPT))
--#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
-- PollClassSet_Singleton(POLL_CLASS_IPC))
--#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
--#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
--/*
-- * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
-- */
--#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
--
--/*
-- * Poll class-set taxonomy:
-- * POLL_CS_MAIN
-- * - Unless you NEED another class, use POLL_CS_MAIN.
-- * POLL_CS_PAUSE
-- * - For callbacks that must occur even if the guest is paused.
-- * Most VMDB or Foundry commands are in this category.
-- * POLL_CS_CPT
-- * - Only for callbacks which can trigger intermediate Checkpoint
-- * transitions.
-- * The ONLY such callback is Migrate.
-- * POLL_CS_IPC
-- * - Only for callbacks which can contain Msg_(Post|Hint|Question)
-- * responses, and for signal handlers (why)?
-- * Vigor, VMDB, and Foundry can contain Msg_* responses.
-- * POLL_CS_MKS
-- * - Callback runs in MKS thread.
-- * POLL_CS_ALWAYS
-- * - Only for events that must be processed immediately.
-- * The ONLY such callback is OvhdMemVmxSizeCheck.
-- */
--
--
--/*
-- * Poll_Callback flags
-- */
--
--#define POLL_FLAG_PERIODIC 0x01 // keep after firing
--#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
--#define POLL_FLAG_READ 0x04 // device is ready for reading
--#define POLL_FLAG_WRITE 0x08 // device is ready for writing
--#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
--#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
--#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
--#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
--#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
--#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
--
--
--typedef void (*PollerFunction)(void *clientData);
--typedef void (*PollerFireWrapper)(PollerFunction func,
-- void *funcData,
-- void *wrapperData);
--typedef Bool (*PollerErrorFn)(const char *errorStr);
--
--/*
-- * Initialisers:
-- *
-- * For the sake of convenience, we declare the initialisers
-- * for custom implmentations here, even though the actual
-- * implementations are distinct from the core poll code.
-- */
--
--typedef struct PollOptions {
-- Bool locked; // Use internal MXUser for locking
-- Bool allowFullQueue; // Don't assert when device event queue is full.
-- VThreadID windowsMsgThread; // thread that processes Windows messages
-- PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
-- void *fireWrapperData; // optional
-- PollerErrorFn errorFn; // optional; called upon unrecoverable error
--} PollOptions;
--
--
--void Poll_InitDefault(void);
--void Poll_InitDefaultEx(const PollOptions *opts);
--void Poll_InitGtk(void); // On top of glib for Linux
--void Poll_InitCF(void); // On top of CoreFoundation for OSX
--
--
--/*
-- * Functions
-- */
--int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
--void Poll_Loop(Bool loop, Bool *exit, PollClass c);
--void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
--Bool Poll_LockingEnabled(void);
--void Poll_Exit(void);
--
--
--/*
-- * Poll_Callback adds a callback regardless of whether an identical one exists.
-- * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
-- * one read and one write callback per fd.
-- *
-- * Poll_CallbackRemove removes one callback. If there are multiple identical
-- * callbacks, which one is removed is an implementation detail. Note that in
-- * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
-- * create the callback is not specified when removing, so all callbacks
-- * of those types with the same flags, function, and clientData are considered
-- * "identical" even if their fd/delay differed.
-- */
--
--VMwareStatus Poll_Callback(PollClassSet classSet,
-- int flags,
-- PollerFunction f,
-- void *clientData,
-- PollEventType type,
-- PollDevHandle info, // fd/microsec delay
-- MXUserRecLock *lck);
--Bool Poll_CallbackRemove(PollClassSet classSet,
-- int flags,
-- PollerFunction f,
-- void *clientData,
-- PollEventType type);
--Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
-- int flags,
-- PollerFunction f,
-- PollEventType type,
-- void **clientData);
--
--void Poll_NotifyChange(PollClassSet classSet);
--
--/*
-- * Wrappers for Poll_Callback and Poll_CallbackRemove that present
-- * simpler subsets of those interfaces.
-- */
--
--VMwareStatus Poll_CB_Device(PollerFunction f,
-- void *clientData,
-- PollDevHandle device,
-- Bool periodic);
--
--Bool Poll_CB_DeviceRemove(PollerFunction f,
-- void *clientData,
-- Bool periodic);
--
--
--VMwareStatus Poll_CB_RTime(PollerFunction f,
-- void *clientData,
-- int64 delay, // microseconds
-- Bool periodic,
-- MXUserRecLock *lock);
--
--Bool Poll_CB_RTimeRemove(PollerFunction f,
-- void *clientData,
-- Bool periodic);
--
--
--#ifdef _WIN32
--void Poll_SetPumpsWindowsMessages(Bool pumps);
--void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
--Bool Poll_FireWndCallback(void *lparam);
--#endif
--
--#if defined(__cplusplus)
--} // extern "C"
--#endif
--
--#endif // _POLL_H_
---- /dev/null
-+++ b/open-vm-tools/lib/include/vm_poll.h
-@@ -0,0 +1,330 @@
-+/*********************************************************
-+ * Copyright (C) 1998-2018 VMware, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU Lesser General Public License as published
-+ * by the Free Software Foundation version 2.1 and no later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+ * or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
-+ * License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * along with this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ *********************************************************/
-+
-+/*********************************************************
-+ * The contents of this file are subject to the terms of the Common
-+ * Development and Distribution License (the "License") version 1.0
-+ * and no later version. You may not use this file except in
-+ * compliance with the License.
-+ *
-+ * You can obtain a copy of the License at
-+ * http://www.opensource.org/licenses/cddl1.php
-+ *
-+ * See the License for the specific language governing permissions
-+ * and limitations under the License.
-+ *
-+ *********************************************************/
-+
-+
-+#ifndef _POLL_H_
-+#define _POLL_H_
-+
-+#define INCLUDE_ALLOW_USERLEVEL
-+#define INCLUDE_ALLOW_VMCORE
-+#include "includeCheck.h"
-+
-+#include "vm_basic_types.h"
-+#include "vm_basic_defs.h"
-+#include "vmware.h"
-+#include "userlock.h"
-+
-+#if defined(__cplusplus)
-+extern "C" {
-+#endif
-+
-+#ifdef _WIN32
-+#define HZ 100
-+#elif defined linux
-+#include <asm/param.h>
-+#elif __APPLE__
-+#include <TargetConditionals.h>
-+/*
-+ * Old SDKs don't define TARGET_OS_IPHONE at all.
-+ * New ones define it to 0 on Mac OS X, 1 on iOS.
-+ */
-+#if !defined(TARGET_OS_IPHONE) || TARGET_OS_IPHONE == 0
-+#include <sys/kernel.h>
-+#endif
-+#include <poll.h>
-+#define HZ 100
-+#endif
-+#ifdef __ANDROID__
-+/*
-+ * <poll.h> of android should be included, but its name is same
-+ * with this file. So its content is put here to avoid conflict.
-+ */
-+#include <asm/poll.h>
-+#define HZ 100
-+typedef unsigned int nfds_t;
-+int poll(struct pollfd *, nfds_t, long);
-+#endif
-+
-+
-+/*
-+ * Poll event types: each type has a different reason for firing,
-+ * or condition that must be met before firing.
-+ */
-+
-+typedef enum {
-+ /*
-+ * Actual Poll queue types against which you can register callbacks.
-+ */
-+ POLL_VIRTUALREALTIME = -1, /* Negative because it doesn't have its own Q */
-+ POLL_VTIME = 0,
-+ POLL_REALTIME,
-+ POLL_DEVICE,
-+ POLL_MAIN_LOOP,
-+ POLL_NUM_QUEUES
-+} PollEventType;
-+
-+
-+/*
-+ * Classes of events
-+ *
-+ * These are the predefined classes. More can be declared
-+ * with Poll_AllocClass().
-+ */
-+
-+typedef enum PollClass {
-+ POLL_CLASS_MAIN,
-+ POLL_CLASS_PAUSE,
-+ POLL_CLASS_IPC,
-+ POLL_CLASS_CPT,
-+ POLL_CLASS_MKS,
-+ POLL_FIXED_CLASSES,
-+ POLL_DEFAULT_FIXED_CLASSES,
-+ /* Size enum to maximum */
-+ POLL_MAX_CLASSES = 31,
-+} PollClass;
-+
-+/*
-+ * Do not use; Special pseudo private poll class supported by
-+ * PollDefault only
-+ */
-+#define POLL_DEFAULT_CLASS_NET POLL_FIXED_CLASSES
-+#define POLL_DEFAULT_CS_NET PollClassSet_Singleton(POLL_DEFAULT_CLASS_NET)
-+
-+/*
-+ * Each callback is registered in a set of classes
-+ */
-+
-+typedef struct PollClassSet {
-+ uintptr_t bits;
-+} PollClassSet;
-+
-+/* An empty PollClassSet. */
-+static INLINE PollClassSet
-+PollClassSet_Empty(void)
-+{
-+ PollClassSet set = { 0 };
-+ return set;
-+}
-+
-+/* A PollClassSet with the single member. */
-+static INLINE PollClassSet
-+PollClassSet_Singleton(PollClass c)
-+{
-+ PollClassSet s = PollClassSet_Empty();
-+
-+ ASSERT_ON_COMPILE(POLL_MAX_CLASSES < sizeof s.bits * 8);
-+ ASSERT(c < POLL_MAX_CLASSES);
-+
-+ s.bits = CONST3264U(1) << c;
-+ return s;
-+}
-+
-+/* Combine two PollClassSets. */
-+static INLINE PollClassSet
-+PollClassSet_Union(PollClassSet lhs, PollClassSet rhs)
-+{
-+ PollClassSet set;
-+ set.bits = lhs.bits | rhs.bits;
-+ return set;
-+}
-+
-+/* Add single class to PollClassSet. */
-+static INLINE PollClassSet
-+PollClassSet_Include(PollClassSet set, PollClass c)
-+{
-+ return PollClassSet_Union(set, PollClassSet_Singleton(c));
-+}
-+
-+
-+#define POLL_CS_MAIN PollClassSet_Singleton(POLL_CLASS_MAIN)
-+#define POLL_CS_PAUSE PollClassSet_Union(POLL_CS_MAIN, \
-+ PollClassSet_Singleton(POLL_CLASS_PAUSE))
-+#define POLL_CS_CPT PollClassSet_Union(POLL_CS_PAUSE, \
-+ PollClassSet_Singleton(POLL_CLASS_CPT))
-+#define POLL_CS_IPC PollClassSet_Union(POLL_CS_CPT, \
-+ PollClassSet_Singleton(POLL_CLASS_IPC))
-+#define POLL_CS_VMDB POLL_CS_PAUSE /* POLL_CLASS_VMDB is retired */
-+#define POLL_CS_MKS PollClassSet_Singleton(POLL_CLASS_MKS)
-+/*
-+ * DANGER. You don't need POLL_CS_ALWAYS. Really. So don't use it.
-+ */
-+#define POLL_CS_ALWAYS PollClassSet_Union(POLL_CS_CPT, POLL_CS_IPC)
-+
-+/*
-+ * Poll class-set taxonomy:
-+ * POLL_CS_MAIN
-+ * - Unless you NEED another class, use POLL_CS_MAIN.
-+ * POLL_CS_PAUSE
-+ * - For callbacks that must occur even if the guest is paused.
-+ * Most VMDB or Foundry commands are in this category.
-+ * POLL_CS_CPT
-+ * - Only for callbacks which can trigger intermediate Checkpoint
-+ * transitions.
-+ * The ONLY such callback is Migrate.
-+ * POLL_CS_IPC
-+ * - Only for callbacks which can contain Msg_(Post|Hint|Question)
-+ * responses, and for signal handlers (why)?
-+ * Vigor, VMDB, and Foundry can contain Msg_* responses.
-+ * POLL_CS_MKS
-+ * - Callback runs in MKS thread.
-+ * POLL_CS_ALWAYS
-+ * - Only for events that must be processed immediately.
-+ * The ONLY such callback is OvhdMemVmxSizeCheck.
-+ */
-+
-+
-+/*
-+ * Poll_Callback flags
-+ */
-+
-+#define POLL_FLAG_PERIODIC 0x01 // keep after firing
-+#define POLL_FLAG_REMOVE_AT_POWEROFF 0x02 // self-explanatory
-+#define POLL_FLAG_READ 0x04 // device is ready for reading
-+#define POLL_FLAG_WRITE 0x08 // device is ready for writing
-+#define POLL_FLAG_SOCKET 0x10 // device is a Windows socket
-+#define POLL_FLAG_NO_BULL 0x20 // callback does its own locking
-+#define POLL_FLAG_WINSOCK 0x40 // Winsock style write events
-+#define POLL_FLAG_FD 0x80 // device is a Windows file descriptor.
-+#define POLL_FLAG_ACCEPT_INVALID_FDS 0x100 // For broken 3rd party libs, e.g. curl
-+#define POLL_FLAG_THUNK_TO_WND 0x200 // thunk callback to window message loop
-+
-+
-+typedef void (*PollerFunction)(void *clientData);
-+typedef void (*PollerFireWrapper)(PollerFunction func,
-+ void *funcData,
-+ void *wrapperData);
-+typedef Bool (*PollerErrorFn)(const char *errorStr);
-+
-+/*
-+ * Initialisers:
-+ *
-+ * For the sake of convenience, we declare the initialisers
-+ * for custom implmentations here, even though the actual
-+ * implementations are distinct from the core poll code.
-+ */
-+
-+typedef struct PollOptions {
-+ Bool locked; // Use internal MXUser for locking
-+ Bool allowFullQueue; // Don't assert when device event queue is full.
-+ VThreadID windowsMsgThread; // thread that processes Windows messages
-+ PollerFireWrapper fireWrapperFn; // optional; may be useful for stats
-+ void *fireWrapperData; // optional
-+ PollerErrorFn errorFn; // optional; called upon unrecoverable error
-+} PollOptions;
-+
-+
-+void Poll_InitDefault(void);
-+void Poll_InitDefaultEx(const PollOptions *opts);
-+void Poll_InitGtk(void); // On top of glib for Linux
-+void Poll_InitCF(void); // On top of CoreFoundation for OSX
-+
-+
-+/*
-+ * Functions
-+ */
-+int Poll_SocketPair(Bool vmci, Bool stream, int fds[2]);
-+void Poll_Loop(Bool loop, Bool *exit, PollClass c);
-+void Poll_LoopTimeout(Bool loop, Bool *exit, PollClass c, int timeout);
-+Bool Poll_LockingEnabled(void);
-+void Poll_Exit(void);
-+
-+
-+/*
-+ * Poll_Callback adds a callback regardless of whether an identical one exists.
-+ * The exception to this rule is POLL_DEVICE callbacks: there is a maximum of
-+ * one read and one write callback per fd.
-+ *
-+ * Poll_CallbackRemove removes one callback. If there are multiple identical
-+ * callbacks, which one is removed is an implementation detail. Note that in
-+ * the case of POLL_DEVICE and POLL_REALTIME callbacks, the fd/delay used to
-+ * create the callback is not specified when removing, so all callbacks
-+ * of those types with the same flags, function, and clientData are considered
-+ * "identical" even if their fd/delay differed.
-+ */
-+
-+VMwareStatus Poll_Callback(PollClassSet classSet,
-+ int flags,
-+ PollerFunction f,
-+ void *clientData,
-+ PollEventType type,
-+ PollDevHandle info, // fd/microsec delay
-+ MXUserRecLock *lck);
-+Bool Poll_CallbackRemove(PollClassSet classSet,
-+ int flags,
-+ PollerFunction f,
-+ void *clientData,
-+ PollEventType type);
-+Bool Poll_CallbackRemoveOneByCB(PollClassSet classSet,
-+ int flags,
-+ PollerFunction f,
-+ PollEventType type,
-+ void **clientData);
-+
-+void Poll_NotifyChange(PollClassSet classSet);
-+
-+/*
-+ * Wrappers for Poll_Callback and Poll_CallbackRemove that present
-+ * simpler subsets of those interfaces.
-+ */
-+
-+VMwareStatus Poll_CB_Device(PollerFunction f,
-+ void *clientData,
-+ PollDevHandle device,
-+ Bool periodic);
-+
-+Bool Poll_CB_DeviceRemove(PollerFunction f,
-+ void *clientData,
-+ Bool periodic);
-+
-+
-+VMwareStatus Poll_CB_RTime(PollerFunction f,
-+ void *clientData,
-+ int64 delay, // microseconds
-+ Bool periodic,
-+ MXUserRecLock *lock);
-+
-+Bool Poll_CB_RTimeRemove(PollerFunction f,
-+ void *clientData,
-+ Bool periodic);
-+
-+
-+#ifdef _WIN32
-+void Poll_SetPumpsWindowsMessages(Bool pumps);
-+void Poll_SetWindowMessageRecipient(HWND hWnd, UINT msg, Bool alwaysThunk);
-+Bool Poll_FireWndCallback(void *lparam);
-+#endif
-+
-+#if defined(__cplusplus)
-+} // extern "C"
-+#endif
-+
-+#endif // _POLL_H_
---- a/open-vm-tools/lib/rpcIn/rpcin.c
-+++ b/open-vm-tools/lib/rpcIn/rpcin.c
-@@ -57,7 +57,7 @@
-
- #if defined(VMTOOLS_USE_VSOCKET)
- # include <glib.h>
--# include "poll.h"
-+# include "vm_poll.h"
- # include "asyncsocket.h"
- # include "vmci_defs.h"
- #include "dataMap.h"
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch
deleted file mode 100644
index 784b4fc6c5..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From e86a259e1ce19c70ecfdece69ab53a07c63a34e1 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:16:53 -0700
-Subject: [PATCH] use posix strerror_r unless on gnu libc system
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/err/errPosix.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/open-vm-tools/lib/err/errPosix.c b/open-vm-tools/lib/err/errPosix.c
-index c81b4c13..7a403640 100644
---- a/open-vm-tools/lib/err/errPosix.c
-+++ b/open-vm-tools/lib/err/errPosix.c
-@@ -31,6 +31,7 @@
- #include <errno.h>
- #include <string.h>
- #include <locale.h>
-+#include <stdio.h>
-
- #include "vmware.h"
- #include "errInt.h"
-@@ -63,11 +64,13 @@ ErrErrno2String(Err_Number errorNumber, // IN
- {
- char *p;
-
--#if defined(__linux__) && !defined(__ANDROID__)
-+#if defined(__GLIBC__) && !defined(__ANDROID__)
- p = strerror_r(errorNumber, buf, bufSize);
- #else
-- p = strerror(errorNumber);
--#endif
-+ if (strerror_r(errorNumber, buf, bufSize) != 0)
-+ snprintf(buf, bufSize, "unknown error %i", errorNumber);
-+ p = buf;
-+#endif /* defined __GLIBC__ */
- ASSERT(p != NULL);
- return p;
- }
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
deleted file mode 100644
index 0a1d008733..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0011-Use-uintmax_t-for-handling-rlim_t.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 18eea61a7a768c6c3b57c6683c7bef7049f0f6ab Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jun 2018 23:37:09 -0700
-Subject: [PATCH] Use uintmax_t for handling rlim_t
-
-rlimit types are not representable with long or long long
-formats, therefore use uintmax_t to typecast rlim_t types
-and use %j to print it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/hgfsServer/hgfsServerLinux.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-index 0e6351a9..a2ee1740 100644
---- a/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-+++ b/open-vm-tools/lib/hgfsServer/hgfsServerLinux.c
-@@ -5294,8 +5294,8 @@ HgfsWriteCheckIORange(off_t offset, // IN:
- goto exit;
- }
-
-- LOG(6, ("%s: File Size limits: 0x%"FMT64"x 0x%"FMT64"x\n",
-- __FUNCTION__, fileSize.rlim_cur, fileSize.rlim_max));
-+ LOG(6, ("%s: File Size limits: 0x%jx 0x%jx\n",
-+ __FUNCTION__, (uintmax_t)fileSize.rlim_cur, (uintmax_t)fileSize.rlim_max));
-
- /*
- * Check the offset is within the file size range.
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch
deleted file mode 100644
index d69b74e23a..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0012-Use-off64_t-instead-of-__off64_t.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 123c690f12f560022305b0cf19499e7f81a690ae Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 27 Aug 2018 23:22:21 -0700
-Subject: [PATCH] Use off64_t instead of __off64_t
-
-Fixes
-unknown type name '__off64_t'
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/file/fileIOPosix.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c
-index 23108279..bcd2ddc5 100644
---- a/open-vm-tools/lib/file/fileIOPosix.c
-+++ b/open-vm-tools/lib/file/fileIOPosix.c
-@@ -206,10 +206,10 @@ static AlignedPool alignedPool;
- * the symbols (and anyone building XOPEN<700 gets nothing).
- */
- extern ssize_t preadv64(int fd, const struct iovec *iov, int iovcnt,
-- __off64_t offset) __attribute__ ((weak));
-+ off64_t offset) __attribute__ ((weak));
-
- extern ssize_t pwritev64(int fd, const struct iovec *iov, int iovcnt,
-- __off64_t offset) __attribute__ ((weak));
-+ off64_t offset) __attribute__ ((weak));
- #else
- #error "Large file support unavailable. Aborting."
- #endif
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
deleted file mode 100644
index 3e4753b2a6..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/0013-misc-Do-not-print-NULL-string-into-logs.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From cfc6839362bd96bf2f42954160f16a60bf1de377 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 22 Dec 2018 19:59:02 -0800
-Subject: [PATCH] misc: Do not print NULL string into logs
-
-string format %s is getting a NULL pointer for 'expand'
-parameter always since the check for chunks[i] == NULL will ensure that
-its always null when the Log() API is called
-
-Upstream-Status: Submitted [https://github.com/vmware/open-vm-tools/pull/312]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- open-vm-tools/lib/misc/util_misc.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/open-vm-tools/lib/misc/util_misc.c
-+++ b/open-vm-tools/lib/misc/util_misc.c
-@@ -719,7 +719,7 @@ Util_ExpandString(const char *fileName)
- ASSERT(!freeChunk[i]);
- chunks[i] = expand;
- if (chunks[i] == NULL) {
-- Log("%s: Cannot allocate memory to expand $ in \"%s\".\n",
-+ Log("%s: Cannot allocate memory to expand in \"%s\".\n",
- __FUNCTION__, fileName);
- goto out;
- }
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf
deleted file mode 100644
index f6cae70cc5..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/tools.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[guestinfo]
-disable-perf-mon=1
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init
deleted file mode 100644
index 38280464a7..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.init
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-#
-# vmtoolsd Start/stop the vmware tools daemon
-#
-# chkconfig: 2345 90 60
-# description: vmtoolsd is a daemon that starts up. for some reason, it
-# doesn't include a sysv init startup file in the latest release.
-# so i have to write this
-#
-
-### BEGIN INIT INFO
-# Provides: vmtoolsd
-# Required-Start: $local_fs $syslog
-# Required-Stop: $local_fs $syslog
-# Default-Start: 2345
-# Default-Stop: 90
-# Short-Description: Run vmware tools daemon
-### END INIT INFO
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=/usr/bin/vmtoolsd
-NAME=vmtoolsd
-DESC="vmware tools daemon"
-VMTOOLSDARGS=" -b /var/run/vmtoolsd.pid "
-RETVAL="1"
-
-# source function library
-. /etc/init.d/functions
-
-test -f $DAEMON || exit 0
-
-
-case "$1" in
- start)
- echo -n "Starting vmware tools daemon: "
- start-stop-daemon --start --quiet --exec $DAEMON -- $VMTOOLSDARGS
- RETVAL=$?
- if [ $RETVAL -eq 0 ] ; then
- echo "OK"
- else
- echo "FAIL"
- fi
- ;;
- stop)
- echo -n "Stopping vmware tools daemon: "
- start-stop-daemon --stop --quiet --pidfile /var/run/vmtoolsd.pid
- RETVAL=$?
- if [ $RETVAL -eq 0 ] ; then
- echo "OK"
- else
- echo "FAIL"
- fi
- ;;
- status)
- status vmtoolsd
- exit $?
- ;;
- restart)
- $0 stop && sleep 1 && $0 start
- ;;
- *)
- echo "Usage: /etc/init.d/vmtoolsd {start|stop|status|restart}"
- exit 1
-esac
-
-exit $RETVAL
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service b/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service
deleted file mode 100644
index d30e38055c..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools/vmtoolsd.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Open Virtual Machine Tools (VMware Tools)
-ConditionVirtualization=vmware
-
-[Service]
-ExecStart=/usr/bin/vmtoolsd
-Restart=on-failure
-KillSignal=SIGKILL
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb b/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
deleted file mode 100644
index 34a81d21f0..0000000000
--- a/meta-oe/recipes-support/open-vm-tools/open-vm-tools_11.0.1.bb
+++ /dev/null
@@ -1,116 +0,0 @@
-# This recipe is modified from the recipe originally found in the Open-Switch
-# repository:
-#
-# https://github.com/open-switch/ops-build
-# yocto/openswitch/meta-foss-openswitch/meta-oe/recipes-support/open-vm-tools/open-vm-tools_10.0.5.bb
-# Commit 9008de2d8e100f3f868c66765742bca9fa98f3f9
-#
-# The recipe packaging has been relicensed under the MIT license for inclusion
-# in meta-openembedded by agreement of the author (Diego Dompe).
-#
-
-SUMMARY = "Tools to enhance VMWare guest integration and performance"
-HOMEPAGE = "https://github.com/vmware/open-vm-tools"
-SECTION = "vmware-tools"
-
-LICENSE = "LGPL-2.0 & GPL-2.0 & BSD & CDDL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=559317809c5444fb39ceaf6ac45c43ac"
-LICENSE_modules/freebsd/vmblock = "BSD"
-LICENSE_modules/freebsd/vmmemctl = "GPL-2.0"
-LICENSE_modules/freebsd/vmxnet = "GPL-2.0"
-LICENSE_modules/linux = "GPL-2.0"
-LICENSE_modules/solaris = "CDDL-1.0"
-
-SRC_URI = "git://github.com/vmware/open-vm-tools.git;protocol=https \
- file://tools.conf \
- file://vmtoolsd.service \
- file://vmtoolsd.init \
- file://0001-configure.ac-don-t-use-dnet-config.patch;patchdir=.. \
- file://0002-add-include-sys-sysmacros.h.patch;patchdir=.. \
- file://0003-Use-configure-test-for-struct-timespec.patch;patchdir=.. \
- file://0004-Fix-definition-of-ALLPERMS-and-ACCESSPERMS.patch;patchdir=.. \
- file://0005-Use-configure-to-test-for-feature-instead-of-platfor.patch;patchdir=.. \
- file://0006-Use-configure-test-for-sys-stat.h-include.patch;patchdir=.. \
- file://0007-Fix-subdir-objects-configure-error.patch;patchdir=.. \
- file://0008-include-poll.h-instead-of-sys-poll.h.patch;patchdir=.. \
- file://0009-Rename-poll.h-to-vm_poll.h.patch;patchdir=.. \
- file://0010-use-posix-strerror_r-unless-on-gnu-libc-system.patch;patchdir=.. \
- file://0011-Use-uintmax_t-for-handling-rlim_t.patch;patchdir=.. \
- file://0012-Use-off64_t-instead-of-__off64_t.patch;patchdir=.. \
- file://0013-misc-Do-not-print-NULL-string-into-logs.patch;patchdir=.. \
- file://0001-GitHub-Issue-367.-Remove-references-to-deprecated-G_.patch;patchdir=.. \
- file://0001-Make-HgfsConvertFromNtTimeNsec-aware-of-64-bit-time_.patch;patchdir=.. \
- file://0002-hgfsServerLinux-Consider-64bit-time_t-possibility.patch;patchdir=.. \
- file://0001-utilBacktrace-Ignore-Warray-bounds.patch;patchdir=.. \
- file://0001-hgfsmounter-Makefile.am-support-usrmerge.patch;patchdir=.. \
-"
-
-SRCREV = "d3edfd142a81096f9f58aff17d84219b457f4987"
-
-S = "${WORKDIR}/git/open-vm-tools"
-
-DEPENDS = "glib-2.0 glib-2.0-native util-linux libdnet procps libtirpc"
-
-# open-vm-tools is supported only on x86.
-COMPATIBLE_HOST = '(x86_64.*|i.86.*)-linux'
-
-inherit autotools pkgconfig systemd update-rc.d
-
-SYSTEMD_SERVICE_${PN} = "vmtoolsd.service"
-
-EXTRA_OECONF = "--without-icu --disable-multimon --disable-docs \
- --disable-tests --without-gtkmm --without-xerces --without-pam \
- --disable-vgauth --disable-deploypkg \
- --without-root-privileges --without-kernel-modules --with-tirpc \
- --with-udev-rules-dir=${nonarch_base_libdir}/udev/rules.d"
-
-NO_X11_FLAGS = "--without-x --without-gtk2 --without-gtk3"
-X11_DEPENDS = "libxext libxi libxrender libxrandr libxtst gtk+ gdk-pixbuf"
-PACKAGECONFIG[x11] = ",${NO_X11_FLAGS},${X11_DEPENDS}"
-
-# fuse gets implicitly detected; there is no --without-fuse option.
-PACKAGECONFIG[fuse] = ",,fuse"
-
-CFLAGS_append_toolchain-clang = " -Wno-address-of-packed-member"
-FILES_${PN} += "\
- ${libdir}/open-vm-tools/plugins/vmsvc/lib*.so \
- ${libdir}/open-vm-tools/plugins/common/lib*.so \
- ${sysconfdir}/vmware-tools/tools.conf \
-"
-FILES_${PN}-locale += "${datadir}/open-vm-tools/messages"
-FILES_${PN}-dev += "${libdir}/open-vm-tools/plugins/common/lib*.la"
-
-CONFFILES_${PN} += "${sysconfdir}/vmware-tools/tools.conf"
-
-RDEPENDS_${PN} = "util-linux libdnet fuse"
-
-do_install_append() {
- if ! ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','false',d)}; then
- install -d ${D}/sbin
- ln -sf ${sbindir}/mount.vmhgfs ${D}/sbin/mount.vmhgfs
- fi
- install -d ${D}${sysconfdir}/vmware-tools
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/*.service ${D}${systemd_unitdir}/system
- else
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/vmtoolsd.init ${D}${sysconfdir}/init.d/vmtoolsd
- fi
- install -m 0644 ${WORKDIR}/tools.conf ${D}${sysconfdir}/vmware-tools/tools.conf
-}
-
-do_configure_prepend() {
- export CUSTOM_DNET_NAME=dnet
- export CUSTOM_DNET_LIBS=-L${STAGING_LIBDIR}/libdnet.so
-}
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "vmtoolsd"
-INITSCRIPT_PARAMS_${PN} = "start 90 2 3 4 5 . stop 60 0 1 6 ."
-
-python() {
- if 'networking-layer' not in d.getVar('BBFILE_COLLECTIONS').split() or \
- 'filesystems-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
- raise bb.parse.SkipRecipe('Requires meta-networking and meta-filesystems to be present.')
-}
diff --git a/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb b/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb
deleted file mode 100644
index 9fd88ced95..0000000000
--- a/meta-oe/recipes-support/opencl/clinfo_2.2.18.04.06.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Enumerate all known properties of OpenCL platform and devices."
-DESCRIPTION = "clinfo is a simple command-line application that enumerates \
-all possible (known) properties of the OpenCL platform and devices \
-available on the system."
-HOMEPAGE = "https://github.com/Oblomov/clinfo"
-
-LICENSE = "CC0-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fd8857f774dfb0eefe1e80c8f9240a7e"
-
-SRC_URI = "git://github.com/Oblomov/clinfo.git;protocol=https"
-
-SRCREV = "59d0daf898e48d76ccbb788acbba258fa0a8ba7c"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "opencl-headers opencl-icd-loader"
-
-do_install() {
- install -D -m 755 clinfo ${D}${bindir}/clinfo
-}
diff --git a/meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb b/meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb
new file mode 100644
index 0000000000..6cacd3722c
--- /dev/null
+++ b/meta-oe/recipes-support/opencl/clinfo_3.0.23.01.25.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Enumerate all known properties of OpenCL platform and devices."
+DESCRIPTION = "clinfo is a simple command-line application that enumerates \
+all possible (known) properties of the OpenCL platform and devices \
+available on the system."
+HOMEPAGE = "https://github.com/Oblomov/clinfo"
+
+LICENSE = "CC0-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fd8857f774dfb0eefe1e80c8f9240a7e"
+
+SRC_URI = "git://github.com/Oblomov/clinfo.git;protocol=https;branch=master"
+
+SRCREV = "748c3930a9b9cb826e631d77439e2cb8f84f5bcf"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "opencl-headers virtual/opencl-icd"
+
+do_install() {
+ oe_runmake install PREFIX=${D}${prefix} MANDIR=${D}${mandir}
+}
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
new file mode 100644
index 0000000000..9bd3d18d6e
--- /dev/null
+++ b/meta-oe/recipes-support/openct/openct/0001-m4-Just-emit-the-first-line-of-compiler-version.patch
@@ -0,0 +1,31 @@
+From 146b5116140d719e4e9ae19748c0b6dee7d82f96 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 22 May 2023 22:01:28 -0700
+Subject: [PATCH] m4: Just emit the first line of compiler version
+
+Avoids emitting buildpaths into comments
+Fixes
+WARNING: openct-0.6.20-r0 do_package_qa: QA Issue: File /usr/include/openct/types.h in package openct-dev contains reference to TMPDIR [buildpaths]
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ m4/ac_create_stdint_h.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/m4/ac_create_stdint_h.m4 b/m4/ac_create_stdint_h.m4
+index 66de704..4b7223a 100644
+--- a/m4/ac_create_stdint_h.m4
++++ b/m4/ac_create_stdint_h.m4
+@@ -110,7 +110,7 @@ echo "#define" $_ac_stdint_h "1" >>$ac_stdint_h
+ echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint_h
+ echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint_h
+ if test "$GCC" = "yes" ; then
+- echo "/* generated using a gnu compiler version" `$CC --version` "*/" \
++ echo "/* generated using a gnu compiler version" `$CC --version|head -1` "*/" \
+ >>$ac_stdint_h
+ else
+ echo "/* generated using $CC */" >>$ac_stdint_h
+--
+2.40.1
+
diff --git a/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch b/meta-oe/recipes-support/openct/openct/etc-openct.udev.in-disablePROGRAM.patch
index 745f923af1..e2401bb31b 100644
--- 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
@@ -5,7 +5,7 @@ Subject: [PATCH 1/2] etc/openct.udev.in: disablePROGRAM
Bug fix: https://bugzilla.redhat.com/show_bug.cgi?id=287871
-Upstream-status: Pending
+Upstream-Status: Pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
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
index d5e3fe5753..22eda729fb 100644
--- 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
@@ -5,7 +5,7 @@ Subject: [PATCH 2/2] etc/openct_usb.in: modify UDEVINFO
this patch is from Fedora
-Upstream-status: Pending
+Upstream-Status: Pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
diff --git a/meta-oe/recipes-support/openct/openct_0.6.20.bb b/meta-oe/recipes-support/openct/openct_0.6.20.bb
index 3dae8b33ca..4a1a0f568d 100644
--- a/meta-oe/recipes-support/openct/openct_0.6.20.bb
+++ b/meta-oe/recipes-support/openct/openct_0.6.20.bb
@@ -1,4 +1,4 @@
-Summanry = "Middleware framework for smart card terminals"
+SUMMARY = "Middleware framework for smart card terminals"
HOMEPAGE = "https://github.com/OpenSC/openct/wiki"
DESCRIPTION = " \
OpenCT implements drivers for several smart card readers. \
@@ -14,6 +14,7 @@ SRC_URI = " \
https://downloads.sourceforge.net/project/opensc/${BPN}/${BPN}-${PV}.tar.gz \
file://etc-openct.udev.in-disablePROGRAM.patch \
file://etc-openct_usb.in-modify-UDEVINFO.patch \
+ file://0001-m4-Just-emit-the-first-line-of-compiler-version.patch \
file://openct.init \
file://openct.sysconfig \
file://openct.service \
@@ -22,11 +23,11 @@ SRC_URI = " \
SRC_URI[md5sum] = "a1da3358ab798f1cb9232f1dbababc21"
SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d181a68"
-LICENSE = "LGPLv2+"
+LICENSE = "LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
inherit systemd
-SYSTEMD_SERVICE_${PN} += "openct.service "
+SYSTEMD_SERVICE:${PN} += "openct.service "
SYSTEMD_AUTO_ENABLE = "enable"
EXTRA_OECONF=" \
@@ -41,19 +42,19 @@ EXTRA_OECONF=" \
inherit autotools pkgconfig
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir}/ctapi \
${nonarch_libdir}/udev \
${libdir}/openct-ifd.so \
${libdir}/pcsc \
"
-FILES_${PN}-dbg += " \
+FILES:${PN}-dbg += " \
${libdir}/ctapi/.debug \
${libdir}/pcsc/drivers/openct-ifd.bundle/Contents/Linux/.debug \
"
-INSANE_SKIP_${PN} += "dev-deps"
+INSANE_SKIP:${PN} += "dev-deps"
do_install[cleandirs] += "${D}"
diff --git a/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch b/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch
deleted file mode 100644
index f038b0aa91..0000000000
--- a/meta-oe/recipes-support/opencv/ade/0001-use-GNUInstallDirs-for-detecting-install-paths.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 67ccf77d97b76e8260c9d793ab172577e2393dbc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 19 Dec 2019 21:33:46 -0800
-Subject: [PATCH] use GNUInstallDirs for detecting install paths
-
-This helps with multilib builds
-
-Upstream-Status: Submitted [https://github.com/opencv/ade/pull/19]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sources/ade/CMakeLists.txt | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/sources/ade/CMakeLists.txt b/sources/ade/CMakeLists.txt
-index 2d1dd20..46415d1 100644
---- a/sources/ade/CMakeLists.txt
-+++ b/sources/ade/CMakeLists.txt
-@@ -47,12 +47,14 @@ if(BUILD_ADE_DOCUMENTATION)
- VERBATIM)
- endif()
-
-+include(GNUInstallDirs)
-+
- install(TARGETS ade COMPONENT dev
- EXPORT adeTargets
-- ARCHIVE DESTINATION lib
-- LIBRARY DESTINATION lib
-- RUNTIME DESTINATION lib
-- INCLUDES DESTINATION include)
-+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-
- install(EXPORT adeTargets DESTINATION share/ade COMPONENT dev)
-
---
-2.24.1
-
diff --git a/meta-oe/recipes-support/opencv/ade_0.1.1f.bb b/meta-oe/recipes-support/opencv/ade_0.1.1f.bb
deleted file mode 100644
index 3861802158..0000000000
--- a/meta-oe/recipes-support/opencv/ade_0.1.1f.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "A graph construction, manipulation, and processing framework"
-DESCRIPTION = "ADE Framework is a graph construction, manipulation, \
-and processing framework. ADE Framework is suitable for \
-organizing data flow processing and execution."
-HOMEPAGE = "https://github.com/opencv/ade"
-
-SRC_URI = "git://github.com/opencv/ade.git \
- file://0001-use-GNUInstallDirs-for-detecting-install-paths.patch \
- "
-
-SRCREV = "58b2595a1a95cc807be8bf6222f266a9a1f393a9"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-inherit cmake
-
-S = "${WORKDIR}/git"
-
-EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release"
-
-FILES_${PN}-dev += "${datadir}/${BPN}/*.cmake"
diff --git a/meta-oe/recipes-support/opencv/ade_0.1.2.bb b/meta-oe/recipes-support/opencv/ade_0.1.2.bb
new file mode 100644
index 0000000000..93b14ad4f3
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/ade_0.1.2.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A graph construction, manipulation, and processing framework"
+DESCRIPTION = "ADE Framework is a graph construction, manipulation, \
+and processing framework. ADE Framework is suitable for \
+organizing data flow processing and execution."
+HOMEPAGE = "https://github.com/opencv/ade"
+
+SRC_URI = "git://github.com/opencv/ade.git;branch=master;protocol=https"
+
+SRCREV = "1e02d7486bdb9c87993d91b9910e7cc6c4ddbf66"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release"
+
+FILES:${PN}-dev += "${datadir}/${BPN}/*.cmake"
diff --git a/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch b/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
deleted file mode 100644
index 9e6a613713..0000000000
--- a/meta-oe/recipes-support/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 9b4959b97d2e95d4b49cf6ca2a3fce3cdb484f2d Mon Sep 17 00:00:00 2001
-From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
-Date: Thu, 31 Mar 2016 00:20:15 +0200
-Subject: [PATCH] 3rdparty/ippicv: Use pre-downloaded ipp
-
-Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
-Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
-
----
- 3rdparty/ippicv/ippicv.cmake | 15 +--------------
- 1 file changed, 1 insertion(+), 14 deletions(-)
-
-diff --git a/3rdparty/ippicv/ippicv.cmake b/3rdparty/ippicv/ippicv.cmake
-index 257af6fcc6..f88460450f 100644
---- a/3rdparty/ippicv/ippicv.cmake
-+++ b/3rdparty/ippicv/ippicv.cmake
-@@ -34,18 +34,5 @@ function(download_ippicv root_var)
- endif()
-
- set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv")
-- ocv_download(FILENAME ${OPENCV_ICV_NAME}
-- HASH ${OPENCV_ICV_HASH}
-- URL
-- "${OPENCV_IPPICV_URL}"
-- "$ENV{OPENCV_IPPICV_URL}"
-- "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
-- DESTINATION_DIR "${THE_ROOT}"
-- ID IPPICV
-- STATUS res
-- UNPACK RELATIVE_URL)
--
-- if(res)
-- set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
-- endif()
-+ set(${root_var} "${THE_ROOT}/${OPENCV_ICV_PACKAGE_SUBDIR}" PARENT_SCOPE)
- endfunction()
diff --git a/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-include.patch b/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-include.patch
deleted file mode 100644
index 432f3c83ee..0000000000
--- a/meta-oe/recipes-support/opencv/opencv/0001-Add-missing-include.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 4d984c65384e7d1f409f7e4cc56548a0924b09aa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 2 Mar 2021 21:53:21 -0800
-Subject: [PATCH] Add missing include
-
-this is highlighted by gcc-11
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- modules/gapi/test/gapi_async_test.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules/gapi/test/gapi_async_test.cpp b/modules/gapi/test/gapi_async_test.cpp
-index 66b8be4dd3..aa0c9c7cfb 100644
---- a/modules/gapi/test/gapi_async_test.cpp
-+++ b/modules/gapi/test/gapi_async_test.cpp
-@@ -13,6 +13,7 @@
-
- #include <condition_variable>
- #include <stdexcept>
-+#include <thread>
-
- namespace opencv_test
- {
---
-2.30.1
-
diff --git a/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch b/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch
deleted file mode 100644
index ce6499bfce..0000000000
--- a/meta-oe/recipes-support/opencv/opencv/0001-Fix-building-opencv-using-gcc-11.x-19244.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 67e1a5400383543b28fc69eb09c9429cb9d8c026 Mon Sep 17 00:00:00 2001
-From: Your Name <you@example.com>
-Date: Sat, 2 Jan 2021 17:43:11 +0000
-Subject: [PATCH] Fix building opencv using gcc 11.x #19244
-
-Add missing `#include <thread>` in modules/gapi/test/test_precomp.hpp
-
-Upstream-Status: Backport [https://github.com/opencv/opencv/pull/19247]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- modules/gapi/test/test_precomp.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/modules/gapi/test/test_precomp.hpp b/modules/gapi/test/test_precomp.hpp
-index 7b3c695443..e92b1d03bf 100644
---- a/modules/gapi/test/test_precomp.hpp
-+++ b/modules/gapi/test/test_precomp.hpp
-@@ -11,6 +11,7 @@
- #define __OPENCV_GAPI_TEST_PRECOMP_HPP__
-
- #include <cstdint>
-+#include <thread>
- #include <vector>
-
- #include <opencv2/ts.hpp>
---
-2.30.1
-
diff --git a/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch b/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
index 1e47f8b162..a3bbefaabe 100644
--- a/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
+++ b/meta-oe/recipes-support/opencv/opencv/0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch
@@ -7,6 +7,8 @@ Subject: [PATCH] Temporarliy work around deprecated ffmpeg RAW function
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
+Upstream-Status: Pending
+
modules/videoio/src/cap_ffmpeg_impl.hpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch b/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
index bb47ef2bab..9df419d0b8 100644
--- a/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
+++ b/meta-oe/recipes-support/opencv/opencv/0003-To-fix-errors-as-following.patch
@@ -15,6 +15,8 @@ ts module.
Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
---
+Upstream-Status: Pending
+
modules/ts/include/opencv2/ts.hpp | 4 ++--
modules/ts/include/opencv2/ts/ocl_test.hpp | 2 +-
modules/ts/include/opencv2/ts/ts_ext.hpp | 2 +-
diff --git a/meta-oe/recipes-support/opencv/opencv/0008-Do-not-embed-build-directory-in-binaries.patch b/meta-oe/recipes-support/opencv/opencv/0008-Do-not-embed-build-directory-in-binaries.patch
new file mode 100644
index 0000000000..8fda857080
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv/0008-Do-not-embed-build-directory-in-binaries.patch
@@ -0,0 +1,138 @@
+From: Victor Westerhuis <victor@westerhu.is>
+Date: Sat, 19 Nov 2022 21:45:39 +0100
+Subject: Do not embed build directory in binaries
+
+This makes the opencv core module build reproducibly.
+
+https://salsa.debian.org/science-team/opencv/-/raw/master/debian/patches/0008-Do-not-embed-build-directory-in-binaries.patch
+Upstream-Status: Backport
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+---
+ modules/core/CMakeLists.txt | 10 ------
+ modules/core/include/opencv2/core/private.hpp | 4 +--
+ modules/core/include/opencv2/core/utility.hpp | 4 +--
+ modules/core/src/utils/datafile.cpp | 48 +--------------------------
+ 4 files changed, 5 insertions(+), 61 deletions(-)
+
+diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt
+index b78bb98..d96b669 100644
+--- a/modules/core/CMakeLists.txt
++++ b/modules/core/CMakeLists.txt
+@@ -188,16 +188,6 @@ if(OPENCV_OTHER_INSTALL_PATH)
+ ")
+ endif()
+
+-set(OPENCV_DATA_CONFIG_STR "${OPENCV_DATA_CONFIG_STR}
+-#define OPENCV_BUILD_DIR \"${CMAKE_BINARY_DIR}\"
+-")
+-
+-file(RELATIVE_PATH SOURCE_DIR_RELATIVE ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR})
+-set(OPENCV_DATA_CONFIG_STR "${OPENCV_DATA_CONFIG_STR}
+-#define OPENCV_DATA_BUILD_DIR_SEARCH_PATHS \\
+- \"${SOURCE_DIR_RELATIVE}/\"
+-")
+-
+ if(WIN32)
+ file(RELATIVE_PATH INSTALL_DATA_DIR_RELATIVE "${CMAKE_INSTALL_PREFIX}/${OPENCV_BIN_INSTALL_PATH}" "${CMAKE_INSTALL_PREFIX}/${OPENCV_OTHER_INSTALL_PATH}")
+ else()
+diff --git a/modules/core/include/opencv2/core/private.hpp b/modules/core/include/opencv2/core/private.hpp
+index 146d37f..dd675bc 100644
+--- a/modules/core/include/opencv2/core/private.hpp
++++ b/modules/core/include/opencv2/core/private.hpp
+@@ -818,10 +818,10 @@ Search directories:
+ 2. Check path specified by configuration parameter with "_HINT" suffix (name of environment variable).
+ 3. Check path specified by configuration parameter (name of environment variable).
+ If parameter value is not empty and nothing is found then stop searching.
+-4. Detects build/install path based on:
++4. Detects install path based on:
+ a. current working directory (CWD)
+ b. and/or binary module location (opencv_core/opencv_world, doesn't work with static linkage)
+-5. Scan `<source>/{,data}` directories if build directory is detected or the current directory is in source tree.
++5. Scan `<source>/{,data}` directories if the current directory is in source tree.
+ 6. Scan `<install>/share/OpenCV` directory if install directory is detected.
+
+ @param relative_path Relative path to data file
+diff --git a/modules/core/include/opencv2/core/utility.hpp b/modules/core/include/opencv2/core/utility.hpp
+index 108c0d9..f15d9ea 100644
+--- a/modules/core/include/opencv2/core/utility.hpp
++++ b/modules/core/include/opencv2/core/utility.hpp
+@@ -1163,10 +1163,10 @@ Search directories:
+ 2. OPENCV_SAMPLES_DATA_PATH_HINT environment variable
+ 3. OPENCV_SAMPLES_DATA_PATH environment variable
+ If parameter value is not empty and nothing is found then stop searching.
+-4. Detects build/install path based on:
++4. Detects install path based on:
+ a. current working directory (CWD)
+ b. and/or binary module location (opencv_core/opencv_world, doesn't work with static linkage)
+-5. Scan `<source>/{,data,samples/data}` directories if build directory is detected or the current directory is in source tree.
++5. Scan `<source>/{,data,samples/data}` directories if the current directory is in source tree.
+ 6. Scan `<install>/share/OpenCV` directory if install directory is detected.
+
+ @see cv::utils::findDataFile
+diff --git a/modules/core/src/utils/datafile.cpp b/modules/core/src/utils/datafile.cpp
+index 3af83a5..6bda857 100644
+--- a/modules/core/src/utils/datafile.cpp
++++ b/modules/core/src/utils/datafile.cpp
+@@ -280,32 +280,8 @@ cv::String findDataFile(const cv::String& relative_path,
+
+
+ // Steps: 4, 5, 6
+- cv::String cwd = utils::fs::getcwd();
+- cv::String build_dir(OPENCV_BUILD_DIR);
+- bool has_tested_build_directory = false;
+- if (isSubDirectory(build_dir, cwd) || isSubDirectory(utils::fs::canonical(build_dir), utils::fs::canonical(cwd)))
+- {
+- CV_LOG_DEBUG(NULL, "utils::findDataFile(): the current directory is build sub-directory: " << cwd);
+- const char* build_subdirs[] = { OPENCV_DATA_BUILD_DIR_SEARCH_PATHS };
+- for (size_t k = 0; k < sizeof(build_subdirs)/sizeof(build_subdirs[0]); k++)
+- {
+- CV_LOG_DEBUG(NULL, "utils::findDataFile(): <build>/" << build_subdirs[k]);
+- cv::String datapath = utils::fs::join(build_dir, build_subdirs[k]);
+- if (utils::fs::isDirectory(datapath))
+- {
+- for(size_t i = search_subdir.size(); i > 0; i--)
+- {
+- const cv::String& subdir = search_subdir[i - 1];
+- cv::String prefix = utils::fs::join(datapath, subdir);
+- TRY_FILE_WITH_PREFIX(prefix);
+- }
+- }
+- }
+- has_tested_build_directory = true;
+- }
+-
+ cv::String source_dir;
+- cv::String try_source_dir = cwd;
++ cv::String try_source_dir = utils::fs::getcwd();
+ for (int levels = 0; levels < 3; ++levels)
+ {
+ if (utils::fs::exists(utils::fs::join(try_source_dir, "modules/core/include/opencv2/core/version.hpp")))
+@@ -341,28 +317,6 @@ cv::String findDataFile(const cv::String& relative_path,
+ CV_LOG_INFO(NULL, "Can't detect module binaries location");
+ }
+
+- if (!has_tested_build_directory &&
+- (isSubDirectory(build_dir, module_path) || isSubDirectory(utils::fs::canonical(build_dir), utils::fs::canonical(module_path)))
+- )
+- {
+- CV_LOG_DEBUG(NULL, "utils::findDataFile(): the binary module directory is build sub-directory: " << module_path);
+- const char* build_subdirs[] = { OPENCV_DATA_BUILD_DIR_SEARCH_PATHS };
+- for (size_t k = 0; k < sizeof(build_subdirs)/sizeof(build_subdirs[0]); k++)
+- {
+- CV_LOG_DEBUG(NULL, "utils::findDataFile(): <build>/" << build_subdirs[k]);
+- cv::String datapath = utils::fs::join(build_dir, build_subdirs[k]);
+- if (utils::fs::isDirectory(datapath))
+- {
+- for(size_t i = search_subdir.size(); i > 0; i--)
+- {
+- const cv::String& subdir = search_subdir[i - 1];
+- cv::String prefix = utils::fs::join(datapath, subdir);
+- TRY_FILE_WITH_PREFIX(prefix);
+- }
+- }
+- }
+- }
+-
+ #if defined OPENCV_INSTALL_DATA_DIR_RELATIVE
+ if (!module_path.empty()) // require module path
+ {
diff --git a/meta-oe/recipes-support/opencv/opencv_4.5.1.bb b/meta-oe/recipes-support/opencv/opencv_4.5.1.bb
deleted file mode 100644
index d6652a01d9..0000000000
--- a/meta-oe/recipes-support/opencv/opencv_4.5.1.bb
+++ /dev/null
@@ -1,225 +0,0 @@
-SUMMARY = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.org/"
-SECTION = "libs"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
-
-SRCREV_opencv = "1363496c1106606684d40447f5d1149b2c66a9f8"
-SRCREV_contrib = "b91a781cbc1285d441aa682926d93d8c23678b0b"
-SRCREV_ipp = "a56b6ac6f030c312b2dce17430eef13aed9af274"
-SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
-SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
-SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
-
-def ipp_filename(d):
- import re
- arch = d.getVar('TARGET_ARCH')
- if re.match("i.86$", arch):
- return "ippicv_2020_lnx_ia32_20191018_general.tgz"
- else:
- return "ippicv_2020_lnx_intel64_20191018_general.tgz"
-
-def ipp_md5sum(d):
- import re
- arch = d.getVar('TARGET_ARCH')
- if re.match("i.86$", arch):
- return "ad189a940fb60eb71f291321322fe3e8"
- else:
- return "7421de0095c7a39162ae13a6098782f9"
-
-IPP_FILENAME = "${@ipp_filename(d)}"
-IPP_MD5 = "${@ipp_md5sum(d)}"
-
-SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
-SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20191018;destsuffix=ipp;name=ipp \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=boostdesc;name=boostdesc \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=face;name=face \
- file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
- file://0003-To-fix-errors-as-following.patch \
- file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
- file://0001-Dont-use-isystem.patch \
- file://download.patch \
- file://0001-Make-ts-module-external.patch \
- file://0001-Add-missing-include.patch \
- file://0001-Fix-building-opencv-using-gcc-11.x-19244.patch \
- "
-SRC_URI_append_riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=../contrib"
-
-S = "${WORKDIR}/git"
-
-# OpenCV wants to download more files during configure. We download these in
-# do_fetch and construct a source cache in the format it expects
-OPENCV_DLDIR = "${WORKDIR}/downloads"
-
-do_unpack_extra() {
- tar xzf ${WORKDIR}/ipp/ippicv/${IPP_FILENAME} -C ${WORKDIR}
-
- md5() {
- # Return the MD5 of $1
- echo $(md5sum $1 | cut -d' ' -f1)
- }
- cache() {
- TAG=$1
- shift
- mkdir --parents ${OPENCV_DLDIR}/$TAG
- for F in $*; do
- DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F)
- test -e $DEST || ln -s $F $DEST
- done
- }
- cache xfeatures2d/boostdesc ${WORKDIR}/boostdesc/*.i
- cache xfeatures2d/vgg ${WORKDIR}/vgg/*.i
- cache data ${WORKDIR}/face/*.dat
-}
-addtask unpack_extra after do_unpack before do_patch
-
-CMAKE_VERBOSE = "VERBOSE=1"
-
-EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
- -DWITH_1394=OFF \
- -DENABLE_PRECOMPILED_HEADERS=OFF \
- -DCMAKE_SKIP_RPATH=ON \
- -DOPENCV_ICV_HASH=${IPP_MD5} \
- -DIPPROOT=${WORKDIR}/ippicv_lnx \
- -DOPENCV_GENERATE_PKGCONFIG=ON \
- -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \
- -DOPENCV_ALLOW_DOWNLOADS=OFF \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
-"
-EXTRA_OECMAKE_append_x86 = " -DX86=ON"
-
-PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)}"
-
-PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade"
-PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
-PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
-PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
-PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
-PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
-PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
-PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
-PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
-PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
-PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
-PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
-PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
-PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
-PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
-PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
-PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
-PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
-PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
-PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,,"
-PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
-PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
-
-inherit pkgconfig cmake
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
-
-export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
-export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
-export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
-export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
-export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
- ${PN}-apps"
-
-python populate_packages_prepend () {
- cv_libdir = d.expand('${libdir}')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
- do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
-
- pn = d.getVar('PN')
- metapkg = pn + '-dev'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
-
- metapkg = pn
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg, "libopencv-ts" ]
- metapkg_rdepends = [ ]
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
-}
-
-PACKAGES_DYNAMIC += "^libopencv-.*"
-
-FILES_${PN} = ""
-FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake"
-FILES_${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
-FILES_${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
-FILES_${PN}-java = "${datadir}/OpenCV/java"
-FILES_${PN}-samples = "${datadir}/opencv4/samples/"
-
-INSANE_SKIP_${PN}-java = "libdir"
-INSANE_SKIP_${PN}-dbg = "libdir"
-
-ALLOW_EMPTY_${PN} = "1"
-
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
-
-SUMMARY_python3-opencv = "Python bindings to opencv"
-FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python3-opencv = "python3-core python3-numpy"
-
-RDEPENDS_${PN}-apps = "bash"
-
-do_compile_prepend() {
- # remove the build host info to improve reproducibility
- if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then
- sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc
- fi
-}
-
-do_install_append() {
- # Move Python files into correct library folder (for multilib build)
- if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
- mv ${D}/usr/lib/* ${D}/${libdir}/
- rm -rf ${D}/usr/lib
- fi
- # remove build host path to improve reproducibility
- if [ -f ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake ]; then
- sed -e 's@${STAGING_DIR_HOST}@@g' \
- -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake
- fi
-}
-
-TOOLCHAIN = "gcc"
diff --git a/meta-oe/recipes-support/opencv/opencv_4.9.0.bb b/meta-oe/recipes-support/opencv/opencv_4.9.0.bb
new file mode 100644
index 0000000000..cf836d3ecf
--- /dev/null
+++ b/meta-oe/recipes-support/opencv/opencv_4.9.0.bb
@@ -0,0 +1,210 @@
+SUMMARY = "Opencv : The Open Computer Vision Library"
+HOMEPAGE = "http://opencv.org/"
+SECTION = "libs"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+
+DEPENDS = "libtool swig-native bzip2 zlib glib-2.0 libwebp"
+
+SRCREV_opencv = "dad8af6b17f8e60d7b95a1203a1b4d22f56574cf"
+SRCREV_contrib = "c7602a8f74205e44389bd6a4e8d727d32e7e27b4"
+SRCREV_boostdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
+SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
+SRCREV_face = "8afa57abc8229d611c4937165d20e2a2d9fc5a12"
+SRCREV_wechat-qrcode = "a8b69ccc738421293254aec5ddb38bd523503252"
+
+
+SRCREV_FORMAT = "opencv_contrib_ipp_boostdesc_vgg"
+SRC_URI = "git://github.com/opencv/opencv.git;name=opencv;branch=4.x;protocol=https \
+ git://github.com/opencv/opencv_contrib.git;destsuffix=git/contrib;name=contrib;branch=4.x;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=git/boostdesc;name=boostdesc;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=git/vgg;name=vgg;protocol=https \
+ git://github.com/opencv/opencv_3rdparty.git;branch=contrib_face_alignment_20170818;destsuffix=git/face;name=face;protocol=https \
+ git://github.com/WeChatCV/opencv_3rdparty.git;branch=wechat_qrcode;destsuffix=git/wechat_qrcode;name=wechat-qrcode;protocol=https \
+ file://0003-To-fix-errors-as-following.patch \
+ file://0001-Temporarliy-work-around-deprecated-ffmpeg-RAW-functi.patch \
+ file://0001-Dont-use-isystem.patch \
+ file://download.patch \
+ file://0001-Make-ts-module-external.patch \
+ file://0008-Do-not-embed-build-directory-in-binaries.patch \
+ "
+SRC_URI:append:riscv64 = " file://0001-Use-Os-to-compile-tinyxml2.cpp.patch;patchdir=contrib"
+
+S = "${WORKDIR}/git"
+
+# OpenCV wants to download more files during configure. We download these in
+# do_fetch and construct a source cache in the format it expects
+OPENCV_DLDIR = "${WORKDIR}/downloads"
+
+do_unpack_extra() {
+
+ md5() {
+ # Return the MD5 of $1
+ echo $(md5sum $1 | cut -d' ' -f1)
+ }
+ cache() {
+ TAG=$1
+ shift
+ mkdir --parents ${OPENCV_DLDIR}/$TAG
+ for F in $*; do
+ DEST=${OPENCV_DLDIR}/$TAG/$(md5 $F)-$(basename $F)
+ test -e $DEST || ln -s $F $DEST
+ done
+ }
+ cache xfeatures2d/boostdesc ${S}/boostdesc/*.i
+ cache xfeatures2d/vgg ${S}/vgg/*.i
+ cache data ${S}/face/*.dat
+ cache wechat_qrcode ${S}/wechat_qrcode/*.caffemodel
+ cache wechat_qrcode ${S}/wechat_qrcode/*.prototxt
+}
+addtask unpack_extra after do_unpack before do_patch
+
+CMAKE_VERBOSE = "VERBOSE=1"
+
+EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${S}/contrib/modules \
+ -DWITH_1394=OFF \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DWITH_IPP=OFF \
+ -DOPENCV_GENERATE_PKGCONFIG=ON \
+ -DOPENCV_DOWNLOAD_PATH=${OPENCV_DLDIR} \
+ -DOPENCV_ALLOW_DOWNLOADS=OFF \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
+ ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
+"
+LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+
+EXTRA_OECMAKE:append:x86 = " -DX86=ON"
+# disable sse4.1 and sse4.2 to fix 32bit build failure
+# https://github.com/opencv/opencv/issues/21597
+EXTRA_OECMAKE:remove:x86 = " -DENABLE_SSE41=1 -DENABLE_SSE42=1"
+
+PACKAGECONFIG ??= "gapi python3 eigen jpeg png tiff v4l libv4l gstreamer samples tbb gphoto2 \
+ ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
+ ${@bb.utils.contains_any("LICENSE_FLAGS_ACCEPTED", "commercial_ffmpeg commercial", "libav", "", d)}"
+
+# TBB does not build for powerpc so disable that package config
+PACKAGECONFIG:remove:powerpc = "tbb"
+# tbb now needs getcontect/setcontext which is not there for all arches on musl
+PACKAGECONFIG:remove:libc-musl:riscv64 = "tbb"
+PACKAGECONFIG:remove:libc-musl:riscv32 = "tbb"
+
+PACKAGECONFIG[gapi] = "-DWITH_ADE=ON -Dade_DIR=${STAGING_LIBDIR},-DWITH_ADE=OFF,ade"
+PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
+PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
+PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DPROTOBUF_UPDATE_FILES=ON -DBUILD_PROTOBUF=OFF -DCMAKE_CXX_STANDARD=17,-DBUILD_opencv_dnn=OFF,protobuf protobuf-native,"
+PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
+PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
+PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
+PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
+PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
+PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
+PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
+PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
+PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
+PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
+PACKAGECONFIG[openvino] = "-DWITH_OPENVINO=ON,-DWITH_OPENVINO=OFF,openvino-inference-engine,openvino-inference-engine"
+PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
+PACKAGECONFIG[python3] = "-DPYTHON3_INCLUDE_PATH=${STAGING_INCDIR}/${PYTHON_DIR}${PYTHON_ABI} -DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
+PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
+PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
+PACKAGECONFIG[tests] = "-DBUILD_TESTS=ON,-DBUILD_TESTS=OFF,,"
+PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
+PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
+
+inherit pkgconfig cmake setuptools3-base python3native
+
+export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
+export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
+export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
+export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
+
+TARGET_CC_ARCH += "-I${S}/include "
+
+PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
+ ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
+ ${PN}-apps"
+
+python populate_packages:prepend () {
+ cv_libdir = d.expand('${libdir}')
+ do_split_packages(d, cv_libdir, r'^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
+ do_split_packages(d, cv_libdir, r'^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, r'^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
+ do_split_packages(d, cv_libdir, r'^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
+
+ pn = d.getVar('PN')
+ metapkg = pn + '-dev'
+ d.setVar('ALLOW_EMPTY:' + metapkg, "1")
+ blacklist = [ metapkg ]
+ metapkg_rdepends = [ ]
+ packages = d.getVar('PACKAGES').split()
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RRECOMMENDS:' + metapkg, ' '.join(metapkg_rdepends))
+
+ metapkg = pn
+ d.setVar('ALLOW_EMPTY:' + metapkg, "1")
+ blacklist = [ metapkg ]
+ metapkg_rdepends = [ ]
+ for pkg in packages[1:]:
+ if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
+}
+
+PACKAGES_DYNAMIC += "^libopencv-.*"
+
+FILES:${PN} = ""
+FILES:${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
+FILES:${PN}-dev = "${includedir} ${libdir}/pkgconfig ${libdir}/cmake/opencv4/*.cmake"
+FILES:${PN}-staticdev += "${libdir}/opencv4/3rdparty/*.a"
+FILES:${PN}-apps = "${bindir}/* ${datadir}/opencv4 ${datadir}/licenses"
+FILES:${PN}-java = "${datadir}/OpenCV/java"
+FILES:${PN}-samples = "${datadir}/opencv4/samples/"
+
+INSANE_SKIP:${PN}-java = "libdir"
+INSANE_SKIP:${PN}-dbg = "libdir"
+
+ALLOW_EMPTY:${PN} = "1"
+
+SUMMARY:python3-opencv = "Python bindings to opencv"
+FILES:python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS:python3-opencv = "python3-core python3-numpy"
+
+RDEPENDS:${PN}-apps = "bash"
+
+do_compile:prepend() {
+ # remove the build host info to improve reproducibility
+ if [ -f ${WORKDIR}/build/modules/core/version_string.inc ]; then
+ sed -i "s#${WORKDIR}#/workdir#g" ${WORKDIR}/build/modules/core/version_string.inc
+ fi
+}
+
+do_install:append() {
+ # Move Python files into correct library folder (for multilib build)
+ if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
+ mv ${D}/usr/lib/* ${D}/${libdir}/
+ rm -rf ${D}/usr/lib
+ fi
+ # remove build host path to improve reproducibility
+ if [ -f ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake ]; then
+ sed -e 's@${STAGING_DIR_HOST}@@g' \
+ -i ${D}${libdir}/cmake/opencv4/OpenCVModules.cmake
+ fi
+ # remove setup_vars_opencv4.sh as its content is confusing and useless
+ if [ -f ${D}${bindir}/setup_vars_opencv4.sh ]; then
+ rm -rf ${D}${bindir}/setup_vars_opencv4.sh
+ fi
+}
diff --git a/meta-oe/recipes-support/openldap/openldap/0001-build-top.mk-unset-STRIP_OPTS.patch b/meta-oe/recipes-support/openldap/openldap/0001-build-top.mk-unset-STRIP_OPTS.patch
new file mode 100644
index 0000000000..9d25f2c599
--- /dev/null
+++ b/meta-oe/recipes-support/openldap/openldap/0001-build-top.mk-unset-STRIP_OPTS.patch
@@ -0,0 +1,38 @@
+From 321839cbd1d57f12d3d6695254d2003473d8dd1a Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 8 Dec 2021 16:58:55 +0800
+Subject: [PATCH] build/top.mk: unset STRIP_OPTS
+
+Unset STRIP_OPTS to disable strip to fix QA errors:
+
+ERROR: openldap-2.5.9-r0 do_package: QA Issue: File
+'/usr/bin/ldapcompare' from openldap was already stripped, this will
+prevent future debugging! [already-stripped]
+
+ERROR: openldap-2.5.9-r0 do_package: QA Issue: File
+'/usr/bin/ldapdelete' from openldap was already stripped, this will
+prevent future debugging! [already-stripped]
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ build/top.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/build/top.mk b/build/top.mk
+index 38ce146..6e9fe1f 100644
+--- a/build/top.mk
++++ b/build/top.mk
+@@ -60,7 +60,7 @@ INSTALL_PROGRAM = $(INSTALL)
+ INSTALL_DATA = $(INSTALL) -m 644
+ INSTALL_SCRIPT = $(INSTALL)
+
+-STRIP_OPTS = -s
++STRIP_OPTS =
+
+ LINT = lint
+ 5LINT = 5lint
+--
+2.17.1
+
diff --git a/meta-oe/recipes-support/openldap/openldap/install-strip.patch b/meta-oe/recipes-support/openldap/openldap/install-strip.patch
deleted file mode 100644
index b59db3939e..0000000000
--- a/meta-oe/recipes-support/openldap/openldap/install-strip.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-# This patch ensures that the install operations which strip
-# programs and libraries (LTINSTALL) work in a cross build
-# environment.
-
-Upstream-Status: Pending
-
---- a/build/top.mk
-+++ b/build/top.mk
-@@ -121,7 +121,7 @@ LTCOMPILE_MOD = $(LIBTOOL) $(LTONLY_MOD)
- LTLINK_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=link \
- $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_MOD)
-
--LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL)
-+LTINSTALL = STRIPPROG="" $(LIBTOOL) --mode=install $(top_srcdir)/contrib/ldapc++/install-sh -c
- LTFINISH = $(LIBTOOL) --mode=finish
-
- # Misc UNIX commands used in build environment
diff --git a/meta-oe/recipes-support/openldap/openldap/openldap-2.4.28-gnutls-gcrypt.patch b/meta-oe/recipes-support/openldap/openldap/openldap-2.4.28-gnutls-gcrypt.patch
deleted file mode 100644
index 91bcc0435e..0000000000
--- a/meta-oe/recipes-support/openldap/openldap/openldap-2.4.28-gnutls-gcrypt.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-From http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-nds/openldap/files/
-
-Upstream-status: Pending
-
---
-
---- a/configure.in
-+++ b/configure.in
-@@ -1227,7 +1227,7 @@ if test $ol_link_tls = no ; then
- ol_with_tls=gnutls
- ol_link_tls=yes
-
-- TLS_LIBS="-lgnutls"
-+ TLS_LIBS="-lgnutls -lgcrypt"
-
- AC_DEFINE(HAVE_GNUTLS, 1,
- [define if you have GNUtls])
diff --git a/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch b/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
deleted file mode 100644
index ab5c4de66a..0000000000
--- a/meta-oe/recipes-support/openldap/openldap/openldap-CVE-2015-3276.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-openldap CVE-2015-3276
-
-the patch comes from:
-https://bugzilla.redhat.com/show_bug.cgi?id=1238322
-https://bugzilla.redhat.com/attachment.cgi?id=1055640
-
-The nss_parse_ciphers function in libraries/libldap/tls_m.c in
-OpenLDAP does not properly parse OpenSSL-style multi-keyword mode
-cipher strings, which might cause a weaker than intended cipher to
-be used and allow remote attackers to have unspecified impact via
-unknown vectors.
-
-Upstream-Status: Pending
-
-CVE: CVE-2015-3276
-
-Signed-off-by: Li Wang <li.wang@windriver.com>
----
- libraries/libldap/tls_m.c | 27 ++++++++++++++++-----------
- 1 file changed, 16 insertions(+), 11 deletions(-)
-
---- a/libraries/libldap/tls_m.c
-+++ b/libraries/libldap/tls_m.c
-@@ -620,18 +620,23 @@ nss_parse_ciphers(const char *cipherstr,
- */
- if (mask || strength || protocol) {
- for (i=0; i<ciphernum; i++) {
-- if (((ciphers_def[i].attr & mask) ||
-- (ciphers_def[i].strength & strength) ||
-- (ciphers_def[i].version & protocol)) &&
-- (cipher_list[i] != -1)) {
-- /* Enable the NULL ciphers only if explicity
-- * requested */
-- if (ciphers_def[i].attr & SSL_eNULL) {
-- if (mask & SSL_eNULL)
-- cipher_list[i] = action;
-- } else
-+ /* if more than one mask is provided
-+ * then AND logic applies (to match openssl)
-+ */
-+ if ( cipher_list[i] == -1) )
-+ continue;
-+ if ( mask && ! (ciphers_def[i].attr & mask) )
-+ continue;
-+ if ( strength && ! (ciphers_def[i].strength & strength) )
-+ continue;
-+ if ( protocol && ! (ciphers_def[i].version & protocol) )
-+ continue;
-+ /* Enable the NULL ciphers only if explicity requested */
-+ if (ciphers_def[i].attr & SSL_eNULL) {
-+ if (mask & SSL_eNULL)
- cipher_list[i] = action;
-- }
-+ } else
-+ cipher_list[i] = action;
- }
- } else {
- for (i=0; i<ciphernum; i++) {
diff --git a/meta-oe/recipes-support/openldap/openldap/openldap-m4-pthread.patch b/meta-oe/recipes-support/openldap/openldap/openldap-m4-pthread.patch
deleted file mode 100644
index 4d1fda96e4..0000000000
--- a/meta-oe/recipes-support/openldap/openldap/openldap-m4-pthread.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream-Status: Pending
-
---- a/build/openldap.m4
-+++ b/build/openldap.m4
-@@ -651,7 +651,7 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[
- ]])
-
- AC_DEFUN([OL_PTHREAD_TEST_PROGRAM],
--AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES
-+[AC_LANG_SOURCE([[OL_PTHREAD_TEST_INCLUDES
-
- int main(argc, argv)
- int argc;
-@@ -659,7 +659,7 @@ int main(argc, argv)
- {
- OL_PTHREAD_TEST_FUNCTION
- }
--]))
-+]])])
- dnl --------------------------------------------------------------------
- AC_DEFUN([OL_PTHREAD_TRY], [# Pthread try link: $1 ($2)
- if test "$ol_link_threads" = no ; then
diff --git a/meta-oe/recipes-support/openldap/openldap/thread_stub.patch b/meta-oe/recipes-support/openldap/openldap/thread_stub.patch
deleted file mode 100644
index 540ba4a635..0000000000
--- a/meta-oe/recipes-support/openldap/openldap/thread_stub.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-openldap: set pointer
-
-When the function ldap_pvt_thread_pool_getkey() succeeds, it
-must set the value of *data since the caller may try to use it.
-
-Upstream-Status: pending
-
-Signed-off-by: Joe Slater <jslater@windriver.com>
-
-
---- a/libraries/libldap_r/thr_stub.c
-+++ b/libraries/libldap_r/thr_stub.c
-@@ -217,6 +217,7 @@ ldap_pvt_thread_pool_unidle ( ldap_pvt_t
- int ldap_pvt_thread_pool_getkey (
- void *ctx, void *key, void **data, ldap_pvt_thread_pool_keyfree_t **kfree )
- {
-+ if (data) *data = NULL; /* avoid problems with uninitialized *data */
- return(0);
- }
-
diff --git a/meta-oe/recipes-support/openldap/openldap/use-urandom.patch b/meta-oe/recipes-support/openldap/openldap/use-urandom.patch
deleted file mode 100644
index 96a03369a7..0000000000
--- a/meta-oe/recipes-support/openldap/openldap/use-urandom.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-openldap: assume /dev/urandom exists
-
-When we are cross-compiling, we want to assume
-that /dev/urandom exists. We could change the source
-code to look for it, but this is the easy way out.
-
-Upstream-Status: pending
-
-Signed-off-by: Joe Slater <jslater@windriver.com>
-
-
---- a/configure.in
-+++ b/configure.in
-@@ -2153,8 +2153,8 @@ fi
-
- dnl ----------------------------------------------------------------
- dnl Check for entropy sources
-+dev=no
- if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then
-- dev=no
- if test -r /dev/urandom ; then
- dev="/dev/urandom";
- elif test -r /idev/urandom ; then
-@@ -2167,9 +2167,11 @@ if test $cross_compiling != yes && test
- dev="/idev/random";
- fi
-
-- if test $dev != no ; then
-- AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
-- fi
-+elif test $cross_compiling == yes ; then
-+ dev="/dev/urandom";
-+fi
-+if test $dev != no ; then
-+ AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device])
- fi
-
- dnl ----------------------------------------------------------------
diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.57.bb b/meta-oe/recipes-support/openldap/openldap_2.4.57.bb
deleted file mode 100644
index 7c04600670..0000000000
--- a/meta-oe/recipes-support/openldap/openldap_2.4.57.bb
+++ /dev/null
@@ -1,256 +0,0 @@
-SUMMARY = "OpenLDAP Directory Service"
-DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
-HOMEPAGE = "http://www.OpenLDAP.org/license.html"
-# The OpenLDAP Public License - see the HOMEPAGE - defines
-# the license. www.openldap.org claims this is Open Source
-# (see http://www.openldap.org), the license appears to be
-# basically BSD. opensource.org does not record this license
-# at present (so it is apparently not OSI certified).
-LICENSE = "OpenLDAP"
-LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=b6dea6c170362fc46381fe3690c722cb \
- file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
- "
-SECTION = "libs"
-
-LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
-
-SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \
- file://openldap-m4-pthread.patch \
- file://openldap-2.4.28-gnutls-gcrypt.patch \
- file://use-urandom.patch \
- file://initscript \
- file://slapd.service \
- file://thread_stub.patch \
- file://openldap-CVE-2015-3276.patch \
- file://remove-user-host-pwd-from-version.patch \
-"
-
-SRC_URI[md5sum] = "e3349456c3a66e5e6155be7ddc3f042c"
-SRC_URI[sha256sum] = "c7ba47e1e6ecb5b436f3d43281df57abeffa99262141aec822628bc220f6b45a"
-
-DEPENDS = "util-linux groff-native"
-
-# The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when
-# installing .so and executables, this fails in cross compilation
-# environments
-SRC_URI += "file://install-strip.patch"
-
-inherit autotools-brokensep update-rc.d systemd
-
-# CV SETTINGS
-# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
-# when cross compiling (should be in site?)
-EXTRA_OECONF += "ac_cv_func_memcmp_working=yes"
-
-# CONFIG DEFINITIONS
-# The following is necessary because it cannot be determined for a
-# cross compile automagically. Select should yield fine on all OE
-# systems...
-EXTRA_OECONF += "--with-yielding-select=yes"
-# Shared libraries are nice...
-EXTRA_OECONF += "--enable-dynamic"
-
-PACKAGECONFIG ??= "gnutls modules \
- mdb ldap meta monitor null passwd shell proxycache dnssrv \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
-"
-#--with-tls with TLS/SSL support auto|openssl|gnutls [auto]
-PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
-PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
-
-PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
-PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
-
-# SLAPD options
-#
-# UNIX crypt(3) passwd support:
-EXTRA_OECONF += "--enable-crypt"
-
-# SLAPD BACKEND
-#
-# The backend must be set by the configuration. This controls the
-# required database.
-#
-# Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql"
-#
-# Note that multiple backends can be built. The ldbm backend requires a
-# build-time choice of database API. The bdb backend forces this to be
-# DB4. To use the gdbm (or other) API the Berkely database module must
-# be removed from the build.
-md = "${libexecdir}/openldap"
-#
-#--enable-bdb enable Berkeley DB backend no|yes|mod yes
-# The Berkely DB is the standard choice. This version of OpenLDAP requires
-# the version 4 implementation or better.
-PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
-
-#--enable-dnssrv enable dnssrv backend no|yes|mod no
-PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
-
-#--enable-hdb enable Hierarchical DB backend no|yes|mod no
-PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
-
-#--enable-ldap enable ldap backend no|yes|mod no
-PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
-
-#--enable-mdb enable mdb database backend no|yes|mod [yes]
-PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no,"
-
-#--enable-meta enable metadirectory backend no|yes|mod no
-PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
-
-#--enable-monitor enable monitor backend no|yes|mod yes
-PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
-
-#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no]
-PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
-
-#--enable-null enable null backend no|yes|mod no
-PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
-
-#--enable-passwd enable passwd backend no|yes|mod no
-PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
-
-#--enable-perl enable perl backend no|yes|mod no
-# This requires a loadable perl dynamic library, if enabled without
-# doing something appropriate (building perl?) the build will pick
-# up the build machine perl - not good (inherit perlnative?)
-PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
-
-#--enable-relay enable relay backend no|yes|mod [yes]
-PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
-
-#--enable-shell enable shell backend no|yes|mod no
-# configure: WARNING: Use of --without-threads is recommended with back-shell
-PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
-
-#--enable-sock enable sock backend no|yes|mod [no]
-PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
-
-#--enable-sql enable sql backend no|yes|mod no
-# sql requires some sql backend which provides sql.h, sqlite* provides
-# sqlite.h (which may be compatible but hasn't been tried.)
-PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3"
-
-#--enable-dyngroup Dynamic Group overlay no|yes|mod no
-# This is a demo, Proxy Cache defines init_module which conflicts with the
-# same symbol in dyngroup
-PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
-
-#--enable-proxycache Proxy Cache overlay no|yes|mod no
-PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
-FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
-PACKAGES += "${PN}-overlay-proxycache"
-
-# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
-# This allows tls to obtain random bits from /dev/urandom, by default
-# it was disabled for cross-compiling.
-CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\' -fPIC"
-
-LDFLAGS_append = " -pthread"
-
-do_configure() {
- rm -f ${S}/libtool
- aclocal
- libtoolize --force --copy
- gnu-configize
- cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
- cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/missing ${S}/build
- cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/compile ${S}/build
- autoconf
- oe_runconf
-}
-
-LEAD_SONAME = "libldap-${LDAP_VER}.so.*"
-
-# The executables go in a separate package. This allows the
-# installation of the libraries with no daemon support.
-# Each module also has its own package - see above.
-PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
-
-# Package contents - shift most standard contents to -bin
-FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
-FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
- ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
- ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
-FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp"
-FILES_${PN}-bin = "${bindir}"
-FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
-FILES_${PN}-dbg += "${libexecdir}/openldap/.debug"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/init.d
- cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap
- chmod 755 ${D}${sysconfdir}/init.d/openldap
- # This is duplicated in /etc/openldap and is for slapd
- rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
-
- # Installing slapd under ${sbin} is more FHS and LSB compliance
- mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
- rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
- SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
- cd ${D}/${sbindir}/
- rm -f ${SLAPTOOLS}
- for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
-
- rmdir "${D}${localstatedir}/run"
- rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
-
- # Uses mdm as the database
- # and localstatedir as data directory ...
- sed -e 's/# modulepath/modulepath/' \
- -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \
- -e 's/database\s*bdb/database mdb/' \
- -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \
- -i ${D}${sysconfdir}/openldap/slapd.conf
-
- mkdir -p ${D}${localstatedir}/${BPN}/data
-
-
-}
-
-INITSCRIPT_PACKAGES = "${PN}-slapd"
-INITSCRIPT_NAME_${PN}-slapd = "openldap"
-INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
-SYSTEMD_SERVICE_${PN}-slapd = "hostapd.service"
-SYSTEMD_AUTO_ENABLE_${PN}-slapd ?= "disable"
-
-
-PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
-
-# The modules require their .so to be dynamicaly loaded
-INSANE_SKIP_${PN}-backend-dnssrv += "dev-so"
-INSANE_SKIP_${PN}-backend-ldap += "dev-so"
-INSANE_SKIP_${PN}-backend-meta += "dev-so"
-INSANE_SKIP_${PN}-backend-mdb += "dev-so"
-INSANE_SKIP_${PN}-backend-monitor += "dev-so"
-INSANE_SKIP_${PN}-backend-null += "dev-so"
-INSANE_SKIP_${PN}-backend-passwd += "dev-so"
-INSANE_SKIP_${PN}-backend-shell += "dev-so"
-
-
-python populate_packages_prepend () {
- backend_dir = d.expand('${libexecdir}/openldap')
- do_split_packages(d, backend_dir, 'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
- do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
-
- metapkg = "${PN}-backends"
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- d.setVar('FILES_' + metapkg, "")
- metapkg_rdepends = []
- packages = d.getVar('PACKAGES').split()
- for pkg in packages[1:]:
- if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"):
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
- d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package')
- packages.append(metapkg)
- d.setVar('PACKAGES', ' '.join(packages))
-}
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/openldap/openldap_2.6.7.bb b/meta-oe/recipes-support/openldap/openldap_2.6.7.bb
new file mode 100644
index 0000000000..e807fdef16
--- /dev/null
+++ b/meta-oe/recipes-support/openldap/openldap_2.6.7.bb
@@ -0,0 +1,231 @@
+SUMMARY = "OpenLDAP Directory Service"
+DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
+HOMEPAGE = "http://www.OpenLDAP.org/license.html"
+# The OpenLDAP Public License - see the HOMEPAGE - defines
+# the license. www.openldap.org claims this is Open Source
+# (see http://www.openldap.org), the license appears to be
+# basically BSD. opensource.org does not record this license
+# at present (so it is apparently not OSI certified).
+LICENSE = "OpenLDAP"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=beceb5ac7100b6430640c61655b25c1f \
+ file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
+ "
+SECTION = "libs"
+
+LDAP_VER = "${@'.'.join(d.getVar('PV').split('.')[0:2])}"
+
+SRC_URI = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${BP}.tgz \
+ file://initscript \
+ file://slapd.service \
+ file://remove-user-host-pwd-from-version.patch \
+ file://0001-build-top.mk-unset-STRIP_OPTS.patch \
+"
+
+SRC_URI[sha256sum] = "cd775f625c944ed78a3da18a03b03b08eea73c8aabc97b41bb336e9a10954930"
+
+DEPENDS = "util-linux groff-native"
+
+inherit autotools-brokensep update-rc.d systemd pkgconfig
+
+# CV SETTINGS
+# Required to work round AC_FUNC_MEMCMP which gets the wrong answer
+# when cross compiling (should be in site?)
+EXTRA_OECONF += "ac_cv_func_memcmp_working=yes"
+
+# CONFIG DEFINITIONS
+# The following is necessary because it cannot be determined for a
+# cross compile automagically. Select should yield fine on all OE
+# systems...
+EXTRA_OECONF += "--with-yielding-select=yes"
+# Shared libraries are nice...
+EXTRA_OECONF += "--enable-dynamic"
+
+PACKAGECONFIG ??= "asyncmeta gnutls modules \
+ mdb ldap meta null passwd proxycache dnssrv \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
+"
+#--with-tls with TLS/SSL support auto|openssl|gnutls [auto]
+PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls"
+PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
+
+PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
+PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+
+# SLAPD options
+#
+# UNIX crypt(3) passwd support:
+EXTRA_OECONF += "--enable-crypt"
+
+# SLAPD BACKEND
+#
+# The backend must be set by the configuration. This controls the
+# required database.
+#
+# Backends="asyncmeta dnssrv ldap mdb meta null passwd perl relay sock sql wt"
+#
+# Note that multiple backends can be built. The ldbm backend requires a
+# build-time choice of database API. To use the gdbm (or other) API the
+# Berkely database module must be removed from the build.
+md = "${libexecdir}/openldap"
+#
+
+#--enable-asyncmeta enable asyncmeta backend no|yes|mod no
+PACKAGECONFIG[asyncmeta] = "--enable-asyncmeta=mod,--enable-asyncmeta=no"
+
+#--enable-dnssrv enable dnssrv backend no|yes|mod no
+PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
+
+#--enable-ldap enable ldap backend no|yes|mod no
+PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
+
+#--enable-mdb enable mdb database backend no|yes|mod [yes]
+PACKAGECONFIG[mdb] = "--enable-mdb=yes,--enable-mdb=no,"
+
+#--enable-meta enable metadirectory backend no|yes|mod no
+PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
+
+#--enable-null enable null backend no|yes|mod no
+PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
+
+#--enable-passwd enable passwd backend no|yes|mod no
+PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no,"
+
+#--enable-perl enable perl backend no|yes|mod no
+# This requires a loadable perl dynamic library, if enabled without
+# doing something appropriate (building perl?) the build will pick
+# up the build machine perl - not good (inherit perlnative?)
+PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
+
+#--enable-relay enable relay backend no|yes|mod [yes]
+PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no,"
+
+#--enable-sock enable sock backend no|yes|mod [no]
+PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no,"
+
+#--enable-sql enable sql backend no|yes|mod no
+# sql requires some sql backend which provides sql.h, sqlite* provides
+# sqlite.h (which may be compatible but hasn't been tried.)
+PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3"
+
+#--enable-wt enable wt backend no|yes|mod no
+# back-wt is marked currently as experimental
+PACKAGECONFIG[wt] = "--enable-wt=mod,--enable-wt=no"
+
+#--enable-dyngroup Dynamic Group overlay no|yes|mod no
+# This is a demo, Proxy Cache defines init_module which conflicts with the
+# same symbol in dyngroup
+PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
+
+#--enable-proxycache Proxy Cache overlay no|yes|mod no
+PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
+FILES:${PN}-overlay-proxycache = "${md}/pcache.so.*"
+PACKAGES += "${PN}-overlay-proxycache"
+
+# Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS:
+# This allows tls to obtain random bits from /dev/urandom, by default
+# it was disabled for cross-compiling.
+CPPFLAGS:append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\\"/dev/urandom\\" -fPIC"
+
+LDFLAGS:append = " -pthread"
+
+do_configure() {
+ rm -f ${S}/libtool
+ aclocal
+ libtoolize --force --copy
+ gnu-configize
+ cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/ltmain.sh ${S}/build
+ cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/missing ${S}/build
+ cp ${STAGING_DATADIR_NATIVE}/libtool/build-aux/compile ${S}/build
+ autoconf
+ oe_runconf
+}
+
+LEAD_SONAME = "libldap-${LDAP_VER}.so.*"
+
+# The executables go in a separate package. This allows the
+# installation of the libraries with no daemon support.
+# Each module also has its own package - see above.
+PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
+
+# Package contents - shift most standard contents to -bin
+FILES:${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/${BPN}/data"
+FILES:${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \
+ ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \
+ ${sysconfdir}/openldap/DB_CONFIG.example ${systemd_unitdir}/system/*"
+FILES:${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp"
+FILES:${PN}-bin = "${bindir}"
+FILES:${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so ${libdir}/pkgconfig/*.pc"
+FILES:${PN}-dbg += "${libexecdir}/openldap/.debug"
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/init.d
+ cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap
+ chmod 755 ${D}${sysconfdir}/init.d/openldap
+ # This is duplicated in /etc/openldap and is for slapd
+ rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example
+
+ # Installing slapd under ${sbin} is more FHS and LSB compliance
+ mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
+ rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
+ SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema slapmodify"
+ cd ${D}/${sbindir}/
+ rm -f ${SLAPTOOLS}
+ for i in ${SLAPTOOLS}; do ln -sf slapd $i; done
+
+ rmdir "${D}${localstatedir}/run"
+ rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/slapd.service ${D}${systemd_unitdir}/system/
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/*.service
+
+ # Uses mdm as the database
+ # and localstatedir as data directory ...
+ sed -e 's/# modulepath/modulepath/' \
+ -e 's/# moduleload\s*back_bdb.*/moduleload back_mdb/' \
+ -e 's/database\s*bdb/database mdb/' \
+ -e 's%^directory\s*.*%directory ${localstatedir}/${BPN}/data/%' \
+ -i ${D}${sysconfdir}/openldap/slapd.conf
+
+ mkdir -p ${D}${localstatedir}/${BPN}/data
+}
+
+INITSCRIPT_PACKAGES = "${PN}-slapd"
+INITSCRIPT_NAME:${PN}-slapd = "openldap"
+INITSCRIPT_PARAMS:${PN}-slapd = "defaults"
+SYSTEMD_PACKAGES = "${PN}-slapd"
+SYSTEMD_SERVICE:${PN}-slapd = "slapd.service"
+SYSTEMD_AUTO_ENABLE:${PN}-slapd ?= "disable"
+
+PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
+
+# The modules require their .so to be dynamicaly loaded
+INSANE_SKIP:${PN}-backend-asyncmeta += "dev-so"
+INSANE_SKIP:${PN}-backend-dnssrv += "dev-so"
+INSANE_SKIP:${PN}-backend-ldap += "dev-so"
+INSANE_SKIP:${PN}-backend-meta += "dev-so"
+INSANE_SKIP:${PN}-backend-mdb += "dev-so"
+INSANE_SKIP:${PN}-backend-null += "dev-so"
+INSANE_SKIP:${PN}-backend-passwd += "dev-so"
+
+python populate_packages:prepend () {
+ backend_dir = d.expand('${libexecdir}/openldap')
+ do_split_packages(d, backend_dir, r'back_([a-z]*)\.so$', 'openldap-backend-%s', 'OpenLDAP %s backend', prepend=True, extra_depends='', allow_links=True)
+ do_split_packages(d, backend_dir, r'back_([a-z]*)\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True)
+
+ metapkg = "${PN}-backends"
+ d.setVar('ALLOW_EMPTY:' + metapkg, "1")
+ d.setVar('FILES:' + metapkg, "")
+ metapkg_rdepends = []
+ packages = d.getVar('PACKAGES').split()
+ for pkg in packages[1:]:
+ if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"):
+ metapkg_rdepends.append(pkg)
+ d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
+ d.setVar('DESCRIPTION:' + metapkg, 'OpenLDAP backends meta package')
+ packages.append(metapkg)
+ d.setVar('PACKAGES', ' '.join(packages))
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/opensc/opensc_0.21.0.bb b/meta-oe/recipes-support/opensc/opensc_0.21.0.bb
deleted file mode 100644
index 2fbf60c14a..0000000000
--- a/meta-oe/recipes-support/opensc/opensc_0.21.0.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "Smart card library and applications"
-DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\
-functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\
-7816-4 compatible smart card. Encryption and decryption using private\
-keys on the smart card is possible with PKCS\
-such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\
-eID cards have also been confirmed to work."
-
-HOMEPAGE = "http://www.opensc-project.org/opensc/"
-SECTION = "System Environment/Libraries"
-LICENSE = "LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=cb8aedd3bced19bd8026d96a8b6876d7"
-
-#v0.21.0
-SRCREV = "30180986a08cf71fe4af4b50251a8bb5b1ab95af"
-SRC_URI = "git://github.com/OpenSC/OpenSC \
- "
-DEPENDS = "virtual/libiconv openssl"
-
-S = "${WORKDIR}/git"
-inherit autotools pkgconfig bash-completion
-
-EXTRA_OECONF = " \
- --disable-static \
- --disable-ctapi \
- --disable-doc \
-"
-EXTRA_OEMAKE = "DESTDIR=${D}"
-
-PACKAGECONFIG ??= "pcsc"
-
-PACKAGECONFIG[openct] = "--enable-openct,--disable-openct,openct"
-PACKAGECONFIG[pcsc] = "--enable-pcsc,--disable-pcsc,pcsc-lite,pcsc-lite pcsc-lite-lib"
-
-RDEPENDS_${PN} = "readline"
-
-FILES_${PN} += "\
- ${libdir}/opensc-pkcs11.so \
- ${libdir}/onepin-opensc-pkcs11.so \
- ${libdir}/pkcs11-spy.so \
-"
-FILES_${PN}-dev += "\
- ${libdir}/pkcs11/opensc-pkcs11.so \
- ${libdir}/pkcs11/onepin-opensc-pkcs11.so \
- ${libdir}/pkcs11/pkcs11-spy.so \
-"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/opensc/opensc_0.25.1.bb b/meta-oe/recipes-support/opensc/opensc_0.25.1.bb
new file mode 100644
index 0000000000..19fb78092e
--- /dev/null
+++ b/meta-oe/recipes-support/opensc/opensc_0.25.1.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Smart card library and applications"
+DESCRIPTION = "OpenSC is a tool for accessing smart card devices. Basic\
+functionality (e.g. SELECT FILE, READ BINARY) should work on any ISO\
+7816-4 compatible smart card. Encryption and decryption using private\
+keys on the smart card is possible with PKCS\
+such as the FINEID (Finnish Electronic IDentity) card. Swedish Posten\
+eID cards have also been confirmed to work."
+
+HOMEPAGE = "https://github.com/OpenSC/OpenSC/wiki"
+SECTION = "System Environment/Libraries"
+LICENSE = "LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cb8aedd3bced19bd8026d96a8b6876d7"
+
+#v0.21.0
+SRCREV = "0a4b772d6fdab9bfaaa3123775a48a7cb6c5e7c6"
+SRC_URI = "git://github.com/OpenSC/OpenSC;branch=stable-0.25;protocol=https"
+DEPENDS = "virtual/libiconv openssl"
+
+S = "${WORKDIR}/git"
+inherit autotools pkgconfig bash-completion
+
+EXTRA_OECONF = " \
+ --disable-static \
+ --disable-ctapi \
+ --disable-doc \
+ --disable-strict \
+"
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+PACKAGECONFIG ??= "pcsc"
+
+PACKAGECONFIG[openct] = "--enable-openct,--disable-openct,openct"
+PACKAGECONFIG[pcsc] = "--enable-pcsc,--disable-pcsc,pcsc-lite,pcsc-lite pcsc-lite-lib"
+
+RDEPENDS:${PN} = "readline"
+
+FILES:${PN} += "\
+ ${libdir}/opensc-pkcs11.so \
+ ${libdir}/onepin-opensc-pkcs11.so \
+ ${libdir}/pkcs11-spy.so \
+"
+FILES:${PN}-dev += "\
+ ${libdir}/onepin-opensc-pkcs11.so \
+ ${libdir}/pkcs11/opensc-pkcs11.so \
+ ${libdir}/pkcs11/onepin-opensc-pkcs11.so \
+ ${libdir}/pkcs11/pkcs11-spy.so \
+"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb b/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb
index 8c948c5655..1c5a18e863 100644
--- a/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb
+++ b/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb
@@ -1,7 +1,7 @@
SUMMARY = "WBXML parsing and encoding library"
HOMEPAGE = "http://libwbxml.opensync.org/"
SECTION = "libs"
-LICENSE = "LGPLv2.1+"
+LICENSE = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=c1128ee5341ccd5927d8bafe4b6266e1"
DEPENDS = "expat"
@@ -19,5 +19,5 @@ EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
PACKAGES += "${PN}-tools"
-FILES_${PN}-tools = "${bindir}"
-FILES_${PN} = "${libdir}/*.so.*"
+FILES:${PN}-tools = "${bindir}"
+FILES:${PN} = "${libdir}/*.so.*"
diff --git a/meta-oe/recipes-support/p910nd/p910nd_0.97.bb b/meta-oe/recipes-support/p910nd/p910nd_0.97.bb
index 45aa0d4ac1..c6a3079ea2 100644
--- a/meta-oe/recipes-support/p910nd/p910nd_0.97.bb
+++ b/meta-oe/recipes-support/p910nd/p910nd_0.97.bb
@@ -1,22 +1,28 @@
DESCRIPTION = "A small network printer daemon for embedded situations that passes the job directly to the printer"
HOMEPAGE = "http://p910nd.sourceforge.net/"
SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3d82780e8917b360cbee7b9ec3e40734"
-PR = "r2"
-SRC_URI = "${SOURCEFORGE_MIRROR}/p910nd/p910nd-${PV}.tar.bz2 \
+# v0.97
+SRCREV = "57ebc07ad8723ea4106090536c58c7f7160743e2"
+SRC_URI = "git://github.com/kenyapcomau/p910nd;protocol=https;branch=master \
file://fix-var-lock.patch"
-SRC_URI[md5sum] = "69461a6c54dca0b13ecad5b83864b43e"
-SRC_URI[sha256sum] = "4ac980a3ae24babae6f70f0a692625ece03a4a92c357fbb10d2e368386c3c26f"
+S = "${WORKDIR}/git"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "p910nd"
+INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ."
do_compile () {
- ${CC} ${LDFLAGS} -o p910nd p910nd.c
+ ${CC} ${CFLAGS} ${LDFLAGS} -o p910nd p910nd.c
}
do_install () {
install -D -m 0755 ${S}/p910nd ${D}${sbindir}/p910nd
- install -D -m 0644 ${S}/p910nd.conf ${D}${sysconfdir}/p910nd.conf
+ install -D -m 0644 ${S}/aux/p910nd.conf ${D}${sysconfdir}/sysconfig/p910nd.conf
+ install -D -m 0644 ${S}/aux/p910nd.init ${D}${sysconfdir}/init.d/p910nd
}
diff --git a/meta-oe/recipes-support/pcp/pcp-native_6.0.5.bb b/meta-oe/recipes-support/pcp/pcp-native_6.0.5.bb
new file mode 100644
index 0000000000..2f37b099b4
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp-native_6.0.5.bb
@@ -0,0 +1,48 @@
+require pcp.inc
+inherit python3native native
+#autotools-brokensep
+DEPENDS = "python3-native python3-setuptools-native flex-native bison-native"
+
+export PCP_DIR = "${D}"
+export PCP_TMP_DIR = "${D}/tmp"
+export PCP_BIN_DIR = "${D}/usr/bin"
+
+B = "${S}"
+
+do_configure:prepend() {
+ export SED=${TMPDIR}/hosttools/sed
+ export AR=${TMPDIR}/hosttools/ar
+# export PYTHON=python3
+
+ rm -rf ${S}/include/pcp/configsz.h
+ rm -rf ${S}/include/pcp/platformsz.h
+
+}
+do_compile:prepend() {
+ sed -i -e "s,#undef HAVE_64BIT_LONG,,g" \
+ -e "s,#undef HAVE_64BIT_PTR,,g" \
+ -e "s,#undef PM_SIZEOF_SUSECONDS_T,,g" \
+ -e "s,#undef PM_SIZEOF_TIME_T,,g" \
+ ${S}/src/include/pcp/config.h.in
+
+ export AR=${TMPDIR}/hosttools/ar
+# export PYTHON=python3
+}
+
+do_compile() {
+ oe_runmake default_pcp
+}
+
+do_install () {
+ oe_runmake install \
+ PCP_ETC_DIR=${D}/${sysconfdir} \
+ PCP_SYSCONF_DIR=${D}/${sysconfdir} \
+ PCP_VAR_DIR=${D}/${localstatedir} \
+ PCP_SHARE_DIR=${D}/${datadir} \
+ PCP_BIN_DIR=${D}/${bindir} \
+ PCP_BINADM_DIR=${D}/${libexecdir}/pcp/bin \
+ PCP_LIBADM_DIR=${D}/${libdir} \
+ PCP_LIB_DIR=${D}/${libdir} \
+ PCP_MAN_DIR=${D}/${mandir} \
+ PCP_DOC_DIR=${D}/${docdir}
+}
diff --git a/meta-oe/recipes-support/pcp/pcp.inc b/meta-oe/recipes-support/pcp/pcp.inc
new file mode 100644
index 0000000000..4cafa7234b
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp.inc
@@ -0,0 +1,40 @@
+SUMMARY = "System-level performance monitoring and performance management"
+HOMEPAGE = "http://www.pcp.io"
+SECTION = "Applications/System"
+
+LICENSE = "GPL-2.0-or-later & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=37ab75b580d5aad4ada04260efa3702f \
+ "
+COMPATIBLE_HOST:libc-musl = "null"
+
+SRC_URI = "https://performancecopilot.jfrog.io/artifactory/pcp-source-release/${BP}.src.tar.gz \
+ file://0001-configure-Limit-the-header-search-to-sysroot.patch \
+ file://0001-htop-Change-dependency-order-of-header-and-sourcefil.patch \
+ file://config.linux \
+ "
+SRC_URI[sha256sum] = "dacf92ba195f1f2ea8f40bf0c455d2cd2456273a1e30dcc3ee5b5bfd099a99ee"
+
+inherit setuptools3-base pkgconfig autotools-brokensep
+
+# Specify any options you want to pass to the configure script using EXTRA_OECONF:
+CACHED_CONFIGUREVARS = "PACKAGE_DISTRIBUTION=arch"
+EXTRA_OECONF:append = "\
+ --with-dstat-symlink=yes \
+ --with-infiniband=no \
+ --with-python=no \
+ --with-perl=no \
+ --with-python3=yes \
+ --with-pmdajson=no \
+ --with-perfevent=no \
+ --with-pmdabcc=yes \
+ --with-rundir=${localstatedir}/run \
+ --with-sysconfigdir=${sysconfdir} \
+ --with-logdir=${localstatedir}/log \
+ --with-docdir=${docdir} \
+ "
+
+PACKAGECONFIG[qt5] = "--with-qt=yes --with-qt3d=yes,--with-qt=no --with-qt3d=no,qtbase qt3d"
+
+PACKAGECONFIG ?= ""
+
+PARALLEL_MAKE = ""
diff --git a/meta-oe/recipes-support/pcp/pcp/0001-Remove-unsuitble-part-for-cross-compile.patch b/meta-oe/recipes-support/pcp/pcp/0001-Remove-unsuitble-part-for-cross-compile.patch
new file mode 100644
index 0000000000..abf4aee61d
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp/0001-Remove-unsuitble-part-for-cross-compile.patch
@@ -0,0 +1,39 @@
+From db9e6a4b7a48dee62fccb662347dd638a2d286d5 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@fujitsu.com>
+Date: Thu, 2 Dec 2021 14:29:06 +0900
+Subject: [PATCH] Remove unsuitble part for cross-compile.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
+---
+ configure.ac | 6 ------
+ src/libpcp/src/GNUmakefile | 1 -
+ 2 files changed, 7 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -607,12 +607,6 @@ fi
+ which=$WHICH
+ AC_SUBST(which)
+
+-if test -z "$AR"; then
+- AC_PATH_PROGS(AR, [gcc-ar ar], /usr/bin/ar)
+-fi
+-if test ! -x "$AR"; then
+- AC_MSG_ERROR([cannot find a valid 'ar' command.])
+-fi
+ ar=$AR
+ AC_SUBST(ar)
+
+--- a/src/libpcp/src/GNUmakefile
++++ b/src/libpcp/src/GNUmakefile
+@@ -179,8 +179,6 @@ exports: exports.in mk.exports
+ # consistent in all placess.
+ #
+ check.done: $(OBJECTS)
+- ./check-statics
+- ./check-errorcodes
+ touch check.done
+
+ ifneq ($(LIBTARGET),)
diff --git a/meta-oe/recipes-support/pcp/pcp/0001-configure-Limit-the-header-search-to-sysroot.patch b/meta-oe/recipes-support/pcp/pcp/0001-configure-Limit-the-header-search-to-sysroot.patch
new file mode 100644
index 0000000000..b03c48e581
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp/0001-configure-Limit-the-header-search-to-sysroot.patch
@@ -0,0 +1,45 @@
+From 1eb68f65fd73443d862ca5f36f3b6041e2b0f13a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 10 Mar 2022 18:53:13 -0800
+Subject: [PATCH] configure: Limit the header search to sysroot
+
+Hardcoded paths in configure.ac means it starts to poke at host system
+include paths, which is least we want in a cross build, therefore prefix
+these paths with STAGING_SYSROOT
+
+Upstream-Status: Inappropriate [OE Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -907,7 +907,7 @@ AC_DEFUN([PCP_CHECK_PYTHON_HEADER],
+ [ PY_MAJOR="$1"
+ PY_MINOR="$2"
+ PY_VERSION="python$PY_MAJOR.$PY_MINOR"
+- PY_INCLUDE_DIRS="-I/usr/include/${PY_VERSION}m -I/usr/include/${PY_VERSION}"
++ PY_INCLUDE_DIRS="-I${STAGING_INCDIR}/${PY_VERSION}m -I${STAGING_INCDIR}/${PY_VERSION}"
+ saved_CFLAGS="$CFLAGS"
+ saved_CPPFLAGS="$CPPFLAGS"
+ CFLAGS="$CFLAGS $PY_INCLUDE_DIRS"
+@@ -1603,7 +1603,7 @@ AC_SUBST(qmake)
+
+ enable_qt3d=false
+ AS_IF([test "x$do_qt3d" != "xno"], [
+- if test -f /usr/include/Coin3/Inventor/Qt/SoQt.h -o -f /usr/include/Inventor/Qt/SoQt.h
++ if test -f ${STAGING_INCDIR}/Coin3/Inventor/Qt/SoQt.h -o -f ${STAGING_INCDIR}/Inventor/Qt/SoQt.h
+ then
+ enable_qt3d=$enable_qt
+ elif test x"$do_qt3d" = x"yes"
+@@ -3699,7 +3699,7 @@ AC_SUBST(enable_decompression)
+ AC_SUBST(enable_lzma)
+
+ dnl check for array sessions
+-if test -f /usr/include/sn/arsess.h
++if test -f ${STAGING_INCDIR}/sn/arsess.h
+ then
+ pcp_mpi_dirs=libpcp_mpi\ libpcp_mpiread
+ else
diff --git a/meta-oe/recipes-support/pcp/pcp/0001-htop-Change-dependency-order-of-header-and-sourcefil.patch b/meta-oe/recipes-support/pcp/pcp/0001-htop-Change-dependency-order-of-header-and-sourcefil.patch
new file mode 100644
index 0000000000..009dfe2d04
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp/0001-htop-Change-dependency-order-of-header-and-sourcefil.patch
@@ -0,0 +1,36 @@
+From c123980d6bf1bc2bf93ee0dd0d7f8fee3d4ddc96 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 5 Jul 2023 08:45:14 -0700
+Subject: [PATCH] htop: Change dependency order of header and sourcefiles
+
+Fixes build race
+| pcp/Platform.h:29:10: fatal error: DiskIOMeter.h: No such file or directory
+| 29 | #include "DiskIOMeter.h"
+| | ^~~~~~~~~~~~~~~
+| compilation terminated.
+| make[3]: *** [<builtin>: pcp-htop.o] Error 1
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/pcp/htop/GNUmakefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/pcp/htop/GNUmakefile b/src/pcp/htop/GNUmakefile
+index 6b7c0c5..5153c63 100644
+--- a/src/pcp/htop/GNUmakefile
++++ b/src/pcp/htop/GNUmakefile
+@@ -186,8 +186,8 @@ CFGMETERS = $(patsubst %,pcp/meters/%,$(METERS))
+ CFGCOLUMNS = $(patsubst %,pcp/columns/%,$(COLUMNS))
+
+ CFGXFILES = $(CFGMETERS) $(CFGCOLUMNS)
+-TOPXFILES = $(TOPCFILES) $(TOPHFILES) $(DOCFILES)
+-SUBXFILES = $(SUBCFILES) $(SUBHFILES)
++TOPXFILES = $(TOPHFILES) $(TOPCFILES) $(DOCFILES)
++SUBXFILES = $(SUBHFILES) $(SUBCFILES)
+ CFILES = $(TOPCFILES) $(SUBCFILES)
+ HFILES = $(TOPHFILES) $(SUBHFILES)
+ LDIRT = $(TOPXFILES) $(SUBXFILES) $(CFGXFILES) \
+--
+2.41.0
+
diff --git a/meta-oe/recipes-support/pcp/pcp/config.linux b/meta-oe/recipes-support/pcp/pcp/config.linux
new file mode 100644
index 0000000000..191f87acc6
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp/config.linux
@@ -0,0 +1,13 @@
+sizeof_int=4
+sizeof_long=4
+sizeof_pointer=8
+sizeof_suseconds_t=8
+sizeof_time_t=8
+bit_field_scheme=2100
+enable_python3='yes'
+enable_python3='true'
+have_python_OrderedDict="true"
+have_python=python3
+printf_p_prefix=0x
+printf_fmt_int64=I64d
+strtoint64=strtoll
diff --git a/meta-oe/recipes-support/pcp/pcp/fix_parallel_make.patch b/meta-oe/recipes-support/pcp/pcp/fix_parallel_make.patch
new file mode 100644
index 0000000000..9cb649a594
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp/fix_parallel_make.patch
@@ -0,0 +1,13 @@
+Upstream-Status: Pending
+
+--- a/qa/src/GNUlocaldefs
++++ b/qa/src/GNUlocaldefs
+@@ -728,7 +728,7 @@ scale.o: localconfig.h
+ 779246.o: libpcp.h
+ aggrstore.o: libpcp.h
+ badmmv.o: libpcp.h
+-chkacc1.o: libpcp.h
++chkacc1.o: libpcp.h localconfig.h
+ chkacc2.o: libpcp.h
+ chkacc3.o: libpcp.h
+ chkacc4.o: libpcp.h
diff --git a/meta-oe/recipes-support/pcp/pcp/pass-options-to-AR.patch b/meta-oe/recipes-support/pcp/pcp/pass-options-to-AR.patch
new file mode 100644
index 0000000000..6fa864cd21
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp/pass-options-to-AR.patch
@@ -0,0 +1,29 @@
+Do not pass cr option
+
+These options are already coming from builddefs
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/src/include/builddefs.in
++++ b/src/include/builddefs.in
+@@ -167,7 +167,7 @@ OBJECTS = $(ASFILES:.s=.o) \
+
+ #NB: don't override $(MAKE); gnumake sets it well, propagating -j etc.
+ #MAKE = @make@
+-AR = @ar@
++AR = @ar@ cqs
+ CC = @cc@
+ CXX = @cxx@
+ LD = @ld@
+--- a/src/include/buildrules
++++ b/src/include/buildrules
+@@ -93,7 +93,7 @@ $(STATICLIBTARGET) : $(SUBDIRS) $(OBJECT
+ ifeq ($(TARGET_OS), darwin)
+ libtool -static -o $(STATICLIBTARGET) $?
+ else
+- $(AR) cr $(STATICLIBTARGET) $?
++ $(AR) $(STATICLIBTARGET) $?
+ endif
+ endif
+
diff --git a/meta-oe/recipes-support/pcp/pcp_6.0.5.bb b/meta-oe/recipes-support/pcp/pcp_6.0.5.bb
new file mode 100644
index 0000000000..6a93b2ec90
--- /dev/null
+++ b/meta-oe/recipes-support/pcp/pcp_6.0.5.bb
@@ -0,0 +1,236 @@
+require pcp.inc
+#inherit perlnative
+
+# NOTE: the following prog dependencies are unknown, ignoring: gtar gzip pkgmk xmlto lzma qshape md5sum pod2man publican git makedepend qmake-qt4 xconfirm true gmake xz dblatex hdiutil rpm bzip2 which mkinstallp dtrace seinfo qmake-qt5 gawk dlltool rpmbuild dpkg makepkg qmake echo
+# NOTE: unable to map the following pkg-config dependencies: libmicrohttpd libsystemd-journal
+# (this is based on recipes that have previously been built and packaged)
+# NOTE: the following library dependencies are unknown, ignoring: nspr gen ibumad regex sasl2 pfm nss papi ibmad
+# (this is based on recipes that have previously been built and packaged)
+DEPENDS += "perl-native bison-native flex-native python3-native python3-setuptools python3 \
+ pcp-native cairo zlib ncurses readline libx11 avahi openssl"
+
+
+SRC_URI += "file://0001-Remove-unsuitble-part-for-cross-compile.patch \
+ file://pass-options-to-AR.patch \
+ file://fix_parallel_make.patch \
+ "
+
+export PCP_DIR="${RECIPE_SYSROOT_NATIVE}"
+#export PCP_RUN_DIR="${RECIPE_SYSROOT_NATIVE}"
+EXTRA_OEMAKE = "CC="${CC}" LD="${LD}""
+inherit useradd systemd features_check python3targetconfig
+
+# Needs libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SYSTEMD_AUTO_ENABLE:${PN} = "enable"
+SYSTEMD_SERVICE:${PN} = "\
+ pmie_farm_check.service \
+ pmie_farm.service \
+ pmfind.service \
+ pmlogger_farm_check.service \
+ pmcd.service \
+ pmie.service \
+ pmlogger_daily.service \
+ pmlogger.service \
+ pmlogger_farm.service \
+ pmie_check.service \
+ pmproxy.service \
+ pmlogger_check.service \
+ pmie_daily.service"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --home ${localstatedir}/lib/pcp --no-create-home \
+ --user-group pcp"
+
+USERADD_PACKAGES += "${PN}-testsuite"
+USERADD_PARAM:${PN}-testsuite = "--system --home ${localstatedir}/lib/pcp/testsuite --no-create-home \
+ --user-group pcpqa"
+
+RDEPENDS:${PN} += "perl"
+RDEPENDS:${PN}-testsuite += "${PN} bash perl"
+RDEPENDS:python3-${PN} += "${PN} python3"
+
+do_configure:prepend () {
+ cp ${WORKDIR}/config.linux ${B}
+ rm -rf ${S}/include/pcp/configsz.h
+ rm -rf ${S}/include/pcp/platformsz.h
+ export SED=${TMPDIR}/hosttools/sed
+ export PYTHON=python3
+}
+
+do_compile:prepend() {
+ sed -i -e "s,#undef HAVE_64BIT_LONG,,g" \
+ -e "s,#undef HAVE_64BIT_PTR,,g" \
+ -e "s,#undef PM_SIZEOF_SUSECONDS_T,,g" \
+ -e "s,#undef PM_SIZEOF_TIME_T,,g" \
+ ${S}/src/include/pcp/config.h.in
+ sed -i -e "s,HAVE_PYTHON_ORDEREDDICT = false,HAVE_PYTHON_ORDEREDDICT = true,g" \
+ ${S}/src/include/builddefs
+ sed -i -e "s,TOPDIR)/python3-pcp.list,TOPDIR)/python3-pcp.list --install-lib=${PYTHON_SITEPACKAGES_DIR},g" ${S}/src/python/GNUmakefile
+ export PYTHON=python3
+ #export PYTHON3=${STAGING_BINDIR_NATIVE}/python3-native/python3
+}
+
+do_compile() {
+ oe_runmake default_pcp
+}
+
+do_install () {
+ export NO_CHOWN=true
+ oe_runmake install DIST_ROOT=${D}\
+ install_pcp
+
+ rm -rf ${D}${localstatedir}/log
+ rm -rf ${D}${localstatedir}/lib/pcp/pmcd
+ rm -rf ${D}${localstatedir}/lib/pcp/tmp
+ rm -rf ${D}${localstatedir}/run
+ mv ${D}${docdir}/C* ${D}${docdir}/pcp-doc/
+ mv ${D}${docdir}/I* ${D}${docdir}/pcp-doc/
+ mv ${D}${docdir}/R* ${D}${docdir}/pcp-doc/
+ mv ${D}${docdir}/V* ${D}${docdir}/pcp-doc/
+ sed -i "s#PCP_AWK_PROG=.*#PCP_AWK_PROG=awk#" ${D}/${sysconfdir}/pcp.conf
+ sed -i "s#PCP_SORT_PROG=.*#PCP_SORT_PROG=sort#" ${D}/${sysconfdir}/pcp.conf
+ sed -i "s#PCP_ECHO_PROG=.*#PCP_ECHO_PROG=echo#" ${D}/${sysconfdir}/pcp.conf
+ sed -i "s#PCP_WHICH_PROG=.*#PCP_WHICH_PROG=which#" ${D}/${sysconfdir}/pcp.conf
+}
+
+PACKAGES += " ${PN}-export-zabbix-agent ${PN}-testsuite \
+ libpcp-gui2 libpcp-gui2-dev \
+ libpcp-import1 libpcp-archive1 \
+ libpcp-mmv1 libpcp-mmv1-dev \
+ libpcp-pmda3 libpcp-pmda3-dev \
+ libpcp-trace2 libpcp-trace2-dev \
+ libpcp-web1 libpcp-web1-dev \
+ libpcp3 libpcp3-dev python3-${PN}\
+"
+FILES:libpcp-gui2 = "${libdir}/libpcp_gui.so.2 \
+"
+FILES:libpcp-archive1 = "${libdir}/libpcp_archive.so.1 \
+"
+FILES:libpcp-gui2-dev = " \
+ ${libdir}/libpcp_gui.so \
+ ${libdir}/libpcp_gui.a \
+ ${includedir}/pmafm.h \
+ ${includedir}/pmtime.h \
+"
+FILES:libpcp-mmv1 = " \
+ ${libdir}/libpcp_mmv.so.1 \
+"
+FILES:libpcp-mmv1-dev = " \
+ ${libdir}/libpcp_mmv.a \
+ ${libdir}/libpcp_mmv.so \
+ ${libdir}/libpcp_mmv.so \
+ ${includedir}/mmv_stats.h \
+ ${includedir}/mmv_dev.h \
+ ${datadir}/man/man3/mmv_* \
+ ${datadir}/man/man5/mmv.5.gz \
+"
+FILES:libpcp-import1 = " \
+ ${libdir}/libpcp_import.so.1 \
+"
+FILES:libpcp-pmda3 = " \
+ ${libdir}/libpcp_pmda.so.3 \
+"
+FILES:libpcp-pmda3-dev = " \
+ ${includedir}/pmda.h \
+ ${includedir}/pmdaroot.h \
+ ${libdir}/libpcp_pmda.a \
+ ${libdir}/libpcp_pmda.so \
+ ${libdir}/pkgconfig/libpcp_pmda.pc \
+ ${datadir}/man/man3/PMDA.3.gz \
+ ${datadir}/man/man3/pmda* \
+"
+FILES:libpcp-trace2 = " \
+ ${libdir}/libpcp_trace.so.2 \
+"
+FILES:libpcp-trace2-dev = " \
+ ${includedir}/trace.h \
+ ${includedir}/trace_dev.h \
+ ${libdir}/libpcp_trace.a \
+ ${libdir}/libpcp_trace.so \
+ ${datadir}/man/man3/pmtrace* \
+"
+FILES:libpcp-web1 = " \
+ ${libdir}/libpcp_web.so.1 \
+"
+FILES:libpcp-web1-dev = " \
+ ${includedir}/pmhttp.h \
+ ${includedir}/pmjson.h \
+ ${libdir}/libpcp_web.a \
+ ${libdir}/libpcp_web.so \
+ ${datadir}/man/man3/pmhttp* \
+ ${datadir}/man/man3/pmjson* \
+"
+FILES:libpcp3 = " \
+ ${libdir}/libpcp.so.3 \
+"
+
+FILES:${PN} = " \
+ ${sysconfdir}/pcp \
+ ${sysconfdir}/cron.d \
+ ${sysconfdir}/init.d \
+ ${libexecdir} \
+ ${bindir} \
+ ${datadir}/bash-completion \
+ ${datadir}/pcp-gui \
+ ${datadir}/zsh \
+ ${systemd_system_unitdir}/ \
+ ${libdir}/pcp/ \
+ ${libdir}/sysusers.d/pcp.conf \
+ ${datadir}/pcp \
+ ${libdir}/*.sh \
+ ${datadir}/man \
+ ${libdir}/rc-proc.sh.minimal \
+ ${sysconfdir}/p* \
+ ${sysconfdir}/s* \
+ ${localstatedir}/lib/pcp/config \
+ ${localstatedir}/lib/pcp/pmdas/ \
+ ${localstatedir}/lib/pcp/pmns \
+ ${libdir}/libpcp_fault.so.3 \
+"
+
+FILES:${PN}-export-zabbix-agent += " \
+ ${libdir}/zabbix \
+ ${sysconfdir}/zabbix \
+ ${mandir}/man3/zbxpcp.3.gz \
+ ${libdir}/zabbix \
+"
+FILES:${PN}-testsuite = "${localstatedir}/lib/pcp/testsuite/ ${libdir}/sysusers.d/pcp-testsuite.conf"
+FILES:python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}"
+FILES:${PN}-dev += " \
+ ${includedir}/pcp \
+ ${libdir}/libpcp.a \
+ ${libdir}/libpcp.so \
+ ${localstatedir}/lib/pcp/pmdas/*/*.so \
+ ${libexecdir}/pcp/bin/install-sh \
+ ${libdir}/pkgconfig/libpcp.pc \
+ ${libdir}/zabbix/modules/*.so \
+ ${datadir}/man/man3/LOGIMPORT.3.gz \
+ ${datadir}/man/man3/P* \
+ ${datadir}/man/man3/Q* \
+ ${datadir}/man/man3/__pm* \
+ ${datadir}/man/man3/pmA* \
+ ${datadir}/man/man3/pmC* \
+ ${datadir}/man/man3/pmD* \
+ ${datadir}/man/man3/pmE* \
+ ${datadir}/man/man3/pmF* \
+ ${datadir}/man/man3/pmG* \
+ ${datadir}/man/man3/pmH* \
+ ${datadir}/man/man3/pmI* \
+ ${datadir}/man/man3/pmL* \
+ ${datadir}/man/man3/pmM* \
+ ${datadir}/man/man3/pmN* \
+ ${datadir}/man/man3/pmO* \
+ ${datadir}/man/man3/pmP* \
+ ${datadir}/man/man3/pmR* \
+ ${datadir}/man/man3/pmS* \
+ ${datadir}/man/man3/pmT* \
+ ${datadir}/man/man3/pmU* \
+ ${datadir}/man/man3/pmW* \
+ ${datadir}/man/man3/pmf* \
+ ${datadir}/man/man3/pmg* \
+ ${datadir}/man/man3/pmi* \
+ ${datadir}/man/man3/pms* \
+ ${datadir}/man/man3/pmt* \
+"
diff --git a/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch b/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch
deleted file mode 100644
index 3e7b0adda6..0000000000
--- a/meta-oe/recipes-support/pcsc-lite/pcsc-lite/0001-pcsc-spy-use-python3-only.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 75dd98876951d86890ceb30be521de57fd31e3c7 Mon Sep 17 00:00:00 2001
-From: Andrey Zhizhikin <andrey.z@gmail.com>
-Date: Mon, 27 Jan 2020 13:27:12 +0000
-Subject: [PATCH] pcsc-spy: use python3 only
-
-Python2 has been EOL and most distributions would not provide any
-support for it anymore. Since Python3 is available in all distributions
-now, switch pcsc-spy to use it exclusively.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
----
- src/spy/pcsc-spy | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/src/spy/pcsc-spy b/src/spy/pcsc-spy
-index 85222c6..965138e 100755
---- a/src/spy/pcsc-spy
-+++ b/src/spy/pcsc-spy
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#!/usr/bin/env python3
-
- """
- # Display PC/SC functions arguments
-@@ -22,12 +22,7 @@ from __future__ import print_function
- import os
- import signal
- import time
--try:
-- # for Python3
-- from queue import Queue
--except ImportError:
-- # for Python2
-- from Queue import Queue
-+from queue import Queue
- from threading import Thread
- from operator import attrgetter
-
---
-2.17.1
-
diff --git a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.0.bb b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.0.bb
deleted file mode 100644
index c1b793960f..0000000000
--- a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.9.0.bb
+++ /dev/null
@@ -1,59 +0,0 @@
-SUMMARY = "PC/SC Lite smart card framework and applications"
-HOMEPAGE = "http://pcsclite.alioth.debian.org/"
-LICENSE = "BSD & GPLv3+"
-LICENSE_${PN} = "BSD"
-LICENSE_${PN}-lib = "BSD"
-LICENSE_${PN}-doc = "BSD"
-LICENSE_${PN}-dev = "BSD"
-LICENSE_${PN}-dbg = "BSD & GPLv3+"
-LICENSE_${PN}-spy = "GPLv3+"
-LICENSE_${PN}-spy-dev = "GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=628c01ba985ecfa21677f5ee2d5202f6"
-
-SRC_URI = "\
- https://pcsclite.apdu.fr/files/${BP}.tar.bz2 \
- file://0001-pcsc-spy-use-python3-only.patch \
-"
-SRC_URI[md5sum] = "eb595f2d398ff229207a6ec09fbc4e98"
-SRC_URI[sha256sum] = "0148d403137124552c5d0f10f8cdab2cbb8dfc7c6ce75e018faf667be34f2ef9"
-
-inherit autotools systemd pkgconfig perlnative
-
-EXTRA_OECONF = " \
- --disable-libusb \
- --enable-usbdropdir=${libdir}/pcsc/drivers \
-"
-
-S = "${WORKDIR}/pcsc-lite-${PV}"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} udev"
-PACKAGECONFIG_class-native ??= ""
-
-PACKAGECONFIG[systemd] = ",--disable-libsystemd,systemd,"
-PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev"
-
-PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
-
-RRECOMMENDS_${PN} = "ccid"
-RRECOMMENDS_${PN}_class-native = ""
-RPROVIDES_${PN}_class-native += "pcsc-lite-lib-native"
-
-FILES_${PN} = "${sbindir}/pcscd"
-FILES_${PN}-lib = "${libdir}/libpcsclite*${SOLIBS}"
-FILES_${PN}-dev = "${includedir} \
- ${libdir}/pkgconfig \
- ${libdir}/libpcsclite.la \
- ${libdir}/libpcsclite.so"
-
-FILES_${PN}-spy = "${bindir}/pcsc-spy \
- ${libdir}/libpcscspy*${SOLIBS}"
-FILES_${PN}-spy-dev = "${libdir}/libpcscspy.la \
- ${libdir}/libpcscspy.so "
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "pcscd.socket"
-RDEPENDS_${PN}-spy +="python3"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_2.0.3.bb b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_2.0.3.bb
new file mode 100644
index 0000000000..d5a560a6a0
--- /dev/null
+++ b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_2.0.3.bb
@@ -0,0 +1,58 @@
+SUMMARY = "PC/SC Lite smart card framework and applications"
+HOMEPAGE = "https://pcsclite.apdu.fr/"
+LICENSE = "BSD-3-Clause & GPL-3.0-or-later"
+LICENSE:${PN} = "BSD-3-Clause"
+LICENSE:${PN}-lib = "BSD-3-Clause"
+LICENSE:${PN}-doc = "BSD-3-Clause"
+LICENSE:${PN}-dev = "BSD-3-Clause"
+LICENSE:${PN}-dbg = "BSD-3-Clause & GPL-3.0-or-later"
+LICENSE:${PN}-spy = "GPL-3.0-or-later"
+LICENSE:${PN}-spy-dev = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=628c01ba985ecfa21677f5ee2d5202f6"
+DEPENDS = "autoconf-archive-native flex-native"
+
+SRC_URI = "https://pcsclite.apdu.fr/files/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "f42ee9efa489e9ff5d328baefa26f9c515be65021856e78d99ad1f0ead9ec85d"
+
+inherit autotools systemd pkgconfig perlnative
+
+EXTRA_OECONF = " \
+ --disable-libusb \
+ --enable-usbdropdir=${libdir}/pcsc/drivers \
+"
+
+S = "${WORKDIR}/pcsc-lite-${PV}"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd polkit', d)} udev"
+PACKAGECONFIG:class-native ??= ""
+
+PACKAGECONFIG[systemd] = ",--disable-libsystemd,systemd,"
+PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev"
+PACKAGECONFIG[polkit] = ",--disable-polkit,polkit"
+
+PACKAGES = "${PN} ${PN}-dbg ${PN}-dev ${PN}-lib ${PN}-doc ${PN}-spy ${PN}-spy-dev"
+
+RRECOMMENDS:${PN} = "ccid"
+RRECOMMENDS:${PN}:class-native = ""
+RPROVIDES:${PN}:class-native += "pcsc-lite-lib-native"
+
+FILES:${PN} = "${sbindir}/pcscd \
+ ${datadir}/polkit-1"
+FILES:${PN}-lib = "${libdir}/libpcsclite*${SOLIBS}"
+FILES:${PN}-dev = "${includedir} \
+ ${libdir}/pkgconfig \
+ ${libdir}/libpcsclite.la \
+ ${libdir}/libpcsclite.so"
+
+FILES:${PN}-spy = "${bindir}/pcsc-spy \
+ ${libdir}/libpcscspy*${SOLIBS}"
+FILES:${PN}-spy-dev = "${libdir}/libpcscspy.la \
+ ${libdir}/libpcscspy.so "
+
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "pcscd.socket"
+RDEPENDS:${PN}-spy += "python3-core"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.5.7.bb b/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.5.7.bb
deleted file mode 100644
index bc82e49ead..0000000000
--- a/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.5.7.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Some tools to be used with smart cards and PC/SC"
-HOMEPAGE = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "git://github.com/LudovicRousseau/pcsc-tools;protocol=https"
-
-SRCREV = "34ac207adbba0d1a951b314c1676610a1d0bba01"
-
-inherit autotools pkgconfig
-
-S = "${WORKDIR}/git"
-
-DEPENDS = "pcsc-lite"
-
-FILES_${PN} += "${datadir}/pcsc/smartcard_list.txt"
diff --git a/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.1.bb b/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.1.bb
new file mode 100644
index 0000000000..97a94ec973
--- /dev/null
+++ b/meta-oe/recipes-support/pcsc-tools/pcsc-tools_1.7.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Some tools to be used with smart cards and PC/SC"
+HOMEPAGE = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "git://github.com/LudovicRousseau/pcsc-tools;protocol=https;branch=master"
+
+SRCREV = "53834cd33155ae1f0332102b1baca6ce63660fc5"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "pcsc-lite autoconf-archive-native"
+
+RDEPENDS:${PN} += " \
+ ${@bb.utils.contains('DISTRO_FEATURES','systemd','pcsc-lite-systemd', 'pcsc-lite', d)} \
+ perl \
+ perl-module-getopt-std \
+ perl-module-file-stat \
+ libpcsc-perl \
+"
+
+FILES:${PN} += "${datadir}/pcsc/smartcard_list.txt \
+ ${datadir}/pcsc/gscriptor.png"
diff --git a/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch b/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch
deleted file mode 100644
index 5b344b9e83..0000000000
--- a/meta-oe/recipes-support/picocom/picocom/0001-Fix-building-with-musl.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-From 9664809da36bd7bada3e44f50cfc042539fb61ee Mon Sep 17 00:00:00 2001
-From: Paul Eggleton <paul.eggleton@linux.intel.com>
-Date: Sun, 14 Jul 2019 19:13:21 -0700
-Subject: [PATCH] Fix building with musl
-
-Upstream-status: Pending
-
-Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
----
- termios2.c | 27 +++++++++++++++++++++++++++
- termios2.h | 5 +++++
- 2 files changed, 32 insertions(+)
-
-diff --git a/termios2.c b/termios2.c
-index 97c3be0..88ff6fc 100644
---- a/termios2.c
-+++ b/termios2.c
-@@ -37,6 +37,7 @@
- #include <errno.h>
- #include <termios.h>
- #include <sys/ioctl.h>
-+#include <asm/ioctls.h>
-
- /* Contains the definition of the termios2 structure and some related
- constants that we should normally include from system
-@@ -53,6 +54,10 @@
- */
- #define IBAUD0 020000000000
-
-+#if !defined(__GLIBC__)
-+#define __MAX_BAUD B4000000
-+#endif
-+
- int
- tc2setattr(int fd, int optional_actions, const struct termios *tios)
- {
-@@ -79,8 +84,13 @@ tc2setattr(int fd, int optional_actions, const struct termios *tios)
- t2.c_cflag = tios->c_cflag;
- t2.c_lflag = tios->c_lflag;
- t2.c_line = tios->c_line;
-+#if !defined(__GLIBC__)
-+ t2.c_ispeed = tios->__c_ispeed;
-+ t2.c_ospeed = tios->__c_ospeed;
-+#else
- t2.c_ispeed = tios->c_ispeed;
- t2.c_ospeed = tios->c_ospeed;
-+#endif
- memcpy(&t2.c_cc[0], &tios->c_cc[0], K_NCCS * sizeof (cc_t));
-
- return ioctl(fd, cmd, &t2);
-@@ -101,8 +111,13 @@ tc2getattr(int fd, struct termios *tios)
- tios->c_cflag = t2.c_cflag;
- tios->c_lflag = t2.c_lflag;
- tios->c_line = t2.c_line;
-+#if !defined(__GLIBC__)
-+ tios->__c_ispeed = t2.c_ispeed;
-+ tios->__c_ospeed = t2.c_ospeed;
-+#else
- tios->c_ispeed = t2.c_ispeed;
- tios->c_ospeed = t2.c_ospeed;
-+#endif
- memcpy(&tios->c_cc[0], &t2.c_cc[0], K_NCCS * sizeof (cc_t));
-
- for (i = K_NCCS; i < NCCS; i++)
-@@ -131,7 +146,11 @@ cf2setispeed(struct termios *tios, speed_t speed)
- errno = EINVAL;
- return -1;
- }
-+#if !defined(__GLIBC__)
-+ tios->__c_ispeed = speed;
-+#else
- tios->c_ispeed = speed;
-+#endif
- tios->c_cflag &= ~((CBAUD | CBAUDEX) << IBSHIFT);
- tios->c_cflag |= (speed << IBSHIFT);
-
-@@ -156,7 +175,11 @@ cf2setospeed_custom(struct termios *tios, int speed)
- }
- tios->c_cflag &= ~(CBAUD | CBAUDEX);
- tios->c_cflag |= BOTHER;
-+#if !defined(__GLIBC__)
-+ tios->__c_ospeed = speed;
-+#else
- tios->c_ospeed = speed;
-+#endif
-
- return 0;
- }
-@@ -177,7 +200,11 @@ cf2setispeed_custom(struct termios *tios, int speed)
- } else {
- tios->c_cflag &= ~((CBAUD | CBAUDEX) << IBSHIFT);
- tios->c_cflag |= (BOTHER << IBSHIFT);
-+#if !defined(__GLIBC__)
-+ tios->__c_ispeed = speed;
-+#else
- tios->c_ispeed = speed;
-+#endif
- }
-
- return 0;
-diff --git a/termios2.h b/termios2.h
-index e13b0e3..63dd0ce 100644
---- a/termios2.h
-+++ b/termios2.h
-@@ -37,8 +37,13 @@
- /* And define these new ones */
- #define cfsetospeed_custom cf2setospeed_custom
- #define cfsetispeed_custom cf2setispeed_custom
-+#if defined(__linux__) && !defined(__GLIBC__)
-+#define cfgetospeed_custom(tiop) ((tiop)->__c_ospeed)
-+#define cfgetispeed_custom(tiop) ((tiop)->__c_ispeed)
-+#else
- #define cfgetospeed_custom(tiop) ((tiop)->c_ospeed)
- #define cfgetispeed_custom(tiop) ((tiop)->c_ispeed)
-+#endif
-
- /* Replacements for the standard tcsetattr(3), tcgetattr(3)
- * functions. Same user interface, but these use the new termios2
diff --git a/meta-oe/recipes-support/picocom/picocom_git.bb b/meta-oe/recipes-support/picocom/picocom_git.bb
index 3d26b9364b..cc0d88faca 100644
--- a/meta-oe/recipes-support/picocom/picocom_git.bb
+++ b/meta-oe/recipes-support/picocom/picocom_git.bb
@@ -1,16 +1,15 @@
SUMMARY = "Lightweight and minimal dumb-terminal emulation program"
SECTION = "console/utils"
-LICENSE = "GPLv2+"
-HOMEPAGE = "https://github.com/npat-efault/picocom"
+LICENSE = "GPL-2.0-or-later"
+HOMEPAGE = "https://gitlab.com/wsakernel/picocom"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3000e4830620e310fe65c0eb69df9e8a"
-BASEPV = "3.1"
-PV = "${BASEPV}+git${SRCPV}"
+BASEPV = "2023-04"
+PV = "${BASEPV}+git"
-SRCREV = "90385aabe2b51f39fa130627d46b377569f82d4a"
+SRCREV = "12537df0314767d5af35bddddbbca3694e6a0342"
-SRC_URI = "git://github.com/npat-efault/picocom \
- file://0001-Fix-building-with-musl.patch \
+SRC_URI = "git://gitlab.com/wsakernel/picocom;branch=master;protocol=https \
"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb b/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb
index 3a437659e7..ad6a7501c5 100644
--- a/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb
+++ b/meta-oe/recipes-support/pidgin/funyahoo-plusplus_git.bb
@@ -1,13 +1,13 @@
SUMMARY = "Protocol plugin for New Yahoo (2016) for Adium, Pidgin, Miranda and Telepathy IM Framework"
SECTION = "webos/services"
-LICENSE = "GPLv3.0"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
DEPENDS = "pidgin json-glib glib-2.0"
inherit pkgconfig
-SRC_URI = "git://github.com/EionRobb/funyahoo-plusplus;branch=master;protocol=git"
+SRC_URI = "git://github.com/EionRobb/funyahoo-plusplus;branch=master;protocol=https"
SRCREV = "fbbd9c591100aa00a0487738ec7b6acd3d924b3f"
S = "${WORKDIR}/git"
@@ -20,6 +20,6 @@ do_install() {
oe_runmake DESTDIR="${D}" install;
}
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir} \
"
diff --git a/meta-oe/recipes-support/pidgin/icyque_git.bb b/meta-oe/recipes-support/pidgin/icyque_git.bb
index 0f32dc3a39..ed58c4a76f 100644
--- a/meta-oe/recipes-support/pidgin/icyque_git.bb
+++ b/meta-oe/recipes-support/pidgin/icyque_git.bb
@@ -1,15 +1,15 @@
SUMMARY = "WIM Protocol plugin for ICQ for Adium, Pidgin, Miranda and Telepathy IM Framework"
SECTION = "webos/services"
-LICENSE = "GPLv3.0"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
DEPENDS = "pidgin json-glib"
-PV = "0.1+gitr${SRCPV}"
+PV = "0.1+git"
inherit pkgconfig
-SRC_URI = "git://github.com/EionRobb/icyque"
+SRC_URI = "git://github.com/EionRobb/icyque;branch=master;protocol=https"
SRCREV = "513fc162d5d1a201c2b044e2b42941436d1069d5"
S = "${WORKDIR}/git"
@@ -22,6 +22,6 @@ do_install() {
oe_runmake DESTDIR="${D}" install;
}
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir} \
"
diff --git a/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb b/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
index 67d8cc87ce..d17a623063 100644
--- a/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
+++ b/meta-oe/recipes-support/pidgin/libgnt_2.14.1.bb
@@ -1,11 +1,11 @@
SUMMARY = "GNT: The GLib Ncurses Toolkit"
SECTION = "libs"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=c9a1abacd0166f595a9fbe6afb1f0d5e"
DEPENDS = "glib-2.0 ncurses libxml2 glib-2.0-native"
-inherit meson
+inherit meson pkgconfig
# SRCREV = "0a44b1d01c41"
# SRC_URI = "hg://keep.imfreedom.org/${BPN};module=${BPN}
@@ -17,4 +17,4 @@ SRC_URI[sha256sum] = "5ec3e68e18f956e9998d79088b299fa3bca689bcc95c86001bc5da17c1
EXTRA_OEMESON = "-Dintrospection=false -Ddoc=false"
-FILES_${PN} += "${libdir}/gnt/s.so ${libdir}/gnt/irssi.so"
+FILES:${PN} += "${libdir}/gnt/s.so ${libdir}/gnt/irssi.so"
diff --git a/meta-oe/recipes-support/pidgin/libotr/0001-tests-Include-missing-sys-socket.h-header.patch b/meta-oe/recipes-support/pidgin/libotr/0001-tests-Include-missing-sys-socket.h-header.patch
new file mode 100644
index 0000000000..5b2e14b7b9
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/libotr/0001-tests-Include-missing-sys-socket.h-header.patch
@@ -0,0 +1,31 @@
+From aa2362e50d54fce8464d85766f5b230bf453c1f0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 8 Apr 2022 20:15:03 -0700
+Subject: [PATCH] tests: Include missing sys/socket.h header
+
+Helps define
+| ../../../../libotr-4.1.1/tests/regression/client/client.c:979:21: error: use of undeclared identifier 'PF_UNIX'
+| ../../../../libotr-4.1.1/tests/regression/client/client.c:979:30: error: use of undeclared identifier 'SOCK_STREAM'
+| ../../../../libotr-4.1.1/tests/regression/client/client.c:986:20: error: use of undeclared identifier 'AF_UNIX'
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/regression/client/client.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/regression/client/client.c b/tests/regression/client/client.c
+index e72b661..e0b3453 100644
+--- a/tests/regression/client/client.c
++++ b/tests/regression/client/client.c
+@@ -26,6 +26,7 @@
+ #include <stdlib.h>
+ #include <syscall.h>
+ #include <sys/epoll.h>
++#include <sys/socket.h>
+ #include <sys/types.h>
+ #include <sys/un.h>
+ #include <unistd.h>
+--
+2.35.1
+
diff --git a/meta-oe/recipes-support/pidgin/libotr_4.1.1.bb b/meta-oe/recipes-support/pidgin/libotr_4.1.1.bb
index c701244219..115a6968eb 100644
--- a/meta-oe/recipes-support/pidgin/libotr_4.1.1.bb
+++ b/meta-oe/recipes-support/pidgin/libotr_4.1.1.bb
@@ -1,12 +1,13 @@
SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging"
HOMEPAGE = "http://www.cypherpunks.ca/otr/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
DEPENDS = "libgcrypt libgpg-error"
SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \
file://fix_qa-issue_include.patch \
file://sepbuild.patch \
+ file://0001-tests-Include-missing-sys-socket.h-header.patch \
"
SRC_URI[md5sum] = "dac5a8778a35f674c046ddf5d97e4d81"
diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb
index 04133c1b3d..326c5bfc57 100644
--- a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb
+++ b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.2.bb
@@ -1,6 +1,6 @@
SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging"
HOMEPAGE = "https://otr.cypherpunks.ca/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
DEPENDS = "libgcrypt libotr pidgin gtk+ intltool-native glib-2.0 glib-2.0-native"
REQUIRED_DISTRO_FEATURES = "x11"
@@ -10,6 +10,6 @@ SRC_URI = "https://otr.cypherpunks.ca/${BP}.tar.gz \
SRC_URI[md5sum] = "7ef14e1334a4bc80e5d530f9a3cfc626"
SRC_URI[sha256sum] = "f4b59eef4a94b1d29dbe0c106dd00cdc630e47f18619fc754e5afbf5724ebac4"
-FILES_${PN} = "${libdir}/pidgin/*"
+FILES:${PN} = "${libdir}/pidgin/*"
inherit autotools pkgconfig features_check
diff --git a/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch b/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch
new file mode 100644
index 0000000000..ceb48d21fc
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/pidgin-sipe/0001-Migrate-to-use-g_memdup2.patch
@@ -0,0 +1,192 @@
+From 51c95a23bff3a024dc19e3127ca751e1458be0f0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 5 Apr 2021 11:36:50 -0700
+Subject: [PATCH] Migrate to use g_memdup2
+
+g_memdup has been deprecated for long and latest glib-2.0 2.68+ has
+turned it int an error to use old function.
+
+The fall-back to g_memdup isn't needed because pidgin provides g_memdup2
+in pidgin-sipe/1.25.0-r0/recipe-sysroot/usr/include/libpurple/glibcompat.h
+based on glib-2.0 version:
+ /* Backport the static inline version of g_memdup2 if we don't have g_memdup2.
+ * see https://mail.gnome.org/archives/desktop-devel-list/2021-February/msg00000.html
+ * for more information.
+ */
+ #if !GLIB_CHECK_VERSION(2, 67, 3)
+ static inline gpointer
+ g_memdup2(gconstpointer mem, gsize byte_size) {
+ gpointer new_mem = NULL;
+
+ if(mem && byte_size != 0) {
+ new_mem = g_malloc (byte_size);
+ memcpy (new_mem, mem, byte_size);
+ }
+
+ return new_mem;
+ }
+ #endif /* !GLIB_CHECK_VERSION(2, 67, 3) */
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/api/sipe-common.h | 3 +++
+ src/core/sip-sec-gssapi.c | 4 ++--
+ src/core/sip-sec-ntlm.c | 12 ++++++------
+ src/core/sip-sec-tls-dsk.c | 4 ++--
+ src/core/sipe-media.c | 2 +-
+ src/core/sipe-tls-tester.c | 2 +-
+ src/core/sipe-tls.c | 4 ++--
+ src/telepathy/telepathy-protocol.c | 2 +-
+ 8 files changed, 18 insertions(+), 15 deletions(-)
+
+diff --git a/src/api/sipe-common.h b/src/api/sipe-common.h
+index c964f15..cab81e0 100644
+--- a/src/api/sipe-common.h
++++ b/src/api/sipe-common.h
+@@ -51,3 +51,6 @@
+ #ifdef _MSC_VER
+ typedef long ssize_t;
+ #endif
++
++// for g_memdup2
++#include <libpurple/glibcompat.h>
+diff --git a/src/core/sip-sec-gssapi.c b/src/core/sip-sec-gssapi.c
+index 873080f..4c63868 100644
+--- a/src/core/sip-sec-gssapi.c
++++ b/src/core/sip-sec-gssapi.c
+@@ -602,7 +602,7 @@ sip_sec_init_sec_context__gssapi(SipSecContext context,
+
+ out_buff->length = output_token.length;
+ if (out_buff->length)
+- out_buff->value = g_memdup(output_token.value, output_token.length);
++ out_buff->value = g_memdup2(output_token.value, output_token.length);
+ else
+ /* Special case: empty token */
+ out_buff->value = (guint8 *) g_strdup("");
+@@ -653,7 +653,7 @@ sip_sec_make_signature__gssapi(SipSecContext context,
+ return FALSE;
+ } else {
+ signature->length = output_token.length;
+- signature->value = g_memdup(output_token.value,
++ signature->value = g_memdup2(output_token.value,
+ output_token.length);
+ gss_release_buffer(&minor, &output_token);
+ return TRUE;
+diff --git a/src/core/sip-sec-ntlm.c b/src/core/sip-sec-ntlm.c
+index 2e2354f..1fa4daa 100644
+--- a/src/core/sip-sec-ntlm.c
++++ b/src/core/sip-sec-ntlm.c
+@@ -951,7 +951,7 @@ sip_sec_ntlm_parse_challenge(SipSecBuffer in_buff,
+
+ /* server challenge (nonce) */
+ if (server_challenge) {
+- *server_challenge = g_memdup(cmsg->nonce, 8);
++ *server_challenge = g_memdup2(cmsg->nonce, 8);
+ }
+
+ /* flags */
+@@ -984,7 +984,7 @@ sip_sec_ntlm_parse_challenge(SipSecBuffer in_buff,
+ *target_info_len = len;
+ }
+ if (target_info) {
+- *target_info = g_memdup(content, len);
++ *target_info = g_memdup2(content, len);
+ }
+ }
+ }
+@@ -1117,13 +1117,13 @@ sip_sec_ntlm_gen_authenticate(guchar **client_sign_key,
+ Set ServerSigningKey to SIGNKEY(ExportedSessionKey, "Server")
+ */
+ SIGNKEY(exported_session_key, TRUE, key);
+- *client_sign_key = g_memdup(key, 16);
++ *client_sign_key = g_memdup2(key, 16);
+ SIGNKEY(exported_session_key, FALSE, key);
+- *server_sign_key = g_memdup(key, 16);
++ *server_sign_key = g_memdup2(key, 16);
+ SEALKEY(neg_flags, exported_session_key, TRUE, key);
+- *client_seal_key = g_memdup(key, 16);
++ *client_seal_key = g_memdup2(key, 16);
+ SEALKEY(neg_flags, exported_session_key, FALSE, key);
+- *server_seal_key = g_memdup(key, 16);
++ *server_seal_key = g_memdup2(key, 16);
+ }
+
+ /* @TODO: */
+diff --git a/src/core/sip-sec-tls-dsk.c b/src/core/sip-sec-tls-dsk.c
+index 70433ea..2d3f2db 100644
+--- a/src/core/sip-sec-tls-dsk.c
++++ b/src/core/sip-sec-tls-dsk.c
+@@ -88,9 +88,9 @@ sip_sec_init_sec_context__tls_dsk(SipSecContext context,
+ /* copy key pair */
+ ctx->algorithm = state->algorithm;
+ ctx->key_length = state->key_length;
+- ctx->client_key = g_memdup(state->client_key,
++ ctx->client_key = g_memdup2(state->client_key,
+ state->key_length);
+- ctx->server_key = g_memdup(state->server_key,
++ ctx->server_key = g_memdup2(state->server_key,
+ state->key_length);
+
+ /* extract certicate expiration time */
+diff --git a/src/core/sipe-media.c b/src/core/sipe-media.c
+index e9c4b8a..936e31c 100644
+--- a/src/core/sipe-media.c
++++ b/src/core/sipe-media.c
+@@ -578,7 +578,7 @@ media_stream_to_sdpmedia(struct sipe_media_call_private *call_private,
+ // Set our key if encryption is enabled.
+ if (stream_private->encryption_key &&
+ encryption_policy != SIPE_ENCRYPTION_POLICY_REJECTED) {
+- sdpmedia->encryption_key = g_memdup(stream_private->encryption_key,
++ sdpmedia->encryption_key = g_memdup2(stream_private->encryption_key,
+ SIPE_SRTP_KEY_LEN);
+ sdpmedia->encryption_key_id = stream_private->encryption_key_id;
+ }
+diff --git a/src/core/sipe-tls-tester.c b/src/core/sipe-tls-tester.c
+index e80d715..5fbb5f8 100644
+--- a/src/core/sipe-tls-tester.c
++++ b/src/core/sipe-tls-tester.c
+@@ -155,7 +155,7 @@ static guchar *read_tls_record(int fd,
+ printf("received %d bytes from server\n", result);
+ record = g_new0(struct record, 1);
+ record->length = result;
+- record->msg = g_memdup(buffer, result);
++ record->msg = g_memdup2(buffer, result);
+ length += result;
+ fragments = g_slist_append(fragments, record);
+ }
+diff --git a/src/core/sipe-tls.c b/src/core/sipe-tls.c
+index b0235d5..020aedb 100644
+--- a/src/core/sipe-tls.c
++++ b/src/core/sipe-tls.c
+@@ -427,7 +427,7 @@ static guchar *sipe_tls_prf(SIPE_UNUSED_PARAMETER struct tls_internal_state *sta
+ gsize half = (secret_length + 1) / 2;
+ gsize newseed_length = label_length + seed_length;
+ /* secret: used as S1; secret2: last half of original secret (S2) */
+- guchar *secret2 = g_memdup(secret + secret_length - half, half);
++ guchar *secret2 = g_memdup2(secret + secret_length - half, half);
+ guchar *newseed = g_malloc(newseed_length);
+ guchar *md5, *dest;
+ guchar *sha1, *src;
+@@ -1525,7 +1525,7 @@ static struct tls_compiled_message *tls_client_key_exchange(struct tls_internal_
+
+ /* found all the required fields */
+ state->server_random.length = server_random->length;
+- state->server_random.buffer = g_memdup(server_random->data,
++ state->server_random.buffer = g_memdup2(server_random->data,
+ server_random->length);
+ tls_calculate_secrets(state);
+
+diff --git a/src/telepathy/telepathy-protocol.c b/src/telepathy/telepathy-protocol.c
+index f6e5337..1dde579 100644
+--- a/src/telepathy/telepathy-protocol.c
++++ b/src/telepathy/telepathy-protocol.c
+@@ -237,7 +237,7 @@ static void get_connection_details(SIPE_UNUSED_PARAMETER TpBaseProtocol *self,
+ SIPE_TYPE_SEARCH_MANAGER,
+ G_TYPE_INVALID
+ };
+- *channel_managers = g_memdup(types, sizeof(types));
++ *channel_managers = g_memdup2(types, sizeof(types));
+ }
+ if (icon_name)
+ *icon_name = g_strdup("im-" SIPE_TELEPATHY_DOMAIN);
diff --git a/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb b/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb
index f6b4c7cee1..6ce42ec187 100644
--- a/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb
+++ b/meta-oe/recipes-support/pidgin/pidgin-sipe_1.25.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "Protocol plugin for Office 365/Lync/OCS for Adium, Pidgin, Miranda and Telepathy IM Framework"
SECTION = "webos/services"
-LICENSE = "GPLv2.0"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS = "pidgin gmime intltool-native glib-2.0-native"
@@ -11,6 +11,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/sipe/pidgin-sipe-${PV}.tar.xz \
file://0001-sipe-consider-64bit-time_t-when-printing.patch \
file://0001-Align-structs-casts-with-time_t-elements-to-8byte-bo.patch \
file://0001-configure-Do-not-add-native-paths-to-pkgconfig-searc.patch \
+ file://0001-Migrate-to-use-g_memdup2.patch \
"
SRC_URI[md5sum] = "0e742f021dc8c3f17435aea05c3e0314"
@@ -24,12 +25,14 @@ PACKAGECONFIG[krb5] = "--with-krb5=yes,--with-krb5=no,krb5"
PACKAGECONFIG[telepathy] = "--enable-telepathy=yes,--enable-telepathy=no,telepathy-glib"
#PACKAGECONFIG[gssapi_only] = "--enable-gssapi-only=yes,--enable-gssapi-only=no,krb5"
PACKAGECONFIG[debug] = "--enable-debug=yes,--enable-debug=no,valgrind"
+# disable Werror by default, useful for dev mode
+PACKAGECONFIG[quality] = "--enable-quality-check=yes,--enable-quality-check=no,"
-FILES_${PN}-dev += " \
+FILES:${PN}-dev += " \
${libdir}/purple-2/*.la \
"
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir}/purple-2/libsipe.so \
${datadir}/appdata \
${datadir}/metainfo \
diff --git a/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch b/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
deleted file mode 100644
index cfb0290f9b..0000000000
--- a/meta-oe/recipes-support/pidgin/pidgin/0001-configure.ac-fix-build-with-autoconf-2.71.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-From e03d3ef5aadd582ebf7102b7d5785fed177a0cb1 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 7 Feb 2021 13:25:29 +0100
-Subject: [PATCH] configure.ac: fix build with autoconf-2.71
-
-* fixes:
- | autoreconf: running: intltoolize --copy --force
- | ERROR: 'IT_PROG_INTLTOOL' must appear in configure.ac for intltool to work.
- | autoreconf: error: intltoolize failed with exit status: 1
-
-* replace AM_GLIB_GNU_GETTEXT with AM_GNU_GETTEXT as suggested in:
- https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration
- https://blogs.gnome.org/jjardon/2010/10/08/use-upstream-gettext-instead-the-glib-one/
- because the former is causing issues with autoconf-2.71:
-
- -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
- -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
- -../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
- -../autoconf-2.71/lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from...
- -../autoconf-2.71/lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from...
- -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from...
- -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from...
- -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from...
- -configure.ac:266: the top level])
- -m4trace:configure.ac:266: -1- m4_pattern_allow([^ENABLE_NLS$])
- -m4trace:configure.ac:266: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
- -You should run autoupdate.], [../autoconf-2.71/lib/autoconf/status.m4:1025: AC_OUTPUT_COMMANDS is expanded from...
- -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:150: GLIB_WITH_NLS is expanded from...
- -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:370: GLIB_GNU_GETTEXT is expanded from...
- -pidgin/2.14.1-r0/recipe-sysroot-native/usr/share/aclocal/glib-gettext.m4:470: AM_GLIB_GNU_GETTEXT is expanded from...
- -configure.ac:266: the top level])
-
- and then configure fails with:
-
- configure.ac:2621: error: `po/stamp-it' is already registered with AC_CONFIG_COMMANDS.
- autoconf-2.71/lib/autoconf/status.m4:1008: AC_CONFIG_COMMANDS is expanded from...
- configure.ac:2621: the top level
-
-* add AM_GNU_GETTEXT_VERSION as well to resolve warning with autoconf-2.71
- configure.ac: warning: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION or AM_GNU_GETTEXT_REQUIRE_VERSION
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- ABOUT-NLS | 1 +
- Makefile.am | 6 +---
- configure.ac | 6 ++--
- pidgin/Makefile.am | 7 ++--
- po/Makevars | 82 ++++++++++++++++++++++++++++++++++++++++++++++
- po/POTFILES.in | 1 -
- 6 files changed, 92 insertions(+), 11 deletions(-)
- create mode 100644 ABOUT-NLS
- create mode 100644 po/Makevars
-
-diff --git a/ABOUT-NLS b/ABOUT-NLS
-new file mode 100644
-index 0000000..0a9d56d
---- /dev/null
-+++ b/ABOUT-NLS
-@@ -0,0 +1 @@
-+<https://www.gnu.org/software/gettext/manual/html_node/Users.html>
-diff --git a/Makefile.am b/Makefile.am
-index f8e2bc9..a74145f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -13,9 +13,6 @@ EXTRA_DIST = \
- fix-casts.sh \
- gaim.pc.in \
- gaim-uninstalled.pc.in \
-- intltool-extract.in \
-- intltool-merge.in \
-- intltool-update.in \
- package_revision.h \
- pidgin.apspec.in \
- pidgin.spec.in \
-@@ -139,5 +136,4 @@ endif
- distuninstallcheck_listfiles = \
- find . -type f -print | grep -v perl | grep -v Purple.3pm | grep -v Pidgin.3pm
-
--DISTCLEANFILES= intltool-extract intltool-merge intltool-update \
-- package_revision_raw.txt
-+DISTCLEANFILES=package_revision_raw.txt
-diff --git a/configure.ac b/configure.ac
-index 81d8592..e2280cd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -43,7 +43,7 @@ fi
-
- AC_CANONICAL_HOST
- AC_CONFIG_HEADERS([config.h])
--AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2])
-+AM_INIT_AUTOMAKE([1.9 -Wno-portability dist-bzip2 foreign])
- dnl TODO: Always use AM_SILENT_RULES when we depend on automake >= 1.11
- m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
-@@ -257,12 +257,12 @@ dnl #######################################################################
- AC_ARG_ENABLE(nls, AC_HELP_STRING([--disable-nls], [disable installation of translation files]), enable_i18n="$enableval", enable_i18n=yes)
-
- if test x$enable_i18n = xyes; then
-- AC_PROG_INTLTOOL
- GETTEXT_PACKAGE=pidgin
- AC_SUBST(GETTEXT_PACKAGE)
-
- ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
-- AM_GLIB_GNU_GETTEXT
-+ AM_GNU_GETTEXT([external])
-+ AM_GNU_GETTEXT_VERSION([0.21])
-
- dnl If we don't have msgfmt, then po/ is going to fail -- ensure that
- dnl AM_GLIB_GNU_GETTEXT found it.
-diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am
-index 2278b88..4d32c53 100644
---- a/pidgin/Makefile.am
-+++ b/pidgin/Makefile.am
-@@ -192,13 +192,16 @@ DESKTOP_FILE=data/pidgin.desktop
- appsdir = $(datadir)/applications
- apps_in_files = data/pidgin.desktop.in
- apps_DATA = $(apps_in_files:.desktop.in=.desktop)
--@INTLTOOL_DESKTOP_RULE@
-+
-+data/pidgin.desktop: data/pidgin.desktop.in
-+ $(AM_V_GEN)$(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
-
- appdatadir = $(datarootdir)/appdata
- appdata_DATA = $(appdata_in_files:.xml.in=.xml)
- appdata_in_files = data/pidgin.appdata.xml.in
-
--@INTLTOOL_XML_RULE@
-+data/pidgin.appdata.xml: data/pidgin.appdata.xml.in
-+ $(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@ || cp $< $@
-
- endif # INSTALL_I18N
-
-diff --git a/po/Makevars b/po/Makevars
-new file mode 100644
-index 0000000..970237a
---- /dev/null
-+++ b/po/Makevars
-@@ -0,0 +1,82 @@
-+# Makefile variables for PO directory in any package using GNU gettext.
-+#
-+# Copyright (C) 2003-2019 Free Software Foundation, Inc.
-+# This file is free software; the Free Software Foundation gives
-+# unlimited permission to use, copy, distribute, and modify it.
-+
-+# Usually the message domain is the same as the package name.
-+DOMAIN = $(PACKAGE)
-+
-+# These two variables depend on the location of this directory.
-+subdir = po
-+top_builddir = ..
-+
-+# These options get passed to xgettext.
-+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --from-code=UTF-8
-+
-+# This is the copyright holder that gets inserted into the header of the
-+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
-+# package. (Note that the msgstr strings, extracted from the package's
-+# sources, belong to the copyright holder of the package.) Translators are
-+# expected to transfer the copyright for their translations to this person
-+# or entity, or to disclaim their copyright. The empty string stands for
-+# the public domain; in this case the translators are expected to disclaim
-+# their copyright.
-+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
-+
-+# This tells whether or not to prepend "GNU " prefix to the package
-+# name that gets inserted into the header of the $(DOMAIN).pot file.
-+# Possible values are "yes", "no", or empty. If it is empty, try to
-+# detect it automatically by scanning the files in $(top_srcdir) for
-+# "GNU packagename" string.
-+PACKAGE_GNU =
-+
-+# This is the email address or URL to which the translators shall report
-+# bugs in the untranslated strings:
-+# - Strings which are not entire sentences, see the maintainer guidelines
-+# in the GNU gettext documentation, section 'Preparing Strings'.
-+# - Strings which use unclear terms or require additional context to be
-+# understood.
-+# - Strings which make invalid assumptions about notation of date, time or
-+# money.
-+# - Pluralisation problems.
-+# - Incorrect English spelling.
-+# - Incorrect formatting.
-+# It can be your email address, or a mailing list address where translators
-+# can write to without being subscribed, or the URL of a web page through
-+# which the translators can contact you.
-+MSGID_BUGS_ADDRESS =
-+
-+# This is the list of locale categories, beyond LC_MESSAGES, for which the
-+# message catalogs shall be used. It is usually empty.
-+EXTRA_LOCALE_CATEGORIES =
-+
-+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
-+# context. Possible values are "yes" and "no". Set this to yes if the
-+# package uses functions taking also a message context, like pgettext(), or
-+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
-+USE_MSGCTXT = no
-+
-+# These options get passed to msgmerge.
-+# Useful options are in particular:
-+# --previous to keep previous msgids of translated messages,
-+# --quiet to reduce the verbosity.
-+MSGMERGE_OPTIONS =
-+
-+# These options get passed to msginit.
-+# If you want to disable line wrapping when writing PO files, add
-+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
-+# MSGINIT_OPTIONS.
-+MSGINIT_OPTIONS =
-+
-+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
-+# has changed. Possible values are "yes" and "no". Set this to no if
-+# the POT file is checked in the repository and the version control
-+# program ignores timestamps.
-+PO_DEPENDS_ON_POT = no
-+
-+# This tells whether or not to forcibly update $(DOMAIN).pot and
-+# regenerate PO files on "make dist". Possible values are "yes" and
-+# "no". Set this to no if the POT file and PO files are maintained
-+# externally.
-+DIST_DEPENDS_ON_UPDATE_PO = no
-diff --git a/po/POTFILES.in b/po/POTFILES.in
-index a5691a1..b494bf3 100644
---- a/po/POTFILES.in
-+++ b/po/POTFILES.in
-@@ -1,4 +1,3 @@
--[encoding: UTF-8]
- finch/finch.c
- finch/gntaccount.c
- finch/gntblist.c
diff --git a/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch b/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
deleted file mode 100644
index 99c523d5d9..0000000000
--- a/meta-oe/recipes-support/pidgin/pidgin/0002-configure.ac-disable-few-languages-not-compatible-wi.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 861c8a63c36f9ee7d46238c9bc13a2c1f14372c3 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 7 Feb 2021 14:35:14 +0000
-Subject: [PATCH] configure.ac: disable few languages not compatible with
- modern gettext
-
-* as pidgin-3 development is moving to meson and probably
- most of these changes won't be applicable there, lets just
- disable them until someone interested steps-up to maintain it
-
-* these 3 fail with:
-cd ../../pidgin-2.14.1/po && rm -f brx.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o brx.1po brx.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o brx.gmo brx.1po && rm -f brx.1po
-cd ../../pidgin-2.14.1/po && rm -f zh_HK.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_HK.1po zh_HK.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_HK.gmo zh_HK.1po && rm -f zh_HK.1po
-cd ../../pidgin-2.14.1/po && rm -f zh_TW.gmo && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgmerge --for-msgfmt -o zh_TW.1po zh_TW.po pidgin.pot && pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt -c --statistics --verbose -o zh_TW.gmo zh_TW.1po && rm -f zh_TW.1po
-zh_HK.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications.
-pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error
-zh_TW.1po:2790: 'msgstr' is not a valid C format string, unlike 'msgid'. Reason: The string refers to arguments both through absolute argument numbers and through unnumbered argument specifications.
-pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 1 fatal error
-zh_HK.1po: 3234 translated messages.
-make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_HK.gmo] Error 1
-make[3]: *** Waiting for unfinished jobs....
-zh_TW.1po: 3234 translated messages.
-make[3]: *** [Makefile:415: ../../pidgin-2.14.1/po/zh_TW.gmo] Error 1
-brx.1po:778: number of format specifications in 'msgid' and 'msgstr' does not match
-brx.1po:3179: number of format specifications in 'msgid' and 'msgstr' does not match
-brx.1po:5175: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
-brx.1po:5184: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
-brx.1po:7754: format specifications in 'msgid_plural' and 'msgstr[0]' for argument 1 are not the same
-pidgin/2.14.1-r0/recipe-sysroot-native/usr/bin/msgfmt: found 8 fatal errors
-brx.1po: 3246 translated messages.
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index e2280cd..9332932 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -260,7 +260,7 @@ if test x$enable_i18n = xyes; then
- GETTEXT_PACKAGE=pidgin
- AC_SUBST(GETTEXT_PACKAGE)
-
-- ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
-+ ALL_LINGUAS="af am ar ar_SA as ast az be@latin bg bn_IN bn br bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN"
- AM_GNU_GETTEXT([external])
- AM_GNU_GETTEXT_VERSION([0.21])
-
diff --git a/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch b/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
index 0a1baa9183..1c4daa9f67 100644
--- a/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
+++ b/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch
@@ -3,6 +3,8 @@ From: Herrie <github.com@herrie.org>
Date: Mon, 24 Jul 2017 21:30:16 +0200
---
+Upstream-Status: Pending
+
libpurple/protocols/irc/irc.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch b/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch
index 84dbcdc276..cf6207423d 100644
--- a/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch
+++ b/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch
@@ -3,6 +3,8 @@ From: Herrie <github.com@herrie.org>
Date: Mon, 24 Jul 2017 21:30:16 +0200
---
+Upstream-Status: Pending
+
configure.ac | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb b/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
deleted file mode 100644
index d22380eb0d..0000000000
--- a/meta-oe/recipes-support/pidgin/pidgin_2.14.1.bb
+++ /dev/null
@@ -1,112 +0,0 @@
-SUMMARY = "multi-protocol instant messaging client"
-
-SECTION = "x11/network"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-DEPENDS = "python3 virtual/libintl intltool-native libxml2 gconf glib-2.0-native"
-
-inherit autotools gettext pkgconfig gconf perlnative python3native
-
-SRC_URI = "\
- ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
- file://sanitize-configure.ac.patch \
- file://purple-OE-branding-25.patch \
- file://0001-configure.ac-fix-build-with-autoconf-2.71.patch \
- file://0002-configure.ac-disable-few-languages-not-compatible-wi.patch \
-"
-
-SRC_URI[sha256sum] = "f132e18d551117d9e46acce29ba4f40892a86746c366999166a3862b51060780"
-
-PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
-"
-PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
-# --disable-gstreamer compile without GStreamer audio support
-# --disable-gstreamer-video
-# compile without GStreamer 1.0 Video Overlay support
-# --disable-gstreamer-interfaces
-# compile without GStreamer 0.10 interface support
-# --with-gstreamer=<version>
-# compile with GStreamer 0.10 or 1.0 interface
-PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
-PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
-PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
-PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
-PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
-PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
-PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,libgnt"
-PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
-PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
-PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
-PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
-
-EXTRA_OECONF = " \
- --with-python=python3 \
- --disable-perl \
- --disable-tcl \
- --disable-gevolution \
- --disable-schemas-install \
- --disable-gtkspell \
- --disable-meanwhile \
- --disable-nm \
- --disable-screensaver \
-"
-
-OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
-OE_LT_RPATH_ALLOW[export]="1"
-
-PACKAGES =+ "libpurple-dev libpurple finch finch-dev ${PN}-data"
-
-RPROVIDES_${PN}-dbg += "libpurple-dbg finch-dbg"
-
-LEAD_SONAME = "libpurple.so.0"
-FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
-FILES_libpurple-dev = "${libdir}/libpurple*.la \
- ${libdir}/libpurple*.so \
- ${libdir}/purple-2/*.la \
- ${libdir}/purple-2/libjabber.so \
- ${libdir}/purple-2/liboscar.so \
- ${libdir}/purple-2/libymsg.so \
- ${datadir}/aclocal"
-FILES_finch = "${bindir}/finch"
-FILES_finch-dev = "${libdir}/finch/*.la"
-
-FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
- ${datadir}/applications"
-RRECOMMENDS_${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp"
-
-FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"
-FILES_${PN}-dev += "${libdir}/${PN}/*.la"
-
-PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
-
-python populate_packages_prepend () {
- pidgroot = d.expand('${libdir}/pidgin')
- purple = d.expand('${libdir}/purple-2')
- finch = d.expand('${libdir}/finch')
-
- do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$',
- output_pattern='pidgin-plugin-%s',
- description='Pidgin plugin %s',
- prepend=True, extra_depends='')
-
- do_split_packages(d, purple, '^lib(.*)\.so$',
- output_pattern='libpurple-protocol-%s',
- description='Libpurple protocol plugin for %s',
- prepend=True, extra_depends='')
-
- do_split_packages(d, purple, '^(ssl-.*)\.so$',
- output_pattern='libpurple-plugin-%s',
- description='libpurple plugin %s',
- prepend=True, extra_depends='libpurple-plugin-ssl')
-
- do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
- output_pattern='libpurple-plugin-%s',
- description='libpurple plugin %s',
- prepend=True, extra_depends='')
-
- do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$',
- output_pattern='finch-plugin-%s',
- description='Finch plugin %s',
- prepend=True, extra_depends='')
-}
diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb b/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
new file mode 100644
index 0000000000..ae251b5a08
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/pidgin_2.14.2.bb
@@ -0,0 +1,113 @@
+SUMMARY = "multi-protocol instant messaging client"
+
+SECTION = "x11/network"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+DEPENDS = "python3 virtual/libintl intltool-native libxml2 gconf glib-2.0-native"
+
+inherit autotools gettext pkgconfig gconf perlnative python3native
+
+SRC_URI = "\
+ ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
+ file://sanitize-configure.ac.patch \
+ file://purple-OE-branding-25.patch \
+"
+
+SRC_URI[sha256sum] = "19654ad276b149646371fbdac21bc7620742f2975f7399fed0ffc1a18fbaf603"
+
+CVE_STATUS[CVE-2010-1624] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+CVE_STATUS[CVE-2011-3594] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
+
+PACKAGECONFIG ??= "gnutls consoleui avahi dbus idn nss \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtk startup-notification', '', d)} \
+"
+PACKAGECONFIG[farsight2] = "--enable-farstream,--disable-farstream,farsight2"
+# --disable-gstreamer compile without GStreamer audio support
+# --disable-gstreamer-video
+# compile without GStreamer 1.0 Video Overlay support
+# --disable-gstreamer-interfaces
+# compile without GStreamer 0.10 interface support
+# --with-gstreamer=<version>
+# compile with GStreamer 0.10 or 1.0 interface
+PACKAGECONFIG[gstreamer] = "--enable-gstreamer,--disable-gstreamer,gstreamer"
+PACKAGECONFIG[vv] = "--enable-vv,--disable-vv,gstreamer"
+PACKAGECONFIG[idn] = "--enable-idn,--disable-idn,libidn"
+PACKAGECONFIG[gtk] = "--enable-gtkui,--disable-gtkui,gtk+"
+PACKAGECONFIG[x11] = "--with-x=yes --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--with-x=no,virtual/libx11"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+PACKAGECONFIG[consoleui] = "--enable-consoleui --with-ncurses-headers=${STAGING_INCDIR},--disable-consoleui,libgnt"
+PACKAGECONFIG[gnutls] = "--enable-gnutls --with-gnutls-includes=${STAGING_INCDIR} --with-gnutls-libs=${STAGING_LIBDIR},--disable-gnutls,gnutls,libpurple-plugin-ssl-gnutls"
+PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus dbus-glib"
+PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi"
+PACKAGECONFIG[nss] = "--enable-nss,--disable-nss,nss nspr,libpurple-plugin-ssl-nss"
+PACKAGECONFIG[cyrus-sasl] = "--enable-cyrus-sasl,--disable-cyrus-sasl,cyrus-sasl"
+
+EXTRA_OECONF = " \
+ --disable-perl \
+ --disable-tcl \
+ --disable-gevolution \
+ --disable-schemas-install \
+ --disable-gtkspell \
+ --disable-meanwhile \
+ --disable-nm \
+ --disable-screensaver \
+"
+
+OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
+OE_LT_RPATH_ALLOW[export]="1"
+
+PACKAGES =+ "libpurple-dev libpurple finch finch-dev ${PN}-data"
+
+RPROVIDES:${PN}-dbg += "libpurple-dbg finch-dbg"
+
+LEAD_SONAME = "libpurple.so.0"
+FILES:libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
+FILES:libpurple-dev = "${libdir}/libpurple*.la \
+ ${libdir}/libpurple*.so \
+ ${libdir}/purple-2/*.la \
+ ${libdir}/purple-2/libjabber.so \
+ ${libdir}/purple-2/liboscar.so \
+ ${libdir}/purple-2/libymsg.so \
+ ${datadir}/aclocal"
+FILES:finch = "${bindir}/finch"
+FILES:finch-dev = "${libdir}/finch/*.la"
+
+FILES:${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
+ ${datadir}/applications"
+RRECOMMENDS:${PN} = "${PN}-data libpurple-protocol-irc libpurple-protocol-xmpp"
+
+FILES:${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons ${datadir}/appdata"
+FILES:${PN}-dev += "${libdir}/${PN}/*.la"
+
+PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
+
+python populate_packages:prepend () {
+ pidgroot = d.expand('${libdir}/pidgin')
+ purple = d.expand('${libdir}/purple-2')
+ finch = d.expand('${libdir}/finch')
+
+ do_split_packages(d, pidgroot, r'^([^l][^i][^b].*)\.so$',
+ output_pattern='pidgin-plugin-%s',
+ description='Pidgin plugin %s',
+ prepend=True, extra_depends='')
+
+ do_split_packages(d, purple, r'^lib(.*)\.so$',
+ output_pattern='libpurple-protocol-%s',
+ description='Libpurple protocol plugin for %s',
+ prepend=True, extra_depends='')
+
+ do_split_packages(d, purple, r'^(ssl-.*)\.so$',
+ output_pattern='libpurple-plugin-%s',
+ description='libpurple plugin %s',
+ prepend=True, extra_depends='libpurple-plugin-ssl')
+
+ do_split_packages(d, purple, r'^([^l][^i][^b].*)\.so$',
+ output_pattern='libpurple-plugin-%s',
+ description='libpurple plugin %s',
+ prepend=True, extra_depends='')
+
+ do_split_packages(d, finch, r'^([^l][^i][^b].*)\.so$',
+ output_pattern='finch-plugin-%s',
+ description='Finch plugin %s',
+ prepend=True, extra_depends='')
+}
diff --git a/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb b/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
index 277d12057a..1981f1ee9c 100644
--- a/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
+++ b/meta-oe/recipes-support/pidgin/purple-skypeweb_git.bb
@@ -1,17 +1,17 @@
SUMMARY = "Skype protocol plug-in for libpurple"
SECTION = "webos/services"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://skypeweb/gpl3.txt;md5=d90260d32cef39f3c8d6c0f05d3adb8e"
DEPENDS = "pidgin json-glib glib-2.0 zlib"
inherit pkgconfig
-SRC_URI = "git://github.com/EionRobb/skype4pidgin;branch=master;protocol=git"
+SRC_URI = "git://github.com/EionRobb/skype4pidgin;branch=master;protocol=https"
SRCREV = "b226d1c457d73900ae89b8a7469247fbe33677a6"
S = "${WORKDIR}/git"
-PV = "1.7+git${SRCPV}"
+PV = "1.7+git"
do_compile() {
oe_runmake -C skypeweb;
@@ -21,6 +21,6 @@ do_install() {
oe_runmake -C skypeweb DESTDIR="${D}" install;
}
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir} \
"
diff --git a/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_0.3.bb b/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_0.3.bb
new file mode 100644
index 0000000000..816ee967c1
--- /dev/null
+++ b/meta-oe/recipes-support/pkcs11-provider/pkcs11-provider_0.3.bb
@@ -0,0 +1,27 @@
+SUMMARY = "An OpenSSL provider that allows direct interfacing with pkcs11 drivers"
+DESCRIPTION = "\
+This is an Openssl 3.x provider to access Hardware or Software Tokens using \
+the PKCS#11 Cryptographic Token Interface\
+\
+This code targets version 3.1 of the interface but should be backwards \
+compatible to previous versions as well.\
+"
+HOMEPAGE = "https://github.com/latchset/pkcs11-provider"
+SECTION = "libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b53b787444a60266932bd270d1cf2d45"
+DEPENDS = "\
+ autoconf-archive \
+ openssl \
+ p11-kit \
+"
+
+SRCREV = "58040b4e32975cc1d7f39e424ee7b0097cd11311"
+
+SRC_URI = "git://github.com/latchset/${BPN}.git;branch=main;protocol=https"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+FILES:${PN} += "${libdir}/ossl-modules/pkcs11.so"
diff --git a/meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch b/meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch
index 2d0ea0252c..12333cc1f1 100644
--- a/meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch
+++ b/meta-oe/recipes-support/pngcheck/pngcheck/0001-make-Respect-variables-from-environement.patch
@@ -7,6 +7,8 @@ link with shared zlib
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
Makefile.unx | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch b/meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch
index 6d4465fbed..0fc5a8e0d2 100644
--- a/meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch
+++ b/meta-oe/recipes-support/pngcheck/pngcheck/0001-png-fix-IDAT-windowsize-Fix-format-string-errors-in-.patch
@@ -6,6 +6,8 @@ Subject: [PATCH 1/2] png-fix-IDAT-windowsize: Fix format string errors in
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
gpl/png-fix-IDAT-windowsize.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch b/meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch
index f2c86689ec..2ff6d664c0 100644
--- a/meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch
+++ b/meta-oe/recipes-support/pngcheck/pngcheck/10-pngsplit-format-strings.patch
@@ -2,6 +2,8 @@ From: Jari Aalto <jari.aalto@cante.net>
Subject: Correct fomat strings fro hardened build flags
---
+Upstream-Status: Pending
+
gpl/pngsplit.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb b/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb
index 9f617ecda5..19da947d04 100644
--- a/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb
+++ b/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb
@@ -1,6 +1,6 @@
SUMMARY = "pngcheck verifies the integrity of PNG, JNG and MNG files"
HOMEPAGE = "http://www.libpng.org/pub/png/apps/pngcheck.html"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://gpl/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "zlib libpng"
diff --git a/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch b/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch
deleted file mode 100644
index e6b673b11d..0000000000
--- a/meta-oe/recipes-support/poco/poco/0001-Add-support-of-arch-riscv32.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 98d277655e411f56fba705c0bf2efc6562c23807 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 15 Nov 2020 11:37:33 -0800
-Subject: [PATCH] Add support of arch riscv32
-
-Upstream-Status: Submitted [https://github.com/pocoproject/poco/pull/3138]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Foundation/include/Poco/Platform.h | 13 +++++++++----
- 1 file changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/Foundation/include/Poco/Platform.h b/Foundation/include/Poco/Platform.h
-index 799db417e..b8506a248 100644
---- a/Foundation/include/Poco/Platform.h
-+++ b/Foundation/include/Poco/Platform.h
-@@ -135,6 +135,7 @@
- #define POCO_ARCH_AARCH64 0x0f
- #define POCO_ARCH_ARM64 0x0f // same as POCO_ARCH_AARCH64
- #define POCO_ARCH_RISCV64 0x10
-+#define POCO_ARCH_RISCV32 0x11
-
-
- #if defined(__ALPHA) || defined(__alpha) || defined(__alpha__) || defined(_M_ALPHA)
-@@ -225,12 +226,16 @@
- #elif defined(__AARCH64EB__)
- #define POCO_ARCH POCO_ARCH_AARCH64
- #define POCO_ARCH_BIG_ENDIAN 1
--#elif defined(__riscv) && (__riscv_xlen == 64)
-- #define POCO_ARCH POCO_ARCH_RISCV64
-- #define POCO_ARCH_LITTLE_ENDIAN 1
-+#elif defined(__riscv)
-+ #if (__riscv_xlen == 64)
-+ #define POCO_ARCH POCO_ARCH_RISCV64
-+ #define POCO_ARCH_LITTLE_ENDIAN 1
-+ #elif(__riscv_xlen == 32)
-+ #define POCO_ARCH POCO_ARCH_RISCV32
-+ #define POCO_ARCH_LITTLE_ENDIAN 1
-+ #endif
- #endif
-
--
- #if defined(__clang__)
- #define POCO_COMPILER_CLANG
- #elif defined(_MSC_VER)
---
-2.29.2
-
diff --git a/meta-oe/recipes-support/poco/poco/0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch b/meta-oe/recipes-support/poco/poco/0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch
new file mode 100644
index 0000000000..b06135222a
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco/0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch
@@ -0,0 +1,60 @@
+From 4cbb225811205b51b65371d0d8abc2d2af8233b6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 26 Jan 2023 14:56:36 -0800
+Subject: [PATCH] Use std::atomic<int> instead of std::atomic<bool>
+
+GCC on RISCV does not yet support inline subword atomics [1]
+Therefore avoid them until fixed
+
+Upstream-Status: Pending
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104338
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Foundation/include/Poco/AsyncChannel.h | 2 +-
+ Foundation/src/AsyncChannel.cpp | 5 ++---
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/Foundation/include/Poco/AsyncChannel.h b/Foundation/include/Poco/AsyncChannel.h
+index 190bae7dd..d73ea6c72 100644
+--- a/Foundation/include/Poco/AsyncChannel.h
++++ b/Foundation/include/Poco/AsyncChannel.h
+@@ -111,7 +111,7 @@ private:
+ NotificationQueue _queue;
+ std::size_t _queueSize = 0;
+ std::size_t _dropCount = 0;
+- std::atomic<bool> _closed;
++ std::atomic<int> _closed;
+ };
+
+
+diff --git a/Foundation/src/AsyncChannel.cpp b/Foundation/src/AsyncChannel.cpp
+index 37cdec477..e829b180c 100644
+--- a/Foundation/src/AsyncChannel.cpp
++++ b/Foundation/src/AsyncChannel.cpp
+@@ -48,11 +48,10 @@ private:
+ Message _msg;
+ };
+
+-
+ AsyncChannel::AsyncChannel(Channel::Ptr pChannel, Thread::Priority prio):
+ _pChannel(pChannel),
+ _thread("AsyncChannel"),
+- _closed(false)
++ _closed(0)
+ {
+ _thread.setPriority(prio);
+ }
+@@ -95,7 +94,7 @@ void AsyncChannel::open()
+
+ void AsyncChannel::close()
+ {
+- if (!_closed.exchange(true))
++ if (!_closed.exchange(1))
+ {
+ if (_thread.isRunning())
+ {
+--
+2.39.1
+
diff --git a/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch b/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch
new file mode 100644
index 0000000000..f70e8bcc74
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco/0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch
@@ -0,0 +1,66 @@
+From 879ddb725823c78c9510cfd39786adb16f3726c8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 16 Sep 2023 19:52:56 -0700
+Subject: [PATCH] cppignore.lnx: Ignore PKCS12 and testLaunch test
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These tests fail on Linux
+
+There were 4 failures:
+ 1: N7CppUnit10TestCallerI11ProcessTestEE.testLaunch
+ "rc == 3"
+ in "/usr/src/debug/poco/1.12.4-r0/Foundation/testsuite/src/ProcessTest.cpp", line 79
+ 2: N7CppUnit10TestCallerI11ProcessTestEE.testLaunchRedirectIn
+ "rc == 100"
+ in "/usr/src/debug/poco/1.12.4-r0/Foundation/testsuite/src/ProcessTest.cpp", line 106
+ 3: N7CppUnit10TestCallerI11ProcessTestEE.testLaunchRedirectOut
+ "s == "Hello, world!""
+ in "/usr/src/debug/poco/1.12.4-r0/Foundation/testsuite/src/ProcessTest.cpp", line 134
+ 4: N7CppUnit10TestCallerI11ProcessTestEE.testLaunchEnv
+ "s == "test""
+ in "/usr/src/debug/poco/1.12.4-r0/Foundation/testsuite/src/ProcessTest.cpp", line 166
+
+ There were 4 errors:-
+ 1: N7CppUnit10TestCallerI7EVPTestEE.testRSAEVPKeyFromPKCS12
+ │ │ "N4Poco17NotFoundExceptionE:
+ Not found: POCO_BASE"
+ │ │ in "<unknown>", line -1
+ 2: N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testFullPKCS12
+ │ │ "N4Poco17NotFoundExceptionE:
+ Not found: POCO_BASE"
+ │ │ in "<unknown>", line -1
+ 3: N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testCertsOnlyPKCS12
+ │ │ "N4Poco17NotFoundExceptionE:
+ Not found: POCO_BASE"
+ │ │ in "<unknown>", line -1
+ 4: N7CppUnit10TestCallerI19PKCS12ContainerTestEE.testPEMReadWrite
+ │ │ "N4Poco17NotFoundExceptionE:
+ Not found: POCO_BASE"
+ │ │ in "<unknown>", line -1
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
+---
+ cppignore.lnx | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/cppignore.lnx b/cppignore.lnx
+index 2c2376526..65df4af08 100644
+--- a/cppignore.lnx
++++ b/cppignore.lnx
+@@ -28,3 +28,12 @@ CppUnit::TestCaller<HTTPSClientSessionTest>.testProxy
+ CppUnit::TestCaller<HTTPSStreamFactoryTest>.testProxy
+ CppUnit::TestCaller<DNSTest>.testHostByAddress
+ CppUnit::TestCaller<DNSTest>.testHostByName
++CppUnit::TestCaller<ProcessTest>.testLaunch
++CppUnit::TestCaller<ProcessTest>.testLaunchRedirectIn
++CppUnit::TestCaller<ProcessTest>.testLaunchRedirectOut
++CppUnit::TestCaller<ProcessTest>.testLaunchEnv
++CppUnit::TestCaller<EVPTest>.testRSAEVPKeyFromPKCS12
++CppUnit::TestCaller<PKCS12ContainerTest>.testFullPKCS12
++CppUnit::TestCaller<PKCS12ContainerTest>.testCertsOnlyPKCS12
++CppUnit::TestCaller<PKCS12ContainerTest>.testPEMReadWrite
++CppUnit::TestCaller<MongoDBTest>.testArray
diff --git a/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch b/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch
new file mode 100644
index 0000000000..427cb9723a
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco/0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch
@@ -0,0 +1,32 @@
+From e54478c936493c0ed87e875f04127bd13642de44 Mon Sep 17 00:00:00 2001
+From: tyler92 <tyler92@inbox.ru>
+Date: Tue, 21 Nov 2023 05:07:24 +0300
+Subject: [PATCH] fix(build): Install cmake files with resolved ENABLE_JSON and
+ ENABLE_XML (#4227)
+
+Upstream-Status: Backport [https://github.com/pocoproject/poco/pull/4227]
+Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
+
+---
+ Util/cmake/PocoUtilConfig.cmake | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Util/cmake/PocoUtilConfig.cmake b/Util/cmake/PocoUtilConfig.cmake
+index 90c1eab1c..8186435e1 100644
+--- a/Util/cmake/PocoUtilConfig.cmake
++++ b/Util/cmake/PocoUtilConfig.cmake
+@@ -1,9 +1,9 @@
+ include(CMakeFindDependencyMacro)
+ find_dependency(PocoFoundation)
+-if(ENABLE_XML)
++if(@ENABLE_XML@)
+ find_dependency(PocoXML)
+ endif()
+-if(ENABLE_JSON)
++if(@ENABLE_JSON@)
+ find_dependency(PocoJSON)
+ endif()
+ include("${CMAKE_CURRENT_LIST_DIR}/PocoUtilTargets.cmake")
+--
+2.43.0
+
diff --git a/meta-oe/recipes-support/poco/poco/run-ptest b/meta-oe/recipes-support/poco/poco/run-ptest
index c479f7ac10..c8e50fc967 100644
--- a/meta-oe/recipes-support/poco/poco/run-ptest
+++ b/meta-oe/recipes-support/poco/poco/run-ptest
@@ -1,9 +1,21 @@
#!/bin/sh
+export POCO_BASE=/usr/lib/poco/ptest
+export LD_LIBRARY_PATH=${POCO_BASE}/bin:${LD_LIBRARY_PATH}
+i=0
while read runner; do
- pushd . >/dev/null
+ oldpath=`pwd` >/dev/null
cd bin
echo Testing $runner
- ./$runner-testrunner -all
- popd >/dev/null
+ ./$runner -ignore $oldpath/cppignore.lnx -all
+ export res$((i++))=$?
+ cd $oldpath >/dev/null
+done < testrunners
+i=0
+while read runner; do
+ eval assign=\$res$((i++))
+ if [ $assign -ne 0 ]; then
+ echo "FAIL: $runner"
+ else
+ echo "PASS: $runner"
+ fi
done < testrunners
-
diff --git a/meta-oe/recipes-support/poco/poco_1.10.1.bb b/meta-oe/recipes-support/poco/poco_1.10.1.bb
deleted file mode 100644
index 48b31dd3f3..0000000000
--- a/meta-oe/recipes-support/poco/poco_1.10.1.bb
+++ /dev/null
@@ -1,102 +0,0 @@
-SUMMARY = "Modern, powerful open source cross-platform C++ class libraries"
-DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems."
-HOMEPAGE = "http://pocoproject.org/"
-SECTION = "libs"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
-
-# These dependencies are required by Foundation
-DEPENDS = "libpcre zlib"
-
-SRC_URI = " \
- git://github.com/pocoproject/poco.git;branch=poco-${PV} \
- file://0001-Add-support-of-arch-riscv32.patch \
- file://run-ptest \
- "
-SRCREV = "a3d827d80eb7f3329c58e73eb2906cb7ba829019"
-
-UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
-
-S = "${WORKDIR}/git"
-
-inherit cmake ptest
-
-# By default the most commonly used poco components are built
-# Foundation is built anyway and doesn't need to be listed explicitly
-# these don't have dependencies outside oe-core
-PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto JWT Data DataSQLite Zip Encodings Redis"
-
-PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat"
-PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
-PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
-PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
-PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
-PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
-PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON,-DENABLE_NETSSL=OFF,openssl"
-PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl"
-PACKAGECONFIG[JWT] = "-DENABLE_JWT=ON,-DENABLE_JWT=OFF,openssl"
-PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
-PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3"
-PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
-PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF"
-PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF"
-
-# Additional components not build by default,
-# they might have dependencies not included in oe-core
-# or they don't work on all architectures
-PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
-PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
-PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb"
-PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
-PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
-PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
-PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
- -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
- ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
-
-# For the native build we want to use the bundled version
-EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
-
-# do not use rpath
-EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
-
-python populate_packages_prepend () {
- poco_libdir = d.expand('${libdir}')
- pn = d.getVar("PN")
- packages = []
- testrunners = []
-
- def hook(f, pkg, file_regex, output_pattern, modulename):
- packages.append(pkg)
- testrunners.append(modulename)
-
- do_split_packages(d, poco_libdir, '^libPoco(.*)\.so\..*$',
- 'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook)
-
- d.setVar("RRECOMMENDS_%s" % pn, " ".join(packages))
- d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
-}
-
-do_install_ptest () {
- cp -rf ${B}/bin/ ${D}${PTEST_PATH}
- cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
- cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
- find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
- echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
-}
-
-PACKAGES_DYNAMIC = "poco-.*"
-
-# "poco" is a metapackage which pulls in all Poco components
-ALLOW_EMPTY_${PN} = "1"
-
-# cppunit is only built if tests are enabled
-PACKAGES =+ "${PN}-cppunit"
-FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
-ALLOW_EMPTY_${PN}-cppunit = "1"
-
-RDEPENDS_${PN}-ptest += "${PN}-cppunit"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/poco/poco_1.12.5p2.bb b/meta-oe/recipes-support/poco/poco_1.12.5p2.bb
new file mode 100644
index 0000000000..a0bb0b5d96
--- /dev/null
+++ b/meta-oe/recipes-support/poco/poco_1.12.5p2.bb
@@ -0,0 +1,119 @@
+SUMMARY = "Modern, powerful open source cross-platform C++ class libraries"
+DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems."
+HOMEPAGE = "http://pocoproject.org/"
+SECTION = "libs"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
+
+# These dependencies are required by Foundation
+DEPENDS = "libpcre2 zlib"
+
+SRC_URI = "git://github.com/pocoproject/poco.git;branch=master;protocol=https \
+ file://0001-Use-std-atomic-int-instead-of-std-atomic-bool.patch \
+ file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \
+ file://run-ptest \
+ file://0002-fix-build-Install-cmake-files-with-resolved-ENABLE_J.patch \
+ "
+SRCREV = "1d6fb3e1383e559cacbada5e3f861c0dafaf5d30"
+
+UPSTREAM_CHECK_GITTAGREGEX = "poco-(?P<pver>\d+(\.\d+)+)"
+
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+
+# By default the most commonly used poco components are built
+# Foundation is built anyway and doesn't need to be listed explicitly
+# these don't have dependencies outside oe-core
+PACKAGECONFIG ??= "XML JSON PDF Util Net NetSSL Crypto JWT Data DataSQLite Zip Encodings Redis Prometheus"
+# MongoDB does not build for all architectures yet keep in sync with COMPATIBLE_HOST list in mongodb recipe
+# and mongodb needs meta-python enabled as well
+PACKAGECONFIG:remove:riscv32 = "MongoDB"
+PACKAGECONFIG:remove:riscv64 = "MongoDB"
+PACKAGECONFIG:remove:mipsarch = "MongoDB"
+PACKAGECONFIG:remove:powerpc = "MongoDB"
+
+PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat"
+PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
+PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
+PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
+PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
+PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
+PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON,-DENABLE_NETSSL=OFF,openssl"
+PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl"
+PACKAGECONFIG[JWT] = "-DENABLE_JWT=ON,-DENABLE_JWT=OFF,openssl"
+PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
+PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3"
+PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
+PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF"
+PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF"
+PACKAGECONFIG[Prometheus] = "-DENABLE_PROMETHEUS=ON,-DENABLE_PROMETHEUS=OFF"
+
+# Additional components not build by default,
+# they might have dependencies not included in oe-core
+# or they don't work on all architectures
+PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
+PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
+PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON -DMYSQL_LIB:STRING=mysqlclient_r,-DENABLE_DATA_MYSQL=OFF,mariadb"
+PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
+PACKAGECONFIG[ActiveRecord] = "-DENABLE_ACTIVERECORD=ON,-DENABLE_ACTIVERECORD=OFF"
+PACKAGECONFIG[ActiveRecordCompiler] = "-DENABLE_ACTIVERECORD_COMPILER=ON,-DENABLE_ACTIVERECORD_COMPILER=OFF"
+PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
+PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
+PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
+
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
+ -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
+
+# For the native build we want to use the bundled version
+EXTRA_OECMAKE:append:class-native = " -DPOCO_UNBUNDLED=OFF"
+
+# do not use rpath
+EXTRA_OECMAKE:append = " -DCMAKE_SKIP_RPATH=ON"
+
+LDFLAGS:append:riscv32 = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}"
+LDFLAGS:append:mips = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}"
+LDFLAGS:append:powerpc = "${@bb.utils.contains('PACKAGECONFIG', 'Prometheus', ' -Wl,--no-as-needed -latomic -Wl,--as-needed', '', d)}"
+
+python populate_packages:prepend () {
+ poco_libdir = d.expand('${libdir}')
+ pn = d.getVar("PN")
+ packages = []
+
+ def hook(f, pkg, file_regex, output_pattern, modulename):
+ packages.append(pkg)
+
+ do_split_packages(d, poco_libdir, r'^libPoco(.*)\.so\..*$',
+ 'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook)
+
+ d.setVar("RRECOMMENDS:%s" % pn, " ".join(packages))
+}
+
+do_install_ptest () {
+ cp -rf ${B}/bin/ ${D}${PTEST_PATH}
+ cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
+ cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
+ find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
+ rm -f ${D}${PTEST_PATH}/testrunners
+ for f in ${D}${PTEST_PATH}/bin/*-testrunner; do
+ echo `basename $f` >> ${D}${PTEST_PATH}/testrunners
+ done
+ install -Dm 0644 ${S}/cppignore.lnx ${D}${PTEST_PATH}/cppignore.lnx
+}
+
+PACKAGES_DYNAMIC = "poco-.*"
+
+# "poco" is a metapackage which pulls in all Poco components
+ALLOW_EMPTY:${PN} = "1"
+
+# cppunit is only built if tests are enabled
+PACKAGES =+ "${PN}-cppunit"
+FILES:${PN}-cppunit += "${libdir}/libCppUnit.so*"
+ALLOW_EMPTY:${PN}-cppunit = "1"
+
+RDEPENDS:${PN}-ptest += "${PN}-cppunit"
+RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PACKAGECONFIG', 'MongoDB', 'mongodb', '', d)}"
+RDEPENDS:${PN}-ptest += "${@bb.utils.contains('PACKAGECONFIG', 'Redis', 'redis', '', d)}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.10.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.10.bb
deleted file mode 100644
index 46e33514e8..0000000000
--- a/meta-oe/recipes-support/poppler/poppler-data_0.4.10.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Encoding files for Poppler"
-DESCRIPTION = "Encoding files for use with poppler that enable poppler to \
- correctly render CJK and Cyrrilic."
-HOMEPAGE = "https://poppler.freedesktop.org/"
-LICENSE = "BSD & GPLv2 & GPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=96287d49ec274d9c3222b5f966c132fd \
- file://COPYING.adobe;md5=a790726a74164c30b5de1ef93fd69e99 \
- file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \
-"
-
-inherit allarch
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-CMAP_RESOURCES_BASE = "https://github.com/adobe-type-tools/cmap-resources/raw/0561ebca035813ed04c3485bca636a0aa7abdc1d/cmapresources_identity-0/CMap"
-
-SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz \
- ${CMAP_RESOURCES_BASE}/Identity-H;name=idh \
- ${CMAP_RESOURCES_BASE}/Identity-V;name=idv"
-
-SRC_URI[md5sum] = "a7f15fb2f26c60a7a92093cfdf2378d5"
-SRC_URI[sha256sum] = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30"
-SRC_URI[idh.md5sum] = "009c93cf0141ab7bd6acb7eea14306cc"
-SRC_URI[idh.sha256sum] = "ae702c203a82ea124e9b96590f821db6fbf8754e2c4547a9dba0e82f94739e95"
-SRC_URI[idv.md5sum] = "2f32a45d43d001c26eeac6b878855fbf"
-SRC_URI[idv.sha256sum] = "89a85daf7031e93c883e76b9168a226dfd585bf5506e9e1956772163f15cb082"
-
-do_compile() {
-}
-
-do_install() {
- oe_runmake install DESTDIR=${D} prefix=${prefix} datadir=${datadir}
- install -d ${D}${datadir}/poppler/cMap
- install -m644 ${WORKDIR}/Identity-* ${D}${datadir}/poppler/cMap/
-}
-
-FILES_${PN} += "${datadir}"
diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.12.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.12.bb
new file mode 100644
index 0000000000..eed21ad54a
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.12.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Encoding files for Poppler"
+DESCRIPTION = "Encoding files for use with poppler that enable poppler to \
+ correctly render CJK and Cyrrilic."
+HOMEPAGE = "https://poppler.freedesktop.org/"
+LICENSE = "BSD-3-Clause & GPL-2.0-only & GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=96287d49ec274d9c3222b5f966c132fd \
+ file://COPYING.adobe;md5=a790726a74164c30b5de1ef93fd69e99 \
+ file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \
+"
+
+inherit allarch
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+CMAP_RESOURCES_BASE = "https://github.com/adobe-type-tools/cmap-resources/raw/0561ebca035813ed04c3485bca636a0aa7abdc1d/cmapresources_identity-0/CMap"
+
+SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz \
+ ${CMAP_RESOURCES_BASE}/Identity-H;name=idh \
+ ${CMAP_RESOURCES_BASE}/Identity-V;name=idv"
+
+SRC_URI[sha256sum] = "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74"
+SRC_URI[idh.md5sum] = "009c93cf0141ab7bd6acb7eea14306cc"
+SRC_URI[idh.sha256sum] = "ae702c203a82ea124e9b96590f821db6fbf8754e2c4547a9dba0e82f94739e95"
+SRC_URI[idv.md5sum] = "2f32a45d43d001c26eeac6b878855fbf"
+SRC_URI[idv.sha256sum] = "89a85daf7031e93c883e76b9168a226dfd585bf5506e9e1956772163f15cb082"
+
+do_compile() {
+}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} prefix=${prefix} datadir=${datadir}
+ install -d ${D}${datadir}/poppler/cMap
+ install -m644 ${WORKDIR}/Identity-* ${D}${datadir}/poppler/cMap/
+}
+
+FILES:${PN} += "${datadir}"
diff --git a/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch b/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
index afb0b5df08..e07da387b2 100644
--- a/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
+++ b/meta-oe/recipes-support/poppler/poppler/0001-Do-not-overwrite-all-our-build-flags.patch
@@ -10,46 +10,46 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
- cmake/modules/PopplerMacros.cmake | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ cmake/modules/PopplerMacros.cmake | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake
+index 2aed028..3c30f3f 100644
--- a/cmake/modules/PopplerMacros.cmake
+++ b/cmake/modules/PopplerMacros.cmake
-@@ -104,14 +104,14 @@ if(CMAKE_COMPILER_IS_GNUCXX)
+@@ -117,13 +117,13 @@ if(CMAKE_COMPILER_IS_GNUCXX)
+ set(DEFAULT_COMPILE_WARNINGS "${_warn}")
set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
-
- set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
+
- set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-check-new -fno-common -fno-operator-names -D_DEFAULT_SOURCE")
+ set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-check-new -fno-common -fno-operator-names -D_DEFAULT_SOURCE ${_save_cxxflags}")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
- set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cxxflags}")
- set(CMAKE_CXX_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline ${_save_cxxflags}")
- set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline ${_save_cxxflags}")
- set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cxxflags}")
- set(_save_cflags "${CMAKE_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
+ set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline")
+ set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
- set(CMAKE_C_FLAGS "-std=c99 -D_DEFAULT_SOURCE")
+ set(CMAKE_C_FLAGS "-std=c99 -D_DEFAULT_SOURCE ${_save_cflags}")
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cflags}")
- set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cflags}")
- set(CMAKE_C_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline ${_save_cflags}")
-@@ -149,7 +149,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
+ set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG")
+ set(CMAKE_C_FLAGS_DEBUG "-g -O2 -fno-reorder-blocks -fno-schedule-insns -fno-inline")
+@@ -161,14 +161,14 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ set(DEFAULT_COMPILE_WARNINGS "${_warn}")
set(DEFAULT_COMPILE_WARNINGS_EXTRA "${_warn} ${_warnx}")
-
- set(_save_cxxflags "${CMAKE_CXX_FLAGS}")
+
- set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE")
+ set(CMAKE_CXX_FLAGS "-fno-exceptions -fno-check-new -fno-common -D_DEFAULT_SOURCE ${_save_cxxflags}")
- set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cxxflags}")
- set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cxxflags}")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
# clang does not support -fno-reorder-blocks -fno-schedule-insns, so do not use -O2
-@@ -157,7 +157,7 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline ${_save_cxxflags}")
- set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs ${_save_cxxflags}")
- set(_save_cflags "${CMAKE_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g")
+ set(CMAKE_CXX_FLAGS_DEBUGFULL "-g3 -fno-inline")
+ set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs")
- set(CMAKE_C_FLAGS "-std=c99 -D_DEFAULT_SOURCE")
+ set(CMAKE_C_FLAGS "-std=c99 -D_DEFAULT_SOURCE ${_save_cflags}")
- set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g ${_save_cflags}")
- set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG ${_save_cflags}")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
+ set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG")
# clang does not support -fno-reorder-blocks -fno-schedule-insns, so do not use -O2
---
+--
2.25.1
diff --git a/meta-oe/recipes-support/poppler/poppler/0001-cmake-Do-not-use-isystem.patch b/meta-oe/recipes-support/poppler/poppler/0001-cmake-Do-not-use-isystem.patch
new file mode 100644
index 0000000000..adbe82263f
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler/0001-cmake-Do-not-use-isystem.patch
@@ -0,0 +1,192 @@
+From 04686340c4cd375a17d60d31bf6943367cc33214 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 21 Jan 2023 03:09:08 -0800
+Subject: [PATCH] cmake: Do not use -isystem
+
+isystem dirs are searched before the regular system dirs
+this exposes an interesting include ordering problem when using
+clang + libc++, when including C++ headers like <cstdlib>
+
+cstdlib includes stdlib.h and in case of libc++, this should be coming
+from libc++ as well, which is then eventually including system stdlib.h
+
+libc++ has added a check for checking this order recently, which means
+if cstlib ends up including system stdlib.h before libc++ provided
+stdlib.h it errors out
+
+/mnt/b/yoe/master/build/tmp/work/riscv64-yoe-linux/thrift/0.17.0-r0/recipe-sysroot/usr/include/c++/v1/cstdlib:90:5: error: <cstdlib> tried including <stdlib.h> but didn't find libc++'s <stdlib.h> header. This usually means that your header search paths are not configured properly. The header search paths should contain the C++ Standard Library headers before any C Standard Library, and you are probably using compiler flags that make that not be the case.
+ ^
+
+The reason is that include_directories with SYSTEM property adds the
+directory via -system and some of these directories point to sysroot
+e.g. OPENSSL_INCLUDE_DIR which ends up adding -isystem
+<sysroot>/usr/include and causes the system stdlib.h to included before
+libc++ stdlib.h
+
+A fix is to use -idirafter which preserved the effects of system headers
+but instead of prepending, it will append to system headers and the
+issue is addressed
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+Upstream-Status: Pending
+
+ CMakeLists.txt | 4 ++--
+ glib/CMakeLists.txt | 4 ++--
+ qt5/src/CMakeLists.txt | 4 ++--
+ qt6/src/CMakeLists.txt | 4 ++--
+ test/CMakeLists.txt | 6 +++---
+ utils/CMakeLists.txt | 10 +++++-----
+ 6 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c6c757c..5f1c540 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -603,10 +603,10 @@ add_library(poppler ${poppler_SRCS})
+ if (OpenJPEG_FOUND)
+ # check if we can remove this when we depend on newer openjpeg versions, 2.5 seems fixed
+ # target openjp2 may lack interface include directories
+- target_include_directories(poppler SYSTEM PRIVATE ${OPENJPEG_INCLUDE_DIRS})
++ target_include_directories(poppler PRIVATE ${OPENJPEG_INCLUDE_DIRS})
+ endif()
+ if(USE_CMS)
+- target_include_directories(poppler SYSTEM PRIVATE ${LCMS2_INCLUDE_DIR})
++ target_include_directories(poppler PRIVATE ${LCMS2_INCLUDE_DIR})
+ endif()
+ generate_export_header(poppler BASE_NAME poppler-private EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/poppler_private_export.h")
+ set_target_properties(poppler PROPERTIES VERSION 127.0.0 SOVERSION 127)
+diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
+index 52e8687..08ab39a 100644
+--- a/glib/CMakeLists.txt
++++ b/glib/CMakeLists.txt
+@@ -4,7 +4,7 @@ include_directories(
+ )
+
+ include_directories(
+- SYSTEM
++
+ ${GLIB2_INCLUDE_DIRS}
+ ${CAIRO_INCLUDE_DIRS}
+ )
+@@ -96,7 +96,7 @@ if(MINGW AND BUILD_SHARED_LIBS)
+ set_target_properties(poppler-glib PROPERTIES SUFFIX "-${POPPLER_GLIB_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
+ endif()
+ target_link_libraries(poppler-glib poppler PkgConfig::GLIB2 ${CAIRO_LIBRARIES} Freetype::Freetype)
+-target_include_directories(poppler-glib SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS})
++target_include_directories(poppler-glib PRIVATE ${CAIRO_INCLUDE_DIRS})
+ install(TARGETS poppler-glib RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+ install(FILES
+diff --git a/qt5/src/CMakeLists.txt b/qt5/src/CMakeLists.txt
+index 5db3a6c..f242d29 100644
+--- a/qt5/src/CMakeLists.txt
++++ b/qt5/src/CMakeLists.txt
+@@ -45,11 +45,11 @@ if(MINGW AND BUILD_SHARED_LIBS)
+ endif()
+ target_link_libraries(poppler-qt5 poppler Qt5::Core Qt5::Gui Qt5::Xml Freetype::Freetype)
+ if (ENABLE_NSS3)
+- target_include_directories(poppler-qt5 SYSTEM PRIVATE ${NSS3_INCLUDE_DIRS})
++ target_include_directories(poppler-qt5 PRIVATE ${NSS3_INCLUDE_DIRS})
+ endif()
+ if(USE_CMS)
+ target_link_libraries(poppler-qt5 poppler ${LCMS2_LIBRARIES})
+- target_include_directories(poppler-qt5 SYSTEM PRIVATE ${LCMS2_INCLUDE_DIR})
++ target_include_directories(poppler-qt5 PRIVATE ${LCMS2_INCLUDE_DIR})
+ endif()
+ install(TARGETS poppler-qt5 RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+diff --git a/qt6/src/CMakeLists.txt b/qt6/src/CMakeLists.txt
+index cd91975..6c42e12 100644
+--- a/qt6/src/CMakeLists.txt
++++ b/qt6/src/CMakeLists.txt
+@@ -45,11 +45,11 @@ if(MINGW AND BUILD_SHARED_LIBS)
+ endif()
+ target_link_libraries(poppler-qt6 poppler Qt6::Core Qt6::Gui Freetype::Freetype)
+ if (ENABLE_NSS3)
+- target_include_directories(poppler-qt6 SYSTEM PRIVATE ${NSS3_INCLUDE_DIRS})
++ target_include_directories(poppler-qt6 PRIVATE ${NSS3_INCLUDE_DIRS})
+ endif()
+ if(USE_CMS)
+ target_link_libraries(poppler-qt6 poppler ${LCMS2_LIBRARIES})
+- target_include_directories(poppler-qt6 SYSTEM PRIVATE ${LCMS2_INCLUDE_DIR})
++ target_include_directories(poppler-qt6 PRIVATE ${LCMS2_INCLUDE_DIR})
+ endif()
+ install(TARGETS poppler-qt6 RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index afa1352..9bd3b9a 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -23,7 +23,7 @@ if (GTK_FOUND)
+ )
+ poppler_add_test(gtk-test BUILD_GTK_TESTS ${gtk_splash_test_SRCS})
+ target_link_libraries(gtk-test ${CAIRO_LIBRARIES} poppler-glib PkgConfig::GTK3)
+- target_include_directories(gtk-test SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS})
++ target_include_directories(gtk-test PRIVATE ${CAIRO_INCLUDE_DIRS})
+
+ if (HAVE_CAIRO)
+
+@@ -35,7 +35,7 @@ if (GTK_FOUND)
+ )
+ poppler_add_test(pdf-inspector BUILD_GTK_TESTS ${pdf_inspector_SRCS})
+ target_link_libraries(pdf-inspector ${CAIRO_LIBRARIES} Freetype::Freetype ${common_libs} PkgConfig::GTK3 poppler)
+- target_include_directories(pdf-inspector SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS})
++ target_include_directories(pdf-inspector PRIVATE ${CAIRO_INCLUDE_DIRS})
+ target_compile_definitions(pdf-inspector PRIVATE -DSRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
+ endif ()
+
+@@ -59,7 +59,7 @@ if (HAVE_CAIRO)
+ )
+ add_executable(cairo-thread-test ${cairo_thread_test_SRCS})
+ target_link_libraries(cairo-thread-test ${CAIRO_LIBRARIES} Freetype::Freetype Threads::Threads poppler)
+- target_include_directories(cairo-thread-test SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS})
++ target_include_directories(cairo-thread-test PRIVATE ${CAIRO_INCLUDE_DIRS})
+ endif ()
+ endif ()
+
+diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index 1c3ebcb..bc1840a 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -16,7 +16,7 @@ add_executable(pdftoppm ${pdftoppm_SOURCES})
+ target_link_libraries(pdftoppm ${common_libs})
+ if(LCMS2_FOUND)
+ target_link_libraries(pdftoppm ${LCMS2_LIBRARIES})
+- target_include_directories(pdftoppm SYSTEM PRIVATE ${LCMS2_INCLUDE_DIR})
++ target_include_directories(pdftoppm PRIVATE ${LCMS2_INCLUDE_DIR})
+ endif()
+ install(TARGETS pdftoppm DESTINATION bin)
+ install(FILES pdftoppm.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+@@ -37,10 +37,10 @@ if (HAVE_CAIRO)
+ add_definitions(${CAIRO_CFLAGS})
+ add_executable(pdftocairo ${pdftocairo_SOURCES})
+ target_link_libraries(pdftocairo ${CAIRO_LIBRARIES} Freetype::Freetype ${common_libs})
+- target_include_directories(pdftocairo SYSTEM PRIVATE ${CAIRO_INCLUDE_DIRS})
++ target_include_directories(pdftocairo PRIVATE ${CAIRO_INCLUDE_DIRS})
+ if(LCMS2_FOUND)
+ target_link_libraries(pdftocairo ${LCMS2_LIBRARIES})
+- target_include_directories(pdftocairo SYSTEM PRIVATE ${LCMS2_INCLUDE_DIR})
++ target_include_directories(pdftocairo PRIVATE ${LCMS2_INCLUDE_DIR})
+ endif()
+ install(TARGETS pdftocairo DESTINATION bin)
+ install(FILES pdftocairo.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+@@ -99,7 +99,7 @@ if (ENABLE_NSS3)
+ pdfsig.cc
+ )
+ add_executable(pdfsig ${pdfsig_SOURCES})
+- target_include_directories(pdfsig SYSTEM PRIVATE ${NSS3_INCLUDE_DIRS})
++ target_include_directories(pdfsig PRIVATE ${NSS3_INCLUDE_DIRS})
+ target_link_libraries(pdfsig ${common_libs})
+ install(TARGETS pdfsig DESTINATION bin)
+ install(FILES pdfsig.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+@@ -114,7 +114,7 @@ add_executable(pdftops ${pdftops_SOURCES})
+ target_link_libraries(pdftops ${common_libs})
+ if(LCMS2_FOUND)
+ target_link_libraries(pdftops ${LCMS2_LIBRARIES})
+- target_include_directories(pdftops SYSTEM PRIVATE ${LCMS2_INCLUDE_DIR})
++ target_include_directories(pdftops PRIVATE ${LCMS2_INCLUDE_DIR})
+ endif()
+ install(TARGETS pdftops DESTINATION bin)
+ install(FILES pdftops.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
diff --git a/meta-oe/recipes-support/poppler/poppler/CVE-2023-34872.patch b/meta-oe/recipes-support/poppler/poppler/CVE-2023-34872.patch
new file mode 100644
index 0000000000..cc942fad77
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler/CVE-2023-34872.patch
@@ -0,0 +1,46 @@
+From 591235c8b6c65a2eee88991b9ae73490fd9afdfe Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid@kde.org>
+Date: Fri, 18 Aug 2023 11:36:06 +0000
+Subject: [PATCH] OutlineItem::open: Fix crash on malformed files
+
+Fixes #1399
+
+CVE: CVE-2023-34872
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/poppler/poppler/-/commit/591235c8b6c65a2eee88991b9ae73490fd9afdfe]
+
+Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
+---
+ poppler/Outline.cc | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/poppler/Outline.cc b/poppler/Outline.cc
+index cbb6cb4..4c68be9 100644
+--- a/poppler/Outline.cc
++++ b/poppler/Outline.cc
+@@ -14,7 +14,7 @@
+ // under GPL version 2 or later
+ //
+ // Copyright (C) 2005 Marco Pesenti Gritti <mpg@redhat.com>
+-// Copyright (C) 2008, 2016-2019, 2021 Albert Astals Cid <aacid@kde.org>
++// Copyright (C) 2008, 2016-2019, 2021, 2023 Albert Astals Cid <aacid@kde.org>
+ // Copyright (C) 2009 Nick Jones <nick.jones@network-box.com>
+ // Copyright (C) 2016 Jason Crain <jason@aquaticape.us>
+ // Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
+@@ -483,8 +483,12 @@ void OutlineItem::open()
+ {
+ if (!kids) {
+ Object itemDict = xref->fetch(ref);
+- const Object &firstRef = itemDict.dictLookupNF("First");
+- kids = readItemList(this, &firstRef, xref, doc);
++ if (itemDict.isDict()) {
++ const Object &firstRef = itemDict.dictLookupNF("First");
++ kids = readItemList(this, &firstRef, xref, doc);
++ } else {
++ kids = new std::vector<OutlineItem *>();
++ }
+ }
+ }
+
+--
+2.35.5
diff --git a/meta-oe/recipes-support/poppler/poppler/jpeg-stdio.patch b/meta-oe/recipes-support/poppler/poppler/jpeg-stdio.patch
new file mode 100644
index 0000000000..70ba1cf123
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler/jpeg-stdio.patch
@@ -0,0 +1,41 @@
+From 2986f06c7cc9d64a506ebe861b8bf38f73386e86 Mon Sep 17 00:00:00 2001
+From: Jordan Abrahams-Whitehead <ajordanr@google.com>
+Date: Tue, 16 May 2023 18:52:19 +0000
+Subject: [PATCH] Add missing #include <cstdio> prior to jpeglib.h
+
+Fixes #1398
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ goo/JpegWriter.cc | 2 +-
+ poppler/ImageEmbeddingUtils.cc | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/goo/JpegWriter.cc b/goo/JpegWriter.cc
+index ca69fd055..566ee38f8 100644
+--- a/goo/JpegWriter.cc
++++ b/goo/JpegWriter.cc
+@@ -23,7 +23,7 @@
+ #ifdef ENABLE_LIBJPEG
+
+ # include "poppler/Error.h"
+-
++# include <cstdio>
+ extern "C" {
+ # include <jpeglib.h>
+ }
+diff --git a/poppler/ImageEmbeddingUtils.cc b/poppler/ImageEmbeddingUtils.cc
+index 0c13fe968..07b9dfb62 100644
+--- a/poppler/ImageEmbeddingUtils.cc
++++ b/poppler/ImageEmbeddingUtils.cc
+@@ -14,6 +14,7 @@
+
+ #include <memory>
+ #ifdef ENABLE_LIBJPEG
++# include <cstdio>
+ extern "C" {
+ # include <jpeglib.h>
+ }
+--
+GitLab
diff --git a/meta-oe/recipes-support/poppler/poppler_21.02.0.bb b/meta-oe/recipes-support/poppler/poppler_21.02.0.bb
deleted file mode 100644
index c85fbf2af6..0000000000
--- a/meta-oe/recipes-support/poppler/poppler_21.02.0.bb
+++ /dev/null
@@ -1,51 +0,0 @@
-SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
-HOMEPAGE = "https://poppler.freedesktop.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \
- file://0001-Do-not-overwrite-all-our-build-flags.patch \
- file://basename-include.patch \
- "
-SRC_URI[sha256sum] = "5c14759c99891e6e472aced6d5f0ff1dacf85d80cd9026d365c55c653edf792c"
-
-DEPENDS = "fontconfig zlib cairo lcms glib-2.0"
-
-inherit cmake pkgconfig gobject-introspection
-
-PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff"
-PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
-PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
-PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
-PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
-PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON,-DENABLE_SPLASH=OFF,boost"
-
-# surprise - did not expect this to work :)
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
-
-SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
-
-EXTRA_OECMAKE += " \
- -DENABLE_CMS=lcms2 \
- -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
- -DBUILD_GTK_TESTS=OFF \
- -DENABLE_ZLIB=ON \
- -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \
- ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \
-"
-
-do_configure_append() {
- # poppler macro uses pkg-config to check for g-ir runtimes. Something
- # makes them point to /usr/bin. Align them to sysroot - that's where the
- # gir-wrappers are:
- sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja
-}
-
-PACKAGES =+ "libpoppler libpoppler-glib"
-FILES_libpoppler = "${libdir}/libpoppler.so.*"
-FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
-
-RDEPENDS_libpoppler = "poppler-data"
diff --git a/meta-oe/recipes-support/poppler/poppler_23.04.0.bb b/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
new file mode 100644
index 0000000000..f4411e1163
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
@@ -0,0 +1,58 @@
+SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
+HOMEPAGE = "https://poppler.freedesktop.org/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \
+ file://0001-Do-not-overwrite-all-our-build-flags.patch \
+ file://basename-include.patch \
+ file://0001-cmake-Do-not-use-isystem.patch \
+ file://jpeg-stdio.patch \
+ file://CVE-2023-34872.patch \
+ "
+SRC_URI[sha256sum] = "b6d893dc7dcd4138b9e9df59a13c59695e50e80dc5c2cacee0674670693951a1"
+
+DEPENDS = "fontconfig zlib cairo lcms glib-2.0 glib-2.0-native"
+
+inherit cmake pkgconfig gobject-introspection
+
+PACKAGECONFIG ??= "jpeg openjpeg png tiff nss splash"
+PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON -DENABLE_DCTDECODER=libjpeg,-DWITH_JPEG=OFF -DENABLE_DCTDECODER=none,jpeg"
+PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng"
+PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff"
+PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
+PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
+PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
+PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
+PACKAGECONFIG[splash] = "-DENABLE_SPLASH=ON -DENABLE_BOOST=ON,-DENABLE_SPLASH=OFF -DENABLE_BOOST=OFF,boost"
+
+# surprise - did not expect this to work :)
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
+
+EXTRA_OECMAKE += " \
+ -DENABLE_CMS=lcms2 \
+ -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
+ -DBUILD_GTK_TESTS=OFF \
+ -DENABLE_ZLIB=ON \
+ -DRUN_GPERF_IF_PRESENT=OFF \
+ -DCMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES:PATH='${STAGING_INCDIR}' \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_GOBJECT_INTROSPECTION=ON', '-DENABLE_GOBJECT_INTROSPECTION=OFF', d)} \
+"
+EXTRA_OECMAKE:append:class-native = " -DENABLE_CPP=OFF"
+
+do_configure:append() {
+ # poppler macro uses pkg-config to check for g-ir runtimes. Something
+ # makes them point to /usr/bin. Align them to sysroot - that's where the
+ # gir-wrappers are:
+ sed -i 's: ${bindir}/g-ir: ${STAGING_BINDIR}/g-ir:' ${B}/build.ninja
+}
+
+PACKAGES =+ "libpoppler libpoppler-glib"
+FILES:libpoppler = "${libdir}/libpoppler.so.*"
+FILES:libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
+
+RDEPENDS:libpoppler = "poppler-data"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/portaudio/files/ldflags.patch b/meta-oe/recipes-support/portaudio/files/ldflags.patch
deleted file mode 100644
index aca93a51f2..0000000000
--- a/meta-oe/recipes-support/portaudio/files/ldflags.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Upstream forgot to pass LDFLAGS to everything apart from the main library.
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-diff --git a/Makefile.in b/Makefile.in
-index 5e1a764..61ecdd1 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -171,20 +171,20 @@ lib/$(PALIB): lib-stamp $(LTOBJS) $(MAKEFILE) $(PAINC)
- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS)
-
- $(ALL_TESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) test/%.c
-- @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
-- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
-+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
-+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
-
- $(EXAMPLES): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) examples/%.c
-- @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
-- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
-+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
-+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
-
- $(SELFTESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) qa/%.c
-- @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
-- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
-+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
-+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
-
- bin/paloopback: lib/$(PALIB) $(MAKEFILE) $(PAINC) $(LOOPBACK_OBJS)
-- @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
-- @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
-+ @WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
-+ @WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
-
- install: lib/$(PALIB) portaudio-2.0.pc
- $(INSTALL) -d $(DESTDIR)$(libdir)
-@@ -224,10 +224,10 @@ distclean: clean
- $(CC) -c $(CFLAGS) $< -o $@
-
- %.lo: %.c $(MAKEFILE) $(PAINC)
-- $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $< -o $@
-+ $(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $(LDFLAGS) $< -o $@
-
- %.lo: %.cpp $(MAKEFILE) $(PAINC)
-- $(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $< -o $@
-+ $(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $(LDFLAGS) $< -o $@
-
- %.o: %.cpp $(MAKEFILE) $(PAINC)
- $(CXX) -c $(CXXFLAGS) $< -o $@
diff --git a/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb b/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
new file mode 100644
index 0000000000..2bf4d0a449
--- /dev/null
+++ b/meta-oe/recipes-support/portaudio/portaudio-v19_19.7.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "A portable audio library"
+SECTION = "libs/multimedia"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df"
+
+PV .= "+git"
+
+SRC_URI = "git://github.com/PortAudio/portaudio.git;branch=master;protocol=https"
+SRCREV = "929e2e8f7af281c5eb4fa07758930d542ec43d97"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON"
+
+PACKAGECONFIG ??= "alsa jack"
+PACKAGECONFIG[alsa] = ",,alsa-lib"
+PACKAGECONFIG[jack] = ",,jack"
+PACKAGECONFIG[examples] = "-DPA_BUILD_EXAMPLES=ON,-DPA_BUILD_EXAMPLES=OFF"
+
+do_install:append() {
+ if [ -d ${B}/examples ]; then
+ install -d ${D}${bindir}
+ for example in ${B}/examples/pa*; do
+ install -m755 $example ${D}${bindir}/
+ done
+ fi
+}
diff --git a/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb b/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb
deleted file mode 100644
index 489f8ad9e2..0000000000
--- a/meta-oe/recipes-support/portaudio/portaudio-v19_20161030.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "A portable audio library"
-SECTION = "libs/multimedia"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df"
-
-PV = "v190600"
-
-SRC_URI = "http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz \
- file://ldflags.patch"
-SRC_URI[md5sum] = "4df8224e047529ca9ad42f0521bf81a8"
-SRC_URI[sha256sum] = "f5a21d7dcd6ee84397446fa1fa1a0675bb2e8a4a6dceb4305a8404698d8d1513"
-
-S = "${WORKDIR}/portaudio"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= "alsa jack"
-PACKAGECONFIG[alsa] = "--with-alsa, --without-alsa, alsa-lib,"
-PACKAGECONFIG[jack] = "--with-jack, --without-jack, jack,"
-
-EXTRA_OECONF = "--without-oss --without-asihpi"
-
-do_install_append() {
- mkdir --parents ${D}${bindir}
- for b in ${B}/bin/pa*; do
- # Bit nasty, should always work
- ${B}/*-libtool --mode install install $b ${D}${bindir}
- done
-}
-
-PACKAGES += "portaudio-examples"
-FILES_portaudio-examples = "${bindir}"
diff --git a/meta-oe/recipes-support/pps-tools/pps-tools_1.0.2.bb b/meta-oe/recipes-support/pps-tools/pps-tools_1.0.2.bb
deleted file mode 100644
index c8baa5d9ca..0000000000
--- a/meta-oe/recipes-support/pps-tools/pps-tools_1.0.2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "User-space tools for LinuxPPS"
-HOMEPAGE = "http://linuxpps.org"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-SRCREV = "cb48b7ecf7079ceba7081c78d4e61e507b0e8d2d"
-SRC_URI = "git://github.com/ago/pps-tools.git"
-
-S = "${WORKDIR}/git"
-
-RDEPENDS_${PN} = "bash"
-
-do_install() {
- install -d ${D}${bindir} ${D}${includedir} \
- ${D}${includedir}/sys
- oe_runmake 'DESTDIR=${D}' install
-}
diff --git a/meta-oe/recipes-support/pps-tools/pps-tools_1.0.3.bb b/meta-oe/recipes-support/pps-tools/pps-tools_1.0.3.bb
new file mode 100644
index 0000000000..65c06c1bd5
--- /dev/null
+++ b/meta-oe/recipes-support/pps-tools/pps-tools_1.0.3.bb
@@ -0,0 +1,18 @@
+SUMMARY = "User-space tools for LinuxPPS"
+HOMEPAGE = "http://linuxpps.org"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRCREV = "c50cb7183e252b47308fa22f420e0a877277aa29"
+SRC_URI = "git://github.com/ago/pps-tools.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS:${PN} = "bash"
+
+do_install() {
+ install -d ${D}${bindir} ${D}${includedir} \
+ ${D}${includedir}/sys
+ oe_runmake 'DESTDIR=${D}' install
+}
diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch
index 8341a8ecde..c1f9ce7eca 100644
--- a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch
+++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-compile-errors.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 1/3] From debian to fix compile errors
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
src/Makefile.0 | 7 +++----
src/autoconf | 64 +++++++++++++-------------------------------------------
src/comsat.c | 65 +++++++++++++++++++--------------------------------------
diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch
index 7b3c643b2b..78ac6241d0 100644
--- a/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch
+++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-fix-man-file.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 2/3] From debian to fix man file
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
man/procmail.man | 24 +++++++++++++++++-------
man/procmailrc.man | 2 +-
2 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch b/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch
index a94e436703..2bebccc0b2 100644
--- a/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch
+++ b/meta-oe/recipes-support/procmail/procmail/from-debian-to-modify-parameters.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 3/3] From debian to modify parameters
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
Makefile | 16 ++++++++--------
config.h | 13 +++++++------
2 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch b/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch
index 46d973e060..72fa27a834 100644
--- a/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch
+++ b/meta-oe/recipes-support/procmail/procmail/man-file-mailstat.1-from-debian.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] man file mailstat.1 from debian
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
debian/mailstat.1 | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 debian/mailstat.1
diff --git a/meta-oe/recipes-support/procmail/procmail_3.22.bb b/meta-oe/recipes-support/procmail/procmail_3.22.bb
index 6160733b3d..ba268de0a5 100644
--- a/meta-oe/recipes-support/procmail/procmail_3.22.bb
+++ b/meta-oe/recipes-support/procmail/procmail_3.22.bb
@@ -16,7 +16,7 @@ SRC_URI = "http://www.ring.gr.jp/archives/net/mail/${BPN}/${BP}.tar.gz \
SRC_URI[md5sum] = "1678ea99b973eb77eda4ecf6acae53f1"
SRC_URI[sha256sum] = "087c75b34dd33d8b9df5afe9e42801c9395f4bf373a784d9bc97153b0062e117"
-LICENSE = "GPL-2.0 & Artistic-1.0"
+LICENSE = "GPL-2.0-only & Artistic-1.0"
LIC_FILES_CHKSUM = "file://COPYING;md5=a71e50e197a992c862379e576e669757 \
file://Artistic;md5=505e00d03c3428cde21b17b2a386590e"
diff --git a/meta-oe/recipes-support/psutils/psutils_2.10.bb b/meta-oe/recipes-support/psutils/psutils_2.10.bb
new file mode 100644
index 0000000000..1f1894a5f2
--- /dev/null
+++ b/meta-oe/recipes-support/psutils/psutils_2.10.bb
@@ -0,0 +1,24 @@
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=87212b5f1ae096371049a12f80034f32"
+
+SRC_URI = "https://github.com/rrthomas/psutils/releases/download/v${PV}/psutils-${PV}.tar.gz"
+SRC_URI[sha256sum] = "6f8339fd5322df5c782bfb355d9f89e513353220fca0700a5a28775404d7e98b"
+
+inherit perlnative autotools
+
+export PERL="/usr/bin/env perl"
+
+DEPENDS += "libpaper-native"
+
+do_install:append() {
+ sed -i -e 's|${STAGING_BINDIR_NATIVE}/perl-native/|/usr/bin/env |g' ${D}${bindir}/pstops
+ for f in psbook psresize psnup psselect; do
+ grep -v '${B}' ${D}${bindir}/$f > ${D}${bindir}/$f.temp
+ install -m 0755 ${D}${bindir}/$f.temp ${D}${bindir}/$f
+ rm -f ${D}${bindir}/$f.temp
+ done
+}
+
+BBCLASSEXTEND += "native"
+# /usr/bin/pstops contained in package psutils requires perl
+RDEPENDS:${PN} += "perl"
diff --git a/meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch b/meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch
new file mode 100644
index 0000000000..c51fb1cfdb
--- /dev/null
+++ b/meta-oe/recipes-support/pv/pv/0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch
@@ -0,0 +1,40 @@
+From c5cd932fb08e7ce90cdbf9ae6c5cc7e65ac0738e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michael=20Wei=C3=9F?= <michael.weiss@aisec.fraunhofer.de>
+Date: Tue, 9 May 2023 20:00:26 +0200
+Subject: [PATCH] pv/display: handle error of tcgetpgrp() in pv_in_foreground()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Show pv progress bar even if no terminal is set, e.g., in a busybox
+init script. The description of pv_in_forground() states it will
+return true "if we aren't outputting to a terminal". However, this
+is not the case since tcgetpgrg() will return an error and set ERRNO
+to ENOTTY if the output fd is not an tty. We now handle this error
+correctly and pv_in_foreground() returns also true in that case.
+
+Signed-off-by: Michael Weiß <michael.weiss@aisec.fraunhofer.de>
+---
+Upstream-Status: Pending
+
+ src/pv/display.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/pv/display.c b/src/pv/display.c
+index aff643b..8d1f4c9 100644
+--- a/src/pv/display.c
++++ b/src/pv/display.c
+@@ -48,6 +48,10 @@ bool pv_in_foreground(void)
+
+ our_process_group = getpgrp();
+ tty_process_group = tcgetpgrp(STDERR_FILENO);
++
++ if (tty_process_group == -1 && errno == ENOTTY)
++ return true;
++
+ if (our_process_group == tty_process_group)
+ return true;
+
+--
+2.30.2
+
diff --git a/meta-oe/recipes-support/pv/pv/run-ptest b/meta-oe/recipes-support/pv/pv/run-ptest
new file mode 100644
index 0000000000..3f5956f4c0
--- /dev/null
+++ b/meta-oe/recipes-support/pv/pv/run-ptest
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+rm -rf tests.log
+sh -e run-test.sh pv . > tests.log 2>&1
+sed -e 's|\(.*\):.*OK|PASS: \1|' \
+ -e 's|\(.*\):.*FAILED|FAIL: \1|' \
+ tests.log
diff --git a/meta-oe/recipes-support/pv/pv_1.6.20.bb b/meta-oe/recipes-support/pv/pv_1.6.20.bb
new file mode 100644
index 0000000000..6a739af927
--- /dev/null
+++ b/meta-oe/recipes-support/pv/pv_1.6.20.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline"
+HOMEPAGE = "http://www.ivarch.com/programs/pv.shtml"
+
+LICENSE = "Artistic-2.0"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
+
+SRC_URI = "https://www.ivarch.com/programs/sources/${BP}.tar.bz2 \
+ file://0001-pv-display-handle-error-of-tcgetpgrp-in-pv_in_foregr.patch \
+ file://run-ptest \
+"
+SRC_URI[sha256sum] = "e831951eff0718fba9b1ef286128773b9d0e723e1fbfae88d5a3188814fdc603"
+
+UPSTREAM_CHECK_URI = "http://www.ivarch.com/programs/pv.shtml"
+UPSTREAM_CHECK_REGEX = "pv-(?P<pver>\d+(\.\d+)+).tar.bz2"
+
+inherit autotools ptest
+
+LDEMULATION:mipsarchn32 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'elf32btsmipn32', 'elf32ltsmipn32', d)}"
+export LDEMULATION
+
+RDEPENDS:${PN}-ptest += "coreutils ${PN}"
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests
+ cp -r ${S}/autoconf/scripts/run-test.sh ${D}${PTEST_PATH}
+ # sed -i -e 's@\$SRCDIR/@./@g' ${D}${PTEST_PATH}/run-ptest
+}
diff --git a/meta-oe/recipes-support/pv/pv_1.6.6.bb b/meta-oe/recipes-support/pv/pv_1.6.6.bb
deleted file mode 100644
index 0eef82b2c2..0000000000
--- a/meta-oe/recipes-support/pv/pv_1.6.6.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline"
-
-LICENSE = "Artistic-2.0"
-LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
-
-SRC_URI = "http://www.ivarch.com/programs/sources/${BP}.tar.bz2"
-SRC_URI[md5sum] = "ff3564fddcc2b9bd4a9c1d143aba4b4c"
-SRC_URI[sha256sum] = "608ef935f7a377e1439c181c4fc188d247da10d51a19ef79bcdee5043b0973f1"
-
-UPSTREAM_CHECK_URI = "http://www.ivarch.com/programs/pv.shtml"
-UPSTREAM_CHECK_REGEX = "pv-(?P<pver>\d+(\.\d+)+).tar.bz2"
-
-inherit autotools
-
-LDEMULATION_mipsarchn32 = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', 'elf32btsmipn32', 'elf32ltsmipn32', d)}"
-export LDEMULATION
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch
index 36983ec479..2b5b5caa6f 100644
--- a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: pxaregs-1.14/pxaregs.c
===================================================================
--- pxaregs-1.14.orig/pxaregs.c
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch
index a9c4b95cf0..c0f81725d9 100644
--- a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: pxaregs-1.14/pxaregs.c
===================================================================
--- pxaregs-1.14.orig/pxaregs.c
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch
index 06853851d0..fba2e7f513 100644
--- a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: pxaregs-1.14/pxaregs.c
===================================================================
--- pxaregs-1.14.orig/pxaregs.c
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch
index 59f21fe3c1..91ca0a7742 100644
--- a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch
+++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
Index: pxaregs-1.14/pxaregs.c
===================================================================
--- pxaregs-1.14.orig/pxaregs.c
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb b/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
index 30c41fffbe..b61fb026ca 100644
--- a/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
+++ b/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb
@@ -1,7 +1,6 @@
SUMMARY = "Tool to display and modify PXA registers at runtime"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://pxaregs.c;endline=12;md5=668d061b7637acc68cb8071c9be372e6"
-AUTHOR = "Holger Schurig <hs4233@mail.mn-solutions.de>"
HOMEPAGE = "http://www.mn-logistik.de/unsupported/pxa250/"
SRC_URI = "file://pxaregs.c \
diff --git a/meta-oe/recipes-support/raptor2/files/0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch b/meta-oe/recipes-support/raptor2/files/0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch
deleted file mode 100644
index 7faeb130a7..0000000000
--- a/meta-oe/recipes-support/raptor2/files/0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 3f97aac5a1f43ef57b02fb9ccdcadd41a6b69fa9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
-Date: Tue, 27 Oct 2015 10:21:24 +0100
-Subject: [PATCH] configure.ac: do additional checks on libxml2 also when
- detected by pkg-config
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Applied [1]
-
-[1] https://github.com/dajobe/raptor/pull/33
-
-Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 10ff870..35fa08e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -601,7 +601,7 @@ have_libxml=0
- need_libxml=0
-
- oCPPFLAGS="$CPPFLAGS"
--if test "X$XML_CONFIG" != X; then
-+if test "X$libxml_source" != X; then
- CPPFLAGS="$LIBXML_CFLAGS $CPPFLAGS"
- LIBS="$LIBS $LIBXML_LIBS"
- AC_CHECK_FUNC(xmlCreatePushParserCtxt, have_xmlCreatePushParserCtxt=yes, have_xmlCreatePushParserCtxt=no)
---
-2.1.0
-
diff --git a/meta-oe/recipes-support/raptor2/raptor2/0001-Remove-the-access-to-entities-checked-private-symbol.patch b/meta-oe/recipes-support/raptor2/raptor2/0001-Remove-the-access-to-entities-checked-private-symbol.patch
new file mode 100644
index 0000000000..e709616797
--- /dev/null
+++ b/meta-oe/recipes-support/raptor2/raptor2/0001-Remove-the-access-to-entities-checked-private-symbol.patch
@@ -0,0 +1,34 @@
+From da171e12d961b41b89196627ef5e5baae1e637ce Mon Sep 17 00:00:00 2001
+From: David Anes <david.anes@suse.com>
+Date: Thu, 4 May 2023 11:54:02 +0200
+Subject: [PATCH] Remove the access to entities 'checked' private symbol for
+ libxml2 2.11.0
+
+Since version 2.11.0, some private symbols that were never intended
+as public API/ABI have been removed from libxml2, therefore the field
+'checked' is no longer present and raptor fails to build in this
+scenario.
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Backport [https://github.com/dajobe/raptor/commit/ac914399b9013c54572833d4818e6ce008136dc9]
+---
+ src/raptor_libxml.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/raptor_libxml.c b/src/raptor_libxml.c
+index 538c2c8..8bcee13 100644
+--- a/src/raptor_libxml.c
++++ b/src/raptor_libxml.c
+@@ -246,10 +246,11 @@ raptor_libxml_getEntity(void* user_data, const xmlChar *name)
+
+ ret->owner = 1;
+
+-#if LIBXML_VERSION >= 20627
++#if LIBXML_VERSION >= 20627 && LIBXML_VERSION < 21100
+ /* Checked field was released in 2.6.27 on 2006-10-25
+ * http://git.gnome.org/browse/libxml2/commit/?id=a37a6ad91a61d168ecc4b29263def3363fff4da6
+ *
++ * and was later removed in version 2.11.0
+ */
+
+ /* Mark this entity as having been checked - never do this again */
diff --git a/meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb b/meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb
deleted file mode 100644
index dd00c14f72..0000000000
--- a/meta-oe/recipes-support/raptor2/raptor2_2.0.15.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Library for parsing and serializing RDF syntaxes"
-LICENSE = "GPLv2 | LGPLv2.1 | Apache-2.0"
-LIC_FILES_CHKSUM = " \
- file://LICENSE.txt;md5=b840e5ae3aeb897f45b473341348cd9c \
- file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
- file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
-"
-
-DEPENDS = "libxml2 libxslt curl yajl"
-
-SRC_URI = " \
- http://download.librdf.org/source/${BPN}-${PV}.tar.gz \
- file://0001-configure.ac-do-additional-checks-on-libxml2-also-wh.patch \
-"
-SRC_URI[md5sum] = "a39f6c07ddb20d7dd2ff1f95fa21e2cd"
-SRC_URI[sha256sum] = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = " \
- --without-xml2-config \
- --without-curl-config \
- --without-xslt-config \
-"
diff --git a/meta-oe/recipes-support/raptor2/raptor2_2.0.16.bb b/meta-oe/recipes-support/raptor2/raptor2_2.0.16.bb
new file mode 100644
index 0000000000..85012bcfb3
--- /dev/null
+++ b/meta-oe/recipes-support/raptor2/raptor2_2.0.16.bb
@@ -0,0 +1,24 @@
+SUMMARY = "Library for parsing and serializing RDF syntaxes"
+LICENSE = "GPL-2.0-only | LGPL-2.1-only | Apache-2.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.txt;md5=f7fed8b6ab9289b77f5c14f3f79572cc \
+ file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
+ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+ file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
+"
+
+DEPENDS = "libxml2 libxslt curl yajl"
+
+SRC_URI = " \
+ http://download.librdf.org/source/${BPN}-${PV}.tar.gz \
+ file://0001-Remove-the-access-to-entities-checked-private-symbol.patch \
+"
+SRC_URI[sha256sum] = "089db78d7ac982354bdbf39d973baf09581e6904ac4c92a98c5caadb3de44680"
+
+inherit autotools pkgconfig gtk-doc
+
+EXTRA_OECONF = " \
+ --without-xml2-config \
+ --without-curl-config \
+ --without-xslt-config \
+"
diff --git a/meta-oe/recipes-support/rdfind/rdfind_1.4.1.bb b/meta-oe/recipes-support/rdfind/rdfind_1.4.1.bb
deleted file mode 100644
index 42f2064fd4..0000000000
--- a/meta-oe/recipes-support/rdfind/rdfind_1.4.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Rdfind is a program that finds duplicate files"
-HOMEPAGE = "https://rdfind.pauldreik.se/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fa22e16ebbe6638b2bd253338fbded9f"
-
-DEPENDS = "nettle autoconf-archive"
-
-SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz \
-"
-
-SRC_URI[md5sum] = "180418c863b861d1df221bc486a07ce7"
-SRC_URI[sha256sum] = "30c613ec26eba48b188d2520cfbe64244f3b1a541e60909ce9ed2efb381f5e8c"
-
-inherit autotools
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/rdfind/rdfind_1.6.0.bb b/meta-oe/recipes-support/rdfind/rdfind_1.6.0.bb
new file mode 100644
index 0000000000..3a15fe6c9a
--- /dev/null
+++ b/meta-oe/recipes-support/rdfind/rdfind_1.6.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Rdfind is a program that finds duplicate files"
+HOMEPAGE = "https://rdfind.pauldreik.se/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fa22e16ebbe6638b2bd253338fbded9f"
+
+DEPENDS = "nettle autoconf-archive"
+
+SRC_URI = "https://rdfind.pauldreik.se/${BP}.tar.gz"
+SRC_URI[sha256sum] = "7a406e8ef1886a5869655604618dd98f672f12c6a6be4926d053be65070f3279"
+
+inherit autotools
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/re2/re2/run-ptest b/meta-oe/recipes-support/re2/re2/run-ptest
new file mode 100644
index 0000000000..8bd5fd1efb
--- /dev/null
+++ b/meta-oe/recipes-support/re2/re2/run-ptest
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+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-support/re2/re2_2020.11.01.bb b/meta-oe/recipes-support/re2/re2_2020.11.01.bb
deleted file mode 100644
index 7f6fcdb01b..0000000000
--- a/meta-oe/recipes-support/re2/re2_2020.11.01.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "A regular expression library"
-HOMEPAGE = "https://github.com/google/re2/"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b5c31eb512bdf3cb11ffd5713963760"
-
-SRCREV = "166dbbeb3b0ab7e733b278e8f42a84f6882b8a25"
-
-SRC_URI = "git://github.com/google/re2.git;branch=master"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE += " \
- -DBUILD_SHARED_LIBS=ON \
- -DRE2_BUILD_TESTING=OFF \
-"
-
-# Don't include so files in dev package
-FILES_${PN} = "${libdir}"
-FILES_${PN}-dev = "${includedir} ${libdir}/cmake"
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/re2/re2_2024.03.01.bb b/meta-oe/recipes-support/re2/re2_2024.03.01.bb
new file mode 100644
index 0000000000..192fe265f1
--- /dev/null
+++ b/meta-oe/recipes-support/re2/re2_2024.03.01.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "A regular expression library"
+HOMEPAGE = "https://github.com/google/re2/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b5c31eb512bdf3cb11ffd5713963760"
+
+# tag 2024-03-01
+SRCREV = "2d866a3d0753f4f4fce93cccc6c59c4b052d7db4"
+
+SRC_URI = "git://github.com/google/re2.git;branch=main;protocol=https \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', 'file://run-ptest', '', d)} \
+ "
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "abseil-cpp ${@bb.utils.contains('PTEST_ENABLED', '1', 'gtest googlebenchmark', '', d)}"
+
+inherit cmake ptest
+RDEPENDS:${PN}-ptest += "cmake sed"
+RDEPENDS:${PN} += "abseil-cpp-dev"
+
+INSANE_SKIP:${PN} += "dev-deps"
+
+EXTRA_OECMAKE += " \
+ -DBUILD_SHARED_LIBS=ON \
+ ${@bb.utils.contains('PTEST_ENABLED', '1', '-DRE2_BUILD_TESTING=ON', '-DRE2_BUILD_TESTING=OFF', d)} \
+"
+
+do_install_ptest () {
+ cp -r ${B}/*_test ${D}${PTEST_PATH}
+ cp -r ${B}/CTestTestfile.cmake ${D}${PTEST_PATH}
+ sed -i -e 's#${B}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+ sed -i -e 's#${S}#${PTEST_PATH}#g' `find ${D}${PTEST_PATH} -name CTestTestfile.cmake`
+ # ERROR: re2-2024.03.01-r0 do_package_qa: QA Issue: /usr/lib64/re2/ptest/string_generator_test contained in package re2-ptest requires libtesting.so()(64bit), but no providers found in RDEPENDS:re2-ptest? [file-rdeps]
+ cp -r ${B}/libtesting.so ${D}${PTEST_PATH}
+}
+
+# ignore .so in /usr/lib64
+FILES:${PN} = "${libdir}"
+INSANE_SKIP:${PN} += "dev-so"
+
+# Don't include so files in dev package
+FILES:${PN}-dev = "${includedir} ${libdir}/cmake"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb b/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
index 1aa492c31b..28da51a21c 100644
--- a/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
+++ b/meta-oe/recipes-support/read-edid/read-edid_3.0.2.bb
@@ -3,7 +3,6 @@ DESCRIPTION = "read-edid is a set of two tools - get-edid, which gets the raw \
EDID information from the monitor, and parse-edid, which turns \
the raw binary information into a xorg.conf-compatible monitor \
section."
-AUTHOR = "Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>"
HOMEPAGE = "http://www.polypux.org/projects/read-edid/"
SECTION = "console/utils"
LICENSE = "read-edid"
diff --git a/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb b/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb
new file mode 100644
index 0000000000..c038966ba8
--- /dev/null
+++ b/meta-oe/recipes-support/reboot-mode/reboot-mode_git.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Reboot the device to a specific mode."
+
+LICENSE = "GPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+SRC_URI = "git://gitlab.com/postmarketOS/reboot-mode.git;protocol=http;branch=master"
+SRCREV = "84831b20512abd9033414ca5f5a023f333525335"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} ${S}/reboot-mode.c -o ${B}/reboot-mode
+}
+
+do_install() {
+ install -D -m 0755 ${B}/reboot-mode ${D}${bindir}/reboot-mode
+}
diff --git a/meta-oe/recipes-support/remmina/remmina_1.4.11.bb b/meta-oe/recipes-support/remmina/remmina_1.4.11.bb
deleted file mode 100644
index 215c04a228..0000000000
--- a/meta-oe/recipes-support/remmina/remmina_1.4.11.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+"
-HOMEPAGE = "https://remmina.org"
-SECTION = "Support"
-LICENSE = "GPLv2 & openssl"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769"
-DEPENDS += "openssl freerdp gtk+3 gdk-pixbuf atk libgcrypt avahi libsodium libssh vte json-glib libsoup-2.4 libvncserver libsecret libxkbfile"
-
-
-DEPENDS_append_libc-musl = " libexecinfo"
-LDFLAGS_append_libc-musl = " -lexecinfo"
-
-SRCREV = "6a8737111adebf571c46f35599cc62e7f7b0bd65"
-SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=rel/v1.4.11 \
-"
-
-PV .= "+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-inherit cmake features_check mime-xdg
-REQUIRED_DISTRO_FEATURES = "x11"
-
-EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF"
-
-do_install_append(){
- # We dont need the extra stuff form other desktop environments
- rm -rf ${D}/${datadir}/xsessions
- rm -rf ${D}/${datadir}/metainfo
- rm -rf ${D}/${datadir}/gnome-session
-}
-
-PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol"
-
-RDEPENDS_${PN} = "bash"
-
-FILES_${PN}_append = " ${datadir}/icons/hicolor/*"
diff --git a/meta-oe/recipes-support/remmina/remmina_1.4.34.bb b/meta-oe/recipes-support/remmina/remmina_1.4.34.bb
new file mode 100644
index 0000000000..921d34d9fd
--- /dev/null
+++ b/meta-oe/recipes-support/remmina/remmina_1.4.34.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "A feature rich Remote Desktop Application written in GTK+"
+HOMEPAGE = "https://remmina.org"
+SECTION = "Support"
+LICENSE = "GPL-2.0-only & OpenSSL"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dab7215512044d49037272ce1ac4ea8f file://LICENSE.OpenSSL;md5=c1eb3cee0a4dea27503c531267a69769"
+
+DEPENDS = " \
+ glib-2.0-native \
+ openssl \
+ freerdp \
+ gtk+3 \
+ gdk-pixbuf \
+ atk \
+ libgcrypt \
+ libsodium \
+ libssh \
+ vte \
+ json-glib \
+ libsoup-3.0 \
+ libvncserver \
+ libsecret \
+ libxkbfile \
+"
+
+DEPENDS:append:libc-musl = " libexecinfo"
+LDFLAGS:append:libc-musl = " -lexecinfo"
+
+SRCREV = "75a0bdb795d99e052690178ae0d81ebdbd2cbdd3"
+SRC_URI = "git://gitlab.com/Remmina/Remmina;protocol=https;branch=master"
+S = "${WORKDIR}/git"
+
+inherit cmake features_check mime mime-xdg gtk-icon-cache pkgconfig
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECMAKE += "-DWITH_APPINDICATOR=OFF -DWITH_GETTEXT=OFF -DWITH_TRANSLATIONS=OFF -DHAVE_LIBAPPINDICATOR=OFF -DWITH_WEBKIT2GTK=OFF"
+
+PACKAGECONFIG[spice] = "-DWITH_SPICE=ON, -DWITH_SPICE=OFF, spice spice-protocol"
+# Switch on gtk support in avahi recipe if you want to enable avahi support
+PACKAGECONFIG[avahi] = "-DWITH_AVAHI=ON, -DWITH_AVAHI=OFF, avahi"
+
+do_configure:append() {
+ sed -i -e 's|${WORKDIR}|<WORKDIR>|g' ${B}/generated/buildflags.h
+}
+
+RDEPENDS:${PN} = "bash"
+
+FILES:${PN}+= " \
+ ${datadir}/metainfo \
+ ${datadir}/mime \
+"
diff --git a/meta-oe/recipes-support/reptyr/reptyr_0.10.0.bb b/meta-oe/recipes-support/reptyr/reptyr_0.10.0.bb
new file mode 100644
index 0000000000..57b31a78d9
--- /dev/null
+++ b/meta-oe/recipes-support/reptyr/reptyr_0.10.0.bb
@@ -0,0 +1,29 @@
+SUMMARY = "Reparent a running program to a new terminal"
+DESCRIPTION = "reptyr is a utility for taking an existing running program and \
+attaching it to a new terminal. Started a long-running process over ssh, but \
+have to leave and don't want to interrupt it? Just start a screen, use reptyr \
+to grab it, and then kill the ssh session and head on home."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=25a0555028c71837623fa6dfa4cc45c0"
+
+SRC_URI = "git://github.com/nelhage/reptyr.git;protocol=https;branch=master"
+SRCREV = "1238097fc2cd15db058d2185cc4985daa87bcd41"
+
+S = "${WORKDIR}/git"
+
+inherit bash-completion github-releases manpages pkgconfig
+
+GITHUB_BASE_URI = "https://github.com/nelhage/${BPN}/releases/"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[manpages] = ""
+
+EXTRA_OEMAKE = "'BINDIR=${bindir}' 'MANDIR=${mandir}' 'PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config'"
+
+do_compile () {
+ oe_runmake
+}
+
+do_install () {
+ oe_runmake install 'DESTDIR=${D}'
+}
diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
index 33f5dccca2..3cbd04bd5c 100644
--- a/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
+++ b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb
@@ -3,10 +3,10 @@ HOMEPAGE = "http://www.rsnapshot.org"
BUGTRACKER = "https://sourceforge.net/projects/rsnapshot/"
SECTION = "console/network"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
-RDEPENDS_${PN} = "rsync \
+RDEPENDS:${PN} = "rsync \
perl \
perl-module-dirhandle \
perl-module-cwd \
@@ -22,10 +22,10 @@ RDEPENDS_${PN} = "rsync \
perl-module-ipc-open3 \
"
-SRCREV = "a9e29850fc33c503c289e245c7bad350eed746d9"
-PV = "1.4.3+git${SRCPV}"
+SRCREV = "1b943dbc7695d62fac5c0f9549ec696a538be19c"
+PV = "1.4.5"
-SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \
+SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=https \
file://configure-fix-cmd_rsync.patch \
"
@@ -48,7 +48,7 @@ EXTRA_OECONF += "--without-cp \
# Create 't/include.ac' before starting the autoreconf to fix configure
# error: configure.ac:302: file 't/include.ac' does not exist
-do_configure_prepend(){
+do_configure:prepend(){
saved_dir=`pwd`
cd ${S}; ./autogen.sh
cd ${saved_dir}
diff --git a/meta-oe/recipes-support/rtc-tools/rtc-tools_2022.02.bb b/meta-oe/recipes-support/rtc-tools/rtc-tools_2022.02.bb
new file mode 100644
index 0000000000..d65f5da859
--- /dev/null
+++ b/meta-oe/recipes-support/rtc-tools/rtc-tools_2022.02.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Useful programs to test rtc drivers"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74274e8a218423e49eefdea80bc55038"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/${BPN}.git;protocol=https;branch=master"
+SRCREV = "61839777afedcc7bdb68ea4628c5ce5ca72c2ac8"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+do_install() {
+ oe_runmake install
+}
diff --git a/meta-oe/recipes-support/rtkit/rtkit_0.13.bb b/meta-oe/recipes-support/rtkit/rtkit_0.13.bb
new file mode 100644
index 0000000000..4f06e55e8e
--- /dev/null
+++ b/meta-oe/recipes-support/rtkit/rtkit_0.13.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "REALTIMEKIT Realtime Policy and Watchdog Daemon"
+LICENSE = "GPL-3.0-only & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a8e768468b658b3ed44971b53d4a6716"
+
+SRC_URI = "git://github.com/heftig/rtkit.git;protocol=https;branch=master"
+
+SRCREV = "b9169402fe5e82d20efb754509eb0b191f214599"
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig features_check useradd
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+DEPENDS = "dbus libcap polkit xxd-native"
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[systemd] = ",,systemd"
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} = "--system --no-create-home --user-group --shell /bin/nologin rtkit"
+
+FILES:${PN} += "${libdir} ${datadir} ${systemd_system_unitdir}"
+
diff --git a/meta-oe/recipes-support/sass/libsass_git.bb b/meta-oe/recipes-support/sass/libsass_git.bb
index 9cba3a8901..f0824944b9 100644
--- a/meta-oe/recipes-support/sass/libsass_git.bb
+++ b/meta-oe/recipes-support/sass/libsass_git.bb
@@ -5,9 +5,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8f34396ca205f5e119ee77aae91fa27d"
inherit autotools
-SRC_URI = "git://github.com/sass/libsass.git;branch=master"
-SRCREV = "8d312a1c91bb7dd22883ebdfc829003f75a82396"
-PV = "3.6.4"
+SRC_URI = "git://github.com/sass/libsass.git;branch=master;protocol=https"
+SRCREV = "7037f03fabeb2b18b5efa84403f5a6d7a990f460"
+PV = "3.6.6"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/sass/sassc_git.bb b/meta-oe/recipes-support/sass/sassc_git.bb
index 3c7a55cc3d..9bb8c76e87 100644
--- a/meta-oe/recipes-support/sass/sassc_git.bb
+++ b/meta-oe/recipes-support/sass/sassc_git.bb
@@ -6,9 +6,9 @@ DEPENDS = "libsass"
inherit autotools pkgconfig
-SRC_URI = "git://github.com/sass/sassc.git"
-SRCREV = "46748216ba0b60545e814c07846ca10c9fefc5b6"
+SRC_URI = "git://github.com/sass/sassc.git;branch=master;protocol=https"
+SRCREV = "66f0ef37e7f0ad3a65d2f481eff09d09408f42d0"
S = "${WORKDIR}/git"
-PV = "3.6.1"
+PV = "3.6.2"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch
index b6c32c4bd5..24efc13560 100644
--- a/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch
+++ b/meta-oe/recipes-support/satyr/files/0002-fix-compile-failure-against-musl-C-library.patch
@@ -10,19 +10,17 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
lib/rpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/lib/rpm.c b/lib/rpm.c
-index 920e145..58140bf 100644
--- a/lib/rpm.c
+++ b/lib/rpm.c
-@@ -191,7 +191,7 @@ sr_rpm_package_sort(struct sr_rpm_package *packages)
- }
+@@ -34,6 +34,11 @@
+ #include <assert.h>
+ #include <string.h>
- /* Sort the array. */
-- qsort(array, count, sizeof(struct sr_rpm_package*), (comparison_fn_t)cmp_nevra_qsort_wrapper);
-+ qsort(array, count, sizeof(struct sr_rpm_package*), cmp_nevra_qsort_wrapper);
-
- /* Create a linked list from the sorted array. */
- for (size_t loop = 0; loop < count; ++loop)
---
-2.8.1
-
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++#endif
++
+ struct sr_rpm_package *
+ sr_rpm_package_new()
+ {
diff --git a/meta-oe/recipes-support/satyr/satyr_0.36.bb b/meta-oe/recipes-support/satyr/satyr_0.36.bb
deleted file mode 100644
index b6988baa76..0000000000
--- a/meta-oe/recipes-support/satyr/satyr_0.36.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "Satyr is a collection of low-level algorithms for program \
-failure processing, analysis, and reporting supporting kernel space, user \
-space, Python, and Java programs"
-
-HOMEPAGE = "https://github.com/abrt/satyr"
-LICENSE = "GPLv2"
-
-inherit autotools-brokensep python3native pkgconfig
-
-SRC_URI = "git://github.com/abrt/satyr.git \
- file://0002-fix-compile-failure-against-musl-C-library.patch \
-"
-SRCREV = "a1f232b7dbca7ff787076fcfb63ce7d7fb15b753"
-S = "${WORKDIR}/git"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS += " \
- gdb \
- gperf-native \
- json-c \
- nettle \
- glib-2.0 \
-"
-
-PACKAGES += "python3-${BPN}"
-FILES_python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}"
-
-PACKAGECONFIG ??= "python3 rpm"
-PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
-PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm"
-
-do_configure_prepend() {
- ${S}/gen-version
-}
diff --git a/meta-oe/recipes-support/satyr/satyr_0.43.bb b/meta-oe/recipes-support/satyr/satyr_0.43.bb
new file mode 100644
index 0000000000..9e6d701c7f
--- /dev/null
+++ b/meta-oe/recipes-support/satyr/satyr_0.43.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Satyr is a collection of low-level algorithms for program \
+failure processing, analysis, and reporting supporting kernel space, user \
+space, Python, and Java programs"
+
+HOMEPAGE = "https://github.com/abrt/satyr"
+LICENSE = "GPL-2.0-only"
+
+inherit autotools-brokensep python3native python3targetconfig pkgconfig
+
+SRC_URI = "git://github.com/abrt/satyr.git;branch=master;protocol=https \
+ file://0002-fix-compile-failure-against-musl-C-library.patch \
+ "
+SRCREV = "5891618d6a95afc4cde6757374485adf9bf0e9a5"
+S = "${WORKDIR}/git"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS += " \
+ gdb \
+ gperf-native \
+ json-c \
+ nettle \
+ glib-2.0 \
+"
+
+PACKAGES += "python3-${BPN}"
+FILES:python3-${BPN} = "${PYTHON_SITEPACKAGES_DIR}/${BPN}"
+
+PACKAGECONFIG ??= "python3 rpm"
+PACKAGECONFIG[python3] = "--with-python3, --without-python3,,python3"
+PACKAGECONFIG[rpm] = "--with-rpm, --without-rpm, rpm"
+
+do_configure:prepend() {
+ ${S}/gen-version
+}
diff --git a/meta-oe/recipes-support/sdmon/sdmon_git.bb b/meta-oe/recipes-support/sdmon/sdmon_git.bb
new file mode 100644
index 0000000000..522539a67b
--- /dev/null
+++ b/meta-oe/recipes-support/sdmon/sdmon_git.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Get SD card health data"
+HOMEPAGE = "https://github.com/Ognian/sdmon"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://github.com/Ognian/sdmon;protocol=https;branch=master"
+
+PV = "0.8.1+git"
+SRCREV = "ef1aec457f04a50721f0259651cca9c946f11390"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ oe_runmake -C ${S}/src CC="${CC}" CFLAGS="${CFLAGS} -D_REENTRANT -DVERSION=\"\\\"${PV}\\\"\"" LDFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ install -Dm 0755 ${S}/src/sdmon ${D}${bindir}/sdmon
+}
diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.11.bb b/meta-oe/recipes-support/sdparm/sdparm_1.11.bb
deleted file mode 100644
index 7fc87db2bd..0000000000
--- a/meta-oe/recipes-support/sdparm/sdparm_1.11.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "fetch and change SCSI mode pages"
-DESCRIPTION = "The sdparm utility accesses and optionally modifies \
-SCSI devices' mode page and inquiry data."
-HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html"
-SECTION = "console/utils"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \
- file://lib/BSD_LICENSE;md5=12cde17a04c30dece2752f36b7192c64"
-DEPENDS="sg3-utils"
-SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \
- file://make-sysroot-work.patch \
- "
-MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
-
-UPSTREAM_CHECK_REGEX = "sdparm-(?P<pver>\d+(\.\d+)+)\.tgz"
-
-PACKAGES =+ "${PN}-scripts"
-RDEPENDS_${PN}-scripts += "bash ${PN}"
-
-SRC_URI[md5sum] = "cd998d1c12a4ec11652d0af580f06b4d"
-SRC_URI[sha256sum] = "432fdbfe90f0c51640291faf7602489b0ae56dfb96d0c02ed02308792adc7fb0"
-
-inherit autotools
-
-# Put the bash scripts to ${PN}-scripts
-FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp"
diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.12.bb b/meta-oe/recipes-support/sdparm/sdparm_1.12.bb
new file mode 100644
index 0000000000..a5f98e6723
--- /dev/null
+++ b/meta-oe/recipes-support/sdparm/sdparm_1.12.bb
@@ -0,0 +1,26 @@
+SUMMARY = "fetch and change SCSI mode pages"
+DESCRIPTION = "The sdparm utility accesses and optionally modifies \
+SCSI devices' mode page and inquiry data."
+HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html"
+SECTION = "console/utils"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \
+ file://lib/BSD_LICENSE;md5=12cde17a04c30dece2752f36b7192c64"
+DEPENDS="sg3-utils"
+SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \
+ file://make-sysroot-work.patch \
+ "
+MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
+
+UPSTREAM_CHECK_REGEX = "sdparm-(?P<pver>\d+(\.\d+)+)\.tgz"
+
+PACKAGES =+ "${PN}-scripts"
+RDEPENDS:${PN}-scripts += "bash ${PN}"
+
+SRC_URI[md5sum] = "2902fd29e6834fd62c16bb5d1ac53c7e"
+SRC_URI[sha256sum] = "e7f84247069da9a0c293963948d8aba8e5897a13e35e5476c8258acb7ca3a124"
+
+inherit autotools
+
+# Put the bash scripts to ${PN}-scripts
+FILES:${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp"
diff --git a/meta-oe/recipes-support/serial-utils/pty-forward-native.bb b/meta-oe/recipes-support/serial-utils/pty-forward-native.bb
index 7f59b3ecad..82994331ee 100644
--- a/meta-oe/recipes-support/serial-utils/pty-forward-native.bb
+++ b/meta-oe/recipes-support/serial-utils/pty-forward-native.bb
@@ -1,12 +1,11 @@
SUMMARY = "Receive a forwarded serial from serial-forward and provide a PTY"
-AUTHOR = "Holger 'Zecke' Freyther"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
SECTION = "console/network"
SRCREV = "00dbec2636ae0385ad028587e20e446272ff97ec"
-PV = "1.1+gitr${SRCPV}"
+PV = "1.1+git"
-SRC_URI = "git://github.com/freesmartphone/cornucopia.git;protocol=https"
+SRC_URI = "git://github.com/freesmartphone/cornucopia.git;protocol=https;branch=master"
S = "${WORKDIR}/git/tools/serial_forward"
inherit autotools native
diff --git a/meta-oe/recipes-support/serial-utils/serial-forward/0001-correct-the-typo-in-include-file-name-string.h.patch b/meta-oe/recipes-support/serial-utils/serial-forward/0001-correct-the-typo-in-include-file-name-string.h.patch
new file mode 100644
index 0000000000..f65d2c4bbf
--- /dev/null
+++ b/meta-oe/recipes-support/serial-utils/serial-forward/0001-correct-the-typo-in-include-file-name-string.h.patch
@@ -0,0 +1,27 @@
+From 2897794c337625d1951eb0b402cd8840ae2182a8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 10:33:57 -0700
+Subject: [PATCH] correct the typo in include file name string.h
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tools/serial_forward/src/forward.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/serial_forward/src/forward.c b/tools/serial_forward/src/forward.c
+index 9fad6f9b..4c0dd9df 100644
+--- a/tools/serial_forward/src/forward.c
++++ b/tools/serial_forward/src/forward.c
+@@ -20,7 +20,7 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <termios.h>
+-#include <strings.h>
++#include <string.h>
+ #include <getopt.h>
+
+ #include "forward.h"
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch b/meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch
index 7dcc67d114..a3fb678965 100644
--- a/meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch
+++ b/meta-oe/recipes-support/serial-utils/serial-forward/0001-serial_forward-Disable-default-static-linking.patch
@@ -7,6 +7,8 @@ This does not work with ssp turned on with hardening flags on musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
tools/serial_forward/src/Makefile.am | 3 ---
1 file changed, 3 deletions(-)
diff --git a/meta-oe/recipes-support/serial-utils/serial-forward_git.bb b/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
index 0ef829856c..541ae84a93 100644
--- a/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
+++ b/meta-oe/recipes-support/serial-utils/serial-forward_git.bb
@@ -1,13 +1,13 @@
SUMMARY = "Forward a serial using TCP/IP"
-AUTHOR = "Holger 'Zecke' Freyther'"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
SECTION = "console/devel"
SRCREV = "07c6fdede0870edc37a8d51d033b6e7e29aa7c91"
-PV = "1.1+gitr${SRCPV}"
+PV = "1.1+git"
-SRC_URI = "git://github.com/freesmartphone/cornucopia.git \
+SRC_URI = "git://github.com/freesmartphone/cornucopia.git;branch=master;protocol=https \
file://0001-serial_forward-Disable-default-static-linking.patch;striplevel=3 \
+ file://0001-correct-the-typo-in-include-file-name-string.h.patch;striplevel=3 \
"
S = "${WORKDIR}/git/tools/serial_forward"
diff --git a/meta-oe/recipes-support/serial/serial/Findcatkin.cmake b/meta-oe/recipes-support/serial/serial/Findcatkin.cmake
new file mode 100644
index 0000000000..2f93564be3
--- /dev/null
+++ b/meta-oe/recipes-support/serial/serial/Findcatkin.cmake
@@ -0,0 +1,5 @@
+# Work-around for https://github.com/wjwwood/serial/issues/135
+
+function(catkin_package)
+endfunction()
+
diff --git a/meta-oe/recipes-support/serial/serial_1.2.1.bb b/meta-oe/recipes-support/serial/serial_1.2.1.bb
new file mode 100644
index 0000000000..8c1fb063b3
--- /dev/null
+++ b/meta-oe/recipes-support/serial/serial_1.2.1.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Cross-platform library for interfacing with rs-232 serial like ports"
+HOMEPAGE = "http://wjwwood.io/serial/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://README.md;beginline=53;endline=62;md5=049c68d559533f90250404746e6a1045"
+
+SRC_URI = " \
+ git://github.com/wjwwood/${BPN}.git;protocol=https;branch=main \
+ file://Findcatkin.cmake \
+"
+SRCREV = "10ac4e1c25c2cda1dc0a32a8e12b87fd89f3bb4f"
+SRC_URI[sha256sum] = "c8cd235dda2ef7d977ba06dfcb35c35e42f45cfd9149ba3ad257756123d8ff96"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# Work-around for https://github.com/wjwwood/serial/issues/135
+EXTRA_OECMAKE = " \
+ -DCMAKE_MODULE_PATH=${WORKDIR} \
+ -DCATKIN_PACKAGE_LIB_DESTINATION=${libdir} \
+ -DCATKIN_PACKAGE_BIN_DESTINATION=${bindir} \
+ -DCATKIN_GLOBAL_INCLUDE_DESTINATION=${includedir} \
+ -DCATKIN_ENABLE_TESTING=OFF \
+"
+
+# Do not depend on the main package since it will be empty
+RDEPENDS:${PN}-dev = ""
+
diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.45.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.45.bb
deleted file mode 100644
index 22995b773f..0000000000
--- a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.45.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Utilities for working with generic SCSI devices"
-
-DESCRIPTION = "This package contains low level utilities for devices that use the SCSI command set"
-
-HOMEPAGE = "http://sg.danny.cz/sg/sg3_utils.html"
-SECTION = "console/admin"
-
-LICENSE = "GPLv2+ & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca"
-
-SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz \
-"
-MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
-
-UPSTREAM_CHECK_REGEX = "sg3_utils-(?P<pver>\d+(\.\d+)+)\.tgz"
-
-SRC_URI[md5sum] = "2e71d7cd925dcc48acb24afaaaac7990"
-SRC_URI[sha256sum] = "0b87c971af52af7cebebcce343eac6bd3d73febb3c72af9ce41a4552f1605a61"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/sg3_utils-${PV}"
-
-RDEPENDS_${PN} += "bash"
diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.48.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.48.bb
new file mode 100644
index 0000000000..6c3d813983
--- /dev/null
+++ b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.48.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Utilities for working with generic SCSI devices"
+
+DESCRIPTION = "This package contains low level utilities for devices that use the SCSI command set"
+
+HOMEPAGE = "http://sg.danny.cz/sg/sg3_utils.html"
+SECTION = "console/admin"
+
+LICENSE = "GPL-2.0-or-later & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f685699d3ac82f108aa880043fa3feb7"
+
+SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz"
+MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
+
+UPSTREAM_CHECK_REGEX = "sg3_utils-(?P<pver>\d+(\.\d+)+)\.tgz"
+
+SRC_URI[sha256sum] = "d62b6c3cf20390fa7357044390084166d25f1d932a1135c450b69fe5c283d773"
+
+inherit autotools-brokensep
+
+S = "${WORKDIR}/sg3_utils-${PV}"
+
+RDEPENDS:${PN} += "bash"
diff --git a/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch b/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch
index 7b627c16dd..583fe33ece 100644
--- a/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch
+++ b/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-build-with-clang.patch
@@ -8,6 +8,8 @@ whereas it does support format attribute, we hard code it
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/shar-opts.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-building-with-GCC-10.patch b/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-building-with-GCC-10.patch
index 9e2ebe7564..0d9978a214 100644
--- a/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-building-with-GCC-10.patch
+++ b/meta-oe/recipes-support/sharutils/sharutils/0001-Fix-building-with-GCC-10.patch
@@ -21,6 +21,8 @@ declarations.
Signed-off-by: Petr Písař <address@hidden>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/shar-opts.h | 2 +-
src/shar-std.def | 2 +-
src/unshar-opts.h | 2 +-
diff --git a/meta-oe/recipes-support/sharutils/sharutils/0001-configure.ac-Check-and-define-intmax_t-type.patch b/meta-oe/recipes-support/sharutils/sharutils/0001-configure.ac-Check-and-define-intmax_t-type.patch
new file mode 100644
index 0000000000..32562a08bc
--- /dev/null
+++ b/meta-oe/recipes-support/sharutils/sharutils/0001-configure.ac-Check-and-define-intmax_t-type.patch
@@ -0,0 +1,32 @@
+From ea6f7a4c22f1b6f28cf426566cccd65eb9a0e9de Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 10 Sep 2023 13:52:31 -0700
+Subject: [PATCH] configure.ac: Check and define intmax_t type
+
+If stdint.h or inttypes.h defines the type intmax_t, define HAVE_INTMAX_T.
+Otherwise, define intmax_t to the widest signed integer type.
+
+intmax_t is defined in lib/system.h if system is not providing it but it
+needs to be checked by configure for existence first.
+
+Upstream-Status: Submitted [https://savannah.gnu.org/bugs/index.php?64653]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 1242cb7..2ccaac9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -72,6 +72,7 @@ AC_HEADER_STAT
+ AC_HEADER_STDC
+ AC_STRUCT_TIMEZONE
+ AC_TYPE_SIZE_T
++AC_TYPE_INTMAX_T
+ AC_CHECK_FUNCS([fchmod isascii strchr])
+ AC_FUNC_CLOSEDIR_VOID
+ AC_FUNC_FSEEKO
+--
+2.42.0
+
diff --git a/meta-oe/recipes-support/sharutils/sharutils/0002-Do-not-include-lib-md5.c-into-src-shar.c.patch b/meta-oe/recipes-support/sharutils/sharutils/0002-Do-not-include-lib-md5.c-into-src-shar.c.patch
index d4a8d6fbae..5932ddf1c0 100644
--- a/meta-oe/recipes-support/sharutils/sharutils/0002-Do-not-include-lib-md5.c-into-src-shar.c.patch
+++ b/meta-oe/recipes-support/sharutils/sharutils/0002-Do-not-include-lib-md5.c-into-src-shar.c.patch
@@ -20,6 +20,8 @@ shar.o:shar.c:(.text+0x28): first defined here
Signed-off-by: Petr Písař <address@hidden>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
src/shar.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/meta-oe/recipes-support/sharutils/sharutils/CVE-2018-1000097.patch b/meta-oe/recipes-support/sharutils/sharutils/CVE-2018-1000097.patch
index 99dc4e3046..47eb9cfd64 100644
--- a/meta-oe/recipes-support/sharutils/sharutils/CVE-2018-1000097.patch
+++ b/meta-oe/recipes-support/sharutils/sharutils/CVE-2018-1000097.patch
@@ -36,7 +36,7 @@ This was reported in
<http://lists.gnu.org/archive/html/bug-gnu-utils/2018-02/msg00004.html>.
CVE: CVE-2018-1000097
-Upstream-Status: no upstream [http://lists.gnu.org/archive/html/bug-gnu-utils/2018-02/msg00004.html]
+Upstream-Status: Inappropriate [no upstream]
Signed-off-by: Petr Písař <ppisar@redhat.com>
Signed-off-by: Sinan Kaya <okaya@kernel.org>
---
diff --git a/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb b/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
index 8bbc6815ed..2a16b18288 100644
--- a/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
+++ b/meta-oe/recipes-support/sharutils/sharutils_4.15.2.bb
@@ -1,7 +1,7 @@
SUMMARY = "This is the set of GNU shar utilities."
HOMEPAGE = "http://www.gnu.org/software/sharutils/"
SECTION = "console/utils"
-LICENSE="GPLv3+"
+LICENSE="GPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit gettext autotools update-alternatives
@@ -12,11 +12,12 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://0001-Fix-build-with-recent-gettext.patch \
file://0001-Fix-building-with-GCC-10.patch \
file://0002-Do-not-include-lib-md5.c-into-src-shar.c.patch \
+ file://0001-configure.ac-Check-and-define-intmax_t-type.patch \
"
SRC_URI[md5sum] = "32a51b23e25ad5e6af4b89f228be1800"
SRC_URI[sha256sum] = "ee336e68549664e7a19b117adf02edfdeac6307f22e5ba78baca457116914637"
-do_install_append() {
+do_install:append() {
if [ -e ${D}${libdir}/charset.alias ]
then
rm -rf ${D}${libdir}/charset.alias
@@ -26,6 +27,6 @@ do_install_append() {
BBCLASSEXTEND = "native nativesdk"
-ALTERNATIVE_${PN} = "uudecode uuencode"
+ALTERNATIVE:${PN} = "uudecode uuencode"
ALTERNATIVE_LINK_NAME[uudecode] = "${bindir}/uudecode"
ALTERNATIVE_LINK_NAME[uuencode] = "${bindir}/uuencode"
diff --git a/meta-oe/recipes-support/smarty/smarty_4.4.1.bb b/meta-oe/recipes-support/smarty/smarty_4.4.1.bb
new file mode 100644
index 0000000000..1caa4cd1bb
--- /dev/null
+++ b/meta-oe/recipes-support/smarty/smarty_4.4.1.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "the compiling PHP template engine"
+SECTION = "console/network"
+HOMEPAGE = "https://www.smarty.net/"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=2c0f216b2120ffc367e20f2b56df51b3"
+
+DEPENDS += "php"
+
+SRC_URI = "git://github.com/smarty-php/smarty.git;protocol=https;branch=support/4.3"
+
+SRCREV = "f4152e9b814ae2369b6e4935c05e1e0c3654318d"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}/php/smarty3/libs/
+ install -m 0644 ${S}/libs/*.php ${D}${datadir}/php/smarty3/libs/
+
+ install -d ${D}${datadir}/php/smarty3/libs/plugins
+ install -m 0644 ${S}/libs/plugins/*.php ${D}${datadir}/php/smarty3/libs/plugins/
+
+ install -d ${D}${datadir}/php/smarty3/libs/sysplugins
+ install -m 0644 ${S}/libs/sysplugins/*.php ${D}${datadir}/php/smarty3/libs/sysplugins/
+}
+FILES:${PN} = "${datadir}/php/smarty3/"
diff --git a/meta-oe/recipes-support/span-lite/span-lite_0.11.0.bb b/meta-oe/recipes-support/span-lite/span-lite_0.11.0.bb
new file mode 100644
index 0000000000..9dc393fd08
--- /dev/null
+++ b/meta-oe/recipes-support/span-lite/span-lite_0.11.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "single-file header-only version of a C++20-like span for C++98, C++11 and later"
+HOMEPAGE = "https://github.com/martinmoene/span-lite"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI += "git://github.com/martinmoene/span-lite;branch=master;protocol=https"
+SRCREV = "50f55c59d1b66910837313c40d11328d03447a41"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/meta-oe/recipes-support/span-lite/span-lite_0.8.1.bb b/meta-oe/recipes-support/span-lite/span-lite_0.8.1.bb
deleted file mode 100644
index 6956f5fe6e..0000000000
--- a/meta-oe/recipes-support/span-lite/span-lite_0.8.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "single-file header-only version of a C++20-like span for C++98, C++11 and later"
-HOMEPAGE = "https://github.com/martinmoene/span-lite"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-SRC_URI += "git://github.com/martinmoene/span-lite"
-SRCREV = "937262f25fb702592cbc5c772111a73a5e3c1e07"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-inherit ptest
diff --git a/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch b/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch
deleted file mode 100644
index b62b379a76..0000000000
--- a/meta-oe/recipes-support/spdlog/files/0001-Enable-use-of-external-fmt-library.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 23ce2fe30e7485d48e2864bdd8276119fbb8cbd1 Mon Sep 17 00:00:00 2001
-From: Philip Balister <philip@balister.org>
-Date: Thu, 3 Dec 2020 09:22:50 -0500
-Subject: [PATCH] Enable use of external fmt library.
-
-Signed-off-by: Philip Balister <philip@balister.org>
----
- include/spdlog/tweakme.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/spdlog/tweakme.h b/include/spdlog/tweakme.h
-index 244bc3b3..2594a6fe 100644
---- a/include/spdlog/tweakme.h
-+++ b/include/spdlog/tweakme.h
-@@ -63,7 +63,7 @@
- // In this case spdlog will try to include <fmt/format.h> so set your -I flag
- // accordingly.
- //
--// #define SPDLOG_FMT_EXTERNAL
-+#define SPDLOG_FMT_EXTERNAL
- ///////////////////////////////////////////////////////////////////////////////
-
- ///////////////////////////////////////////////////////////////////////////////
---
-2.28.0
-
diff --git a/meta-oe/recipes-support/spdlog/spdlog_1.13.0.bb b/meta-oe/recipes-support/spdlog/spdlog_1.13.0.bb
new file mode 100644
index 0000000000..c6a0881db9
--- /dev/null
+++ b/meta-oe/recipes-support/spdlog/spdlog_1.13.0.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Very fast, header only, C++ logging library."
+HOMEPAGE = "https://github.com/gabime/spdlog/wiki"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9573510928429ad0cbe5ba4de77546e9"
+
+SRCREV = "7c02e204c92545f869e2f04edaab1f19fe8b19fd"
+SRC_URI = "git://github.com/gabime/spdlog.git;protocol=https;branch=v1.x"
+
+DEPENDS = "fmt"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+# no need to build example & tests & benchmarks on pure yocto
+EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_SHARED=on -DSPDLOG_BUILD_EXAMPLE=off -DSPDLOG_FMT_EXTERNAL=on"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/spdlog/spdlog_1.8.2.bb b/meta-oe/recipes-support/spdlog/spdlog_1.8.2.bb
deleted file mode 100644
index 67ec802cdd..0000000000
--- a/meta-oe/recipes-support/spdlog/spdlog_1.8.2.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Very fast, header only, C++ logging library."
-HOMEPAGE = "https://github.com/gabime/spdlog/wiki"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-SRCREV = "de0dbfa3596a18cd70a4619b6a9766847a941276"
-SRC_URI = "git://github.com/gabime/spdlog.git;protocol=git;branch=v1.x; \
- file://0001-Enable-use-of-external-fmt-library.patch"
-
-DEPENDS += "fmt"
-
-S = "${WORKDIR}/git"
-
-BBCLASSEXTEND = "native"
-# no need to build example&text&benchmarks on pure yocto
-EXTRA_OECMAKE += "-DSPDLOG_INSTALL=on -DSPDLOG_BUILD_SHARED=on -DSPDLOG_BUILD_EXAMPLES=off -DSPDLOG_BUILD_TESTS=off -DSPDLOG_BUILD_BENCH=off -DSPDLOG_FMT_EXTERNAL=on"
-
-inherit cmake
-
-# Header-only library
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-support/spitools/spitools_git.bb b/meta-oe/recipes-support/spitools/spitools_git.bb
index cde26df498..1e3d6beaf4 100644
--- a/meta-oe/recipes-support/spitools/spitools_git.bb
+++ b/meta-oe/recipes-support/spitools/spitools_git.bb
@@ -1,16 +1,14 @@
DESCRIPTION = "This package contains some simple command line tools to help using Linux spidev devices"
HOMEPAGE = "https://github.com/cpb-/spi-tools"
-AUTHOR = "Christophe BLAESS"
-LICENSE="GPLv2"
+LICENSE="GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381"
-BPV = "0.8.7"
-PV = "${BPV}"
-SRCREV = "67937230d70ad87c23c7116a72df83577e309f6f"
+PV = "1.0.2"
+SRCREV = "1748e092425a4a0ff693aa347062a57fc1ffdd00"
S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/cpb-/spi-tools.git;protocol=git"
+SRC_URI = "git://github.com/cpb-/spi-tools.git;protocol=https;branch=master"
inherit autotools
diff --git a/meta-oe/recipes-support/srecord/files/0001-Disable-doxygen.patch b/meta-oe/recipes-support/srecord/files/0001-Disable-doxygen.patch
new file mode 100644
index 0000000000..0ed9e87771
--- /dev/null
+++ b/meta-oe/recipes-support/srecord/files/0001-Disable-doxygen.patch
@@ -0,0 +1,85 @@
+From d75193671c235e4b3bd02417b40516f3bfeb55b6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 30 Apr 2023 14:09:21 -0700
+Subject: [PATCH] Disable doxygen
+
+doxygen (dot) detect does not work in cross environment here with cmake
+
+Upstream-Status: Inappropriate [Cross-compile specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ etc/configure.cmake | 2 +-
+ srecord/CMakeLists.txt | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+--- a/etc/configure.cmake
++++ b/etc/configure.cmake
+@@ -103,32 +103,3 @@ option(_TANDEM_SOURCE ON)
+ # Enable general extensions on Solaris.
+ option(__EXTENSIONS__ ON)
+
+-# Doxygen configuration
+-find_package(Doxygen REQUIRED doxygen dot)
+-
+-set(DOXYGEN_DOT_GRAPH_MAX_NODES 150)
+-set(DOXYGEN_ALPHABETICAL_INDEX NO)
+-set(DOXYGEN_BUILTIN_STL_SUPPORT YES)
+-set(DOXYGEN_CASE_SENSE_NAMES NO)
+-set(DOXYGEN_CLASS_DIAGRAMS YES)
+-set(DOXYGEN_DISTRIBUTE_GROUP_DOC YES)
+-set(DOXYGEN_EXCLUDE bin)
+-set(DOXYGEN_EXTRACT_ALL YES)
+-set(DOXYGEN_EXTRACT_LOCAL_CLASSES NO)
+-set(DOXYGEN_FILE_PATTERNS *.h)
+-set(DOXYGEN_GENERATE_TREEVIEW YES)
+-set(DOXYGEN_HIDE_FRIEND_COMPOUNDS YES)
+-set(DOXYGEN_HIDE_IN_BODY_DOCS YES)
+-set(DOXYGEN_HIDE_UNDOC_CLASSES YES)
+-set(DOXYGEN_HIDE_UNDOC_MEMBERS YES)
+-set(DOXYGEN_JAVADOC_AUTOBRIEF YES)
+-set(DOXYGEN_QT_AUTOBRIEF YES)
+-set(DOXYGEN_QUIET YES)
+-set(DOXYGEN_RECURSIVE YES)
+-set(DOXYGEN_REFERENCED_BY_RELATION YES)
+-set(DOXYGEN_REFERENCES_RELATION YES)
+-set(DOXYGEN_SORT_BY_SCOPE_NAME YES)
+-set(DOXYGEN_SORT_MEMBER_DOCS NO)
+-set(DOXYGEN_SOURCE_BROWSER YES)
+-set(DOXYGEN_STRIP_CODE_COMMENTS NO)
+-set(DOXYGEN_GENERATE_HTML YES)
+--- a/srecord/CMakeLists.txt
++++ b/srecord/CMakeLists.txt
+@@ -34,9 +34,9 @@ install(DIRECTORY ${CMAKE_CURRENT_SOURCE
+ FILES_MATCHING PATTERN "*.h")
+
+ # Install the Doxygen output for the website
+-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
+- DESTINATION ${CMAKE_INSTALL_DOCDIR}/htdocs/srecord
+- COMPONENT website)
++#install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
++# DESTINATION ${CMAKE_INSTALL_DOCDIR}/htdocs/srecord
++# COMPONENT website)
+
+ # Generate config.h to suit local environment
+ configure_file(config.h.in config.h @ONLY)
+@@ -44,6 +44,6 @@ configure_file(patchlevel.h.in patchleve
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+ # Generate doxygen content
+-doxygen_add_docs(doxygen
+- ${LIB_SRECORD_HDR}
+- ALL)
++#doxygen_add_docs(doxygen
++# ${LIB_SRECORD_HDR}
++# ALL)
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -55,7 +55,7 @@ enable_testing()
+ add_subdirectory(test)
+
+ # Documentation & Man Pages
+-add_subdirectory(doc)
++# add_subdirectory(doc)
+
+ # Package SRecord
+ include(CPack)
diff --git a/meta-oe/recipes-support/srecord/files/0001-cmake-Do-not-try-to-compute-library-dependencies-dur.patch b/meta-oe/recipes-support/srecord/files/0001-cmake-Do-not-try-to-compute-library-dependencies-dur.patch
new file mode 100644
index 0000000000..524dc74611
--- /dev/null
+++ b/meta-oe/recipes-support/srecord/files/0001-cmake-Do-not-try-to-compute-library-dependencies-dur.patch
@@ -0,0 +1,45 @@
+From 756169511ed13e4c7adc06c7c108d365ac66b9f8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 30 Apr 2023 22:58:47 -0700
+Subject: [PATCH] cmake: Do not try to compute library dependencies during
+ install
+
+Since we are cross-building the dependencies are not in final install
+location but in a staging area in recipe specific sysroot and it wont be
+able to resolve the libraries all the time
+
+Fixes
+| CMake Error at srec_cat/cmake_install.cmake:66 (file):
+| file Could not resolve runtime dependencies:
+|
+| libc++.so.1
+| libc.so
+| Call Stack (most recent call first):
+| cmake_install.cmake:52 (include)
+
+Upstream-Status: Inappropriate [OE-specific]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ etc/packaging.cmake | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/etc/packaging.cmake b/etc/packaging.cmake
+index ee2a32c..9804fd8 100644
+--- a/etc/packaging.cmake
++++ b/etc/packaging.cmake
+@@ -45,12 +45,6 @@ FUNCTION(INSTALL_SRECORD_EXECUTABLE_TARGET target)
+
+ install(IMPORTED_RUNTIME_ARTIFACTS ${target}
+ RUNTIME_DEPENDENCY_SET ${PROJECT_NAME}_dlls COMPONENT ${target})
+- install(RUNTIME_DEPENDENCY_SET ${PROJECT_NAME}_dlls
+- PRE_EXCLUDE_REGEXES "api-ms-" "ext-ms-"
+- POST_EXCLUDE_REGEXES ".*system32/.*\\.dll"
+- DIRECTORIES ${DLL_SEARCH_DIRS}
+- COMPONENT ${target}
+- )
+ ENDFUNCTION()
+
+ # Packaging
+--
+2.40.1
+
diff --git a/meta-oe/recipes-support/srecord/files/0001-cmake-respect-explicit-install-prefix.patch b/meta-oe/recipes-support/srecord/files/0001-cmake-respect-explicit-install-prefix.patch
new file mode 100644
index 0000000000..64584656fa
--- /dev/null
+++ b/meta-oe/recipes-support/srecord/files/0001-cmake-respect-explicit-install-prefix.patch
@@ -0,0 +1,31 @@
+From 4aa8cf8c93e1fa6ffeb40fc3473f32b1b83af141 Mon Sep 17 00:00:00 2001
+From: "Ilya A. Kriveshko" <iillyyaa@gmail.com>
+Date: Tue, 2 Jan 2024 15:37:10 -0500
+Subject: [PATCH] cmake: respect explicit install prefix
+
+If CMAKE_INSTALL_PREFIX was supplied externally, use it. This follows
+the pattern suggested by cmake documentation in:
+https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT.html
+
+Upstream-Status: Submitted [https://github.com/sierrafoxtrot/srecord/pull/68]
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 74b8108c..ac9f464e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,9 +30,9 @@ include(InstallRequiredSystemLibraries)
+ include(GNUInstallDirs)
+
+ # FHS compliant paths for Linux installation
+-if(NOT WIN32 AND CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+-# set(CMAKE_INSTALL_PREFIX "/opt/${PROJECT_NAME}")
+- set(CMAKE_INSTALL_PREFIX "/usr")
++if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT
++ AND NOT WIN32 AND CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
++ set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Install prefix" FORCE)
+ endif()
+
+ # Pull in the rest of the pieces
diff --git a/meta-oe/recipes-support/srecord/files/add-option-to-remove-docs.patch b/meta-oe/recipes-support/srecord/files/add-option-to-remove-docs.patch
deleted file mode 100644
index 9b2bd99795..0000000000
--- a/meta-oe/recipes-support/srecord/files/add-option-to-remove-docs.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Add option to build this utility without a documentation.
-
-For full documentation building are necessary utilities like
-groff and ps2pdf. Full documentation can takes a lot of space.
-So it can be disabled by overloading makefile variable WITHOUT_DOC.
-
-Upstream-Status: Inappropriate [Other]
-Workaround specific to our build system.
-
-Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
-
-diff --git a/Makefile.in b/Makefile.in
-index 9bdd8f1..a2b5494 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -141,6 +141,14 @@ GROFF = @GROFF@
- #
- SOELIM = @SOELIM@
-
-+# Option to build this utility without building and installing the documentation.
-+WITHOUT_DOC ?= 0
-+ifeq ($(WITHOUT_DOC),0)
-+ BUILD_DOC = all-doc
-+ INST_DOC = install-doc
-+ CLR_DOC = clean-doc
-+endif
-+
- # ---------------------------------------------------------
- # You should not need to change anything below this line.
-
-@@ -4090,7 +4098,7 @@ bin/test_url_decode: $(test_url_decode_obj) .bin srecord/libsrecord.la
- $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ \
- $(test_url_decode_obj) srecord/libsrecord.la $(LDFLAGS) $(LIBS)
-
--all: all-bin all-doc
-+all: all-bin $(BUILD_DOC)
-
- all-bin: bin/srec_cat bin/srec_cmp bin/srec_info bin/test_arglex_ambiguous \
- bin/test_crc16 bin/test_fletcher16 bin/test_gecos \
-@@ -4156,7 +4164,7 @@ test_files = t0001a t0002a t0003a t0004a t0005a t0006a t0007a t0008a t0009a \
- sure: $(test_files)
- @echo Passed All Tests
-
--clean: clean-bin clean-doc clean-misc clean-obj
-+clean: clean-bin $(CLR_DOC) clean-misc clean-obj
-
- clean-bin:
- rm -f bin/srec_cat bin/srec_cmp bin/srec_info bin/test_arglex_ambiguous
-@@ -4443,7 +4451,7 @@ distclean-directories:
- rm -rf test/fletcher16/.libs test/gecos/.libs test/hyphen/.libs
- rm -rf test/url_decode/.libs
-
--install: install-bin install-doc install-include install-libdir install-man
-+install: install-bin $(INST_DOC) install-include install-libdir install-man
-
- install-bin: $(bindir)/srec_cat $(bindir)/srec_cmp $(bindir)/srec_info
-
diff --git a/meta-oe/recipes-support/srecord/srecord_1.64.bb b/meta-oe/recipes-support/srecord/srecord_1.64.bb
deleted file mode 100644
index 4c34fa1bc3..0000000000
--- a/meta-oe/recipes-support/srecord/srecord_1.64.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "A collection of powerful tools for manipulating EPROM load files."
-SECTION = "devel"
-LICENSE = "GPLv3+ & LGPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8dfcbf2f0a144b97f0931b6394debea7"
-
-SRC_URI = " \
- http://srecord.sourceforge.net/srecord-${PV}.tar.gz \
- file://add-option-to-remove-docs.patch \
-"
-
-SRC_URI[md5sum] = "4de4a7497472d7972645c2af91313769"
-SRC_URI[sha256sum] = "49a4418733c508c03ad79a29e95acec9a2fbc4c7306131d2a8f5ef32012e67e2"
-
-UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/srecord/files/releases"
-
-DEPENDS = "libtool-native boost groff-native"
-
-inherit autotools-brokensep
-
-EXTRA_OECONF = "--without-gcrypt LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
-
-# Set variable WITHOUT_DOC=0 to enable documentation generation
-EXTRA_OEMAKE = "WITHOUT_DOC=1"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/srecord/srecord_1.65.0.bb b/meta-oe/recipes-support/srecord/srecord_1.65.0.bb
new file mode 100644
index 0000000000..3e8a87d07f
--- /dev/null
+++ b/meta-oe/recipes-support/srecord/srecord_1.65.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A collection of powerful tools for manipulating EPROM load files."
+SECTION = "devel"
+LICENSE = "GPL-3.0-or-later & LGPL-3.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = " \
+ https://sourceforge.net/projects/${BPN}/files/srecord/${@oe.utils.trim_version('${PV}', 2)}/${BP}-Source.tar.gz \
+ file://0001-Disable-doxygen.patch \
+ file://0001-cmake-Do-not-try-to-compute-library-dependencies-dur.patch \
+ file://0001-cmake-respect-explicit-install-prefix.patch"
+SRC_URI[sha256sum] = "81c3d07cf15ce50441f43a82cefd0ac32767c535b5291bcc41bd2311d1337644"
+S = "${WORKDIR}/${BP}-Source"
+
+UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/srecord/files/releases"
+
+DEPENDS = "boost libgcrypt"
+
+inherit cmake
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch
index d9190e5bdf..5842ff1f36 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0001-Don-t-use-__GNUC_PREREQ.patch
@@ -10,6 +10,8 @@ availability first
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
lib/efi/efi.h | 4 ++--
lib/engine/pragma.h | 4 ++--
lib/log/log.h | 4 ++--
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch
index fd44571b69..b522146602 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0001-Include-libgen.h.patch
@@ -9,6 +9,8 @@ would be upstreams choice to make
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
tools/ssieventmonitor.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch
index 8fdbf3e60e..c01c7e5ccd 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0001-log-Avoid-shadowing-functions-from-std-lib.patch
@@ -5,6 +5,8 @@ Subject: [PATCH 1/4] log: Avoid shadowing functions from std lib
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
lib/log/log.c | 2 +-
lib/log/log.h | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch
index acc718d23d..390faeb77b 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0002-Use-stangard-int-types.patch
@@ -10,6 +10,8 @@ error: unknown type name '__uint8_t'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
lib/engine/end_device.cpp | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch
index 2eeab54e53..aabbc04e57 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0002-boost-Backport-clang-support.patch
@@ -7,6 +7,8 @@ backport headers from boost 1.59
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
lib/boost/config/compiler/clang.hpp | 272 +++++++++
lib/boost/config/stdlib/libcpp.hpp | 80 +++
lib/boost/cstdint.hpp | 542 ++++++++++++++++++
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch
index 261358459e..e5e257b49a 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0003-engine-Define-discover-const-String-path-in-base-cla.patch
@@ -11,6 +11,8 @@ Remove ununsed orom_vmd
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
lib/engine/storage_object.h | 3 +++
lib/engine/vmd_raid_info.h | 2 --
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch
index 848d38b223..d70be51ee6 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0003-replace-canonicalize_file_name-with-realpath.patch
@@ -11,6 +11,8 @@ error: use of undeclared identifier 'canonicalize_file_name'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
lib/engine/filesystem.cpp | 2 +-
tools/ssieventmonitor.cpp | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch
index ca2ffc56b1..56e3c658a4 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0004-Do-not-override-flags-coming-from-build-environment.patch
@@ -8,6 +8,8 @@ without this change, the build would fail
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch
index d63eb50619..005a35e5a4 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0004-include-limits.h.patch
@@ -8,6 +8,8 @@ error: use of undeclared identifier 'PATH_MAX'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
tools/ssieventmonitor.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch b/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch
index c516f65252..6dd7fc735e 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch
+++ b/meta-oe/recipes-support/ssiapi/ssiapi/0005-enable-out-of-source-tree-builds.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] enable out of source tree builds
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
lib/efi/Makefile.am | 2 +-
lib/engine/Makefile.am | 2 +-
lib/orom/Makefile.am | 2 +-
diff --git a/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb b/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
index ce46cf5892..bf9de31f84 100644
--- a/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
+++ b/meta-oe/recipes-support/ssiapi/ssiapi_1.3.0.bb
@@ -29,10 +29,13 @@ S ="${WORKDIR}/${BPN}.${PV}"
inherit autotools
-do_configure_prepend(){
+CXXFLAGS += "-std=gnu++14"
+
+do_configure:prepend(){
${S}/autogen.sh
}
-RDEPENDS_${PN} += "mdadm"
+RDEPENDS:${PN} += "mdadm"
-COMPATIBLE_HOST_powerpc = 'null'
+COMPATIBLE_HOST:powerpc = 'null'
+COMPATIBLE_HOST:powerpc64le = 'null'
diff --git a/meta-oe/recipes-support/stm32flash/stm32flash_0.6.bb b/meta-oe/recipes-support/stm32flash/stm32flash_0.6.bb
deleted file mode 100644
index 195c0f5c27..0000000000
--- a/meta-oe/recipes-support/stm32flash/stm32flash_0.6.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-SUMMARY = "Open source flash program for STM32 using the ST serial bootloader"
-HOMEPAGE = "https://sourceforge.net/projects/stm32flash/"
-BUGTRACKER = "https://sourceforge.net/p/stm32flash/tickets/"
-LICENSE = "GPL-2.0+"
-LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
-
-do_install() {
- oe_runmake install DESTDIR=${D} PREFIX=${prefix}
-}
-
-SRC_URI[sha256sum] = "ee9b40d4d3e5cd28b993e08ae2a2c3c559b6bea8730cd7e1d40727dedb1dda09"
diff --git a/meta-oe/recipes-support/stm32flash/stm32flash_0.7.bb b/meta-oe/recipes-support/stm32flash/stm32flash_0.7.bb
new file mode 100644
index 0000000000..0998aa6778
--- /dev/null
+++ b/meta-oe/recipes-support/stm32flash/stm32flash_0.7.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Open source flash program for STM32 using the ST serial bootloader"
+HOMEPAGE = "https://sourceforge.net/projects/stm32flash/"
+BUGTRACKER = "https://sourceforge.net/p/stm32flash/tickets/"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} PREFIX=${prefix}
+}
+
+SRC_URI[sha256sum] = "c4c9cd8bec79da63b111d15713ef5cc2cd947deca411d35d6e3065e227dc414a"
diff --git a/meta-oe/recipes-support/switchtec-user/switchtec-user_4.2.bb b/meta-oe/recipes-support/switchtec-user/switchtec-user_4.2.bb
new file mode 100644
index 0000000000..17f54dcf4c
--- /dev/null
+++ b/meta-oe/recipes-support/switchtec-user/switchtec-user_4.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Easy to use CLI and C library for communicating with Microsemi's Switchtec management interface"
+HOMEPAGE = "https://github.com/Microsemi/switchtec-user"
+SECTION = "console/utils"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3d6b07c89629cff2990d2e8e1f4c2382"
+
+DEPENDS = "ncurses openssl"
+
+SRCREV = "e7c351c6c722336b3c79b79cd002c7c2986eefb0"
+SRC_URI = "git://github.com/Microsemi/switchtec-user.git;protocol=https;branch=master"
+SRC_URI[sha256sum] = "a715e46d8498418dbb8a2519318ba0714ee148151d7e4a7fa5e27770a2f6888f"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig
+
+EXTRA_OEMAKE = "DESTDIR='${D}' PREFIX='${prefix}' LDCONFIG='true' LIBDIR='${D}${libdir}'"
+
+do_install () {
+ oe_runmake install
+}
diff --git a/meta-oe/recipes-support/synergy/synergy_git.bb b/meta-oe/recipes-support/synergy/synergy_git.bb
index dba89d181c..fb767942fe 100644
--- a/meta-oe/recipes-support/synergy/synergy_git.bb
+++ b/meta-oe/recipes-support/synergy/synergy_git.bb
@@ -13,7 +13,7 @@ SRC_URI = "git://github.com/symless/synergy-core;protocol=https;nobranch=1"
# Version 1.10.1-stable
SRCREV ?= "1b4c076127687aceac931d269e898beaac1cad9f"
-PV = "1.10.1+git${SRCPV}"
+PV = "1.10.1+git"
S = "${WORKDIR}/git"
@@ -21,4 +21,4 @@ inherit cmake features_check
EXTRA_OECMAKE += "-DSYNERGY_BUILD_LEGACY_GUI=OFF"
-FILES_${PN} += "${datadir}/icons/hicolor"
+FILES:${PN} += "${datadir}/icons/hicolor"
diff --git a/meta-oe/recipes-support/syslog-ng/files/0001-Fix-buildpaths-warning.patch b/meta-oe/recipes-support/syslog-ng/files/0001-Fix-buildpaths-warning.patch
new file mode 100644
index 0000000000..c7bb4a64d9
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/0001-Fix-buildpaths-warning.patch
@@ -0,0 +1,55 @@
+From d85a7a3ae2bb9f5267b2af43784633ae8f011f21 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 13 Mar 2023 09:50:15 +0800
+Subject: [PATCH] Fix buildpaths warning
+
+Fix buildpath warning:
+WARNING: syslog-ng-4.0.1-r0 do_package_qa: QA Issue: File /usr/include/syslog-ng/syslog-ng-config-64.h in package syslog-ng-dev contains reference to TMPDIR [buildpaths]
+WARNING: syslog-ng-4.0.1-r0 do_package_qa: QA Issue: File /usr/bin/syslog-ng-update-virtualenv in package syslog-ng contains reference to TMPDIR
+File /usr/bin/pdbtool in package syslog-ng contains reference to TMPDIR [buildpaths]
+WARNING: syslog-ng-4.0.1-r0 do_package_qa: QA Issue: File /usr/lib/syslog-ng/libdbparser.so in package syslog-ng-libs contains reference to TMPDIR [buildpaths]
+
+* SYSLOG_NG_PATH_TOPSRC_DIR is /yocto/build/tmp/work/core2-64-poky-linux/syslog-ng/4.0.1-r0,
+ which is used to get xsd dir in build SYSLOG_NG_PATH_TOPSRC_DIR/doc/xsd,
+ which is not suitable for target, set it to "/source" for fixing this buildpath warning
+
+* SYSTEM_PYTHON is /yocto/build/tmp/hosttools/python3, set to python3
+ for target.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ configure.ac | 2 +-
+ scripts/syslog-ng-update-virtualenv.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 79a1502..1ad6508 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1930,7 +1930,7 @@ AC_DEFINE_UNQUOTED(PYTHON_SYSCONF_MODULE_DIR, "$python_sysconf_moduledir", [Pyth
+ AC_DEFINE_UNQUOTED(PATH_LOGGENPLUGINDIR, "$loggenplugindir", [loggenplugin installation directory])
+ AC_DEFINE_UNQUOTED(MODULE_PATH, "$module_path", [module search path])
+ AC_DEFINE_UNQUOTED(JAVA_MODULE_PATH, "$java_module_path", [java module search path])
+-AC_DEFINE_UNQUOTED(PATH_TOPSRC_DIR, "$abs_topsrcdir", [self-defined top_srcdir path])
++AC_DEFINE_UNQUOTED(PATH_TOPSRC_DIR, "/source", [self-defined top_srcdir path])
+ AC_DEFINE_UNQUOTED(PACKAGE_NAME, "$PACKAGE_NAME", [package name])
+
+
+diff --git a/scripts/syslog-ng-update-virtualenv.in b/scripts/syslog-ng-update-virtualenv.in
+index ed85baf..b1a9e34 100755
+--- a/scripts/syslog-ng-update-virtualenv.in
++++ b/scripts/syslog-ng-update-virtualenv.in
+@@ -62,7 +62,7 @@ done
+ set -e
+
+ REQUIREMENTS_FILE=${python_moduledir}/requirements.txt
+-SYSTEM_PYTHON=@PYTHON@
++SYSTEM_PYTHON=python3
+ VENV_PYTHON=${python_venvdir}/bin/python
+
+ if [ "$display_prompt" -ne 0 ]; then
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch b/meta-oe/recipes-support/syslog-ng/files/0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch
new file mode 100644
index 0000000000..f21ad5d70f
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch
@@ -0,0 +1,40 @@
+From 896d77dd949b52d6ea5798e5a038ba97d6b802be Mon Sep 17 00:00:00 2001
+From: Peter Marko <peter.marko@siemens.com>
+Date: Thu, 4 Apr 2024 15:44:18 +0200
+Subject: [PATCH] macros: guard ipv6 code with SYSLOG_NG_ENABLE_IPV6
+
+With ipv6 disabled, there are linking errors currently.
+This fixes it by not using the symbols when IPv6 is disabled.
+
+Solves #4810 with my config options
+https://github.com/openembedded/meta-openembedded/blob/2487e65ee3842b6ae0c7a2628985be6189ed9ebf/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
+
+Upstream-Status: Submitted [https://github.com/syslog-ng/syslog-ng/pull/4880]
+
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ lib/template/macros.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/lib/template/macros.c b/lib/template/macros.c
+index 54142706c..fcb83637f 100644
+--- a/lib/template/macros.c
++++ b/lib/template/macros.c
+@@ -277,12 +277,14 @@ _get_originating_ip_protocol(const LogMessage *msg)
+ return 0;
+ if (g_sockaddr_inet_check(msg->saddr))
+ return 4;
++#if SYSLOG_NG_ENABLE_IPV6
+ if (g_sockaddr_inet6_check(msg->saddr))
+ {
+ if (g_sockaddr_inet6_is_v4_mapped(msg->saddr))
+ return 4;
+ return 6;
+ }
++#endif
+ return 0;
+ }
+
+--
+2.30.2
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/0001-plugin.c-workaround-powerpc64le-segfaults-error.patch b/meta-oe/recipes-support/syslog-ng/files/0001-plugin.c-workaround-powerpc64le-segfaults-error.patch
new file mode 100644
index 0000000000..343e6fdade
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/files/0001-plugin.c-workaround-powerpc64le-segfaults-error.patch
@@ -0,0 +1,46 @@
+From 616446afab61ab98b28c81605e2efd4a689f37d1 Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Fri, 20 Jan 2023 14:59:14 +0800
+Subject: [PATCH] plugin.c: workaround powerpc64le segfaults error
+
+syslog-ng segfaults on powerpc64le, workaround this error.
+See https://github.com/syslog-ng/syslog-ng/issues/4285 and
+https://sourceware.org/bugzilla/show_bug.cgi?id=30062 for more details.
+This patch should be dropped once the above issues are fixed.
+
+Upstream-Status: Inappropriate [OE Specific]
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ lib/plugin.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/lib/plugin.c b/lib/plugin.c
+index fbbfb92..3a03617 100644
+--- a/lib/plugin.c
++++ b/lib/plugin.c
+@@ -528,10 +528,7 @@ plugin_discover_candidate_modules(PluginContext *context)
+ }
+ }
+ g_free(module_name);
+- if (mod)
+- g_module_close(mod);
+- else
+- mod = NULL;
++ mod = NULL;
+ }
+ }
+ g_dir_close(dir);
+@@ -663,8 +660,7 @@ plugin_list_modules(FILE *out, gboolean verbose)
+ first = FALSE;
+ }
+ g_free(module_name);
+- if (mod)
+- g_module_close(mod);
++ mod = NULL;
+ }
+ }
+ g_dir_close(dir);
+--
+2.17.1
+
diff --git a/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch b/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch
deleted file mode 100644
index b5bfcd025a..0000000000
--- a/meta-oe/recipes-support/syslog-ng/files/0001-syslog-ng-fix-segment-fault-during-service-start.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Subject: [PATCH] syslog-ng: fix segment fault during service start on arm64
-
-service start failed since segment fault on arch arm64,
-syslog-ng have a submodule ivykis, from ivykis V0.42,
-it use pthread_atfork, but for arm64, this symbol is
-not included by libpthread, so cause segment fault.
-
-refer systemd, replace pthread_atfork with __register_atfork
-to fix this problem.
-
-I have create an issue, and this proposal to upstream.
-https://github.com/buytenh/ivykis/issues/15
-
-Upstream-Status: Pending
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-Update for 3.24.1.
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- lib/ivykis/src/pthr.h | 23 ++++++++++++-----------
- 1 file changed, 12 insertions(+), 11 deletions(-)
-
-diff --git a/lib/ivykis/src/pthr.h b/lib/ivykis/src/pthr.h
-index 29e4be7..5d29096 100644
---- a/lib/ivykis/src/pthr.h
-+++ b/lib/ivykis/src/pthr.h
-@@ -24,6 +24,16 @@
- #include <pthread.h>
- #include <signal.h>
-
-+#ifdef __GLIBC__
-+/* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
-+ * headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
-+ * libpthread, as it is part of glibc anyway. */
-+extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle);
-+extern void* __dso_handle __attribute__ ((__weak__));
-+#else
-+#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child)
-+#endif
-+
- #ifdef HAVE_PRAGMA_WEAK
- #pragma weak pthread_create
- #endif
-@@ -36,16 +46,7 @@ static inline int pthreads_available(void)
-
- #ifdef HAVE_PRAGMA_WEAK
-
--/*
-- * On Linux, pthread_atfork() is defined in libc_nonshared.a (for
-- * glibc >= 2.28) or libpthread_nonshared.a (for glibc <= 2.27), and
-- * we want to avoid "#pragma weak" for that symbol because that causes
-- * it to be undefined even if you link lib*_nonshared.a in explicitly.
-- */
--#if !defined(HAVE_LIBC_NONSHARED) && !defined(HAVE_LIBPTHREAD_NONSHARED)
--#pragma weak pthread_atfork
--#endif
--
-+#pragma weak __register_atfork
- #pragma weak pthread_create
- #pragma weak pthread_detach
- #pragma weak pthread_getspecific
-@@ -73,7 +74,7 @@ static inline int
- pthr_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void))
- {
- if (pthreads_available())
-- return pthread_atfork(prepare, parent, child);
-+ return __register_atfork(prepare, parent, child, __dso_handle);
-
- return ENOSYS;
- }
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
deleted file mode 100644
index 4f8a3d0775..0000000000
--- a/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-configure.ac: add option --enable-thread-tls to manage thread ssl support
-
-Add option --enable-thread-tls to manage the including of thread
-local storage, so we could explicitly disable it.
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 17 +++++++++++------
- 1 file changed, 11 insertions(+), 6 deletions(-)
-
-Index: syslog-ng-3.15.1/configure.ac
-===================================================================
---- syslog-ng-3.15.1.orig/configure.ac
-+++ syslog-ng-3.15.1/configure.ac
-@@ -190,6 +190,9 @@ AC_ARG_ENABLE(gprof,
- AC_ARG_ENABLE(memtrace,
- [ --enable-memtrace Enable alternative leak debugging code.])
-
-+AC_ARG_ENABLE(thread-tls,
-+ [ --enable-thread-tls Enable Thread Local Storage support.],,enable_thread_tls="no")
-+
- AC_ARG_ENABLE(dynamic-linking,
- [ --enable-dynamic-linking Link everything dynamically.],,enable_dynamic_linking="auto")
-
-@@ -591,12 +594,14 @@ dnl ***************************************************************************
- dnl Is the __thread keyword available?
- dnl ***************************************************************************
-
--AC_LINK_IFELSE([AC_LANG_PROGRAM(
--[[#include <pthread.h>
--__thread int a;
--]],
--[a=0;])],
--[ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Thread Local Storage is supported by the system")])
-+if test "x$enable_thread_tls" != "xno"; then
-+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
-+ [[#include <pthread.h>
-+ __thread int a;
-+ ]],
-+ [a=0;])],
-+ [ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Thread Local Storage is supported by the system")])
-+fi
-
- dnl ***************************************************************************
- dnl How to do static linking?
diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
deleted file mode 100644
index 4ad0afa954..0000000000
--- a/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-Subject: [PATCH] add libnet enable option
-
-Upstream-Status: Pending
-
-This would avoid a implicit auto-detecting result.
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
-Update for 3.24.1.
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- configure.ac | 28 ++++++++++++++++------------
- 1 file changed, 16 insertions(+), 12 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 00eb566..e7d5ac1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -143,6 +143,9 @@ AC_CONFIG_HEADERS(config.h)
- dnl ***************************************************************************
- dnl Arguments
-
-+AC_ARG_ENABLE(libnet,
-+ [ --enable-libnet Enable libnet support.],, enable_libnet="no")
-+
- AC_ARG_WITH(libnet,
- [ --with-libnet=path use path to libnet-config script],
- ,
-@@ -1047,19 +1050,20 @@ dnl ***************************************************************************
- dnl libnet headers/libraries
- dnl ***************************************************************************
- AC_MSG_CHECKING(for LIBNET)
--if test "x$with_libnet" = "x"; then
-- LIBNET_CONFIG="`which libnet-config`"
--else
-- LIBNET_CONFIG="$with_libnet/libnet-config"
--fi
-+if test "x$enable_libnet" = xyes; then
-+ if test "x$with_libnet" = "x"; then
-+ LIBNET_CONFIG="`which libnet-config`"
-+ else
-+ LIBNET_CONFIG="$with_libnet/libnet-config"
-+ fi
-
--if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then
-- LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`"
-- LIBNET_LIBS="`$LIBNET_CONFIG --libs`"
-- AC_MSG_RESULT(yes)
--dnl libnet-config does not provide the _DEFAULT_SOURCE define, that can cause warning during build
--dnl as upstream libnet-config does uses _DEFAULT_SOURCE this is just a fix till
-- LIBNET_CFLAGS="$LIBNET_CFLAGS -D_DEFAULT_SOURCE"
-+ if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then
-+ LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`"
-+ LIBNET_LIBS="`$LIBNET_CONFIG --libs`"
-+ AC_MSG_RESULT(yes)
-+ else
-+ AC_MSG_ERROR([Could not find libnet, and libnet support was explicitly enabled.])
-+ fi
-
- else
- LIBNET_LIBS=
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch
deleted file mode 100644
index 54ecce57e3..0000000000
--- a/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-syslog-ng: fix wrong ownership issue
-
-Upstream-Status: Pending
-
-The ownership of build user is preserved for some target files, fixed it by
-adding --no-same-owner option to tar when extracting files.
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
----
- scl/Makefile.am | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-Index: syslog-ng-3.8.1/scl/Makefile.am
-===================================================================
---- syslog-ng-3.8.1.orig/scl/Makefile.am
-+++ syslog-ng-3.8.1/scl/Makefile.am
-@@ -27,7 +27,7 @@ scl-install-data-local:
- fi; \
- done
- $(mkinstalldirs) $(DESTDIR)/$(scldir)
-- (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf -)
-+ (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf - --no-same-owner)
- chmod -R u+rwX $(DESTDIR)/$(scldir)
-
- scl-uninstall-local:
diff --git a/meta-oe/recipes-support/syslog-ng/files/shebang.patch b/meta-oe/recipes-support/syslog-ng/files/shebang.patch
deleted file mode 100644
index 35d967753e..0000000000
--- a/meta-oe/recipes-support/syslog-ng/files/shebang.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-syslog-ng: change shebang to use python3
-
-Correct shebang for python3. This is far from the only python file with an out of date shebang,
-but it is the only one that winds up on a target.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
-
---- a/lib/merge-grammar.py
-+++ b/lib/merge-grammar.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #############################################################################
- # Copyright (c) 2010-2017 Balabit
- #
diff --git a/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
index 6a86276724..851bf252b7 100644
--- a/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
+++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.systemd
@@ -1,4 +1,4 @@
-@version: 3.24
+@version: 3.36
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation. Originally written by anonymous (I can't find his name)
diff --git a/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
index 32b98610dc..70afd0da84 100644
--- a/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
+++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf.sysvinit
@@ -1,4 +1,4 @@
-@version: 3.24
+@version: 3.36
#
# Syslog-ng configuration file, compatible with default Debian syslogd
# installation. Originally written by anonymous (I can't find his name)
diff --git a/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
index 0e1d09492b..c80e91244f 100644
--- a/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
+++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.service-the-syslog-ng-service.patch
@@ -1,7 +1,7 @@
Subject: [PATCH] syslog-ng.service: the syslog-ng service can not start
successfully,so modify it.
-Upstream-Status: pending
+Upstream-Status: Pending
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
Updated-by: Andrej Valek <andrej.valek@siemens.com>
@@ -38,7 +38,7 @@ index 0ccc2b9..7f08c0e 100644
-CONTROL_FILE=/var/run/syslog-ng.ctl
-PID_FILE=/var/run/syslog-ng.pid
+PERSIST_FILE=@LOCALSTATEDIR@/lib/syslog-ng/syslog-ng.persist
-+CONTROL_FILE=@LOCALSTATEDIR@/lib/syslog-ng/syslog-ng.ctl
++CONTROL_FILE=@LOCALSTATEDIR@/run/syslog-ng/syslog-ng.ctl
+PID_FILE=@LOCALSTATEDIR@/run/syslog-ng.pid
OTHER_OPTIONS="--enable-core"
--
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
deleted file mode 100644
index 818cad5bcd..0000000000
--- a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc
+++ /dev/null
@@ -1,143 +0,0 @@
-SUMMARY = "Alternative system logger daemon"
-DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \
-but with new functionality for the new generation. The original syslogd \
-allows messages only to be sorted based on priority/facility pairs; \
-syslog-ng adds the possibility to filter based on message contents using \
-regular expressions. The new configuration scheme is intuitive and powerful. \
-Forwarding logs over TCP and remembering all forwarding hops makes it \
-ideal for firewalled environments. \
-"
-HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system"
-
-LICENSE = "GPLv2 & LGPLv2.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=24c0c5cb2c83d9f2ab725481e4df5240"
-
-# util-linux added to get libuuid
-DEPENDS = "libpcre flex glib-2.0 openssl util-linux bison-native"
-
-# We expect the recipe to add anything specific for that version to these defaults.
-#
-SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \
- file://syslog-ng.conf.systemd \
- file://syslog-ng.conf.sysvinit \
- file://initscript \
- file://volatiles.03_syslog-ng \
- file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \
-"
-
-UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases"
-
-inherit autotools gettext systemd pkgconfig update-rc.d multilib_header
-
-EXTRA_OECONF = " \
- --enable-dynamic-linking \
- --disable-sub-streams \
- --disable-pacct \
- --localstatedir=${localstatedir}/lib/${BPN} \
- --sysconfdir=${sysconfdir}/${BPN} \
- --with-module-dir=${libdir}/${BPN} \
- --with-sysroot=${STAGING_DIR_HOST} \
- --without-mongoc --disable-mongodb \
- --with-librabbitmq-client=no \
- --disable-python \
- --disable-java --disable-java-modules \
- --with-pidfile-dir=${localstatedir}/run/${BPN} \
- ${CONFIG_TLS} \
-"
-
-CONFIG_TLS = "--enable-thread-tls"
-CONFIG_TLS_arm = "${@oe.utils.conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}"
-
-PACKAGECONFIG ??= " \
- ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \
-"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
-PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd,"
-PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap,"
-PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi,"
-PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet,"
-PACKAGECONFIG[http] = "--enable-http,--disable-http,curl,"
-PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp,"
-PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c,"
-PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers,"
-PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip,"
-PACKAGECONFIG[native] = "--enable-native,--disable-native,,"
-
-do_configure_prepend() {
- olddir=$(pwd)
- cd ${AUTOTOOLS_SCRIPT_PATH}
-
- ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} -I ${S}/m4 ${ACLOCALEXTRAPATH} || die "extra autoreconf execution failed."
-
- cd $olddir
-}
-
-do_install_append() {
- install -d ${D}${sysconfdir}/${BPN}
- install -d ${D}${sysconfdir}/init.d
- install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
-
- install -d ${D}${sysconfdir}/default/volatiles/
- install -m 644 ${WORKDIR}/volatiles.03_syslog-ng ${D}${sysconfdir}/default/volatiles/03_syslog-ng
- install -d ${D}${sysconfdir}/tmpfiles.d/
- install -m 644 ${WORKDIR}/syslog-ng-tmp.conf ${D}${sysconfdir}/tmpfiles.d/syslog-ng.conf
-
- install -d ${D}${localstatedir}/lib/${BPN}
- # Remove /var/run as it is created on startup
- rm -rf ${D}${localstatedir}/run
-
- # support for systemd
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -m 644 ${WORKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf
-
- install -d ${D}${systemd_unitdir}/system/
- install -m 644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service
- install -m 644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default
-
- sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
- sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
- sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
-
- install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
- ln -sf ../${BPN}@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/${BPN}@default.service
- else
- install -m 644 ${WORKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf
- fi
-
- oe_multilib_header syslog-ng/syslog-ng-config.h
-}
-
-FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools ${systemd_unitdir}/system/multi-user.target.wants/*"
-RDEPENDS_${PN} += "gawk ${@bb.utils.contains('PACKAGECONFIG','json','${PN}-jconf','',d)}"
-
-FILES_${PN}-jconf += " \
-${datadir}/${BPN}/include/scl/cim \
-${datadir}/${BPN}/include/scl/elasticsearch \
-${datadir}/${BPN}/include/scl/ewmm \
-${datadir}/${BPN}/include/scl/graylog2 \
-${datadir}/${BPN}/include/scl/loggly \
-${datadir}/${BPN}/include/scl/logmatic \
-"
-
-# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error
-PACKAGES =+ "${PN}-jconf ${PN}-libs ${PN}-libs-dev"
-RPROVIDES_${PN}-dbg += "${PN}-libs-dbg"
-FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*"
-FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la"
-FILES_${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a"
-FILES_${PN} += "${systemd_unitdir}/system/*.service"
-INSANE_SKIP_${PN}-libs = "dev-so"
-RDEPENDS_${PN} += "${PN}-libs"
-
-CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf"
-
-RCONFLICTS_${PN} = "busybox-syslog sysklogd rsyslog"
-RCONFLICTS_${PN}-libs = "busybox-syslog sysklogd rsyslog"
-
-RPROVIDES_${PN} += "${PN}-systemd"
-RREPLACES_${PN} += "${PN}-systemd"
-RCONFLICTS_${PN} += "${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "${BPN}@.service"
-
-INITSCRIPT_NAME = "syslog"
-INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ."
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb
deleted file mode 100644
index 10bf00fdce..0000000000
--- a/meta-oe/recipes-support/syslog-ng/syslog-ng_3.24.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-require syslog-ng.inc
-
-# We only want to add stuff we need to the defaults provided in syslog-ng.inc.
-#
-SRC_URI += " \
- file://fix-config-libnet.patch \
- file://fix-invalid-ownership.patch \
- file://syslog-ng.service-the-syslog-ng-service.patch \
- file://0001-syslog-ng-fix-segment-fault-during-service-start.patch \
- file://shebang.patch \
- file://syslog-ng-tmp.conf \
- "
-
-SRC_URI[md5sum] = "ef9de066793f7358af7312b964ac0450"
-SRC_URI[sha256sum] = "d4d0a0357b452be96b69d6f741129275530d8f0451e35adc408ad5635059fa3d"
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
new file mode 100644
index 0000000000..4584944150
--- /dev/null
+++ b/meta-oe/recipes-support/syslog-ng/syslog-ng_4.6.0.bb
@@ -0,0 +1,149 @@
+SUMMARY = "Alternative system logger daemon"
+DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \
+but with new functionality for the new generation. The original syslogd \
+allows messages only to be sorted based on priority/facility pairs; \
+syslog-ng adds the possibility to filter based on message contents using \
+regular expressions. The new configuration scheme is intuitive and powerful. \
+Forwarding logs over TCP and remembering all forwarding hops makes it \
+ideal for firewalled environments. \
+"
+HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system"
+
+LICENSE = "GPL-2.0-only & LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=924958cefc9f7de3e0b818832b8a1cec"
+
+# util-linux added to get libuuid
+DEPENDS = "libpcre flex glib-2.0 openssl util-linux bison-native curl"
+
+SRC_URI = "https://github.com/balabit/syslog-ng/releases/download/${BP}/${BP}.tar.gz \
+ file://syslog-ng.conf.systemd \
+ file://syslog-ng.conf.sysvinit \
+ file://initscript \
+ file://volatiles.03_syslog-ng \
+ file://syslog-ng-tmp.conf \
+ file://syslog-ng.service-the-syslog-ng-service.patch \
+ file://0001-Fix-buildpaths-warning.patch \
+ file://0001-macros-guard-ipv6-code-with-SYSLOG_NG_ENABLE_IPV6.patch \
+"
+SRC_URI:append:powerpc64le = " file://0001-plugin.c-workaround-powerpc64le-segfaults-error.patch"
+
+SRC_URI[sha256sum] = "b69e3360dfb96a754a4e1cbead4daef37128b1152a23572356db4ab64a475d4f"
+
+UPSTREAM_CHECK_URI = "https://github.com/balabit/syslog-ng/releases"
+
+CVE_STATUS[CVE-2022-38725] = "cpe-incorrect: cve-check wrongly matches cpe:2.3:a:oneidentity:syslog-ng:*:*:*:*:premium:*:*:* < 7.0.32"
+
+inherit autotools gettext systemd pkgconfig update-rc.d multilib_header
+
+EXTRA_OECONF = " \
+ --enable-dynamic-linking \
+ --disable-sub-streams \
+ --disable-pacct \
+ --localstatedir=${localstatedir}/lib/${BPN} \
+ --sysconfdir=${sysconfdir}/${BPN} \
+ --with-module-dir=${libdir}/${BPN} \
+ --with-sysroot=${STAGING_DIR_HOST} \
+ --without-mongoc --disable-mongodb \
+ --with-librabbitmq-client=no \
+ --disable-python \
+ --disable-java --disable-java-modules \
+ --with-pidfile-dir=${localstatedir}/run/${BPN} \
+"
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \
+"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
+PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd,"
+PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap,"
+PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi,"
+PACKAGECONFIG[spoof-source] = "--enable-spoof-source --with-libnet=${STAGING_BINDIR_CROSS},--disable-spoof-source,libnet,"
+PACKAGECONFIG[http] = "--enable-http,--disable-http,curl,"
+PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp,"
+PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c,"
+PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers,"
+PACKAGECONFIG[geoip] = "--enable-geoip,--disable-geoip,geoip,"
+PACKAGECONFIG[native] = "--enable-native,--disable-native,,"
+
+do_configure:prepend() {
+ olddir=$(pwd)
+ cd ${AUTOTOOLS_SCRIPT_PATH}
+
+ ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} -I ${S}/m4 ${ACLOCALEXTRAPATH} || die "extra autoreconf execution failed."
+
+ cd $olddir
+}
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/${BPN}
+ install -d ${D}${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/initscript ${D}${sysconfdir}/init.d/syslog
+
+ install -d ${D}${sysconfdir}/default/volatiles/
+ install -m 644 ${WORKDIR}/volatiles.03_syslog-ng ${D}${sysconfdir}/default/volatiles/03_syslog-ng
+ install -d ${D}${sysconfdir}/tmpfiles.d/
+ install -m 644 ${WORKDIR}/syslog-ng-tmp.conf ${D}${sysconfdir}/tmpfiles.d/syslog-ng.conf
+
+ install -d ${D}${localstatedir}/lib/${BPN}
+ # Remove /var/run as it is created on startup
+ rm -rf ${D}${localstatedir}/run
+
+ # it causes install conflict when multilib enabled
+ # since python support is disabled, not deliver it
+ rm -f ${D}${bindir}/syslog-ng-update-virtualenv
+
+ # support for systemd
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -m 644 ${WORKDIR}/syslog-ng.conf.systemd ${D}${sysconfdir}/${BPN}/${BPN}.conf
+
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 644 ${S}/contrib/systemd/${BPN}@.service ${D}${systemd_unitdir}/system/${BPN}@.service
+ install -m 644 ${S}/contrib/systemd/${BPN}@default ${D}${sysconfdir}/default/${BPN}@default
+
+ sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
+ sed -i -e 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
+ sed -i -e 's,@BASEBINDIR@,${base_bindir},g' ${D}${systemd_unitdir}/system/${BPN}@.service ${D}${sysconfdir}/default/${BPN}@default
+
+ install -d ${D}${systemd_unitdir}/system/multi-user.target.wants
+ ln -sf ../${BPN}@.service ${D}${systemd_unitdir}/system/multi-user.target.wants/${BPN}@default.service
+ else
+ install -m 644 ${WORKDIR}/syslog-ng.conf.sysvinit ${D}${sysconfdir}/${BPN}/${BPN}.conf
+ fi
+
+ oe_multilib_header syslog-ng/syslog-ng-config.h
+}
+
+FILES:${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools ${systemd_unitdir}/system/multi-user.target.wants/*"
+RDEPENDS:${PN} += "gawk ${@bb.utils.contains('PACKAGECONFIG','json','${PN}-jconf','',d)}"
+
+FILES:${PN}-jconf += " \
+${datadir}/${BPN}/include/scl/cim \
+${datadir}/${BPN}/include/scl/elasticsearch \
+${datadir}/${BPN}/include/scl/ewmm \
+${datadir}/${BPN}/include/scl/graylog2 \
+${datadir}/${BPN}/include/scl/loggly \
+${datadir}/${BPN}/include/scl/logmatic \
+"
+
+# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error
+PACKAGES =+ "${PN}-jconf ${PN}-libs ${PN}-libs-dev"
+RPROVIDES:${PN}-dbg += "${PN}-libs-dbg"
+FILES:${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*"
+FILES:${PN}-libs-dev = "${libdir}/${BPN}/lib*.la"
+FILES:${PN}-staticdev += "${libdir}/${BPN}/libtest/*.a"
+FILES:${PN} += "${systemd_unitdir}/system/*.service"
+INSANE_SKIP:${PN}-libs = "dev-so"
+RDEPENDS:${PN} += "${PN}-libs"
+
+CONFFILES:${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf"
+
+RCONFLICTS:${PN} = "busybox-syslog sysklogd rsyslog"
+RCONFLICTS:${PN}-libs = "busybox-syslog sysklogd rsyslog"
+
+RPROVIDES:${PN} += "${PN}-systemd"
+RREPLACES:${PN} += "${PN}-systemd"
+RCONFLICTS:${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE:${PN} = "${BPN}@.service"
+
+INITSCRIPT_NAME = "syslog"
+INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ."
diff --git a/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb b/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
index 1ce3c8e442..db4c395c56 100644
--- a/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
+++ b/meta-oe/recipes-support/system-config-keyboard/system-config-keyboard_1.4.0.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "a graphical user interface that allows the user to \
change the default keyboard of the system"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://fedorahosted.org/releases/s/y/${BPN}/${BP}.tar.bz2"
SRC_URI[md5sum] = "c267db0ee7a2131ba418399dc17f9e72"
@@ -17,11 +17,11 @@ do_install() {
oe_runmake 'DESTDIR=${D}' install
}
-do_install_append_class-native() {
+do_install:append:class-native() {
rm -rf ${D}/usr
}
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir}/python${PYTHON_BASEVERSION}/* \
${datadir}/* \
"
diff --git a/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch b/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch
new file mode 100644
index 0000000000..640b131703
--- /dev/null
+++ b/meta-oe/recipes-support/tbb/tbb/0001-hwloc_detection.cmake-remove-cross-compiation-check.patch
@@ -0,0 +1,33 @@
+From 7ffc1eba8596544d6e3af0fd5f4004fff6d56f84 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <naveen.kumar.saini@intel.com>
+Date: Wed, 29 Nov 2023 15:48:57 +0800
+Subject: [PATCH] hwloc_detection.cmake: remove cross-compiation check
+
+This check is preventing pkgconfig to
+search for hwloc under cross-compilation.
+
+pkgconfig able to find hwloc pkg from sysroot.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
+---
+ cmake/hwloc_detection.cmake | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/cmake/hwloc_detection.cmake b/cmake/hwloc_detection.cmake
+index 47233b17..5a7e84c3 100644
+--- a/cmake/hwloc_detection.cmake
++++ b/cmake/hwloc_detection.cmake
+@@ -46,8 +46,6 @@ endforeach()
+ unset(HWLOC_TARGET_NAME)
+
+ if (NOT HWLOC_TARGET_EXPLICITLY_DEFINED AND
+- # No hwloc auto detection for cross compilation
+- NOT CMAKE_CROSSCOMPILING AND
+ NOT TBB_DISABLE_HWLOC_AUTOMATIC_SEARCH
+ )
+ find_package(PkgConfig QUIET)
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch b/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
deleted file mode 100644
index 7e66945fa2..0000000000
--- a/meta-oe/recipes-support/tbb/tbb/0001-mallinfo-is-glibc-specific-API-mark-it-so.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 6b2b136caa68912d77ffe26143cd3da768b9ef80 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 3 Jun 2017 08:39:37 -0700
-Subject: [PATCH] mallinfo() is glibc specific API mark it so
-
-Helps compiling with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/tbbmalloc/proxy.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp
-index 5ef279d..06c4872 100644
---- a/src/tbbmalloc/proxy.cpp
-+++ b/src/tbbmalloc/proxy.cpp
-@@ -185,6 +185,7 @@ int mallopt(int /*param*/, int /*value*/) __THROW
- return 1;
- }
-
-+#ifdef __GLIBC__
- struct mallinfo mallinfo() __THROW
- {
- struct mallinfo m;
-@@ -192,6 +193,7 @@ struct mallinfo mallinfo() __THROW
-
- return m;
- }
-+#endif
-
- #if __ANDROID__
- // Android doesn't have malloc_usable_size, provide it to be compatible
---
-2.13.0
-
diff --git a/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch b/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch
deleted file mode 100644
index 6f28f6f3a4..0000000000
--- a/meta-oe/recipes-support/tbb/tbb/GLIBC-PREREQ-is-not-defined-on-musl.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 27956d4c5fb615098231cebfb8eef11057639d3c Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Sun, 8 Dec 2019 18:14:38 +0100
-Subject: [PATCH] src/tbbmalloc/proxy.cpp: __GLIBC_PREREQ is not defined on
- musl
-
-Do not call __GLIBC_PREREQ if it is not defined otherwise build will
-fail on musl
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
-Upstream-Status: Submitted [https://github.com/oneapi-src/oneTBB/pull/203]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- src/tbbmalloc/proxy.cpp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/tbbmalloc/proxy.cpp b/src/tbbmalloc/proxy.cpp
-index d96ae7a0..709ae839 100644
---- a/src/tbbmalloc/proxy.cpp
-+++ b/src/tbbmalloc/proxy.cpp
-@@ -24,7 +24,8 @@
- // of aligned_alloc as required by new C++ standard, this makes it hard to
- // redefine aligned_alloc here. However, running on systems with new libc
- // version, it still needs it to be redefined, thus tricking system headers
--#if defined(__GLIBC_PREREQ) && !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC
-+#if defined(__GLIBC_PREREQ)
-+#if !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC
- // tell <cstdlib> that there is no aligned_alloc
- #undef _GLIBCXX_HAVE_ALIGNED_ALLOC
- // trick <stdlib.h> to define another symbol instead
-@@ -32,7 +33,8 @@
- // Fix the state and undefine the trick
- #include <cstdlib>
- #undef aligned_alloc
--#endif // defined(__GLIBC_PREREQ)&&!__GLIBC_PREREQ(2, 16)&&_GLIBCXX_HAVE_ALIGNED_ALLOC
-+#endif // defined(__GLIBC_PREREQ)
-+#endif // !__GLIBC_PREREQ(2, 16)&&_GLIBCXX_HAVE_ALIGNED_ALLOC
- #endif // __linux__ && !__ANDROID__
-
- #include "proxy.h"
diff --git a/meta-oe/recipes-support/tbb/tbb/cross-compile.patch b/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
deleted file mode 100644
index 36578543f8..0000000000
--- a/meta-oe/recipes-support/tbb/tbb/cross-compile.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
-Upstream-Status: unsuitable
----
-
-diff --git a/build/linux.clang.inc b/build/linux.clang.inc
-index fe9b5c98..b0dcd68b 100644
---- a/build/linux.clang.inc
-+++ b/build/linux.clang.inc
-@@ -12,8 +12,8 @@
- # See the License for the specific language governing permissions and
- # limitations under the License.
-
--CPLUS ?= clang++
--CONLY ?= clang
-+CPLUS ?= $(CXX)
-+CONLY ?= $(CC)
- COMPILE_ONLY = -c -MMD
- PREPROC_ONLY = -E -x c++
- INCLUDE_KEY = -I
-diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc
-index d820c15d..62c76afd 100644
---- a/build/linux.gcc.inc
-+++ b/build/linux.gcc.inc
-@@ -12,8 +12,8 @@
- # See the License for the specific language governing permissions and
- # limitations under the License.
-
--CPLUS ?= g++
--CONLY ?= gcc
-+CPLUS ?= $(CXX)
-+CONLY ?= $(CC)
- COMPILE_ONLY = -c -MMD
- PREPROC_ONLY = -E -x c++
- INCLUDE_KEY = -I
diff --git a/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch b/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch
deleted file mode 100644
index 91d10cb7ab..0000000000
--- a/meta-oe/recipes-support/tbb/tbb/improve-reproducibility.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f56eeb18a07df139864a99e1967d450cc5c8c0bb Mon Sep 17 00:00:00 2001
-From: Lee Chee Yang <chee.yang.lee@intel.com>
-Date: Wed, 30 Sep 2020 16:18:35 +0800
-Subject: [PATCH] improve reproducibility
-
-remove the WORKDIR info from BUILD_COMMAND to improve reproducibility.
-also use SOURCE_DATE_EPOCH as DATETIME wherever possible.
-
-Upstream-Status: Inappropriate [sed WORKDIR does not applies to upstream]
-Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
----
- build/version_info_linux.sh | 4 +-
- 1 file changed, 2 insertion(+), 2 deletion(-)
-
-diff --git a/build/version_info_linux.sh b/build/version_info_linux.sh
-index 793cad11..ed6f4b2a 100644
---- a/build/version_info_linux.sh
-+++ b/build/version_info_linux.sh
-@@ -25,6 +25,6 @@ echo '#N": BUILD_GCC'"\t\t"`g++ --version </dev/null 2>&1 | grep 'g++'`'" ENDL \
- echo '#N": BUILD_LIBC'"\t"`getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //'`'" ENDL \'
- echo '#N": BUILD_LD'"\t\t"`ld -v 2>&1 | grep 'version'`'" ENDL \'
- echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \'
--echo '#N": BUILD_COMMAND'"\t"$*'" ENDL \'
-+echo '#N": BUILD_COMMAND'"\t"$(echo $* | sed 's#'$WORKDIR'#/workdir#g')'" ENDL \'
- echo ""
--echo "#define __TBB_DATETIME \""`date -u`"\""
-+echo "#define __TBB_DATETIME \""`$(date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" 2>/dev/null || date -u )`"\""
---
-2.25.1
-
diff --git a/meta-oe/recipes-support/tbb/tbb/tbb.pc b/meta-oe/recipes-support/tbb/tbb/tbb.pc
deleted file mode 100644
index 4f9da11409..0000000000
--- a/meta-oe/recipes-support/tbb/tbb/tbb.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: Threading Building Blocks
-Description: Intel's parallelism library for C++
-URL: https://software.intel.com/en-us/tbb
-Version: 2020.2
-Libs: -L${libdir} -ltbb
-Cflags: -I${includedir}
diff --git a/meta-oe/recipes-support/tbb/tbb_2020.3.bb b/meta-oe/recipes-support/tbb/tbb_2020.3.bb
deleted file mode 100644
index 8e0094b318..0000000000
--- a/meta-oe/recipes-support/tbb/tbb_2020.3.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-DESCRIPTION = "Parallelism library for C++ - runtime files \
- TBB is a library that helps you leverage multi-core processor \
- performance without having to be a threading expert. It represents a \
- higher-level, task-based parallelism that abstracts platform details \
- and threading mechanism for performance and scalability."
-HOMEPAGE = "https://software.intel.com/en-us/tbb"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-BRANCH = "tbb_2020"
-SRCREV = "eca91f16d7490a8abfdee652dadf457ec820cc37"
-SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \
- file://cross-compile.patch \
- file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \
- file://GLIBC-PREREQ-is-not-defined-on-musl.patch \
- file://tbb.pc \
- file://improve-reproducibility.patch \
-"
-
-S = "${WORKDIR}/git"
-PE = "1"
-
-COMPILER ?= "gcc"
-COMPILER_toolchain-clang = "clang"
-
-do_compile() {
- oe_runmake compiler=${COMPILER} arch=${HOST_ARCH}
-}
-
-do_install() {
- install -d ${D}${includedir} ${D}${libdir}
- rm ${S}/include/tbb/index.html -f
- cp -R --no-dereference --preserve=mode,links -v ${S}/include/tbb ${D}${includedir}
- for f in ${B}/build/linux_*_release/lib*.so*
- do
- install -Dm 0755 $f ${D}${libdir}/
- done
- install -Dm 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig/tbb.pc
-}
-
-# fails with thumb enabled:
-# | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp
-# | {standard input}: Assembler messages:
-# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]'
-# ...
-# | make[1]: *** [concurrent_queue.o] Error 1
-ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb b/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb
new file mode 100644
index 0000000000..f834726bd6
--- /dev/null
+++ b/meta-oe/recipes-support/tbb/tbb_2021.11.0.bb
@@ -0,0 +1,62 @@
+DESCRIPTION = "Parallelism library for C++ - runtime files \
+ TBB is a library that helps you leverage multi-core processor \
+ performance without having to be a threading expert. It represents a \
+ higher-level, task-based parallelism that abstracts platform details \
+ and threading mechanism for performance and scalability."
+HOMEPAGE = "https://software.intel.com/en-us/tbb"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327"
+
+DEPENDS:append:libc-musl = " libucontext"
+DEPENDS:append:class-target = " hwloc"
+
+PE = "1"
+
+BRANCH = "onetbb_2021"
+SRCREV = "8b829acc65569019edb896c5150d427f288e8aba"
+SRC_URI = "git://github.com/oneapi-src/oneTBB.git;protocol=https;branch=${BRANCH} \
+ file://0001-hwloc_detection.cmake-remove-cross-compiation-check.patch \
+"
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+# test build fails, error: 'mallinfo mallinfo()' is deprecated
+EXTRA_OECMAKE += " \
+ -DTBB_TEST=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ "
+
+# Hard-float 'd' ABI can't be used for a target that doesn't support the D instruction set extension (ignoring target-abi)
+# tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: /tmp/lto-llvm-264bc2.o: can't link soft-float modules with double-float modules
+# tmp-glibc/work/riscv64-oe-linux/tbb/1_2021.7.0-r0/recipe-sysroot-native/usr/bin/riscv64-oe-linux/riscv64-oe-linux-ld: failed to merge target specific data of file /tmp/lto-llvm-264bc2.o
+EXTRA_OECMAKE:append:riscv32:toolchain-clang = " -DTBB_ENABLE_IPO=OFF "
+EXTRA_OECMAKE:append:riscv64:toolchain-clang = " -DTBB_ENABLE_IPO=OFF "
+
+# fails with thumb enabled:
+# | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp
+# | {standard input}: Assembler messages:
+# | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]'
+# ...
+# | make[1]: *** [concurrent_queue.o] Error 1
+ARM_INSTRUCTION_SET = "arm"
+
+ASNEEDED = ""
+
+LDFLAGS:append:mips = " -latomic"
+LDFLAGS:append:mipsel = " -latomic"
+LDFLAGS:append:riscv32:toolchain-clang = " -latomic"
+
+LDFLAGS:append:libc-musl = " -lucontext"
+
+# The latest version of oneTBB does not support PPC
+COMPATIBLE_MACHINE:powerpc = "(!.*ppc).*"
+
+
+do_install:append:class-target() {
+ # fix for qa check buildpaths
+ sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/TBB/TBBTargets.cmake
+}
+
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/thin-provisioning-tools/files/0001-do-not-strip-pdata_tools-at-do_install.patch b/meta-oe/recipes-support/thin-provisioning-tools/files/0001-do-not-strip-pdata_tools-at-do_install.patch
deleted file mode 100644
index 547949dd60..0000000000
--- a/meta-oe/recipes-support/thin-provisioning-tools/files/0001-do-not-strip-pdata_tools-at-do_install.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From de869ad2cb19d81257a159770ebe27593a71593c Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 31 Jul 2018 11:29:51 +0800
-Subject: [PATCH] do not strip pdata_tools at do_install
-
-It caused QA Issue:
---------------
-|ERROR: QA Issue: File '/usr/sbin/pdata_tools' from thin-provisioning-tools
-was already stripped, this will prevent future debugging! [already-stripped]
---------------
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Makefile.in | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 02b75dd..df590b4 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -267,7 +267,6 @@ MANPAGES:=$(patsubst %,man8/%.8,$(TOOLS))
- install: bin/pdata_tools $(MANPAGES)
- $(INSTALL_DIR) $(BINDIR)
- $(INSTALL_PROGRAM) bin/pdata_tools $(BINDIR)
-- $(STRIP) $(BINDIR)/pdata_tools
- ln -s -f pdata_tools $(BINDIR)/cache_check
- ln -s -f pdata_tools $(BINDIR)/cache_dump
- ln -s -f pdata_tools $(BINDIR)/cache_metadata_size
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch b/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
deleted file mode 100644
index de934c19a8..0000000000
--- a/meta-oe/recipes-support/thin-provisioning-tools/files/use-sh-on-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 38397b42e2c3450c2aee20e6fb92f362db4e35ef Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 2 Jul 2019 13:20:39 +0800
-Subject: [PATCH] thin-provisioning-tools: use sh on path when invoking txt2man
-
-txt2man contains a test which might try to use ksh to run the script, so we
-avoid running /bin/sh.
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: joe.slater <joe.slater@windriver.com>
-
-Rebase to 0.8.5
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index 7c867b2..5303994 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -223,7 +223,7 @@ endif
- %.8: %.txt bin/txt2man
- @echo " [txt2man] $<"
- @mkdir -p $(dir $@)
-- $(V) bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
-+ $(V) sh bin/txt2man -p -t $(basename $(notdir $<)) $< > $@
-
- #----------------------------------------------------------------
-
---
-2.7.4
-
diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc
new file mode 100644
index 0000000000..d71aa442fa
--- /dev/null
+++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-crates.inc
@@ -0,0 +1,214 @@
+# Autogenerated with 'bitbake -c update_crates thin-provisioning-tools'
+
+# from Cargo.lock
+SRC_URI += " \
+ crate://crates.io/adler/1.0.2 \
+ crate://crates.io/aho-corasick/1.1.2 \
+ crate://crates.io/anstyle/1.0.6 \
+ crate://crates.io/anyhow/1.0.80 \
+ crate://crates.io/atty/0.2.14 \
+ crate://crates.io/autocfg/1.1.0 \
+ crate://crates.io/base64/0.21.7 \
+ crate://crates.io/bitflags/1.3.2 \
+ crate://crates.io/bitflags/2.4.2 \
+ crate://crates.io/bytemuck/1.14.3 \
+ crate://crates.io/byteorder/1.5.0 \
+ crate://crates.io/cassowary/0.3.0 \
+ crate://crates.io/cfg-if/1.0.0 \
+ crate://crates.io/clap/4.5.1 \
+ crate://crates.io/clap_builder/4.5.1 \
+ crate://crates.io/clap_lex/0.7.0 \
+ crate://crates.io/console/0.15.8 \
+ crate://crates.io/crc32c/0.6.5 \
+ crate://crates.io/crc32fast/1.4.0 \
+ crate://crates.io/data-encoding/2.5.0 \
+ crate://crates.io/downcast/0.11.0 \
+ crate://crates.io/duct/0.13.7 \
+ crate://crates.io/encode_unicode/0.3.6 \
+ crate://crates.io/env_logger/0.8.4 \
+ crate://crates.io/errno/0.3.8 \
+ crate://crates.io/exitcode/1.1.2 \
+ crate://crates.io/fastrand/2.0.1 \
+ crate://crates.io/fixedbitset/0.4.2 \
+ crate://crates.io/flate2/1.0.28 \
+ crate://crates.io/fragile/2.0.0 \
+ crate://crates.io/getrandom/0.2.12 \
+ crate://crates.io/hermit-abi/0.1.19 \
+ crate://crates.io/hermit-abi/0.3.6 \
+ crate://crates.io/indicatif/0.17.8 \
+ crate://crates.io/instant/0.1.12 \
+ crate://crates.io/iovec/0.1.4 \
+ crate://crates.io/lazy_static/1.4.0 \
+ crate://crates.io/libc/0.2.153 \
+ crate://crates.io/linux-raw-sys/0.4.13 \
+ crate://crates.io/log/0.4.20 \
+ crate://crates.io/memchr/2.7.1 \
+ crate://crates.io/minimal-lexical/0.2.1 \
+ crate://crates.io/miniz_oxide/0.7.2 \
+ crate://crates.io/mockall/0.12.1 \
+ crate://crates.io/mockall_derive/0.12.1 \
+ crate://crates.io/nom/7.1.3 \
+ crate://crates.io/num-derive/0.4.2 \
+ crate://crates.io/num-traits/0.2.18 \
+ crate://crates.io/num_cpus/1.16.0 \
+ crate://crates.io/number_prefix/0.4.0 \
+ crate://crates.io/numtoa/0.1.0 \
+ crate://crates.io/once_cell/1.19.0 \
+ crate://crates.io/os_pipe/1.1.5 \
+ crate://crates.io/portable-atomic/1.6.0 \
+ crate://crates.io/ppv-lite86/0.2.17 \
+ crate://crates.io/predicates/3.1.0 \
+ crate://crates.io/predicates-core/1.0.6 \
+ crate://crates.io/predicates-tree/1.0.9 \
+ crate://crates.io/proc-macro2/1.0.78 \
+ crate://crates.io/quick-xml/0.31.0 \
+ crate://crates.io/quickcheck/1.0.3 \
+ crate://crates.io/quickcheck_macros/1.0.0 \
+ crate://crates.io/quote/1.0.35 \
+ crate://crates.io/rand/0.8.5 \
+ crate://crates.io/rand_chacha/0.3.1 \
+ crate://crates.io/rand_core/0.6.4 \
+ crate://crates.io/rangemap/1.5.0 \
+ crate://crates.io/redox_syscall/0.2.16 \
+ crate://crates.io/redox_termios/0.1.3 \
+ crate://crates.io/regex/1.10.3 \
+ crate://crates.io/regex-automata/0.4.5 \
+ crate://crates.io/regex-syntax/0.8.2 \
+ crate://crates.io/roaring/0.10.3 \
+ crate://crates.io/rustc_version/0.4.0 \
+ crate://crates.io/rustix/0.38.31 \
+ crate://crates.io/safemem/0.3.3 \
+ crate://crates.io/semver/1.0.22 \
+ crate://crates.io/shared_child/1.0.0 \
+ crate://crates.io/strsim/0.11.0 \
+ crate://crates.io/syn/1.0.109 \
+ crate://crates.io/syn/2.0.50 \
+ crate://crates.io/tempfile/3.10.0 \
+ crate://crates.io/termion/1.5.6 \
+ crate://crates.io/termtree/0.4.1 \
+ crate://crates.io/thiserror/1.0.57 \
+ crate://crates.io/thiserror-impl/1.0.57 \
+ crate://crates.io/threadpool/1.8.1 \
+ crate://crates.io/tui/0.19.0 \
+ crate://crates.io/unicode-ident/1.0.12 \
+ crate://crates.io/unicode-segmentation/1.11.0 \
+ crate://crates.io/unicode-width/0.1.11 \
+ crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
+ crate://crates.io/winapi/0.3.9 \
+ crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+ crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+ crate://crates.io/windows-sys/0.52.0 \
+ crate://crates.io/windows-targets/0.52.3 \
+ crate://crates.io/windows_aarch64_gnullvm/0.52.3 \
+ crate://crates.io/windows_aarch64_msvc/0.52.3 \
+ crate://crates.io/windows_i686_gnu/0.52.3 \
+ crate://crates.io/windows_i686_msvc/0.52.3 \
+ crate://crates.io/windows_x86_64_gnu/0.52.3 \
+ crate://crates.io/windows_x86_64_gnullvm/0.52.3 \
+ crate://crates.io/windows_x86_64_msvc/0.52.3 \
+"
+
+SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+SRC_URI[anstyle-1.0.6.sha256sum] = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
+SRC_URI[anyhow-1.0.80.sha256sum] = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[bitflags-2.4.2.sha256sum] = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+SRC_URI[bytemuck-1.14.3.sha256sum] = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f"
+SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+SRC_URI[cassowary-0.3.0.sha256sum] = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[clap-4.5.1.sha256sum] = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+SRC_URI[clap_builder-4.5.1.sha256sum] = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+SRC_URI[clap_lex-0.7.0.sha256sum] = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
+SRC_URI[console-0.15.8.sha256sum] = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
+SRC_URI[crc32c-0.6.5.sha256sum] = "89254598aa9b9fa608de44b3ae54c810f0f06d755e24c50177f1f8f31ff50ce2"
+SRC_URI[crc32fast-1.4.0.sha256sum] = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
+SRC_URI[data-encoding-2.5.0.sha256sum] = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
+SRC_URI[downcast-0.11.0.sha256sum] = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1"
+SRC_URI[duct-0.13.7.sha256sum] = "e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c"
+SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+SRC_URI[env_logger-0.8.4.sha256sum] = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
+SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+SRC_URI[exitcode-1.1.2.sha256sum] = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193"
+SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+SRC_URI[fixedbitset-0.4.2.sha256sum] = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+SRC_URI[fragile-2.0.0.sha256sum] = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa"
+SRC_URI[getrandom-0.2.12.sha256sum] = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+SRC_URI[hermit-abi-0.3.6.sha256sum] = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
+SRC_URI[indicatif-0.17.8.sha256sum] = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
+SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+SRC_URI[iovec-0.1.4.sha256sum] = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+SRC_URI[libc-0.2.153.sha256sum] = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+SRC_URI[linux-raw-sys-0.4.13.sha256sum] = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+SRC_URI[memchr-2.7.1.sha256sum] = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+SRC_URI[miniz_oxide-0.7.2.sha256sum] = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
+SRC_URI[mockall-0.12.1.sha256sum] = "43766c2b5203b10de348ffe19f7e54564b64f3d6018ff7648d1e2d6d3a0f0a48"
+SRC_URI[mockall_derive-0.12.1.sha256sum] = "af7cbce79ec385a1d4f54baa90a76401eb15d9cab93685f62e7e9f942aa00ae2"
+SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+SRC_URI[num-derive-0.4.2.sha256sum] = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
+SRC_URI[num-traits-0.2.18.sha256sum] = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
+SRC_URI[num_cpus-1.16.0.sha256sum] = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
+SRC_URI[numtoa-0.1.0.sha256sum] = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
+SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+SRC_URI[os_pipe-1.1.5.sha256sum] = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9"
+SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+SRC_URI[predicates-3.1.0.sha256sum] = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8"
+SRC_URI[predicates-core-1.0.6.sha256sum] = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174"
+SRC_URI[predicates-tree-1.0.9.sha256sum] = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf"
+SRC_URI[proc-macro2-1.0.78.sha256sum] = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+SRC_URI[quick-xml-0.31.0.sha256sum] = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33"
+SRC_URI[quickcheck-1.0.3.sha256sum] = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
+SRC_URI[quickcheck_macros-1.0.0.sha256sum] = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9"
+SRC_URI[quote-1.0.35.sha256sum] = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+SRC_URI[rangemap-1.5.0.sha256sum] = "795915a3930a5d6bafd9053d37602fea3e61be2e5d4d788983a8ba9654c1c6f2"
+SRC_URI[redox_syscall-0.2.16.sha256sum] = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+SRC_URI[redox_termios-0.1.3.sha256sum] = "20145670ba436b55d91fc92d25e71160fbfbdd57831631c8d7d36377a476f1cb"
+SRC_URI[regex-1.10.3.sha256sum] = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
+SRC_URI[regex-automata-0.4.5.sha256sum] = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
+SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+SRC_URI[roaring-0.10.3.sha256sum] = "a1c77081a55300e016cb86f2864415b7518741879db925b8d488a0ee0d2da6bf"
+SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+SRC_URI[rustix-0.38.31.sha256sum] = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+SRC_URI[safemem-0.3.3.sha256sum] = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
+SRC_URI[semver-1.0.22.sha256sum] = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
+SRC_URI[shared_child-1.0.0.sha256sum] = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef"
+SRC_URI[strsim-0.11.0.sha256sum] = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+SRC_URI[syn-2.0.50.sha256sum] = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb"
+SRC_URI[tempfile-3.10.0.sha256sum] = "a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67"
+SRC_URI[termion-1.5.6.sha256sum] = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e"
+SRC_URI[termtree-0.4.1.sha256sum] = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76"
+SRC_URI[thiserror-1.0.57.sha256sum] = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+SRC_URI[thiserror-impl-1.0.57.sha256sum] = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+SRC_URI[threadpool-1.8.1.sha256sum] = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+SRC_URI[tui-0.19.0.sha256sum] = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1"
+SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+SRC_URI[unicode-segmentation-1.11.0.sha256sum] = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
+SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+SRC_URI[windows-targets-0.52.3.sha256sum] = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
+SRC_URI[windows_aarch64_gnullvm-0.52.3.sha256sum] = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
+SRC_URI[windows_aarch64_msvc-0.52.3.sha256sum] = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
+SRC_URI[windows_i686_gnu-0.52.3.sha256sum] = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
+SRC_URI[windows_i686_msvc-0.52.3.sha256sum] = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
+SRC_URI[windows_x86_64_gnu-0.52.3.sha256sum] = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
+SRC_URI[windows_x86_64_gnullvm-0.52.3.sha256sum] = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
+SRC_URI[windows_x86_64_msvc-0.52.3.sha256sum] = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc
new file mode 100644
index 0000000000..ceea67c364
--- /dev/null
+++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools-git-crates.inc
@@ -0,0 +1,6 @@
+SRC_URI += "\
+ git://github.com/jthornber/rio;protocol=https;nobranch=1;name=rio;destsuffix=rio;type=git-dependency \
+"
+
+SRCREV_FORMAT .= "_rio"
+SRCREV_rio = "2979a720f671e836302c01546f9cc9f7988610c8"
diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb
deleted file mode 100644
index 3f82734acd..0000000000
--- a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_0.8.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Tools of dm-thin device-mapper"
-DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target."
-HOMEPAGE = "https://github.com/jthornber/thin-provisioning-tools"
-LICENSE = "GPLv3"
-SECTION = "devel"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/jthornber/thin-provisioning-tools;branch=main \
- file://0001-do-not-strip-pdata_tools-at-do_install.patch \
- file://use-sh-on-path.patch \
-"
-
-SRCREV = "5e5409f48b5403d2c6dffd9919b35ad77d6fb7b4"
-
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-DEPENDS += "expat libaio boost"
-
-inherit autotools-brokensep
diff --git a/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.12.bb b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.12.bb
new file mode 100644
index 0000000000..09b91f6b37
--- /dev/null
+++ b/meta-oe/recipes-support/thin-provisioning-tools/thin-provisioning-tools_1.0.12.bb
@@ -0,0 +1,50 @@
+SUMMARY = "Tools of dm-thin device-mapper"
+DESCRIPTION = "A suite of tools for manipulating the metadata of the dm-thin device-mapper target."
+HOMEPAGE = "https://github.com/jthornber/thin-provisioning-tools"
+LICENSE = "GPL-3.0-only"
+SECTION = "devel"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+S = "${WORKDIR}/git"
+
+SRC_URI = " \
+ git://github.com/jthornber/thin-provisioning-tools;branch=main;protocol=https \
+ "
+
+SRCREV = "b2d57dad4c3378544d7b36f3fc61e60989c5c092"
+UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
+
+inherit cargo cargo-update-recipe-crates
+
+require ${BPN}-crates.inc
+require ${BPN}-git-crates.inc
+
+do_install:append() {
+ install -d ${D}${sbindir}
+ mv ${D}${bindir}/pdata_tools ${D}${sbindir}/pdata_tools
+ rmdir --ignore-fail-on-non-empty ${D}${bindir}
+
+ for tool in cache_check \
+ cache_dump \
+ cache_metadata_size \
+ cache_repair \
+ cache_restore \
+ cache_writeback \
+ thin_check \
+ thin_delta \
+ thin_dump \
+ thin_ls \
+ thin_repair \
+ thin_restore \
+ thin_rmap \
+ thin_metadata_size \
+ thin_metadata_pack \
+ thin_metadata_unpack \
+ thin_trim \
+ era_check \
+ era_dump \
+ era_invalidate \
+ era_restore; do
+ ln -sf pdata_tools ${D}${sbindir}/$tool
+ done
+}
diff --git a/meta-oe/recipes-support/tio/tio_2.7.bb b/meta-oe/recipes-support/tio/tio_2.7.bb
new file mode 100644
index 0000000000..59c772b5d0
--- /dev/null
+++ b/meta-oe/recipes-support/tio/tio_2.7.bb
@@ -0,0 +1,19 @@
+SUMMARY = "tio - a simple serial device I/O tool"
+DESCRIPTION = "tio is a simple serial device tool which features a \
+ straightforward command-line and configuration file interface to easily \
+ connect to serial TTY devices for basic I/O operations."
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0e1a95b7892d3015ecd6d0016f601f2c"
+
+SRC_URI = "git://github.com/tio/tio;protocol=https;branch=master"
+SRCREV = "1c32555c2a4f26b60f94757656825fc6684d6892"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
+
+DEPENDS += " libinih"
+RDEPENDS:${PN} += " libinih"
+
+FILES:${PN} += " /usr/share/bash-completion/completions/tio "
diff --git a/meta-oe/recipes-support/tokyocabinet/tokyocabinet/0001-configure-Fix-check-functions-for-AC_CHECK_LIB-test.patch b/meta-oe/recipes-support/tokyocabinet/tokyocabinet/0001-configure-Fix-check-functions-for-AC_CHECK_LIB-test.patch
new file mode 100644
index 0000000000..001fa9dd75
--- /dev/null
+++ b/meta-oe/recipes-support/tokyocabinet/tokyocabinet/0001-configure-Fix-check-functions-for-AC_CHECK_LIB-test.patch
@@ -0,0 +1,58 @@
+From e192da006dd9b0ecbbef540a3e86b65ff88e89e2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Sep 2022 13:28:29 -0700
+Subject: [PATCH] configure: Fix check functions for AC_CHECK_LIB test
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.in | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 5b24947..0542490 100644
+--- a/configure.in
++++ b/configure.in
+@@ -247,30 +247,30 @@ test -n "$LDFLAGS" && MYLDFLAGS="$LDFLAGS $MYLDFLAGS"
+ AC_C_BIGENDIAN(MYCPPFLAGS="$MYCPPFLAGS -D_MYBIGEND")
+
+ # Underlying libraries
+-AC_CHECK_LIB(c, main)
+-AC_CHECK_LIB(m, main)
++AC_CHECK_LIB(c, printf)
++AC_CHECK_LIB(m, pow)
+ if test "$enable_pthread" != "no"
+ then
+- AC_CHECK_LIB(pthread, main)
+- AC_CHECK_LIB(rt, main)
++ AC_CHECK_LIB(pthread, pthread_create)
++ AC_CHECK_LIB(rt, clock_gettime)
+ fi
+ if test "$enable_zlib" != "no"
+ then
+- AC_CHECK_LIB(z, main)
++ AC_CHECK_LIB(z, inflate)
+ fi
+ if test "$enable_bzip" != "no"
+ then
+- AC_CHECK_LIB(bz2, main)
++ AC_CHECK_LIB(bz2, BZ2_bzCompressInit)
+ fi
+ if test "$enable_exlzma" = "yes"
+ then
+- AC_CHECK_LIB(lzma, main)
++ AC_CHECK_LIB(lzma, lzma_easy_buffer_encode)
+ fi
+ if test "$enable_exlzo" = "yes"
+ then
+- AC_CHECK_LIB(lzo2, main)
++ AC_CHECK_LIB(lzo2, lzo1x_1_compress)
+ fi
+-AC_CHECK_LIB(tokyocabinet, main, AC_MSG_WARN([old version of Tokyo Cabinet was detected]))
++AC_CHECK_LIB(tokyocabinet, tcbdbopen, AC_MSG_WARN([old version of Tokyo Cabinet was detected]))
+
+ # Necessary headers
+ AC_CHECK_HEADER(stdlib.h, true, AC_MSG_ERROR([stdlib.h is required]))
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb b/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
index 9f75cf047d..ae00ff4e55 100644
--- a/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
+++ b/meta-oe/recipes-support/tokyocabinet/tokyocabinet_1.4.48.bb
@@ -12,11 +12,12 @@ Records are organized in hash table, B+ tree, or fixed-length array."
HOMEPAGE = "http://fallabs.com/tokyocabinet/"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
SRC_URI = "http://fallabs.com/tokyocabinet/${BP}.tar.gz \
file://remove-hard-coded-include-and-lib-paths.patch \
+ file://0001-configure-Fix-check-functions-for-AC_CHECK_LIB-test.patch \
"
SRC_URI[md5sum] = "fd03df6965f8f56dd5b8518ca43b4f5e"
diff --git a/meta-oe/recipes-support/toscoterm/toscoterm_git.bb b/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
deleted file mode 100644
index aba485e1a4..0000000000
--- a/meta-oe/recipes-support/toscoterm/toscoterm_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "A very small and simple terminal emulator"
-SECTION = "x11/applications"
-DEPENDS = "vte9"
-
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://main.c;start_line=5;end_line=16;md5=9ae4bf20caf291afa94530026bd15229"
-
-# 0.2 version
-SRCREV = "8586d617aed19fc75f5ae1e07270752c1b2f9a30"
-SRC_URI = "git://github.com/OSSystems/toscoterm.git"
-
-S = "${WORKDIR}/git"
-
-inherit features_check gitpkgv pkgconfig
-
-REQUIRED_DISTRO_FEATURES = "x11"
-
-do_compile() {
- oe_runmake \
- CC="${CC}" \
- CFLAGS="`pkg-config --cflags vte`${CFLAGS}" \
- LDFLAGS="`pkg-config --libs vte` ${LDFLAGS}"
-}
-
-do_install() {
- oe_runmake PREFIX="${prefix}" DESTDIR="${D}" install
-}
-
-RDEPENDS_${PN}_append_libc-glibc = " glibc-gconv-ibm437"
diff --git a/meta-oe/recipes-support/tree/tree_1.8.0.bb b/meta-oe/recipes-support/tree/tree_1.8.0.bb
deleted file mode 100644
index 01b1ac384c..0000000000
--- a/meta-oe/recipes-support/tree/tree_1.8.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "A recursive directory listing command"
-HOMEPAGE = "http://mama.indstate.edu/users/ice/tree/"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
-
-SRC_URI = "http://mama.indstate.edu/users/ice/tree/src/${BP}.tgz"
-SRC_URI[md5sum] = "715191c7f369be377fc7cc8ce0ccd835"
-SRC_URI[sha256sum] = "715d5d4b434321ce74706d0dd067505bb60c5ea83b5f0b3655dae40aa6f9b7c2"
-
-# tree's default CFLAGS for Linux
-CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
-
-EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
-
-do_configure[noexec] = "1"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/${BPN} ${D}${bindir}/
-}
diff --git a/meta-oe/recipes-support/tree/tree_2.1.1.bb b/meta-oe/recipes-support/tree/tree_2.1.1.bb
new file mode 100644
index 0000000000..0b61149609
--- /dev/null
+++ b/meta-oe/recipes-support/tree/tree_2.1.1.bb
@@ -0,0 +1,20 @@
+SUMMARY = "A recursive directory listing command"
+HOMEPAGE = "http://mama.indstate.edu/users/ice/tree/"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833"
+
+SRC_URI = "http://mama.indstate.edu/users/ice/tree/src/${BP}.tgz"
+SRC_URI[sha256sum] = "d3c3d55f403af7c76556546325aa1eca90b918cbaaf6d3ab60a49d8367ab90d5"
+
+# tree's default CFLAGS for Linux
+CFLAGS += "-Wall -DLINUX -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
+
+EXTRA_OEMAKE = "CC='${CC}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
+
+do_configure[noexec] = "1"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/${BPN} ${D}${bindir}/
+}
diff --git a/meta-oe/recipes-support/uchardet/uchardet_0.0.7.bb b/meta-oe/recipes-support/uchardet/uchardet_0.0.7.bb
deleted file mode 100644
index 4a595e6432..0000000000
--- a/meta-oe/recipes-support/uchardet/uchardet_0.0.7.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "uchardet is an encoding detector library"
-LICENSE = "MPLv1.1"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6ecda54f6f525388d71d6b3cd92f7474"
-
-inherit cmake
-
-SRC_URI = "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.7.tar.xz"
-SRC_URI[md5sum] = "623406dac5c5ad89e40eedd7f279efae"
-SRC_URI[sha256sum] = "3fc79408ae1d84b406922fa9319ce005631c95ca0f34b205fad867e8b30e45b1"
diff --git a/meta-oe/recipes-support/uchardet/uchardet_0.0.8.bb b/meta-oe/recipes-support/uchardet/uchardet_0.0.8.bb
new file mode 100644
index 0000000000..3e164cc26f
--- /dev/null
+++ b/meta-oe/recipes-support/uchardet/uchardet_0.0.8.bb
@@ -0,0 +1,8 @@
+SUMMARY = "uchardet is an encoding detector library"
+LICENSE = "MPL-1.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ecda54f6f525388d71d6b3cd92f7474"
+
+inherit cmake
+
+SRC_URI = "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.8.tar.xz"
+SRC_URI[sha256sum] = "e97a60cfc00a1c147a674b097bb1422abd9fa78a2d9ce3f3fdcc2e78a34ac5f0"
diff --git a/meta-oe/recipes-support/udisks/udisks2/0001-Makefile.am-Dont-include-buildpath.patch b/meta-oe/recipes-support/udisks/udisks2/0001-Makefile.am-Dont-include-buildpath.patch
new file mode 100644
index 0000000000..727c5a32fc
--- /dev/null
+++ b/meta-oe/recipes-support/udisks/udisks2/0001-Makefile.am-Dont-include-buildpath.patch
@@ -0,0 +1,47 @@
+From b1b58f122a3e05b5689358fdd3203ba110cca567 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Sun, 24 Sep 2023 22:20:42 +0200
+Subject: [PATCH] Reproducibility fix
+
+This fixes:
+WARNING: udisks2-2.10.1-r0 do_package_qa: QA Issue: File /usr/lib/udisks2/modules/libudisks2_btrfs.so in package udisks2 contains reference to TMPDIR
+File /usr/lib/udisks2/modules/libudisks2_lvm2.so in package udisks2 contains reference to TMPDIR
+File /usr/libexec/udisks2/udisksd in package udisks2 contains reference to TMPDIR [buildpaths]
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ modules/lvm2/Makefile.am | 2 +-
+ src/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules/lvm2/Makefile.am b/modules/lvm2/Makefile.am
+index 67b8aa6b3..e4ae462e7 100644
+--- a/modules/lvm2/Makefile.am
++++ b/modules/lvm2/Makefile.am
+@@ -16,7 +16,7 @@ CPPFLAGS = \
+ -DLVM_HELPER_DIR=\""$(prefix)/lib/udisks2/"\" \
+ -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
+ -DUDISKS_COMPILATION \
+- -DBUILD_DIR=\"$(abs_top_builddir)/\" \
++ -DBUILD_DIR=\"/usr/src/\" \
+ $(POLKIT_GOBJECT_1_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(GIO_CFLAGS) \
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 5a174d1ab..0da3a497b 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -20,7 +20,7 @@ CPPFLAGS = \
+ -DUDISKS_MODULE_DIR=\"$(libdir)/udisks2/modules\" \
+ -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
+ -DUDISKS_COMPILATION \
+- -DBUILD_DIR=\"$(abs_top_builddir)/\" \
++ -DBUILD_DIR=\"/usr/src/\" \
+ $(POLKIT_GOBJECT_1_CFLAGS) \
+ $(GUDEV_CFLAGS) \
+ $(GLIB_CFLAGS) \
+--
+2.42.0
+
diff --git a/meta-oe/recipes-support/udisks/udisks2_2.10.1.bb b/meta-oe/recipes-support/udisks/udisks2_2.10.1.bb
new file mode 100644
index 0000000000..cb1cbe670d
--- /dev/null
+++ b/meta-oe/recipes-support/udisks/udisks2_2.10.1.bb
@@ -0,0 +1,63 @@
+SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
+LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
+
+DEPENDS = " \
+ glib-2.0-native \
+ libxslt-native \
+ acl \
+ libatasmart \
+ polkit \
+ libgudev \
+ glib-2.0 \
+ dbus-glib \
+ libblockdev \
+"
+DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+
+RDEPENDS:${PN} = "acl"
+
+SRC_URI = " \
+ git://github.com/storaged-project/udisks.git;branch=2.10.x-branch;protocol=https \
+ file://0001-Makefile.am-Dont-include-buildpath.patch \
+"
+SRCREV = "18c9faf089e306ad6f3f51f5cb887a6b9aa08350"
+S = "${WORKDIR}/git"
+
+CVE_PRODUCT = "udisks"
+
+inherit autotools-brokensep systemd gtk-doc gobject-introspection gettext features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+EXTRA_OECONF = "--disable-man --disable-gtk-doc"
+
+do_configure:prepend() {
+ # | configure.ac:656: error: required file 'build-aux/config.rpath' not found
+ mkdir -p ${S}/build-aux
+ touch ${S}/build-aux/config.rpath
+}
+
+PACKAGECONFIG ?= ""
+
+PACKAGECONFIG[lvm2] = "--enable-lvm2,--disable-lvm2,lvm2"
+PACKAGECONFIG[btrfs] = "--enable-btrfs,--disable-btrfs,,btrfs-tools"
+PACKAGECONFIG[lsm] = "--enable-lsm,--disable-lsm,libstoragemgmt"
+
+FILES:${PN} += " \
+ ${datadir}/dbus-1/ \
+ ${datadir}/polkit-1 \
+ ${datadir}/bash-completion \
+ ${datadir}/zsh \
+ ${libdir}/polkit-1/extensions/*.so \
+ ${nonarch_base_libdir}/udev/* \
+ ${exec_prefix}${nonarch_base_libdir}/udisks2/* \
+ ${systemd_system_unitdir} \
+"
+
+PACKAGES =+ "${PN}-libs"
+FILES:${PN}-libs = "${libdir}/lib*${SOLIBS}"
+FILES:${PN} += "${nonarch_libdir}/tmpfiles.d"
+
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-oe/recipes-support/udisks/udisks2_git.bb b/meta-oe/recipes-support/udisks/udisks2_git.bb
deleted file mode 100644
index 196198c52b..0000000000
--- a/meta-oe/recipes-support/udisks/udisks2_git.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-SUMMARY = "udisks provides dbus interfaces for disks and storage devices"
-LICENSE = "GPLv2+ & LGPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=dd79f6dbbffdbc8e86b086a8f0c0ef43"
-
-DEPENDS = " \
- glib-2.0-native \
- libxslt-native \
- acl \
- libatasmart \
- polkit \
- libgudev \
- glib-2.0 \
- dbus-glib \
- libblockdev \
-"
-DEPENDS += "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-
-RDEPENDS_${PN} = "acl"
-
-SRC_URI = " \
- git://github.com/storaged-project/udisks.git;branch=master \
-"
-PV = "2.9.1"
-SRCREV = "95444ab6bf2b8d8c205b540dded4029fcb15f91b"
-S = "${WORKDIR}/git"
-
-CVE_PRODUCT = "udisks"
-
-inherit autotools-brokensep systemd gtk-doc gobject-introspection gettext features_check
-
-REQUIRED_DISTRO_FEATURES = "polkit"
-
-EXTRA_OECONF = "--disable-man --disable-gtk-doc"
-
-do_configure_prepend() {
- # | configure.ac:656: error: required file 'build-aux/config.rpath' not found
- mkdir -p ${S}/build-aux
- touch ${S}/build-aux/config.rpath
-}
-
-FILES_${PN} += " \
- ${datadir}/dbus-1/ \
- ${datadir}/polkit-1 \
- ${datadir}/bash-completion \
- ${libdir}/polkit-1/extensions/*.so \
- ${nonarch_base_libdir}/udev/* \
- ${exec_prefix}${nonarch_base_libdir}/udisks2/* \
- ${systemd_system_unitdir} \
-"
-
-PACKAGES =+ "${PN}-libs"
-FILES_${PN}-libs = "${libdir}/lib*${SOLIBS}"
-FILES_${PN} += "${nonarch_libdir}/tmpfiles.d"
-
-SYSTEMD_SERVICE_${PN} = "${BPN}.service"
-SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-oe/recipes-support/uhubctl/uhubctl_2.3.0.bb b/meta-oe/recipes-support/uhubctl/uhubctl_2.3.0.bb
deleted file mode 100644
index 7970ca3c49..0000000000
--- a/meta-oe/recipes-support/uhubctl/uhubctl_2.3.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "USB hub per-port power control"
-HOMEPAGE = "https://github.com/mvp/uhubctl"
-BUGTRACKER = "https://github.com/mvp/uhubctl/issues"
-DEPENDS = "libusb1"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRCREV = "1b52efddbd68b4395df3ac9cd10eeb984af22439"
-SRC_URI = "git://github.com/mvp/${BPN}"
-S = "${WORKDIR}/git"
-
-# uhubctl gets its program version from "git describe". As we use the source
-# archive do reduce download size replace the call with our hardcoded version.
-do_configure_append() {
- sed -i "s/^\(GIT_VERSION :=\).*$/\1 ${PV}/g" ${S}/Makefile
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}
-}
diff --git a/meta-oe/recipes-support/uhubctl/uhubctl_2.5.0.bb b/meta-oe/recipes-support/uhubctl/uhubctl_2.5.0.bb
new file mode 100644
index 0000000000..8b334dbdec
--- /dev/null
+++ b/meta-oe/recipes-support/uhubctl/uhubctl_2.5.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "USB hub per-port power control"
+HOMEPAGE = "https://github.com/mvp/uhubctl"
+BUGTRACKER = "https://github.com/mvp/uhubctl/issues"
+DEPENDS = "libusb1"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV = "20276ad5ced147d018e2b3fccedabd94597aa25e"
+SRC_URI = "git://github.com/mvp/${BPN};branch=master;protocol=https"
+S = "${WORKDIR}/git"
+
+# uhubctl gets its program version from "git describe". As we use the source
+# archive do reduce download size replace the call with our hardcoded version.
+do_configure:append() {
+ sed -i "s/^\(GIT_VERSION :=\).*$/\1 ${PV}/g" ${S}/Makefile
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
diff --git a/meta-oe/recipes-support/uim/uim/uim-module-manager.patch b/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
index 0fafc8533e..0e2fb687b6 100644
--- a/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
+++ b/meta-oe/recipes-support/uim/uim/uim-module-manager.patch
@@ -3,6 +3,8 @@ From: Bian Naimeng <biannm@cn.fujitsu.com>
Date: Fri, 26 Jun 2015 12:57:48 +0900
---
+Upstream-Status: Pending
+
scm/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/uim/uim_1.8.8.bb b/meta-oe/recipes-support/uim/uim_1.8.8.bb
index 507a341445..e0d9d05dce 100644
--- a/meta-oe/recipes-support/uim/uim_1.8.8.bb
+++ b/meta-oe/recipes-support/uim/uim_1.8.8.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "A multilingual user input method library"
HOMEPAGE = "http://uim.freedesktop.org/"
-LICENSE = "BSD-3-Clause & LGPLv2+"
+LICENSE = "BSD-3-Clause & LGPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=ab2826b41ca0ff4030d38cc39791d1c8"
SECTION = "inputmethods"
@@ -8,7 +8,7 @@ SRC_URI = "https://github.com/uim/uim/releases/download/${PV}/uim-${PV}.tar.bz2
file://0001-Fix-to-set-libedit-path-from-configure-option-proper.patch \
file://JMP_BUF_GC_jmp_buf.patch \
"
-SRC_URI_append_class-target = "\
+SRC_URI:append:class-target = "\
file://uim-module-manager.patch \
"
SRC_URI[md5sum] = "01c7bd5d0d4f3a9f6f5befe6f57a470b"
@@ -17,16 +17,16 @@ SRC_URI[sha256sum] = "34599bbcc4e5ab87832370763e38be5100984a64237555e9234a1ea225
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
DEPENDS = "anthy fontconfig libxft libxt glib-2.0 ncurses intltool libedit"
-DEPENDS_append_class-target = " intltool-native gtk+ gtk+3 uim-native takao-fonts"
+DEPENDS:append:class-target = " intltool-native gtk+ gtk+3 uim-native"
-RDEPENDS_uim = "libuim0 libedit"
-RDEPENDS_uim-anthy = "takao-fonts anthy libanthy0"
-RDEPENDS_uim-anthy_append_libc-glibc = " glibc-utils glibc-gconv-euc-jp"
+RDEPENDS:uim = "libuim0 libedit"
+RDEPENDS:uim-anthy = "anthy libanthy0"
+RDEPENDS:uim-anthy:append:libc-glibc = " glibc-utils glibc-gconv-euc-jp"
LEAD_SONAME = "libuim.so.1"
-COMPATIBLE_HOST_riscv64 = "null"
-COMPATIBLE_HOST_riscv32 = "null"
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
inherit features_check autotools pkgconfig gettext qemu gtk-immodules-cache
@@ -44,82 +44,85 @@ EXTRA_OECONF += "--disable-emacs \
--without-eb \
"
-CONFIGUREOPTS_remove_class-target = "--disable-silent-rules"
+CONFIGUREOPTS:remove:class-target = "--disable-silent-rules"
# https://github.com/uim/uim/issues/44
PARALLEL_MAKE = ""
#Because m4 file's find maxdepth=2, so copy the m4 files of the deep depth.
-do_configure_prepend () {
+do_configure:prepend () {
+ rm -rf ${S}/m4.generated/lt*.m4 ${S}/m4.generated/libtool.m4
+ rm -rf ${S}/sigscheme/libgcroots/m4/lt*.m4 ${S}/sigscheme/libgcroots/m4/libtool.m4
+ rm -rf ${S}/sigscheme/m4/lt*.m4 ${S}/sigscheme/m4/libtool.m4
cp ${S}/sigscheme/m4/* ${S}/m4/
}
-do_install_append() {
+do_install:append() {
rm -rf ${D}/${datadir}/applications
}
PACKAGES =+ "uim-xim uim-utils uim-skk uim-gtk2.0 uim-gtk3 uim-fep uim-anthy uim-common libuim0 libuim-dev"
-FILES_${PN} = "${bindir}/uim-help \
+FILES:${PN} = "${bindir}/uim-help \
${libdir}/uim/plugin/libuim-* \
${libdir}/libuim-scm* \
${libdir}/libgcroots* \
${libdir}/uim/plugin/libuim-* \
"
-FILES_libuim0 = "${libdir}/uim/plugin/libuim-custom-enabler.* \
+FILES:libuim0 = "${libdir}/uim/plugin/libuim-custom-enabler.* \
${libdir}/libuim-custom.so.* \
${datadir}/locale/ja/LC_MESSAGES/uim.mo \
${datadir}/locale/fr/LC_MESSAGES/uim.mo \
${datadir}/locale/ko/LC_MESSAGES/uim.mo \
${libdir}/libuim.so.* \
"
-FILES_libuim-dev = "${libdir}/libuim*.a \
+FILES:libuim-dev = "${libdir}/libuim*.a \
${libdir}/libuim*.la \
${libdir}/libuim*.so \
${includedir}/uim \
${libdir}/pkgconfig/uim.pc \
"
-FILES_uim-anthy = "${libdir}/uim/plugin/libuim-anthy.* \
+FILES:uim-anthy = "${libdir}/uim/plugin/libuim-anthy.* \
${datadir}/uim/anthy*.scm \
"
-FILES_${PN}-dbg += "${libdir}/*/*/*/.debug ${libdir}/*/*/.debug"
-FILES_${PN}-dev += "${libdir}/uim/plugin/*.la"
+FILES:${PN}-dbg += "${libdir}/*/*/*/.debug ${libdir}/*/*/.debug"
+FILES:${PN}-dev += "${libdir}/uim/plugin/*.la"
-FILES_uim-utils = "${bindir}/uim-sh \
+FILES:uim-utils = "${bindir}/uim-sh \
${bindir}/uim-module-manager \
${libexecdir}/uim-helper-server \
"
-FILES_uim-xim = "${bindir}/uim-xim \
+FILES:uim-xim = "${bindir}/uim-xim \
${libexecdir}/uim-candwin-*gtk \
${libexecdir}/uim-candwin-*gtk3 \
${datadir}/man/man1/uim-xim.1 \
${sysconfdir}/X11/xinit/xinput.d/uim* \
"
-FILES_uim-common = "${datadir}/uim/pixmaps/*.png \
+FILES:uim-common = "${datadir}/uim/pixmaps/*.png \
${datadir}/uim \
"
-FILES_uim-fep = "${bindir}/uim-fep*"
+FILES:uim-fep = "${bindir}/uim-fep*"
-FILES_uim-gtk2.0 = "${libdir}/gtk-2.0 \
+FILES:uim-gtk2.0 = "${libdir}/gtk-2.0 \
${bindir}/uim-toolbar-gtk \
${bindir}/uim-toolbar-gtk-systray \
${bindir}/uim-*-gtk \
${bindir}/uim-input-pad-ja \
${libdir}/uim/uim-*-gtk \
"
-FILES_uim-gtk3 = "${libdir}/gtk-3.0 \
+FILES:uim-gtk3 = "${libdir}/gtk-3.0 \
${bindir}/uim-toolbar-gtk3 \
${bindir}/uim-toolbar-gtk3-systray \
${bindir}/uim-*-gtk3 \
${libdir}/uim/uim-*-gtk3 \
"
-FILES_uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
+FILES:uim-skk = "${libdir}/uim/plugin/libuim-skk.* \
${datadir}/uim/skk*.scm \
"
PACKAGE_WRITE_DEPS += "qemu-native"
-pkg_postinst_uim-anthy() {
+pkg_postinst:uim-anthy() {
if test -n "$D"; then
${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register anthy --path $D${datadir}/uim
else
@@ -127,7 +130,7 @@ pkg_postinst_uim-anthy() {
fi
}
-pkg_prerm_uim-anthy() {
+pkg_prerm:uim-anthy() {
if test -n "$D"; then
${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister anthy
else
@@ -135,7 +138,7 @@ pkg_prerm_uim-anthy() {
fi
}
-pkg_postinst_uim-skk() {
+pkg_postinst:uim-skk() {
if test -n "$D"; then
${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --register skk --path $D${datadir}/uim
else
@@ -143,7 +146,7 @@ pkg_postinst_uim-skk() {
fi
}
-pkg_postrm_uim-skk() {
+pkg_postrm:uim-skk() {
if test -n "$D"; then
${@qemu_run_binary(d, '$D', '${bindir}/uim-module-manager')} --path $D${datadir}/uim --unregister skk
else
diff --git a/meta-oe/recipes-support/unicode-ucd/files/license.html b/meta-oe/recipes-support/unicode-ucd/files/license.html
deleted file mode 100644
index a02442ad97..0000000000
--- a/meta-oe/recipes-support/unicode-ucd/files/license.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html>
-
-
-
-<head>
-
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta http-equiv="Content-Language" content="en-us">
-<meta name="VI60_defaultClientScript" content="JavaScript">
-<meta name="GENERATOR" content="Microsoft FrontPage 12.0">
-<meta name="keywords" content="Unicode Standard, copyright">
-<meta name="ProgId" content="FrontPage.Editor.Document">
-<title>Unicode License Agreement</title>
-<link rel="stylesheet" type="text/css"
-
-href="http://www.unicode.org/webscripts/standard_styles.css">
-
-<style type="text/css">
-pre {
- FONT-FAMILY: Arial, Geneva, sans-serif;
-}
-</style>
-
-
-</head>
-
-
-<body text="#330000">
-
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
-
- <!-- BEGIN CONTENTS -->
-
- <td>
-
-
-<blockquote>
-<h2><a name="License">UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE</a></h2>
-
-<pre>
-See <a href="https://www.unicode.org/copyright.html">Terms of Use</a> for definitions of Unicode Inc.'s
-Data Files and Software.
-
-NOTICE TO USER: Carefully read the following legal agreement.
-BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
-DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
-YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
-TERMS AND CONDITIONS OF THIS AGREEMENT.
-IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
-THE DATA FILES OR SOFTWARE.
-
-COPYRIGHT AND PERMISSION NOTICE
-
-Copyright © 1991-2019 Unicode, Inc. All rights reserved.
-Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Unicode data files and any associated documentation
-(the "Data Files") or Unicode software and any associated documentation
-(the "Software") to deal in the Data Files or Software
-without restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, and/or sell copies of
-the Data Files or Software, and to permit persons to whom the Data Files
-or Software are furnished to do so, provided that either
-(a) this copyright and permission notice appear with all copies
-of the Data Files or Software, or
-(b) this copyright and permission notice appear in associated
-Documentation.
-
-THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
-ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT OF THIRD PARTY RIGHTS.
-IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
-NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
-DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THE DATA FILES OR SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder
-shall not be used in advertising or otherwise to promote the sale,
-use or other dealings in these Data Files or Software without prior
-written authorization of the copyright holder.
-</pre>
-
-</blockquote>
-
-
-
- </td>
-
- </tr>
-
- </table>
-</body>
-</html>
diff --git a/meta-oe/recipes-support/unicode-ucd/unicode-ucd_12.1.0.bb b/meta-oe/recipes-support/unicode-ucd/unicode-ucd_12.1.0.bb
deleted file mode 100644
index b29bb784e4..0000000000
--- a/meta-oe/recipes-support/unicode-ucd/unicode-ucd_12.1.0.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Unicode Character Database"
-HOMEPAGE = "https://unicode.org/ucd/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../license.html;beginline=42;endline=85;md5=ddcaebcc17ab633995f12c383599f377"
-
-SRC_URI = " \
- https://www.unicode.org/Public/zipped/${PV}/UCD.zip;name=ucd;subdir=ucd \
- file://license.html \
-"
-SRC_URI[ucd.md5sum] = "430cbdac2615451571dd69a976dd08f6"
-SRC_URI[ucd.sha256sum] = "25ba51a0d4c6fa41047b7a5e5733068d4a734588f055f61e85f450097834a0a6"
-
-inherit allarch
-
-do_configure[noexec] = "1"
-
-do_install() {
- install -d ${D}${datadir}/unicode
- cp -rf ${WORKDIR}/ucd ${D}${datadir}/unicode
-}
-
-FILES_${PN} = "${datadir}/unicode/ucd"
diff --git a/meta-oe/recipes-support/unicode-ucd/unicode-ucd_14.0.0.bb b/meta-oe/recipes-support/unicode-ucd/unicode-ucd_14.0.0.bb
new file mode 100644
index 0000000000..7970cd953f
--- /dev/null
+++ b/meta-oe/recipes-support/unicode-ucd/unicode-ucd_14.0.0.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Unicode Character Database"
+HOMEPAGE = "https://unicode.org/ucd/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/license.txt;md5=4b11b5cbb0a24df9f4e7db63db98f22f"
+
+SRC_URI = " \
+ https://www.unicode.org/Public/zipped/${PV}/UCD.zip;name=ucd;subdir=ucd;downloadfilename=unicode-ucd-${PV}.zip \
+ https://www.unicode.org/license.txt;name=ucd-license \
+"
+SRC_URI[ucd.sha256sum] = "033a5276b5d7af8844589f8e3482f3977a8385e71d107d375055465178c23600"
+SRC_URI[ucd-license.sha256sum] = "f7830d126f59d83842565d3dddedc79db4ca978ed52aee0ebcc040ea76a85519"
+
+inherit allarch
+
+do_configure[noexec] = "1"
+
+do_install() {
+ install -d ${D}${datadir}/unicode
+ cp -rf ${WORKDIR}/ucd ${D}${datadir}/unicode
+}
+
+FILES:${PN} = "${datadir}/unicode/ucd"
diff --git a/meta-oe/recipes-support/unixodbc/files/0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch b/meta-oe/recipes-support/unixodbc/files/0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch
new file mode 100644
index 0000000000..c763a9feb6
--- /dev/null
+++ b/meta-oe/recipes-support/unixodbc/files/0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch
@@ -0,0 +1,54 @@
+From e886222c70d4b251f0785f670477b7aee938e5af Mon Sep 17 00:00:00 2001
+From: Chen Qi <Qi.Chen@windriver.com>
+Date: Wed, 21 Feb 2024 13:55:41 +0800
+Subject: [PATCH] exe/Makefile.am: add CROSS_LAUNCHER to run odbc_config
+
+In case of cross compilation, the odbc_config cannot run, the error message
+would be like below:
+
+ /bin/bash: line 1: ../exe/odbc_config: cannot execute binary file: Exec format error
+
+Add CROSS_LAUNCHER to allow the possibility of running odbc_config correctly in
+case of cross compilation.
+
+For example, here's a possible value for it (Yocto project environment, aarch64 target).
+ export CROSS_LAUNCHER="PSEUDO_UNLOAD=1 qemu-aarch64 -r 5.15 \
+ -L /PATH/TO/unixodbc/2.3.11/recipe-sysroot \
+ -E LD_LIBRARY_PATH=/PATH/TO/unixodbc/2.3.11/recipe-sysroot//usr/lib:/PATH/TO/unixodbc/2.3.11/recipe-sysroot//usr/lib "
+
+Other projects can use the launcher they like to allow correct generation of
+the odbc.pc file in cross compilation environment.
+
+Upstream-Status: Submitted [Personal Email, nick.gorham@easysoft.com]
+
+As said in the official website, https://www.unixodbc.org/, the way to report bug and send
+out patch is via personal email. So there's a public link above.
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ exe/Makefile.am | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/exe/Makefile.am b/exe/Makefile.am
+index 03f3d5a..5f33cf2 100644
+--- a/exe/Makefile.am
++++ b/exe/Makefile.am
+@@ -59,11 +59,13 @@ slencheck_SOURCES = slencheck.c
+ dltest_DEPENDENCIES = $(LTDLDEPS)
+ dltest_LDADD = $(LIBLTDL)
+
++CROSS_LAUNCHER ?= ""
++
+ all-am:
+- @sed "s![@]ODBC_ULEN[@]!`$(top_builddir)/exe/odbc_config$(EXEEXT) --ulen`!" \
++ @sed "s![@]ODBC_ULEN[@]!`$(CROSS_LAUNCHER)$(top_builddir)/exe/odbc_config$(EXEEXT) --ulen`!" \
+ $(top_builddir)/DriverManager/odbc.pc > $(top_builddir)/exe/odbc.pc.tmp
+ @mv -f $(top_builddir)/exe/odbc.pc.tmp $(top_builddir)/DriverManager/odbc.pc
+- @sed "s![@]ODBC_CFLAGS[@]!`$(top_builddir)/exe/odbc_config$(EXEEXT) --cflags | sed 's/ -I.*//'`!" \
++ @sed "s![@]ODBC_CFLAGS[@]!`$(CROSS_LAUNCHER)$(top_builddir)/exe/odbc_config$(EXEEXT) --cflags | sed 's/ -I.*//'`!" \
+ $(top_builddir)/DriverManager/odbc.pc > $(top_builddir)/exe/odbc.pc.tmp
+ @mv -f $(top_builddir)/exe/odbc.pc.tmp $(top_builddir)/DriverManager/odbc.pc
+
+--
+2.34.1
+
diff --git a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb
new file mode 100644
index 0000000000..7819387c39
--- /dev/null
+++ b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.12.bb
@@ -0,0 +1,48 @@
+SUMMARY = "An Open Source ODBC sub-system"
+DESCRIPTION = "unixODBC is an Open Source ODBC sub-system and an ODBC SDK \
+for Linux, Mac OSX, and UNIX."
+
+HOMEPAGE = "http://www.unixodbc.org/"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206"
+
+DEPENDS = "libtool readline"
+
+SRC_URI = "https://www.unixodbc.org/unixODBC-${PV}.tar.gz \
+ file://do-not-use-libltdl-source-directory.patch \
+ file://0001-exe-Makefile.am-add-CROSS_LAUNCHER-to-run-odbc_confi.patch \
+"
+SRC_URI[sha256sum] = "f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec"
+
+UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar"
+
+inherit autotools-brokensep multilib_header qemu
+
+S = "${WORKDIR}/unixODBC-${PV}"
+
+EXTRA_OEMAKE += "LIBS=-lltdl"
+EXTRA_OECONF += "--enable-utf8ini"
+DEPENDS:append:class-target = "${@' qemu-native' if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) else ''}"
+QEMU_WRAPPER = "${@qemu_wrapper_cmdline(d, '${STAGING_DIR_HOST}', ['${STAGING_DIR_HOST}/${libdir}','${STAGING_DIR_HOST}/${base_libdir}'])}"
+
+do_configure:prepend() {
+ # old m4 files will cause libtool version don't match
+ rm -rf m4/*
+ rm -fr libltdl
+}
+
+do_compile:prepend() {
+ if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then
+ export CROSS_LAUNCHER="${QEMU_WRAPPER} "
+ fi
+}
+
+do_install:prepend() {
+ if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then
+ export CROSS_LAUNCHER="${QEMU_WRAPPER} "
+ fi
+}
+
+do_install:append() {
+ oe_multilib_header unixodbc.h unixODBC/unixodbc_conf.h
+}
diff --git a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb b/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
deleted file mode 100644
index 61378fec29..0000000000
--- a/meta-oe/recipes-support/unixodbc/unixodbc_2.3.7.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "An Open Source ODBC sub-system"
-DESCRIPTION = "unixODBC is an Open Source ODBC sub-system and an ODBC SDK \
-for Linux, Mac OSX, and UNIX."
-
-HOMEPAGE = "http://www.unixodbc.org/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7b37bf80a3df5a65b355433ae36d206"
-
-DEPENDS = "libtool readline"
-
-SRC_URI = "http://ftp.unixodbc.org/unixODBC-${PV}.tar.gz \
- file://do-not-use-libltdl-source-directory.patch \
-"
-SRC_URI[md5sum] = "274a711b0c77394e052db6493840c6f9"
-SRC_URI[sha256sum] = "45f169ba1f454a72b8fcbb82abd832630a3bf93baa84731cf2949f449e1e3e77"
-
-UPSTREAM_CHECK_REGEX = "unixODBC-(?P<pver>\d+(\.\d+)+)\.tar"
-
-inherit autotools-brokensep
-
-S = "${WORKDIR}/unixODBC-${PV}"
-
-EXTRA_OEMAKE += "LIBS=-lltdl"
-
-do_configure_prepend() {
- # old m4 files will cause libtool version don't match
- rm -rf m4/*
- rm -fr libltdl
-}
diff --git a/meta-oe/recipes-support/upower/upower_0.99.11.bb b/meta-oe/recipes-support/upower/upower_0.99.11.bb
deleted file mode 100644
index d6c89a65d0..0000000000
--- a/meta-oe/recipes-support/upower/upower_0.99.11.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
-
-DEPENDS = "intltool-native libusb1 libgudev glib-2.0 dbus-glib"
-
-SRC_URI = " \
- http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
-"
-SRC_URI[md5sum] = "abe6acb617f11f2e8dbd9846fcf86e24"
-SRC_URI[sha256sum] = "64b5ffbfccd5bdb15d925777979a4dbee1a957f9eaeb158dc76175267eddbdef"
-
-inherit autotools pkgconfig gettext gobject-introspection systemd
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
-PACKAGECONFIG[systemd] = "--with-systemdutildir=${systemd_unitdir} --with-systemdsystemunitdir=${systemd_system_unitdir}, \
- --without-systemdutildir --without-systemdsystemunitdir,systemd"
-
-EXTRA_OECONF = " --with-backend=linux"
-
-SYSTEMD_SERVICE_${PN} = "upower.service"
-# don't start on boot by default - dbus does that on demand
-SYSTEMD_AUTO_ENABLE = "disable"
-
-do_configure_prepend() {
- sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am
- sed -i -e 's: doc : :g' ${S}/Makefile.am
-}
-
-RDEPENDS_${PN} += "dbus"
-RRECOMMENDS_${PN} += "pm-utils"
-FILES_${PN} += "${datadir}/dbus-1/ \
- ${base_libdir}/udev/* \
-"
diff --git a/meta-oe/recipes-support/upower/upower_0.99.17.bb b/meta-oe/recipes-support/upower/upower_0.99.17.bb
new file mode 100644
index 0000000000..0572cc801b
--- /dev/null
+++ b/meta-oe/recipes-support/upower/upower_0.99.17.bb
@@ -0,0 +1,44 @@
+SUMMARY = "UPower is an abstraction for enumerating power devices"
+DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics."
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
+
+DEPENDS = " \
+ intltool-native \
+ libusb1 \
+ libgudev \
+ glib-2.0 \
+ dbus-glib \
+"
+
+SRC_URI = "git://gitlab.freedesktop.org/upower/upower.git;protocol=https;branch=master"
+SRCREV = "c889154ec8e3e2239db9260d48b2e198d72ba002"
+S = "${WORKDIR}/git"
+
+UPSTREAM_CHECK_GITTAGREGEX = "UPOWER_(?P<pver>\d+(\_\d+)+)"
+
+GIR_MESON_ENABLE_FLAG = "enabled"
+GIR_MESON_DISABLE_FLAG = "disabled"
+GTKDOC_MESON_OPTION = "gtk-doc"
+
+inherit meson pkgconfig gtk-doc gettext gobject-introspection systemd
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG[idevice] = "-Didevice=enabled,-Didevice=disabled,libimobiledevice libplist"
+PACKAGECONFIG[systemd] = "-Dsystemdsystemunitdir=${systemd_system_unitdir},-Dsystemdsystemunitdir=no -Dudevrulesdir=${base_libdir}/udev/rules.d,systemd"
+
+EXTRA_OEMESON = " \
+ -Dos_backend=linux \
+ -Dman=false \
+"
+
+SYSTEMD_SERVICE:${PN} = "upower.service"
+# don't start on boot by default - dbus does that on demand
+SYSTEMD_AUTO_ENABLE = "disable"
+
+RDEPENDS:${PN} += "dbus"
+RRECOMMENDS:${PN} += "pm-utils"
+FILES:${PN} += " \
+ ${datadir}/dbus-1/ \
+ ${base_libdir}/udev/* \
+"
diff --git a/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb b/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb
deleted file mode 100644
index d02cf5de8e..0000000000
--- a/meta-oe/recipes-support/uriparser/uriparser_0.9.4.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "RFC 3986 compliant URI parsing library"
-HOMEPAGE = "https://uriparser.github.io"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fcc5a53146c2401f4b4f6a3bdf3f0168"
-
-SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${BP}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "095e8a358a9ccbbef9d1f10d40495ca0fcb3d4490a948ba6449b213a66e08ef0"
-
-UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
-
-inherit cmake
-
-EXTRA_OECMAKE += "-DURIPARSER_BUILD_DOCS:BOOL=OFF -DURIPARSER_BUILD_TESTS:BOOL=OFF"
-
-BBCLASSEXTEND += "native"
diff --git a/meta-oe/recipes-support/uriparser/uriparser_0.9.7.bb b/meta-oe/recipes-support/uriparser/uriparser_0.9.7.bb
new file mode 100644
index 0000000000..421263e62b
--- /dev/null
+++ b/meta-oe/recipes-support/uriparser/uriparser_0.9.7.bb
@@ -0,0 +1,16 @@
+SUMMARY = "RFC 3986 compliant URI parsing library"
+HOMEPAGE = "https://uriparser.github.io"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fcc5a53146c2401f4b4f6a3bdf3f0168"
+
+SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${BP}/${BP}.tar.gz"
+SRC_URI[sha256sum] = "11553b2abd2b5728a6c88e35ab08e807d0a0f23c44920df937778ce8cc4d40ff"
+
+inherit cmake github-releases
+
+UPSTREAM_CHECK_REGEX = "releases/tag/${BPN}-(?P<pver>\d+(\.\d+)+)"
+
+EXTRA_OECMAKE += "-DURIPARSER_BUILD_DOCS:BOOL=OFF -DURIPARSER_BUILD_TESTS:BOOL=OFF"
+
+BBCLASSEXTEND += "native"
diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.bb
index ca970e59bb..351fe44d70 100644
--- a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.bb
+++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20191128.bb
@@ -1,5 +1,5 @@
SUMMARY = "Data files for usbmodeswitch"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
inherit allarch
@@ -14,6 +14,6 @@ do_install() {
oe_runmake install DESTDIR=${D} RULESDIR=${D}/${nonarch_base_libdir}/udev/rules.d
}
-RDEPENDS_${PN} = "usb-modeswitch (>= 2.4.0)"
-FILES_${PN} += "${nonarch_base_libdir}/udev/rules.d/ \
+RDEPENDS:${PN} = "usb-modeswitch (>= 2.4.0)"
+FILES:${PN} += "${nonarch_base_libdir}/udev/rules.d/ \
${datadir}/usb_modeswitch"
diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.0.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.0.bb
deleted file mode 100644
index 6a5287af49..0000000000
--- a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) USB gear"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=091556bd6d0154cd4c2d17a1bfc7380a"
-
-DEPENDS = "libusb1"
-
-SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
-SRC_URI[md5sum] = "be73dcc84025794081a1d4d4e5a75e4c"
-SRC_URI[sha256sum] = "c215236e6bada6e659fc195a31d611ea298a4bdb4d57a0d68c553b56585f8ba3"
-
-inherit pkgconfig systemd
-
-SYSTEMD_SERVICE_${PN} = "usb_modeswitch@.service"
-
-EXTRA_OEMAKE = "TCL=${bindir}/tclsh"
-
-FILES_${PN} = "${bindir} ${sysconfdir} ${nonarch_base_libdir}/udev/usb_modeswitch ${sbindir} ${localstatedir}/lib/usb_modeswitch"
-RDEPENDS_${PN} = "tcl"
-RRECOMMENDS_${PN} = "usb-modeswitch-data"
-
-do_install() {
- oe_runmake DESTDIR=${D} UDEVDIR=${D}/${nonarch_base_libdir}/udev install
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${S}/usb_modeswitch@.service ${D}/${systemd_unitdir}/system
- fi
-}
diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.1.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.1.bb
new file mode 100644
index 0000000000..cd3840feab
--- /dev/null
+++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.6.1.bb
@@ -0,0 +1,31 @@
+SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) USB gear"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=091556bd6d0154cd4c2d17a1bfc7380a"
+
+DEPENDS = "libusb1"
+
+SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
+SRC_URI[sha256sum] = "5195d9e136e52f658f19e9f93e4f982b1b67bffac197d0a455cd8c2cd245fa34"
+
+inherit pkgconfig systemd
+
+SYSTEMD_SERVICE:${PN} = "usb_modeswitch@.service"
+
+EXTRA_OEMAKE = "TCL=${bindir}/tclsh"
+
+FILES:${PN} = " \
+ ${bindir} \
+ ${sysconfdir} \
+ ${nonarch_base_libdir}/udev/usb_modeswitch \
+ ${sbindir} ${localstatedir}/lib/usb_modeswitch \
+"
+RDEPENDS:${PN} = "tcl"
+RRECOMMENDS:${PN} = "usb-modeswitch-data"
+
+do_install() {
+ oe_runmake DESTDIR=${D} UDEVDIR=${D}/${nonarch_base_libdir}/udev install
+ if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${S}/usb_modeswitch@.service ${D}/${systemd_unitdir}/system
+ fi
+}
diff --git a/meta-oe/recipes-support/usbids/usbids_2023.01.16.bb b/meta-oe/recipes-support/usbids/usbids_2023.01.16.bb
new file mode 100644
index 0000000000..b0dd72fb25
--- /dev/null
+++ b/meta-oe/recipes-support/usbids/usbids_2023.01.16.bb
@@ -0,0 +1,18 @@
+SUMMARY = "usb device database."
+HOMEPAGE = "https://github.com/usbids/usbids"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+SRC_URI = "git://github.com/usbids/usbids.git;branch=master;protocol=https"
+
+SRCREV = "7963233faf69eb9c80ffca8dfc1f31940f75999f"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${datadir}
+ install -m0644 ${S}/usb.ids ${D}${datadir}
+}
+
+FILES:${PN} = "${datadir}"
diff --git a/meta-oe/recipes-support/uthash/uthash_2.2.0.bb b/meta-oe/recipes-support/uthash/uthash_2.2.0.bb
deleted file mode 100644
index 4ec7bc2f5e..0000000000
--- a/meta-oe/recipes-support/uthash/uthash_2.2.0.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "Hash table and linked list for C structures"
-DESCRIPTION = " uthash-dev provides a hash table implementation using C preprocessor macros.\n\
- This package also includes:\n\
- * utlist.h provides linked list macros for C structures\n\
- * utarray.h implements dynamic arrays using macros\n\
- * utstring.h implements a basic dynamic string\n\
-"
-HOMEPAGE = "https://troydhanson.github.io/uthash/"
-SECTION = "base"
-LICENSE = "BSD-1-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6891c324eb59289db33bac74d4cbb0d4"
-SRCREV = "66e2668795d0aaf4977523f828e548470a680c33"
-
-SRC_URI = "\
- git://github.com/troydhanson/${BPN}.git \
- file://run-ptest \
-"
-
-S = "${WORKDIR}/git"
-
-inherit ptest
-
-do_compile[noexec] = "1"
-
-do_compile_ptest() {
- oe_runmake -C tests tests_only TEST_TARGET=
-}
-
-do_install () {
- install -dm755 ${D}${includedir}
- install -m0644 src/*.h ${D}${includedir}
-}
-
-do_install_ptest() {
- install -dm755 ${D}${PTEST_PATH}/tests
- install -m0755 tests/test*[0-9] ${D}${PTEST_PATH}/tests
- install -m0644 tests/test*[0-9].ans ${D}${PTEST_PATH}/tests
- install -m0644 tests/test*[0-9].dat ${D}${PTEST_PATH}/tests
-}
-
-# The main package is empty and non-existent, so -dev
-# should not depend on it...
-RDEPENDS_${PN}-dev = ""
-RDEPENDS_${PN}-ptest_remove = "${PN}"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/uthash/uthash_2.3.0.bb b/meta-oe/recipes-support/uthash/uthash_2.3.0.bb
new file mode 100644
index 0000000000..ef15613586
--- /dev/null
+++ b/meta-oe/recipes-support/uthash/uthash_2.3.0.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Hash table and linked list for C structures"
+DESCRIPTION = " uthash-dev provides a hash table implementation using C preprocessor macros.\n\
+ This package also includes:\n\
+ * utlist.h provides linked list macros for C structures\n\
+ * utarray.h implements dynamic arrays using macros\n\
+ * utstring.h implements a basic dynamic string\n\
+"
+HOMEPAGE = "https://troydhanson.github.io/uthash/"
+SECTION = "base"
+LICENSE = "BSD-1-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=736712b5904dd42f8678df7172bc5f2b"
+SRCREV = "e493aa90a2833b4655927598f169c31cfcdf7861"
+
+SRC_URI = "\
+ git://github.com/troydhanson/${BPN}.git;branch=master;protocol=https \
+ file://run-ptest \
+"
+
+S = "${WORKDIR}/git"
+
+inherit ptest
+
+do_compile[noexec] = "1"
+
+do_compile_ptest() {
+ oe_runmake -C tests tests_only TEST_TARGET=
+}
+
+do_install () {
+ install -dm755 ${D}${includedir}
+ install -m0644 src/*.h ${D}${includedir}
+}
+
+do_install_ptest() {
+ install -dm755 ${D}${PTEST_PATH}/tests
+ install -m0755 tests/test*[0-9] ${D}${PTEST_PATH}/tests
+ install -m0644 tests/test*[0-9].ans ${D}${PTEST_PATH}/tests
+ install -m0644 tests/test*[0-9].dat ${D}${PTEST_PATH}/tests
+}
+
+# The main package is empty and non-existent, so -dev
+# should not depend on it...
+RDEPENDS:${PN}-dev = ""
+RDEPENDS:${PN}-ptest:remove = "${PN}"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/utouch/utouch-evemu_git.bb b/meta-oe/recipes-support/utouch/utouch-evemu_git.bb
index a5a881d1fe..bd69dbb11c 100644
--- a/meta-oe/recipes-support/utouch/utouch-evemu_git.bb
+++ b/meta-oe/recipes-support/utouch/utouch-evemu_git.bb
@@ -2,17 +2,17 @@ SUMMARY = "Kernel evdev device emulation"
DESCRIPTION = "The evemu library and tools are used to describe devices, record data, create devices and replay data from kernel evdev devices. "
HOMEPAGE = "http://bitmath.org/code/evemu/"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
inherit autotools
-SRC_URI = "git://bitmath.org/git/evemu.git;protocol=http \
+SRC_URI = "git://bitmath.org/git/evemu.git;protocol=http;branch=master \
file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
"
SRCREV = "9752b50e922572e4cd214ac45ed95e4ee410fe24"
-PV = "1.0.6+git${SRCPV}"
+PV = "1.0.6+git"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch b/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch
index f3c8eeb418..f0860fcd90 100644
--- a/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch
+++ b/meta-oe/recipes-support/utouch/utouch-frame/0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch
@@ -9,6 +9,8 @@ error: field has incomplete
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
+Upstream-Status: Pending
+
tools/utouch-frame-test-mtdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/meta-oe/recipes-support/utouch/utouch-frame_git.bb
index ca74d911f8..ddd27a7e30 100644
--- a/meta-oe/recipes-support/utouch/utouch-frame_git.bb
+++ b/meta-oe/recipes-support/utouch/utouch-frame_git.bb
@@ -2,20 +2,20 @@ SUMMARY = "Touch Frame Library"
DESCRIPTION = "The frame library and tools are used to handle touch frames, i.e., collections of tracked contacts. Bindings for mtdev and XI2.1."
HOMEPAGE = "http://bitmath.org/code/frame/"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
DEPENDS += "mtdev utouch-evemu"
inherit autotools pkgconfig
-SRC_URI = "git://bitmath.org/git/frame.git;protocol=http \
+SRC_URI = "git://bitmath.org/git/frame.git;protocol=http;branch=master \
file://remove-man-page-creation.patch \
file://0001-include-sys-stat.h-for-fixing-build-issue-on-musl.patch \
file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
"
SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc"
-PV = "1.1.2+git${SRCPV}"
+PV = "1.1.2+git"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
index 04d1f3fc7f..d964d7f263 100644
--- a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
+++ b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb
@@ -2,18 +2,18 @@ SUMMARY = "Multitouch viewer"
DESCRIPTION = "mtview is a small X application that shows a graphical view of your MT-enabled hardware. It uses mtdev."
HOMEPAGE = "http://bitmath.org/code/mtview/"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=4c61b8950dc1aab4d2aa7c2ae6b1cfb3"
inherit autotools pkgconfig features_check
# depends on virtual/libx11
REQUIRED_DISTRO_FEATURES = "x11"
-SRC_URI = "git://bitmath.org/git/mtview.git;protocol=http"
+SRC_URI = "git://bitmath.org/git/mtview.git;protocol=http;branch=master"
SRCREV = "ad437c38dc111cf3990a03abf14efe1b5d89604b"
DEPENDS += "mtdev utouch-frame utouch-evemu libx11"
-PV = "1.1.7+git${SRCPV}"
+PV = "1.1.7+git"
S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils
index 495601f08f..5982e2d08c 100644
--- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils
+++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/Makefile.utils
@@ -13,7 +13,7 @@
INCLUDES = -I. -I../vboxsf -I../vboxsf/include
MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \
-DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DIN_MODULE -DIN_GUEST_R0
-CFLAGS = ${INCLUDES} ${MOD_DEFS}
+CFLAGS = ${INCLUDES} ${MOD_DEFS} ${EXTRA_CFLAGS}
LDFLAGS =
SRCS = mount.vboxsf.c \
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.10.patch b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.10.patch
deleted file mode 100644
index a6b0a04545..0000000000
--- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/kernel-5.10.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Origin: https://www.mail-archive.com/pld-cvs-commit@lists.pld-linux.org/msg461494.html
-From 80bfab5ec8575703ef26b442a3af2d030793ebde Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Jan=20R=C4=99korajski?= <baggins@pld-linux.org>
-Date: Thu, 24 Dec 2020 23:03:55 +0100
-Subject: [PATCH] - DECLCALLBACK generates incorrect code on ix86, remove it
-
----
- kernel-5.10.patch | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/kernel-5.10.patch b/kernel-5.10.patch
-index b28d6e0..729235d 100644
---- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
-+++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
-@@ -536,7 +536,7 @@ typedef const LNXAPPLYPGRANGE *PCLNXAPPLYPGRANGE;
- * @param uAddr The address to apply the new protection to.
- * @param pvUser The opaque user data.
- */
--static DECLCALLBACK(int) rtR0MemObjLinuxApplyPageRange(pte_t *pPte, unsigned long uAddr, void *pvUser)
-+static int rtR0MemObjLinuxApplyPageRange(pte_t *pPte, unsigned long uAddr, void *pvUser)
- {
- PCLNXAPPLYPGRANGE pArgs = (PCLNXAPPLYPGRANGE)pvUser;
- PRTR0MEMOBJLNX pMemLnx = pArgs->pMemLnx;
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb
deleted file mode 100644
index d620e9893f..0000000000
--- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.18.bb
+++ /dev/null
@@ -1,83 +0,0 @@
-SUMMARY = "VirtualBox Linux Guest Drivers"
-SECTION = "core"
-LICENSE = "GPL-2.0"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660"
-
-DEPENDS = "virtual/kernel"
-
-inherit module kernel-module-split
-
-COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
-
-VBOX_NAME = "VirtualBox-${PV}"
-
-SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
- file://Makefile.utils \
- file://kernel-5.10.patch \
-"
-SRC_URI[md5sum] = "c61001386eb3822ab8f06d688a82e84b"
-SRC_URI[sha256sum] = "108d42b9b391b7a332a33df1662cf7b0e9d9a80f3079d16288d8b9487f427d40"
-
-S ?= "${WORKDIR}/vbox_module"
-S_task-patch = "${WORKDIR}/${VBOX_NAME}"
-
-export BUILD_TARGET_ARCH="${ARCH}"
-export BUILD_TARGET_ARCH_x86-64="amd64"
-
-EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1"
-
-# otherwise 5.2.22 builds just vboxguest
-MAKE_TARGETS = "all"
-
-addtask export_sources after do_patch before do_configure
-
-do_export_sources() {
- mkdir -p "${S}"
- ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz
- tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
-
- # add a mount utility to use shared folder from VBox Addition Source Code
- mkdir -p "${S}/utils"
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
- install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
- install ${S}/../Makefile.utils ${S}/utils/Makefile
-
-}
-
-do_configure_prepend() {
- # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop.
- # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set. Stop.
- mkdir -p ${WORKDIR}/${KERNEL_VERSION}
- ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build
-}
-
-# compile and install mount utility
-do_compile() {
- oe_runmake all
- oe_runmake 'LD=${CC}' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
- if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
- echo "ERROR: One of vbox*.ko modules wasn't built"
- exit 1
- fi
-}
-
-module_do_install() {
- MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
- install -d $MODULE_DIR
- install -m 644 vboxguest.ko $MODULE_DIR
- install -m 644 vboxsf.ko $MODULE_DIR
- install -m 644 vboxvideo.ko $MODULE_DIR
-}
-
-do_install_append() {
- install -d ${D}${base_sbindir}
- install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
-}
-
-PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-RRECOMMENDS_${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
-
-FILES_${PN} = "${base_sbindir}"
-
-# autoload if installed
-KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.14.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.14.bb
new file mode 100644
index 0000000000..208b1bb6e5
--- /dev/null
+++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_7.0.14.bb
@@ -0,0 +1,91 @@
+SUMMARY = "VirtualBox Linux Guest Drivers"
+SECTION = "core"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://${WORKDIR}/${VBOX_NAME}/COPYING;md5=fff5fe1c81dd6dc3d522e7862e44881e"
+
+DEPENDS = "virtual/kernel"
+
+inherit module kernel-module-split
+
+COMPATIBLE_MACHINE = "(qemux86|qemux86-64)"
+
+VBOX_NAME = "VirtualBox-${PV}"
+
+SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \
+ file://Makefile.utils \
+"
+
+SRC_URI[sha256sum] = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9"
+
+S ?= "${WORKDIR}/vbox_module"
+S:task-patch = "${WORKDIR}/${VBOX_NAME}"
+
+export VBOX_KBUILD_TARGET_ARCH="${ARCH}"
+export VBOX_KBUILD_TARGET_ARCH:x86-64="amd64"
+
+EXTRA_OEMAKE += "KERN_DIR='${WORKDIR}/${KERNEL_VERSION}/build' KBUILD_VERBOSE=1 CC='${CC} ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} -fdebug-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH}'"
+
+# otherwise 5.2.22 builds just vboxguest
+MAKE_TARGETS = "all"
+
+addtask export_sources after do_patch before do_configure
+do_export_sources[depends] += "virtual/kernel:do_shared_workdir"
+
+do_export_sources() {
+ mkdir -p "${S}"
+ ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/export_modules.sh ${T}/vbox_modules.tar.gz
+ tar -C "${S}" -xzf ${T}/vbox_modules.tar.gz
+
+ # add a mount utility to use shared folder from VBox Addition Source Code
+ mkdir -p "${S}/utils"
+ install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/mount.vboxsf.c ${S}/utils
+ install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils
+ install ${S}/../Makefile.utils ${S}/utils/Makefile
+
+ # some kernel versions have issues with stdarg.h and compatibility with
+ # the sysroot and libc-headers/uapi. If we include the file directly from
+ # the kernel source (STAGING_KERNEL_DIR) we get conflicting types on many
+ # structures, due to kernel .h files being found before libc .h files.
+ # if we grab just this one file from the source, and put it into our
+ # file structure, everything holds together
+ mkdir -p ${S}/vboxsf/include/linux
+ install ${STAGING_KERNEL_DIR}/include/linux/stdarg.h ${S}/vboxsf/include/linux
+}
+
+do_configure:prepend() {
+ # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:99: *** The variable KERN_DIR must be a kernel build folder and end with /build without a trailing slash, or KERN_VER must be set. Stop.
+ # vboxguestdrivers/5.2.6-r0/vbox_module/vboxguest/Makefile.include.header:108: *** The kernel build folder path must end in <version>/build, or the variable KERN_VER must be set. Stop.
+ mkdir -p ${WORKDIR}/${KERNEL_VERSION}
+ ln -snf ${STAGING_KERNEL_DIR} ${WORKDIR}/${KERNEL_VERSION}/build
+}
+
+# compile and install mount utility
+do_compile() {
+ oe_runmake all
+ oe_runmake 'LD=${CC}' 'EXTRA_CFLAGS=-I${STAGING_KERNEL_BUILDDIR}/include/' 'LDFLAGS=${LDFLAGS}' -C ${S}/utils
+ if ! [ -e vboxguest.ko -a -e vboxsf.ko -a -e vboxvideo.ko ] ; then
+ echo "ERROR: One of vbox*.ko modules wasn't built"
+ exit 1
+ fi
+}
+
+module_do_install() {
+ MODULE_DIR=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel/misc
+ install -d $MODULE_DIR
+ install -m 644 vboxguest.ko $MODULE_DIR
+ install -m 644 vboxsf.ko $MODULE_DIR
+ install -m 644 vboxvideo.ko $MODULE_DIR
+}
+
+do_install:append() {
+ install -d ${D}${base_sbindir}
+ install -m 755 ${S}/utils/mount.vboxsf ${D}${base_sbindir}
+}
+
+PACKAGES += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
+RRECOMMENDS:${PN} += "kernel-module-vboxguest kernel-module-vboxsf kernel-module-vboxvideo"
+
+FILES:${PN} = "${base_sbindir}"
+
+# autoload if installed
+KERNEL_MODULE_AUTOLOAD += "vboxguest vboxsf vboxvideo"
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
new file mode 100644
index 0000000000..06030c047c
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
@@ -0,0 +1,29 @@
+From e68e87c14243b1c8707c56883a53e841310974a1 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 27 Oct 2015 16:02:19 +0200
+Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
+ from pkg-config with PKG_CONFIG_SYSROOT_DIR
+
+See discussion at https://bugs.webkit.org/show_bug.cgi?id=232933 for
+reasons why this is not approproiate for upstream submission.
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Source/cmake/FindGI.cmake | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/Source/cmake/FindGI.cmake b/Source/cmake/FindGI.cmake
+index fdc56b21..d42eca52 100644
+--- a/Source/cmake/FindGI.cmake
++++ b/Source/cmake/FindGI.cmake
+@@ -72,6 +72,9 @@ if (PKG_CONFIG_FOUND)
+ endif ()
+ endif ()
+
++set(_GI_SCANNER_EXE "$ENV{PKG_CONFIG_SYSROOT_DIR}${_GI_SCANNER_EXE}")
++set(_GI_COMPILER_EXE "$ENV{PKG_CONFIG_SYSROOT_DIR}${_GI_COMPILER_EXE}")
++
+ find_program(GI_SCANNER_EXE NAMES ${_GI_SCANNER_EXE} g-ir-scanner)
+ find_program(GI_COMPILER_EXE NAMES ${_GI_COMPILER_EXE} g-ir-compiler)
+
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch
new file mode 100644
index 0000000000..e6a43c2fff
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch
@@ -0,0 +1,35 @@
+From fb81a5de7798eb7f68e0de1c281671553e1aa19d Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@redhat.com>
+Date: Mon, 5 Feb 2024 11:00:49 -0600
+Subject: [PATCH] =?UTF-8?q?LowLevelInterpreter.cpp:339:21:=20error:=20?=
+ =?UTF-8?q?=E2=80=98t6=E2=80=99=20was=20not=20declared=20in=20this=20scope?=
+ =?UTF-8?q?=20https://bugs.webkit.org/show=5Fbug.cgi=3Fid=3D268739?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Unreviewed build fix. Seems a backport went badly, and we didn't notice
+because the code is architecture-specific.
+
+* Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:
+(JSC::CLoop::execute):
+
+Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/3d5373575695b293b8559155431d0079a6153aff]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Source/JavaScriptCore/llint/LowLevelInterpreter.cpp | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+index 75cecbbd..b1020ea4 100644
+--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
++++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+@@ -336,8 +336,6 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm,
+ UNUSED_VARIABLE(t2);
+ UNUSED_VARIABLE(t3);
+ UNUSED_VARIABLE(t5);
+- UNUSED_VARIABLE(t6);
+- UNUSED_VARIABLE(t7);
+
+ struct StackPointerScope {
+ StackPointerScope(CLoopStack& stack)
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch
new file mode 100644
index 0000000000..b2e40a88c8
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch
@@ -0,0 +1,65 @@
+From 1523e00a2a76e285262c8aa3721b5d99f3f2d612 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas.devoogdt@barco.com>
+Date: Mon, 16 Jan 2023 17:03:30 +0100
+Subject: [PATCH] REGRESSION(257865@main): B3Validate.cpp: fix
+
+ !ENABLE(WEBASSEMBLY_B3JIT)
+
+https://bugs.webkit.org/show_bug.cgi?id=250681
+
+Reviewed by NOBODY (OOPS!).
+
+WasmTypeDefinition.h isn't included if not ENABLE(WEBASSEMBLY_B3JIT).
+Also, toB3Type and simdScalarType are not defined if it is included.
+
+Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
+
+Upstream-Status: Inappropriate [https://bugs.launchpad.net/ubuntu/+source/webkit2gtk/+bug/2008798]
+---
+ Source/JavaScriptCore/b3/B3Validate.cpp | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/Source/JavaScriptCore/b3/B3Validate.cpp b/Source/JavaScriptCore/b3/B3Validate.cpp
+index eaaa3749..1d089783 100644
+--- a/Source/JavaScriptCore/b3/B3Validate.cpp
++++ b/Source/JavaScriptCore/b3/B3Validate.cpp
+@@ -47,6 +47,12 @@
+ #include <wtf/StringPrintStream.h>
+ #include <wtf/text/CString.h>
+
++#if ENABLE(WEBASSEMBLY) && ENABLE(WEBASSEMBLY_B3JIT)
++#define simdScalarTypeToB3Type(type) toB3Type(Wasm::simdScalarType(type))
++#else
++#define simdScalarTypeToB3Type(type) B3::Type()
++#endif
++
+ namespace JSC { namespace B3 {
+
+ namespace {
+@@ -454,7 +460,7 @@ public:
+ case VectorExtractLane:
+ VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
+ VALIDATE(value->numChildren() == 1, ("At ", *value));
+- VALIDATE(value->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
++ VALIDATE(value->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+ VALIDATE(value->child(0)->type() == V128, ("At ", *value));
+ break;
+ case VectorReplaceLane:
+@@ -462,7 +468,7 @@ public:
+ VALIDATE(value->numChildren() == 2, ("At ", *value));
+ VALIDATE(value->type() == V128, ("At ", *value));
+ VALIDATE(value->child(0)->type() == V128, ("At ", *value));
+- VALIDATE(value->child(1)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
++ VALIDATE(value->child(1)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+ break;
+ case VectorDupElement:
+ VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
+@@ -484,7 +490,7 @@ public:
+ VALIDATE(!value->kind().hasExtraBits(), ("At ", *value));
+ VALIDATE(value->numChildren() == 1, ("At ", *value));
+ VALIDATE(value->type() == V128, ("At ", *value));
+- VALIDATE(value->child(0)->type() == toB3Type(Wasm::simdScalarType(value->asSIMDValue()->simdLane())), ("At ", *value));
++ VALIDATE(value->child(0)->type() == simdScalarTypeToB3Type(value->asSIMDValue()->simdLane()), ("At ", *value));
+ break;
+
+ case VectorPopcnt:
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch
new file mode 100644
index 0000000000..37bc6538c3
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch
@@ -0,0 +1,30 @@
+From c50f2277509f2e6f087cda2eaf323eaf569aad8d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Sep 2023 12:42:06 -0700
+Subject: [PATCH] clang/arm: Do not use MUST_TAIL_CALL
+
+This causes clang-17 to crash see [1]
+this code is new in webkit 2.42[2] thats why we do not see the crash in older webkit
+
+[1] https://github.com/llvm/llvm-project/issues/67767
+[2] https://github.com/WebKit/WebKit/commit/4d816460b765acd8aef90ab474615850b91ecc35
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ Source/WTF/wtf/Compiler.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h
+index 449ca502..daac29d7 100644
+--- a/Source/WTF/wtf/Compiler.h
++++ b/Source/WTF/wtf/Compiler.h
+@@ -321,7 +321,7 @@
+ /* MUST_TAIL_CALL */
+
+ #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute)
+-#if __has_cpp_attribute(clang::musttail)
++#if __has_cpp_attribute(clang::musttail) && !defined(__arm__)
+ #define MUST_TAIL_CALL [[clang::musttail]]
+ #endif
+ #endif
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch
new file mode 100644
index 0000000000..0a5720c99e
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/reproducibility.patch
@@ -0,0 +1,30 @@
+From 7336dfd02c20ec9b2a984e1e42d17201af55c8f5 Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Thu, 27 Jul 2023 22:09:06 +0200
+Subject: [PATCH] webkitgtk3: add recipe
+
+Injection a year based on the current date isn't reproducible. Hack this
+to a specific year for now for reproducibilty and to avoid autobuilder failures.
+
+The correct fix would be to use SOURCE_DATE_EPOCH from the environment and
+then this could be submitted upstream, sadly my ruby isn't up to that.
+
+Upstream-Status: Pending [could be reworked]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+---
+ Source/JavaScriptCore/generator/GeneratedFile.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/JavaScriptCore/generator/GeneratedFile.rb b/Source/JavaScriptCore/generator/GeneratedFile.rb
+index 6ed2b6e4..86a28286 100644
+--- a/Source/JavaScriptCore/generator/GeneratedFile.rb
++++ b/Source/JavaScriptCore/generator/GeneratedFile.rb
+@@ -25,7 +25,7 @@ require 'date'
+ require 'digest'
+
+ $LICENSE = <<-EOF
+-Copyright (C) #{Date.today.year} Apple Inc. All rights reserved.
++Copyright (C) 2021 Apple Inc. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.1.bb b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.1.bb
new file mode 100644
index 0000000000..fc96d5dc3b
--- /dev/null
+++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.44.1.bb
@@ -0,0 +1,188 @@
+SUMMARY = "WebKit web rendering engine for the GTK+ platform"
+HOMEPAGE = "https://www.webkitgtk.org/"
+BUGTRACKER = "https://bugs.webkit.org/"
+
+LICENSE = "BSD-2-Clause & LGPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ "
+
+SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \
+ file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
+ file://reproducibility.patch \
+ file://no-musttail-arm.patch \
+ file://0001-LowLevelInterpreter.cpp-339-21-error-t6-was-not-decl.patch \
+ file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \
+ "
+SRC_URI[sha256sum] = "425b1459b0f04d0600c78d1abb5e7edfa3c060a420f8b231e9a6a2d5d29c5561"
+
+inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
+
+S = "${WORKDIR}/webkitgtk-${PV}"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}"
+
+CVE_PRODUCT = "webkitgtk webkitgtk\+"
+
+DEPENDS += " \
+ ruby-native \
+ gperf-native \
+ unifdef-native \
+ cairo \
+ harfbuzz \
+ jpeg \
+ atk \
+ libwebp \
+ gtk+3 \
+ libxslt \
+ libtasn1 \
+ libnotify \
+ gstreamer1.0 \
+ gstreamer1.0-plugins-base \
+ glib-2.0-native \
+ gettext-native \
+ "
+
+PACKAGECONFIG_SOUP ?= "soup3"
+PACKAGECONFIG ??= " \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
+ enchant \
+ libsecret \
+ ${PACKAGECONFIG_SOUP} \
+ "
+
+PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native"
+PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF"
+PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt"
+PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
+PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2"
+PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
+PACKAGECONFIG[jpegxl] = " -DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl"
+PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/egl"
+PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/egl"
+PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF"
+PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
+PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
+PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
+PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
+PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd"
+PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,,"
+PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms"
+PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3"
+PACKAGECONFIG[soup3] = ",,libsoup,,,soup2"
+PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd"
+PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif"
+PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad"
+PACKAGECONFIG[gamepad] = "-DENABLE_GAMEPAD=ON,-DENABLE_GAMEPAD=OFF,libmanette"
+PACKAGECONFIG[webrtc] = "-DENABLE_WEB_RTC=ON,-DENABLE_WEB_RTC=OFF"
+PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,,bubblewrap xdg-dbus-proxy"
+PACKAGECONFIG[backtrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace"
+
+EXTRA_OECMAKE = " \
+ -DPORT=GTK \
+ -DUSE_GTK4=OFF \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
+ ${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
+ -DENABLE_MINIBROWSER=ON \
+ -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \
+ "
+# Unless DEBUG_BUILD is enabled, pass -g1 to massively reduce the size of the
+# debug symbols (4.3GB to 700M at time of writing)
+DEBUG_FLAGS:append = "${@oe.utils.vartrue('DEBUG_BUILD', '', ' -g1', d)}"
+
+# Javascript JIT is not supported on ARC
+EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF "
+# By default 25-bit "medium" calls are used on ARC
+# which is not enough for binaries larger than 32 MiB
+CFLAGS:append:arc = " -mlong-calls"
+CXXFLAGS:append:arc = " -mlong-calls"
+
+# Needed for non-mesa graphics stacks when x11 is disabled
+CXXFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
+
+# Javascript JIT is not supported on powerpc
+EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF "
+
+# ARM JIT code does not build on ARMv4/5/6 anymore
+EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF "
+
+# And for armv7* don't enable it for softfp, because after:
+# https://github.com/WebKit/WebKit/commit/a2ec4ef1997d6fafa6ffc607bffb54e76168a918
+# https://bugs.webkit.org/show_bug.cgi?id=242172
+# softfp armv7* fails because WEBASSEMBLY is left enabled by default and JIT gets
+# explicitly disabled causing:
+# http://errors.yoctoproject.org/Errors/Details/734587/
+# PR was sent upstream, but the end result is the same both JIT and WEBASSEMBLY disabled
+# https://github.com/WebKit/WebKit/pull/17447
+EXTRA_OECMAKE:append:armv7a = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+EXTRA_OECMAKE:append:armv7r = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+EXTRA_OECMAKE:append:armv7ve = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+
+EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF "
+
+# JIT and gold linker does not work on RISCV
+EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
+EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF"
+
+# JIT not supported on MIPS either
+EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
+
+# JIT not supported on X32
+# An attempt was made to upstream JIT support for x32 in
+# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
+# unresolved due to limited X32 adoption.
+EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF "
+
+SECURITY_CFLAGS:remove:aarch64 = "-fpie"
+SECURITY_CFLAGS:append:aarch64 = " -fPIE"
+
+FILES:${PN} += "${libdir}/webkit2gtk-4.*/injected-bundle/libwebkit2gtkinjectedbundle.so"
+
+RRECOMMENDS:${PN} += "ca-certificates shared-mime-info"
+
+# http://errors.yoctoproject.org/Errors/Details/20370/
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
+
+# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
+# https://bugs.webkit.org/show_bug.cgi?id=159880
+# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
+# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
+ARM_INSTRUCTION_SET:armv7a = "thumb"
+ARM_INSTRUCTION_SET:armv7r = "thumb"
+ARM_INSTRUCTION_SET:armv7ve = "thumb"
+
+# ANGLE requires SSE support as of webkit 2.40.x on 32 bit x86
+COMPATIBLE_HOST:x86 = "${@bb.utils.contains_any('TUNE_FEATURES', 'core2 corei7', '.*', 'null', d)}"
+
+# introspection inside qemu-arm hangs forever on musl/arm builds
+# therefore disable GI_DATA
+GI_DATA_ENABLED:libc-musl:armv7a = "False"
+GI_DATA_ENABLED:libc-musl:armv7ve = "False"
+
+do_install:append() {
+ mv ${D}${bindir}/WebKitWebDriver ${D}${bindir}/WebKitWebDriver3
+}
+
+PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess"
+src_package_preprocess () {
+ # Trim build paths from comments in generated sources to ensure reproducibility
+ sed -i -e "s,${WORKDIR},,g" \
+ ${B}/JavaScriptCore/DerivedSources/*.h \
+ ${B}/JavaScriptCore/DerivedSources/yarr/*.h \
+ ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \
+ ${B}/WebCore/DerivedSources/*.cpp \
+ ${B}/WebKitGTK/DerivedSources/webkit/*.cpp
+}
+
diff --git a/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/1024.patch b/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/1024.patch
new file mode 100644
index 0000000000..12613f8b19
--- /dev/null
+++ b/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/1024.patch
@@ -0,0 +1,508 @@
+From 05d1189ffce562560da90056d96fe2084d84654a Mon Sep 17 00:00:00 2001
+From: "Laszlo Boszormenyi (GCS)" <gcs@debian.org>
+Date: Mon, 14 Feb 2022 14:13:13 +0100
+Subject: [PATCH] SCons 4.2.0 no longer has env_cpp11.has_key() Check env_cpp11
+ as an array.
+
+This fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1003022
+---
+Upstream-Status: Pending
+
+ examples/broadcast_server/SConscript | 2 +-
+ examples/debug_client/SConscript | 2 +-
+ examples/debug_server/SConscript | 2 +-
+ examples/dev/SConscript | 2 +-
+ examples/echo_client/SConscript | 2 +-
+ examples/echo_server/SConscript | 2 +-
+ examples/echo_server_both/SConscript | 2 +-
+ examples/echo_server_tls/SConscript | 2 +-
+ examples/external_io_service/SConscript | 2 +-
+ examples/iostream_server/SConscript | 2 +-
+ examples/print_client/SConscript | 2 +-
+ examples/print_client_tls/SConscript | 2 +-
+ examples/print_server/SConscript | 2 +-
+ examples/scratch_client/SConscript | 2 +-
+ examples/scratch_server/SConscript | 2 +-
+ examples/sip_client/SConscript | 2 +-
+ examples/subprotocol_server/SConscript | 2 +-
+ examples/telemetry_client/SConscript | 2 +-
+ examples/telemetry_server/SConscript | 2 +-
+ examples/testee_client/SConscript | 2 +-
+ examples/testee_server/SConscript | 2 +-
+ examples/utility_client/SConscript | 4 ++--
+ test/connection/SConscript | 2 +-
+ test/endpoint/SConscript | 2 +-
+ test/extension/SConscript | 2 +-
+ test/http/SConscript | 2 +-
+ test/logger/SConscript | 2 +-
+ test/message_buffer/SConscript | 2 +-
+ test/processors/SConscript | 2 +-
+ test/random/SConscript | 2 +-
+ test/roles/SConscript | 2 +-
+ test/transport/SConscript | 2 +-
+ test/transport/asio/SConscript | 2 +-
+ test/transport/iostream/SConscript | 2 +-
+ test/utility/SConscript | 2 +-
+ 35 files changed, 36 insertions(+), 36 deletions(-)
+
+diff --git a/examples/broadcast_server/SConscript b/examples/broadcast_server/SConscript
+index 5786f570d..06c55c147 100644
+--- a/examples/broadcast_server/SConscript
++++ b/examples/broadcast_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('broadcast_server', ["broadcast_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/debug_client/SConscript b/examples/debug_client/SConscript
+index 781db8371..b92b14653 100644
+--- a/examples/debug_client/SConscript
++++ b/examples/debug_client/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+ prgs += env_cpp11.Program('debug_client', ["debug_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/debug_server/SConscript b/examples/debug_server/SConscript
+index 4d02261c6..7e24b07c8 100644
+--- a/examples/debug_server/SConscript
++++ b/examples/debug_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('debug_server', ["debug_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/dev/SConscript b/examples/dev/SConscript
+index 34ddac2d5..31062fee9 100644
+--- a/examples/dev/SConscript
++++ b/examples/dev/SConscript
+@@ -11,7 +11,7 @@ env_cpp11 = env_cpp11.Clone ()
+
+ prgs = []
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system','timer','chrono'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('main', ["main.cpp"], LIBS = BOOST_LIBS_CPP11)
+
+diff --git a/examples/echo_client/SConscript b/examples/echo_client/SConscript
+index 0e4110822..2adf1166d 100644
+--- a/examples/echo_client/SConscript
++++ b/examples/echo_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+ prgs += env_cpp11.Program('echo_client', ["echo_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/echo_server/SConscript b/examples/echo_server/SConscript
+index a2978852e..a48724155 100644
+--- a/examples/echo_server/SConscript
++++ b/examples/echo_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('echo_server', ["echo_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/echo_server_both/SConscript b/examples/echo_server_both/SConscript
+index d1ecf202f..32f4c8c55 100644
+--- a/examples/echo_server_both/SConscript
++++ b/examples/echo_server_both/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+ prgs += env_cpp11.Program('echo_server_both', ["echo_server_both.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/echo_server_tls/SConscript b/examples/echo_server_tls/SConscript
+index e24cc4ce8..688bf7c14 100644
+--- a/examples/echo_server_tls/SConscript
++++ b/examples/echo_server_tls/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+ prgs += env_cpp11.Program('echo_server_tls', ["echo_server_tls.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/external_io_service/SConscript b/examples/external_io_service/SConscript
+index beb7c1c42..0abf3e175 100644
+--- a/examples/external_io_service/SConscript
++++ b/examples/external_io_service/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('external_io_service', ["external_io_service.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/iostream_server/SConscript b/examples/iostream_server/SConscript
+index dc90834cf..304142082 100644
+--- a/examples/iostream_server/SConscript
++++ b/examples/iostream_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('iostream_server', ["iostream_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/print_client/SConscript b/examples/print_client/SConscript
+index 8da4ce5b2..79fdea0fd 100644
+--- a/examples/print_client/SConscript
++++ b/examples/print_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('print_client', ["print_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/print_client_tls/SConscript b/examples/print_client_tls/SConscript
+index 01b011473..e57b9d691 100644
+--- a/examples/print_client_tls/SConscript
++++ b/examples/print_client_tls/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+ prgs += env_cpp11.Program('print_client_tls', ["print_client_tls.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/print_server/SConscript b/examples/print_server/SConscript
+index 4f0e492be..454dcf01b 100644
+--- a/examples/print_server/SConscript
++++ b/examples/print_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('print_server', ["print_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/scratch_client/SConscript b/examples/scratch_client/SConscript
+index 6e7b2ef07..4be98f437 100644
+--- a/examples/scratch_client/SConscript
++++ b/examples/scratch_client/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+ prgs += env_cpp11.Program('scratch_client', ["scratch_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/scratch_server/SConscript b/examples/scratch_server/SConscript
+index bf90f7433..cc495ba5c 100644
+--- a/examples/scratch_server/SConscript
++++ b/examples/scratch_server/SConscript
+@@ -14,7 +14,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs] + ['z']
+ prgs += env_cpp11.Program('scratch_server', ["scratch_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/sip_client/SConscript b/examples/sip_client/SConscript
+index fafe7b4ff..e2afefe73 100644
+--- a/examples/sip_client/SConscript
++++ b/examples/sip_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('sip_client', ["sip_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/subprotocol_server/SConscript b/examples/subprotocol_server/SConscript
+index e97535ca5..299af43c5 100644
+--- a/examples/subprotocol_server/SConscript
++++ b/examples/subprotocol_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('subprotocol_server', ["subprotocol_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/telemetry_client/SConscript b/examples/telemetry_client/SConscript
+index 62396a5e3..ac0e6daba 100644
+--- a/examples/telemetry_client/SConscript
++++ b/examples/telemetry_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('telemetry_client', ["telemetry_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/telemetry_server/SConscript b/examples/telemetry_server/SConscript
+index 1b8ff2295..c620f38a4 100644
+--- a/examples/telemetry_server/SConscript
++++ b/examples/telemetry_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('telemetry_server', ["telemetry_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/testee_client/SConscript b/examples/testee_client/SConscript
+index 64f0ef1f3..6154bb966 100644
+--- a/examples/testee_client/SConscript
++++ b/examples/testee_client/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+ prgs += env_cpp11.Program('testee_client', ["testee_client.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/testee_server/SConscript b/examples/testee_server/SConscript
+index 3c75f4ff2..ca8ffb7d7 100644
+--- a/examples/testee_server/SConscript
++++ b/examples/testee_server/SConscript
+@@ -13,7 +13,7 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+ prgs += env_cpp11.Program('testee_server', ["testee_server.cpp"], LIBS = ALL_LIBS)
+ else:
+diff --git a/examples/utility_client/SConscript b/examples/utility_client/SConscript
+index 6e6cd8c9d..f6d673a43 100644
+--- a/examples/utility_client/SConscript
++++ b/examples/utility_client/SConscript
+@@ -13,11 +13,11 @@ env_cpp11 = env_cpp11.Clone ()
+ prgs = []
+
+ # if a C++11 environment is available build using that, otherwise use boost
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ ALL_LIBS = boostlibs(['system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ prgs += env_cpp11.Program('utility_client', ["utility_client.cpp"], LIBS = ALL_LIBS)
+ else:
+ ALL_LIBS = boostlibs(['system','random'],env) + [platform_libs] + [polyfill_libs]
+ prgs += env.Program('utility_client', ["utility_client.cpp"], LIBS = ALL_LIBS)
+
+-Return('prgs')
+\ No newline at end of file
++Return('prgs')
+diff --git a/test/connection/SConscript b/test/connection/SConscript
+index 4ed7a4e69..b79876bf1 100644
+--- a/test/connection/SConscript
++++ b/test/connection/SConscript
+@@ -16,7 +16,7 @@ objs = env.Object('connection_boost.o', ["connection.cpp"], LIBS = BOOST_LIBS)
+ objs = env.Object('connection_tu2_boost.o', ["connection_tu2.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_connection_boost', ["connection_boost.o","connection_tu2_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ objs += env_cpp11.Object('connection_stl.o', ["connection.cpp"], LIBS = BOOST_LIBS_CPP11)
+ objs += env_cpp11.Object('connection_tu2_stl.o', ["connection_tu2.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/endpoint/SConscript b/test/endpoint/SConscript
+index 5cb3ede91..74912865e 100644
+--- a/test/endpoint/SConscript
++++ b/test/endpoint/SConscript
+@@ -16,7 +16,7 @@ BOOST_LIBS = boostlibs(['unit_test_framework','system'],env) + [platform_libs] +
+ objs = env.Object('endpoint_boost.o', ["endpoint.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_endpoint_boost', ["endpoint_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+ objs += env_cpp11.Object('endpoint_stl.o', ["endpoint.cpp"], LIBS = BOOST_LIBS_CPP11)
+ prgs += env_cpp11.Program('test_endpoint_stl', ["endpoint_stl.o"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/extension/SConscript b/test/extension/SConscript
+index d8b425fda..0cb813856 100644
+--- a/test/extension/SConscript
++++ b/test/extension/SConscript
+@@ -17,7 +17,7 @@ objs += env.Object('permessage_deflate_boost.o', ["permessage_deflate.cpp"], LIB
+ prgs = env.Program('test_extension_boost', ["extension_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_permessage_deflate_boost', ["permessage_deflate_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+ objs += env_cpp11.Object('extension_stl.o', ["extension.cpp"], LIBS = BOOST_LIBS_CPP11)
+ objs += env_cpp11.Object('permessage_deflate_stl.o', ["permessage_deflate.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/http/SConscript b/test/http/SConscript
+index 0a24a8774..422998e24 100644
+--- a/test/http/SConscript
++++ b/test/http/SConscript
+@@ -15,7 +15,7 @@ BOOST_LIBS = boostlibs(['unit_test_framework'],env) + [platform_libs]
+ objs = env.Object('parser_boost.o', ["parser.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_http_boost', ["parser_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ objs += env_cpp11.Object('parser_stl.o', ["parser.cpp"], LIBS = BOOST_LIBS_CPP11)
+ prgs += env_cpp11.Program('test_http_stl', ["parser_stl.o"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/logger/SConscript b/test/logger/SConscript
+index 81d607601..0ccbbc5df 100644
+--- a/test/logger/SConscript
++++ b/test/logger/SConscript
+@@ -15,7 +15,7 @@ BOOST_LIBS = boostlibs(['unit_test_framework','system'],env) + [platform_libs]
+ objs = env.Object('logger_basic_boost.o', ["basic.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('logger_basic_boost', ["logger_basic_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ objs += env_cpp11.Object('logger_basic_stl.o', ["basic.cpp"], LIBS = BOOST_LIBS_CPP11)
+ prgs += env_cpp11.Program('logger_basic_stl', ["logger_basic_stl.o"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/message_buffer/SConscript b/test/message_buffer/SConscript
+index 2ef6d71f3..89785cb3e 100644
+--- a/test/message_buffer/SConscript
++++ b/test/message_buffer/SConscript
+@@ -17,7 +17,7 @@ objs += env.Object('alloc_boost.o', ["alloc.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_message_boost', ["message_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_alloc_boost', ["alloc_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ objs += env_cpp11.Object('message_stl.o', ["message.cpp"], LIBS = BOOST_LIBS_CPP11)
+ objs += env_cpp11.Object('alloc_stl.o', ["alloc.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/processors/SConscript b/test/processors/SConscript
+index 406a7edc9..1b40d0b1d 100644
+--- a/test/processors/SConscript
++++ b/test/processors/SConscript
+@@ -26,7 +26,7 @@ prgs += env.Program('test_hybi07_boost', ["test_hybi07_boost.o"], LIBS = BOOST_L
+ prgs += env.Program('test_hybi00_boost', ["test_hybi00_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_extension_permessage_compress_boost', ["test_extension_permessage_compress_boost.o"], LIBS = BOOST_LIBS + ['z'])
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs] + ['z']
+ # no C++11 features are used in processor so there are no C++11 versions of
+ # these tests.
+diff --git a/test/random/SConscript b/test/random/SConscript
+index 3cadc9e97..4a11b0ce5 100644
+--- a/test/random/SConscript
++++ b/test/random/SConscript
+@@ -17,7 +17,7 @@ objs += env.Object('random_device_boost.o', ["random_device.cpp"], LIBS = BOOST_
+ prgs = env.Program('test_random_none_boost', ["random_none_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_random_device_boost', ["random_device_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ objs += env_cpp11.Object('random_none_stl.o', ["none.cpp"], LIBS = BOOST_LIBS_CPP11)
+ objs += env_cpp11.Object('random_device_stl.o', ["random_device.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/roles/SConscript b/test/roles/SConscript
+index e86107ece..17b3be105 100644
+--- a/test/roles/SConscript
++++ b/test/roles/SConscript
+@@ -17,7 +17,7 @@ objs += env.Object('server_boost.o', ["server.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_client_boost', ["client_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_server_boost', ["server_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ objs += env_cpp11.Object('client_stl.o', ["client.cpp"], LIBS = BOOST_LIBS_CPP11)
+ objs += env_cpp11.Object('server_stl.o', ["server.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/transport/SConscript b/test/transport/SConscript
+index 71b31b6c5..aa9b719ec 100644
+--- a/test/transport/SConscript
++++ b/test/transport/SConscript
+@@ -16,7 +16,7 @@ BOOST_LIBS = boostlibs(['unit_test_framework','system','thread','random','chrono
+ objs = env.Object('boost_integration.o', ["integration.cpp"], LIBS = BOOST_LIBS)
+ prgs = env.Program('test_boost_integration', ["boost_integration.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+ objs += env_cpp11.Object('stl_integration.o', ["integration.cpp"], LIBS = BOOST_LIBS_CPP11)
+ prgs += env_cpp11.Program('test_stl_integration', ["stl_integration.o"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/transport/asio/SConscript b/test/transport/asio/SConscript
+index f8185e57e..518d362b1 100644
+--- a/test/transport/asio/SConscript
++++ b/test/transport/asio/SConscript
+@@ -20,7 +20,7 @@ prgs = env.Program('test_base_boost', ["base_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_timers_boost', ["timers_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_security_boost', ["security_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework','system'],env_cpp11) + [platform_libs] + [polyfill_libs] + [tls_libs]
+ objs += env_cpp11.Object('base_stl.o', ["base.cpp"], LIBS = BOOST_LIBS_CPP11)
+ objs += env_cpp11.Object('timers_stl.o', ["timers.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/transport/iostream/SConscript b/test/transport/iostream/SConscript
+index 9e74c2f15..dcaf9f2d9 100644
+--- a/test/transport/iostream/SConscript
++++ b/test/transport/iostream/SConscript
+@@ -19,7 +19,7 @@ prgs = env.Program('test_iostream_base_boost', ["iostream_base_boost.o"], LIBS =
+ prgs += env.Program('test_iostream_connection_boost', ["iostream_connection_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_iostream_endpoint_boost', ["iostream_endpoint_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ objs += env_cpp11.Object('iostream_base_stl.o', ["base.cpp"], LIBS = BOOST_LIBS_CPP11)
+ objs += env_cpp11.Object('iostream_connection_stl.o', ["connection.cpp"], LIBS = BOOST_LIBS_CPP11)
+diff --git a/test/utility/SConscript b/test/utility/SConscript
+index 80e9ef6c8..6f19aa52a 100644
+--- a/test/utility/SConscript
++++ b/test/utility/SConscript
+@@ -24,7 +24,7 @@ prgs += env.Program('test_close_boost', ["close_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_sha1_boost', ["sha1_boost.o"], LIBS = BOOST_LIBS)
+ prgs += env.Program('test_error_boost', ["error_boost.o"], LIBS = BOOST_LIBS)
+
+-if env_cpp11.has_key('WSPP_CPP11_ENABLED'):
++if 'WSPP_CPP11_ENABLED' in env_cpp11:
+ BOOST_LIBS_CPP11 = boostlibs(['unit_test_framework'],env_cpp11) + [platform_libs] + [polyfill_libs]
+ objs += env_cpp11.Object('utilities_stl.o', ["utilities.cpp"], LIBS = BOOST_LIBS_CPP11)
+ objs += env_cpp11.Object('uri_stl.o', ["uri.cpp"], LIBS = BOOST_LIBS_CPP11)
diff --git a/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch b/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch
index 3245d941b0..68cb645b40 100644
--- a/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch
+++ b/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/855.patch
@@ -5,6 +5,8 @@ Subject: [PATCH] Fix cmake find boost with version >= 1.71
For some reasons "system;thread;random;unit_test_framework" was seen as a single module, because of the quotes.
---
+Upstream-Status: Pending
+
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch b/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch
index f221cd6999..401a614dc1 100644
--- a/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch
+++ b/meta-oe/recipes-support/websocketpp/websocketpp-0.8.2/857.patch
@@ -8,6 +8,8 @@ Subject: [PATCH] Update SConstruct with new Python3 syntax: - new raise
This should fix FTBFS against new scons 3.1.2
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=947584
---
+Upstream-Status: Pending
+
SConstruct | 45 +++++++++++++++++++++++----------------------
1 file changed, 23 insertions(+), 22 deletions(-)
diff --git a/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb b/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb
index 79a5ac5c4e..f437accc50 100644
--- a/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb
+++ b/meta-oe/recipes-support/websocketpp/websocketpp_0.8.2.bb
@@ -6,20 +6,21 @@ LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=4d168d763c111f4ffc62249870e4e0ea"
DEPENDS = " ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'openssl boost zlib', '', d)} "
-SRC_URI = "git://github.com/zaphoyd/websocketpp.git;protocol=https \
+SRC_URI = "git://github.com/zaphoyd/websocketpp.git;protocol=https;branch=master \
file://0001-cmake-Use-GNUInstallDirs.patch \
file://855.patch \
file://857.patch \
file://0001-Correct-clang-compiler-flags.patch \
+ file://1024.patch \
"
EXTRA_OECMAKE = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '-DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON', '', d)} "
# this is an header only library, do not depend on the main package
-RDEPENDS_${PN}-dev = ""
+RDEPENDS:${PN}-dev = ""
# to add this package to an SDK, since it isn't a reverse-dependency of anything, just use something like this:
-# TOOLCHAIN_TARGET_TASK_append = " websocketpp-dev"
+# TOOLCHAIN_TARGET_TASK:append = " websocketpp-dev"
# tag 0.8.2
SRCREV= "56123c87598f8b1dd471be83ca841ceae07f95ba"
@@ -30,9 +31,9 @@ inherit cmake
PACKAGES =+ "${PN}-examples"
-FILES_${PN}-examples = "${docdir}"
+FILES:${PN}-examples = "${docdir}"
-do_install_append() {
+do_install:append() {
install -d ${D}${docdir}/${BPN}
cp -R ${S}/examples ${D}${docdir}/${BPN}
}
diff --git a/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb b/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb
index d100030f9b..6b35d71a55 100644
--- a/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb
+++ b/meta-oe/recipes-support/xdelta/xdelta3_3.1.0.bb
@@ -4,10 +4,10 @@ DESCRIPTION = "Open-source binary diff, differential compression tools, \
HOMEPAGE = "http://xdelta.org/"
SECTION = "console/utils"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-SRC_URI = "git://github.com/jmacd/xdelta.git;branch=release3_1_apl"
+SRC_URI = "git://github.com/jmacd/xdelta.git;branch=release3_1_apl;protocol=https"
SRCREV = "4b4aed71a959fe11852e45242bb6524be85d3709"
S = "${WORKDIR}/git/xdelta3"
diff --git a/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.5.bb b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.5.bb
new file mode 100644
index 0000000000..e10ccd04ea
--- /dev/null
+++ b/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.5.bb
@@ -0,0 +1,19 @@
+SUMMARY = "xdg-dbus-proxy is a filtering proxy for D-Bus connections"
+HOMEPAGE = "https://github.com/flatpak/xdg-dbus-proxy"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+ glib-2.0 \
+ libxslt-native \
+ docbook-xsl-stylesheets-native \
+"
+
+inherit meson pkgconfig
+
+SRC_URI = "git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https;branch=main"
+
+S = "${WORKDIR}/git"
+SRCREV = "7466c8137fc06f863fde8486521984e43a26cd10"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal/0001-meson.build-add-a-hack-for-crosscompile.patch b/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal/0001-meson.build-add-a-hack-for-crosscompile.patch
new file mode 100644
index 0000000000..3410a88310
--- /dev/null
+++ b/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal/0001-meson.build-add-a-hack-for-crosscompile.patch
@@ -0,0 +1,28 @@
+From 7abb3840ac2870fcfc174fbbd81c4209c838e1a9 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 18 Sep 2023 22:22:17 +0200
+Subject: [PATCH] meson.build: add a hack for cross-compiling
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Inappropriate [cross-compile specific]
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 760613a..d339d26 100644
+--- a/meson.build
++++ b/meson.build
+@@ -168,7 +168,7 @@ pkgconfig.generate(
+ 'prefix': get_option('prefix'),
+ 'datarootdir': dataroot_dir,
+ 'datadir': '${prefix}/@0@'.format(get_option('datadir')),
+- 'interfaces_dir': '${datadir}/dbus-1/interfaces/',
++ 'interfaces_dir': '${pc_sysrootdir}${datadir}/dbus-1/interfaces/',
+ },
+ )
+
+--
+2.41.0
+
diff --git a/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.1.bb b/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.1.bb
new file mode 100644
index 0000000000..0aa8724281
--- /dev/null
+++ b/meta-oe/recipes-support/xdg-desktop-portal/xdg-desktop-portal_1.18.1.bb
@@ -0,0 +1,49 @@
+SUMMARY = "A portal frontend service for Flatpak and possibly other desktop containment frameworks."
+HOMEPAGE = "https://github.com/flatpak/xdg-desktop-portal"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+DEPENDS = " \
+ json-glib \
+ glib-2.0 \
+ glib-2.0-native \
+ flatpak \
+ libportal \
+ geoclue \
+ pipewire \
+ fuse3 \
+ xmlto-native \
+"
+
+PORTAL_BACKENDS ?= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'gtk+3', 'xdg-desktop-portal-gtk', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'gtk4', 'xdg-desktop-portal-gtk', '', d)} \
+"
+
+RDEPENDS:${PN} = "bubblewrap rtkit ${PORTAL_BACKENDS}"
+
+inherit meson pkgconfig python3native features_check
+
+SRC_URI = " \
+ git://github.com/flatpak/xdg-desktop-portal.git;protocol=https;branch=main \
+ file://0001-meson.build-add-a-hack-for-crosscompile.patch \
+"
+
+S = "${WORKDIR}/git"
+SRCREV = "37a6f7c8b8e08b9861f05e172cd4e0d07a832c4d"
+
+FILES:${PN} += "${libdir}/systemd ${datadir}/dbus-1"
+
+EXTRA_OEMESON += " \
+ --cross-file=${WORKDIR}/meson-${PN}.cross \
+ -Ddbus-service-dir=${datadir}/dbus-1/services \
+"
+
+do_write_config:append() {
+ cat >${WORKDIR}/meson-${PN}.cross <<EOF
+[binaries]
+bwrap = '${bindir}/bwrap'
+EOF
+}
diff --git a/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb b/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb
deleted file mode 100644
index e3ce9268cd..0000000000
--- a/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.17.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "xdg-user-dirs is a tool to help manage user directories like the desktop folder and the music folder"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "e0564ec6d838e6e41864d872a29b3575"
-SRC_URI[sha256sum] = "2a07052823788e8614925c5a19ef5b968d8db734fdee656699ea4f97d132418c"
-
-inherit autotools gettext
-
-EXTRA_OECONF = "--disable-documentation"
-
-CONFFILES_${PN} += " \
- ${sysconfdir}/xdg/user-dirs.conf \
- ${sysconfdir}/xdg/user-dirs.defaults \
-"
diff --git a/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.18.bb b/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.18.bb
new file mode 100644
index 0000000000..84fc9e2f18
--- /dev/null
+++ b/meta-oe/recipes-support/xdg-user-dirs/xdg-user-dirs_0.18.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "xdg-user-dirs is a tool to help manage user directories like the desktop folder and the music folder"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "http://user-dirs.freedesktop.org/releases/${BPN}-${PV}.tar.gz"
+SRC_URI[sha256sum] = "ec6f06d7495cdba37a732039f9b5e1578bcb296576fde0da40edb2f52220df3c"
+
+inherit autotools gettext
+
+EXTRA_OECONF = "--disable-documentation"
+
+CONFFILES:${PN} += " \
+ ${sysconfdir}/xdg/user-dirs.conf \
+ ${sysconfdir}/xdg/user-dirs.defaults \
+"
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch b/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch
index 53c119765a..f107f42dab 100644
--- a/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch
+++ b/meta-oe/recipes-support/xmlsec1/xmlsec1/0001-nss-nspr-fix-for-multilib.patch
@@ -1,4 +1,4 @@
-From 9ed3b4e628f9254d5c86006fe63c33a1eb02aee5 Mon Sep 17 00:00:00 2001
+From 4d73b85fb1b794c649359bc8a774b0111d36994a Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Tue, 4 Feb 2020 23:39:49 -0800
Subject: [PATCH] nss/nspr: fix for multilib
@@ -6,15 +6,16 @@ Subject: [PATCH] nss/nspr: fix for multilib
Upstream-Status: Pending
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+
---
configure.ac | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/configure.ac b/configure.ac
-index b46d97d..39f4318 100644
+index 51621d6..3d23683 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -920,24 +920,24 @@ fi
+@@ -960,24 +960,24 @@ fi
dnl Priority 1: User specifies the path to installation
if test "z$NSPR_FOUND" = "zno" -a "z$with_nspr" != "z" -a "z$with_nspr" != "zyes" ; then
AC_MSG_CHECKING(for nspr library installation in "$with_nspr" folder)
@@ -47,6 +48,3 @@ index b46d97d..39f4318 100644
fi
fi
---
-2.21.0
-
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch b/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch
index 1451ff5647..3a1531deb1 100644
--- a/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch
+++ b/meta-oe/recipes-support/xmlsec1/xmlsec1/change-finding-path-of-nss.patch
@@ -1,4 +1,4 @@
-From c1c980a95d85bcaf8802524d6148783522b300d7 Mon Sep 17 00:00:00 2001
+From 9c861646e034b1c80fafd389279b0a7da90a8ba7 Mon Sep 17 00:00:00 2001
From: Yulong Pei <Yulong.pei@windriver.com>
Date: Wed, 21 Jul 2010 22:33:43 +0800
Subject: [PATCH] change finding path of nss and nspr
@@ -8,20 +8,21 @@ Upstream-Status: Pending
Signed-off-by: Yulong Pei <Yulong.pei@windriver.com>
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
---
- configure.ac | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index 951b3eb..1fdeb0f 100644
+index ce8a278..51621d6 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -866,7 +866,7 @@ MOZILLA_MIN_VERSION="1.4"
+@@ -935,7 +935,7 @@ NSS_PACKAGE=mozilla-nss
NSPR_INCLUDE_MARKER="nspr/nspr.h"
NSPR_LIB_MARKER="libnspr4$shrext"
NSPR_LIBS_LIST="-lnspr4 -lplds4 -lplc4"
-NSS_INCLUDE_MARKER="nss/nss.h"
+NSS_INCLUDE_MARKER="nss3/nss.h"
NSS_LIB_MARKER="libnss3$shrext"
- NSS_LIBS_LIST="-lnss3 -lsmime3"
+ NSS_LIBS_LIST="-lnss3 -lsmime3 -lnssutil3"
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1/ensure-search-path-non-host.patch b/meta-oe/recipes-support/xmlsec1/xmlsec1/ensure-search-path-non-host.patch
index a5a298af0d..7b07628e5f 100644
--- a/meta-oe/recipes-support/xmlsec1/xmlsec1/ensure-search-path-non-host.patch
+++ b/meta-oe/recipes-support/xmlsec1/xmlsec1/ensure-search-path-non-host.patch
@@ -1,4 +1,7 @@
-xmlsec1: Fix configure QA error caused by host lookup path
+From c16d384fb64cf53351e150fb9e9b99cc6ba970b2 Mon Sep 17 00:00:00 2001
+From: Anatol Belski <anbelski@linux.microsoft.com>
+Date: Thu, 14 Jan 2021 17:36:23 +0000
+Subject: [PATCH] xmlsec1: Fix configure QA error caused by host lookup path
ERROR: mc:my-sdk:xmlsec1-1.2.30-r0 do_configure: QA Issue: This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities.
@@ -7,9 +10,15 @@ It will eventually arise after the configure QA as the configure script should o
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
---- a/configure.ac.orig 2021-01-13 14:37:42.254991177 +0000
-+++ b/configure.ac 2021-01-13 14:40:56.546269330 +0000
-@@ -250,8 +250,8 @@
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3d23683..baf27b7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -286,8 +286,8 @@ fi
dnl ==========================================================================
dnl Common installation locations
dnl ==========================================================================
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch b/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch
index af598fe749..73c6ddb027 100644
--- a/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch
+++ b/meta-oe/recipes-support/xmlsec1/xmlsec1/fix-ltmain.sh.patch
@@ -1,4 +1,4 @@
-From 847dc52f5a50e34ee4d6e3dc2c708711747a58ca Mon Sep 17 00:00:00 2001
+From 1b9701faf22f5a17a81a2a2732794d9627499fcb Mon Sep 17 00:00:00 2001
From: Yulong Pei <Yulong.pei@windriver.com>
Date: Thu, 21 Jan 2010 14:11:20 +0800
Subject: [PATCH] force to use our own libtool
@@ -12,10 +12,10 @@ Signed-off-by: Yulong Pei <Yulong.pei@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ltmain.sh b/ltmain.sh
-index 147d758..a61f16b 100644
+index 1dea62a..bfb9784 100755
--- a/ltmain.sh
+++ b/ltmain.sh
-@@ -6969,7 +6969,7 @@ func_mode_link ()
+@@ -7225,7 +7225,7 @@ func_mode_link ()
dir=$func_resolve_sysroot_result
# We need an absolute path.
case $dir in
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch b/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch
index d45356924b..26ebce343d 100644
--- a/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch
+++ b/meta-oe/recipes-support/xmlsec1/xmlsec1/makefile-ptest.patch
@@ -9,13 +9,12 @@ and it's installed as ptest.
Upstream-Status: Inappropriate [ OE ptest specific ]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
---
examples/Makefile | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/examples/Makefile b/examples/Makefile
-index 89b1d61..c1cbcca 100644
+index 02480c2..cbc2661 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -8,9 +8,17 @@ PROGRAMS = \
@@ -24,12 +23,12 @@ index 89b1d61..c1cbcca 100644
+ifndef CC
CC = gcc
--CFLAGS += -g $(shell xmlsec1-config --cflags) -DUNIX_SOCKETS
+-CFLAGS += -g $(shell xmlsec1-config --cflags) -DUNIX_SOCKETS -Wall -Wextra
-LDLIBS += -g $(shell xmlsec1-config --libs)
+endif
+
-+CFLAGS += -I../include -g $(shell PKG_CONFIG_PATH=.. pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS
-+LDLIBS += -L../src/.libs -g $(shell PKG_CONFIG_PATH=.. pkg-config --libs xmlsec1 )
++CFLAGS += -I../include -g $(shell PKG_CONFIG_PATH=.. pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS -Wall -Wextra
++LDLIBS += -L../src/.libs -g $(shell PKG_CONFIG_PATH=.. pkg-config --libs xmlsec1 )
+
+DESTDIR = /usr/share/xmlsec1
+install-ptest:
@@ -38,3 +37,6 @@ index 89b1d61..c1cbcca 100644
all: $(PROGRAMS)
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest b/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
index a203c38f27..afd8c69853 100755
--- a/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
+++ b/meta-oe/recipes-support/xmlsec1/xmlsec1/run-ptest
@@ -34,8 +34,8 @@ check_return verify-single-key
echo "---------------------------------------------------"
echo "Verifying a signature with keys manager..."
-./verify2 sign1-res.xml rsapub.pem
-./verify2 sign2-res.xml rsapub.pem
+./verify2 sign1-res.xml rsakey.pem
+./verify2 sign2-res.xml rsakey.pem
check_return verify-keys-manager
echo "---------------------------------------------------"
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch b/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch
index 8b2533ed9e..9e6a6a840f 100644
--- a/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch
+++ b/meta-oe/recipes-support/xmlsec1/xmlsec1/xmlsec1-examples-allow-build-in-separate-dir.patch
@@ -6,25 +6,27 @@ Subject: [PATCH] examples: allow build in separate dir
Upstream-Status: Inappropriate [ OE specific ]
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
---
examples/Makefile | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/examples/Makefile b/examples/Makefile
-index c1cbcca..3f1bd14 100644
+index cbc2661..e882b61 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -12,8 +12,10 @@ ifndef CC
CC = gcc
endif
--CFLAGS += -I../include -g $(shell PKG_CONFIG_PATH=.. pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS
--LDLIBS += -L../src/.libs -g $(shell PKG_CONFIG_PATH=.. pkg-config --libs xmlsec1 )
+-CFLAGS += -I../include -g $(shell PKG_CONFIG_PATH=.. pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS -Wall -Wextra
+-LDLIBS += -L../src/.libs -g $(shell PKG_CONFIG_PATH=.. pkg-config --libs xmlsec1 )
+top_srcdir = ..
+top_builddir = ..
-+CFLAGS += -I$(top_srcdir)/include -g $(shell PKG_CONFIG_PATH=$(top_srcdir) pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS
++CFLAGS += -I$(top_srcdir)/include -g $(shell PKG_CONFIG_PATH=$(top_srcdir) pkg-config --cflags xmlsec1 ) -DUNIX_SOCKETS -Wall -Wextra
+LDLIBS += -L$(top_builddir)/src/.libs -g $(shell PKG_CONFIG_PATH=$(top_srcdir) pkg-config --libs xmlsec1 )
DESTDIR = /usr/share/xmlsec1
install-ptest:
+--
+2.25.1
+
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.31.bb b/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.31.bb
deleted file mode 100644
index 3464f2f43c..0000000000
--- a/meta-oe/recipes-support/xmlsec1/xmlsec1_1.2.31.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-SUMMARY = "XML Security Library is a C library based on LibXML2"
-DESCRIPTION = "\
- XML Security Library is a C library based on \
- LibXML2 and OpenSSL. The library was created with a goal to support major \
- XML security standards "XML Digital Signature" and "XML Encryption". \
- "
-HOMEPAGE = "http://www.aleksey.com/xmlsec/"
-DEPENDS = "libtool libxml2 libxslt zlib"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=352791d62092ea8104f085042de7f4d0"
-
-SECTION = "libs"
-
-SRC_URI = "http://www.aleksey.com/xmlsec/download/${BP}.tar.gz \
- file://fix-ltmain.sh.patch \
- file://change-finding-path-of-nss.patch \
- file://makefile-ptest.patch \
- file://xmlsec1-examples-allow-build-in-separate-dir.patch \
- file://0001-nss-nspr-fix-for-multilib.patch \
- file://run-ptest \
- file://ensure-search-path-non-host.patch \
- "
-
-SRC_URI[md5sum] = "182f5cbdfb8ddbac535c04470c170dc3"
-SRC_URI[sha256sum] = "9b10bc52cc31e4f76162e3975e50db26b71ab49c571d810b311ca626be5a0b26"
-
-inherit autotools-brokensep ptest pkgconfig
-
-#CFLAGS += "-I${STAGING_INCDIR}/nss3"
-#CPPFLAGS += "-I${STAGING_INCDIR}/nss3"
-
-PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des"
-PACKAGECONFIG[gnutls] = ",,gnutls"
-PACKAGECONFIG[libgcrypt] = ",,libgcrypt"
-PACKAGECONFIG[nss] = "--with-nss=${STAGING_DIR_HOST} --with-nspr=${STAGING_DIR_HOST},--with-nss=no --with-nspr=no,nss nspr"
-PACKAGECONFIG[openssl] = ",,openssl"
-PACKAGECONFIG[des] = ",--disable-des,,"
-
-# these can be dynamically loaded with xmlSecCryptoDLLoadLibrary()
-FILES_SOLIBSDEV = "${libdir}/libxmlsec1.so"
-FILES_${PN} += "${libdir}/libxmlsec1-*.so"
-INSANE_SKIP_${PN} = "dev-so"
-
-FILES_${PN}-dev += "${libdir}/xmlsec1Conf.sh"
-FILES_${PN}-dbg += "${PTEST_PATH}/.debug/*"
-
-RDEPENDS_${PN}-ptest += "${PN}-dev"
-INSANE_SKIP_${PN}-ptest += "dev-deps"
-
-PTEST_EXTRA_ARGS = "top_srcdir=${S} top_builddir=${B}"
-
-do_compile_ptest () {
- oe_runmake -C ${S}/examples ${PTEST_EXTRA_ARGS} all
-}
-
-do_install_append() {
- for i in ${bindir}/xmlsec1-config ${libdir}/xmlsec1Conf.sh \
- ${libdir}/pkgconfig/xmlsec1-openssl.pc; do
- sed -i -e "s@${RECIPE_SYSROOT}@@g" ${D}$i
- done
-}
-
-do_install_ptest () {
- oe_runmake -C ${S}/examples DESTDIR=${D}${PTEST_PATH} ${PTEST_EXTRA_ARGS} install-ptest
-}
diff --git a/meta-oe/recipes-support/xmlsec1/xmlsec1_1.3.4.bb b/meta-oe/recipes-support/xmlsec1/xmlsec1_1.3.4.bb
new file mode 100644
index 0000000000..7639209e19
--- /dev/null
+++ b/meta-oe/recipes-support/xmlsec1/xmlsec1_1.3.4.bb
@@ -0,0 +1,67 @@
+SUMMARY = "XML Security Library is a C library based on LibXML2"
+DESCRIPTION = "\
+ XML Security Library is a C library based on \
+ LibXML2 and OpenSSL. The library was created with a goal to support major \
+ XML security standards "XML Digital Signature" and "XML Encryption". \
+ "
+HOMEPAGE = "http://www.aleksey.com/xmlsec/"
+DEPENDS = "libtool libxml2 libxslt zlib"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=352791d62092ea8104f085042de7f4d0"
+
+SECTION = "libs"
+
+SRC_URI = "http://www.aleksey.com/xmlsec/download/${BP}.tar.gz \
+ file://fix-ltmain.sh.patch \
+ file://change-finding-path-of-nss.patch \
+ file://makefile-ptest.patch \
+ file://xmlsec1-examples-allow-build-in-separate-dir.patch \
+ file://0001-nss-nspr-fix-for-multilib.patch \
+ file://run-ptest \
+ file://ensure-search-path-non-host.patch \
+ "
+
+SRC_URI[sha256sum] = "45ad9078d41ae76844ad2f8651600ffeec0fdd128ead988a8d69e907c57aee75"
+
+inherit autotools-brokensep ptest pkgconfig
+
+#CFLAGS += "-I${STAGING_INCDIR}/nss3"
+#CPPFLAGS += "-I${STAGING_INCDIR}/nss3"
+
+PACKAGECONFIG ??= "gnutls libgcrypt nss openssl des"
+PACKAGECONFIG[gnutls] = ",,gnutls"
+PACKAGECONFIG[libgcrypt] = ",,libgcrypt"
+PACKAGECONFIG[nss] = "--with-nss=${STAGING_DIR_HOST} --with-nspr=${STAGING_DIR_HOST},--with-nss=no --with-nspr=no,nss nspr"
+PACKAGECONFIG[openssl] = ",,openssl"
+PACKAGECONFIG[des] = ",--disable-des,,"
+
+# these can be dynamically loaded with xmlSecCryptoDLLoadLibrary()
+FILES_SOLIBSDEV = "${libdir}/libxmlsec1.so"
+FILES:${PN} += "${libdir}/libxmlsec1-*.so"
+INSANE_SKIP:${PN} = "dev-so"
+
+FILES:${PN}-dev += "${libdir}/xmlsec1Conf.sh"
+FILES:${PN}-dbg += "${PTEST_PATH}/.debug/*"
+
+RDEPENDS:${PN}-ptest += "${PN}-dev"
+INSANE_SKIP:${PN}-ptest += "dev-deps"
+
+PTEST_EXTRA_ARGS = "top_srcdir=${S} top_builddir=${B}"
+
+do_compile_ptest () {
+ oe_runmake -C ${S}/examples ${PTEST_EXTRA_ARGS} all
+}
+
+do_install:append() {
+ for i in ${bindir}/xmlsec1-config ${libdir}/xmlsec1Conf.sh \
+ ${libdir}/pkgconfig/xmlsec1-openssl.pc; do
+ sed -i -e "s@${RECIPE_SYSROOT}@@g" ${D}$i
+ done
+}
+
+do_install_ptest () {
+ oe_runmake -C ${S}/examples DESTDIR=${D}${PTEST_PATH} ${PTEST_EXTRA_ARGS} install-ptest
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/xmlstarlet/files/0001-Fix-hash_key_put-signature.patch b/meta-oe/recipes-support/xmlstarlet/files/0001-Fix-hash_key_put-signature.patch
new file mode 100644
index 0000000000..2a766dbb87
--- /dev/null
+++ b/meta-oe/recipes-support/xmlstarlet/files/0001-Fix-hash_key_put-signature.patch
@@ -0,0 +1,33 @@
+From 64cb138aaaafc87c8462885d502c9323be86a003 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 18 Jan 2023 14:50:08 -0800
+Subject: [PATCH] Fix hash_key_put() signature
+
+Fixes
+
+../xmlstarlet-1.6.1/src/xml_elem.c:271:27: error: incompatible function pointer types passing 'void (void *, void *, xmlChar *)' (aka 'void (void *, void *, unsigned char *)') to parameter of type 'xmlHashScanner' (aka 'void (*)(void *, void *, const unsigned char *)') [-Wincompatible-function-pointer-types]
+ xmlHashScan(uniq, hash_key_put, &lines);
+ ^~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://sourceforge.net/p/xmlstar/code/merge-requests/6/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/xml_elem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/xml_elem.c b/src/xml_elem.c
+index 024e62a..a73038a 100644
+--- a/src/xml_elem.c
++++ b/src/xml_elem.c
+@@ -186,7 +186,7 @@ typedef struct {
+ * put @name into @data->array[@data->offset]
+ */
+ static void
+-hash_key_put(void *payload, void *data, xmlChar *name)
++hash_key_put(void *payload, void *data, const xmlChar *name)
+ {
+ ArrayDest *dest = data;
+ dest->array[dest->offset++] = name;
+--
+2.39.1
+
diff --git a/meta-oe/recipes-support/xmlstarlet/files/0001-Make-xmlError-struct-constant.patch b/meta-oe/recipes-support/xmlstarlet/files/0001-Make-xmlError-struct-constant.patch
new file mode 100644
index 0000000000..a9d98db69c
--- /dev/null
+++ b/meta-oe/recipes-support/xmlstarlet/files/0001-Make-xmlError-struct-constant.patch
@@ -0,0 +1,45 @@
+From f7a5ebc3a673b246a64c9a664df304c1520a3951 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Mar 2024 12:35:17 -0800
+Subject: [PATCH] Make xmlError struct constant
+
+In libxml2 commit v2.12.0~14 the API changed so that
+xmlGetLastError() returns pointer to a constant xmlError struct.
+Reflect this change in our code.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/xml.c | 2 +-
+ src/xmlstar.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/xml.c b/src/xml.c
+index cf47cc2..e6f19c1 100644
+--- a/src/xml.c
++++ b/src/xml.c
+@@ -104,7 +104,7 @@ void reportGenericError(void* ctx, const char * msg, ...) {
+ /* by default all errors are reported */
+ static ErrorInfo errorInfo = { NULL, NULL, VERBOSE, CONTINUE };
+
+-void reportError(void *ptr, xmlErrorPtr error)
++void reportError(void *ptr, const xmlError *error)
+ {
+ ErrorInfo *errorInfo = (ErrorInfo*) ptr;
+ assert(errorInfo);
+diff --git a/src/xmlstar.h b/src/xmlstar.h
+index 3e1eed3..7e41ac4 100644
+--- a/src/xmlstar.h
++++ b/src/xmlstar.h
+@@ -32,7 +32,7 @@ typedef struct _errorInfo {
+ ErrorStop stop;
+ } ErrorInfo;
+
+-void reportError(void *ptr, xmlErrorPtr error);
++void reportError(void *ptr, const xmlError* error);
+ void suppressErrors(void);
+
+ typedef struct _gOptions {
+--
+2.44.0
+
diff --git a/meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch b/meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch
index e55f4f3b13..7e13110a3b 100644
--- a/meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch
+++ b/meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch
@@ -1,3 +1,5 @@
+Upstream-Status: Pending
+
configure.ac: don't use xml-config if --with-libxml-prefix is specified to configure
Same behavior for xslt-config.
diff --git a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb
index e28fd61a03..61eeaaa095 100644
--- a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb
+++ b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.6.1.bb
@@ -14,8 +14,9 @@ DEPENDS = "libxml2 libxslt"
SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \
file://configure.ac.patch \
- file://0001-usage2c.awk-fix-wrong-basename-regexp.patch"
-SRC_URI[md5sum] = "f3c5dfa3b1a2ee06cd57c255cc8b70a0"
+ file://0001-usage2c.awk-fix-wrong-basename-regexp.patch \
+ file://0001-Make-xmlError-struct-constant.patch \
+ file://0001-Fix-hash_key_put-signature.patch"
SRC_URI[sha256sum] = "15d838c4f3375332fd95554619179b69e4ec91418a3a5296e7c631b7ed19e7ca"
inherit autotools
diff --git a/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb b/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb
deleted file mode 100644
index 481e7303b3..0000000000
--- a/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.2.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Xorg drivers for xrdp."
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=a2523660329fdca3d954c0a87390e007"
-
-inherit autotools pkgconfig
-
-DEPENDS = "virtual/libx11 xserver-xorg xrdp nasm-native"
-
-inherit features_check
-REQUIRED_DISTRO_FEATURES = "x11 pam"
-
-SRC_URI = "git://github.com/neutrinolabs/xorgxrdp.git"
-
-SRCREV = "c122544f184d4031bbae1ad80fbab554c34a9427"
-
-PV = "0.2.5"
-
-S = "${WORKDIR}/git"
-
-FILES_${PN} += "${libdir}/xorg/modules/*"
-
-INSANE_SKIP_${PN} += "xorg-driver-abi"
diff --git a/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.9.19.bb b/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.9.19.bb
new file mode 100644
index 0000000000..9650d43695
--- /dev/null
+++ b/meta-oe/recipes-support/xorg-xrdp/xorgxrdp_0.9.19.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Xorg drivers for xrdp."
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a2523660329fdca3d954c0a87390e007"
+
+inherit autotools pkgconfig
+
+DEPENDS = "virtual/libx11 xserver-xorg xrdp nasm-native"
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+SRC_URI = "git://github.com/neutrinolabs/xorgxrdp.git;branch=v0.9;protocol=https"
+
+SRCREV = "d463bad9639c910fadc2f30dac473c7688b11cfc"
+
+PV = "0.9.19"
+
+S = "${WORKDIR}/git"
+
+FILES:${PN} += "${libdir}/xorg/modules/*"
+
+INSANE_SKIP:${PN} += "xorg-driver-abi"
diff --git a/meta-oe/recipes-support/xrdp/xrdp/0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch b/meta-oe/recipes-support/xrdp/xrdp/0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch
index 5e7fca02a5..05803266cb 100644
--- a/meta-oe/recipes-support/xrdp/xrdp/0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch
+++ b/meta-oe/recipes-support/xrdp/xrdp/0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch
@@ -6,6 +6,8 @@ Subject: [PATCH] Added req_distinguished_name in /etc/xrdp/openssl.conf,
Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
keygen/openssl.conf | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-the-compile-error.patch b/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-the-compile-error.patch
index 82b2790856..e8b4ffa6bf 100644
--- a/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-the-compile-error.patch
+++ b/meta-oe/recipes-support/xrdp/xrdp/0001-Fix-the-compile-error.patch
@@ -5,6 +5,8 @@ Fix the compile error:
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
+Upstream-Status: Pending
+
xrdp/Makefile.am | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch b/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch
deleted file mode 100644
index 5b9315cfb4..0000000000
--- a/meta-oe/recipes-support/xrdp/xrdp/0001-Fixed-compiler-warnings-about-snprintf-truncations.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 9de23a9199d26e64ab6b5be2bb74f260200b2dc5 Mon Sep 17 00:00:00 2001
-From: matt335672 <30179339+matt335672@users.noreply.github.com>
-Date: Fri, 21 Aug 2020 12:20:31 +0100
-Subject: [PATCH] Fixed compiler warnings about snprintf truncations
-
-Upstream-Status: Backport [https://github.com/neutrinolabs/xrdp/pull/1659]
----
- common/log.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/common/log.c b/common/log.c
-index 4a0bd2f3..8686789d 100644
---- a/common/log.c
-+++ b/common/log.c
-@@ -555,9 +555,7 @@ log_message(const enum logLevels lvl, const char *msg, ...)
- now_t = time(&now_t);
- now = localtime(&now_t);
-
-- snprintf(buff, 21, "[%.4d%.2d%.2d-%.2d:%.2d:%.2d] ", now->tm_year + 1900,
-- now->tm_mon + 1, now->tm_mday, now->tm_hour, now->tm_min,
-- now->tm_sec);
-+ strftime(buff, 21, "[%Y%m%d-%H:%M:%S] ", now);
-
- internal_log_lvl2str(lvl, buff + 20);
-
---
-2.29.2
-
diff --git a/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch b/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch
new file mode 100644
index 0000000000..ea3eb11f0a
--- /dev/null
+++ b/meta-oe/recipes-support/xrdp/xrdp/0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch
@@ -0,0 +1,27 @@
+From 5958db649855bfb2ada7c0ed22a00f839b9a1161 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 12 Mar 2021 21:40:35 -0800
+Subject: [PATCH] arch: Define NO_NEED_ALIGN on ppc64
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ common/arch.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/common/arch.h b/common/arch.h
+index 617feb5e..6edb39db 100644
+--- a/common/arch.h
++++ b/common/arch.h
+@@ -85,7 +85,7 @@ typedef int bool_t;
+ #define NEED_ALIGN
+ #elif defined(__x86__) || defined(__x86_64__) || \
+ defined(__AMD64__) || defined(_M_IX86) || defined (_M_AMD64) || \
+- defined(__i386__) || defined(__aarch64__) || \
++ defined(__i386__) || defined(__aarch64__) || defined(__powerpc64__) || \
+ defined(__PPC__) || defined(__LITTLE_ENDIAN__) || \
+ defined(__s390__) || defined (__s390x__) || \
+ defined(__riscv)
+--
+2.31.1
+
diff --git a/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch b/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch
deleted file mode 100644
index b06077bf02..0000000000
--- a/meta-oe/recipes-support/xrdp/xrdp/0001-correct-the-location-of-errno.h.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c8d3df40ece7d659ccc8212b18de916d28f4398a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Dec 2020 23:10:52 -0800
-Subject: [PATCH] correct the location of errno.h
-
-Fixes build on musl
-
-Upstream-Status: Submitted [https://github.com/neutrinolabs/xrdp/pull/1761]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- sesman/chansrv/sound.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sesman/chansrv/sound.c b/sesman/chansrv/sound.c
-index b0480d33..45e17307 100644
---- a/sesman/chansrv/sound.c
-+++ b/sesman/chansrv/sound.c
-@@ -23,7 +23,7 @@
- #include <stdio.h>
- #include <sys/types.h>
- #include <sys/socket.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <signal.h>
- #include <sys/un.h>
-
---
-2.29.2
-
diff --git a/meta-oe/recipes-support/xrdp/xrdp/0001-mark-count-with-unused-attribute.patch b/meta-oe/recipes-support/xrdp/xrdp/0001-mark-count-with-unused-attribute.patch
new file mode 100644
index 0000000000..77a394d556
--- /dev/null
+++ b/meta-oe/recipes-support/xrdp/xrdp/0001-mark-count-with-unused-attribute.patch
@@ -0,0 +1,31 @@
+From 492f74dbea1d9a15fbc3e870e78ab52e7fc5583b Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 31 Aug 2022 20:19:32 -0700
+Subject: [PATCH] mark count with unused attribute
+
+This may throw a warning when devel logs are disabled
+Fixed
+../../../xrdp-0.9.19/sesman/chansrv/chansrv.c:198:9: error: variable 'count' set but not used [-Werror,-Wunused-but-set-variable] int count; ^ 1 error generated.
+
+Upstream-Status: Submitted [https://github.com/neutrinolabs/xrdp/pull/2353]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sesman/chansrv/chansrv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sesman/chansrv/chansrv.c b/sesman/chansrv/chansrv.c
+index 4452d998..b818bff3 100644
+--- a/sesman/chansrv/chansrv.c
++++ b/sesman/chansrv/chansrv.c
+@@ -195,7 +195,7 @@ check_timeout(void)
+ struct timeout_obj *tobj;
+ struct timeout_obj *last_tobj;
+ struct timeout_obj *temp_tobj;
+- int count;
++ int count __attribute__((unused));
+ tui32 now;
+
+ LOG_DEVEL(LOG_LEVEL_DEBUG, "check_timeout:");
+--
+2.37.3
+
diff --git a/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch b/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch
deleted file mode 100644
index 4cd26df04c..0000000000
--- a/meta-oe/recipes-support/xrdp/xrdp/0001-riscv-doesn-t-require-pointers-to-be-aligned.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 229206aa5e55a6e26a074a54a1b50139ab794b36 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 22 Dec 2020 23:01:13 -0800
-Subject: [PATCH] riscv doesn't require pointers to be aligned
-
-Upstream-Status: Submitted [https://github.com/neutrinolabs/xrdp/pull/1761]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- common/arch.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/common/arch.h b/common/arch.h
-index ccccfa5a..8c2ac1a4 100644
---- a/common/arch.h
-+++ b/common/arch.h
-@@ -84,7 +84,8 @@ typedef int bool_t;
- #define NEED_ALIGN
- #elif defined(__x86__) || defined(__x86_64__) || \
- defined(__AMD64__) || defined(_M_IX86) || defined (_M_AMD64) || \
-- defined(__i386__) || defined(__aarch64__)
-+ defined(__i386__) || defined(__aarch64__) || \
-+ defined(__riscv)
- #define NO_NEED_ALIGN
- #else
- #warning unknown arch
---
-2.29.2
-
diff --git a/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb b/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb
deleted file mode 100644
index 078e23c6ed..0000000000
--- a/meta-oe/recipes-support/xrdp/xrdp_0.9.14.bb
+++ /dev/null
@@ -1,96 +0,0 @@
-SUMMARY = "An open source remote desktop protocol(rdp) server."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \
-"
-
-inherit features_check autotools pkgconfig useradd systemd
-
-DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native"
-
-REQUIRED_DISTRO_FEATURES = "x11 pam"
-
-SRC_URI = "git://github.com/neutrinolabs/xrdp.git;branch=devel \
- file://xrdp.sysconfig \
- file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \
- file://0001-Fix-the-compile-error.patch \
- file://0001-riscv-doesn-t-require-pointers-to-be-aligned.patch \
- file://0001-correct-the-location-of-errno.h.patch \
- file://0001-Fixed-compiler-warnings-about-snprintf-truncations.patch \
- "
-SRCREV = "1469d659dbccd6d042ac44f0afc4e1309788dc9d"
-
-S = "${WORKDIR}/git"
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse"
-
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "--system xrdp"
-USERADD_PARAM_${PN} = "--system --home /var/run/xrdp -g xrdp \
- --no-create-home --shell /bin/false xrdp"
-
-FILES_${PN} += "${datadir}/dbus-1/services/*.service \
- ${datadir}/dbus-1/accessibility-services/*.service "
-
-FILES_${PN}-dev += "${libdir}/xrdp/libcommon.so \
- ${libdir}/xrdp/libxrdp.so \
- ${libdir}/xrdp/libscp.so \
- ${libdir}/xrdp/libxrdpapi.so "
-
-EXTRA_OECONF = "--enable-pam-config=suse"
-
-do_configure_prepend() {
- cd ${S}
- ./bootstrap
- cd -
-}
-
-do_compile_prepend() {
- sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in
-}
-
-
-do_install_append() {
- install -d ${D}${sysconfdir}
- install -d ${D}${sysconfdir}/xrdp
- install -d ${D}${sysconfdir}/xrdp/pam.d
- install -d ${D}${sysconfdir}/sysconfig/xrdp
-
- # deal with systemd unit files
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service
- install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
- sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
-
- install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/sesman/sesman.ini.in ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/sesman/startwm.sh ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/xrdp/xrdp.ini.in ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/xrdp/xrdp_keyboard.ini ${D}${sysconfdir}/xrdp/
- install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/
- install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/
- chown xrdp:xrdp ${D}${sysconfdir}/xrdp
-}
-
-SYSTEMD_SERVICE_${PN} = "xrdp.service xrdp-sesman.service"
-
-pkg_postinst_${PN}() {
- if test -z "$D"
- then
- if test -x ${bindir}/xrdp-keygen
- then
- ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null
- fi
- if test ! -s ${sysconfdir}/xrdp/cert.pem
- then
- openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \
- -keyout ${sysconfdir}/xrdp/key.pem \
- -out ${sysconfdir}/xrdp/cert.pem \
- -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1
- chmod 400 ${sysconfdir}/xrdp/key.pem
- fi
- fi
-}
diff --git a/meta-oe/recipes-support/xrdp/xrdp_0.9.19.bb b/meta-oe/recipes-support/xrdp/xrdp_0.9.19.bb
new file mode 100644
index 0000000000..b839a68294
--- /dev/null
+++ b/meta-oe/recipes-support/xrdp/xrdp_0.9.19.bb
@@ -0,0 +1,91 @@
+SUMMARY = "An open source remote desktop protocol(rdp) server."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=72cfbe4e7bd33a0a1de9630c91195c21 \
+"
+
+inherit features_check autotools pkgconfig useradd systemd
+
+DEPENDS = "openssl virtual/libx11 libxfixes libxrandr libpam nasm-native imlib2 pixman libsm"
+
+REQUIRED_DISTRO_FEATURES = "x11 pam"
+
+SRC_URI = "https://github.com/neutrinolabs/${BPN}/releases/download/v${PV}/${BPN}-${PV}.tar.gz \
+ file://xrdp.sysconfig \
+ file://0001-Added-req_distinguished_name-in-etc-xrdp-openssl.con.patch \
+ file://0001-Fix-the-compile-error.patch \
+ file://0001-arch-Define-NO_NEED_ALIGN-on-ppc64.patch \
+ file://0001-mark-count-with-unused-attribute.patch \
+ "
+
+SRC_URI[sha256sum] = "94017d30e475c6d7a24f651e16791551862ae46f82d8de62385e63393f5f93d0"
+
+CFLAGS += " -Wno-deprecated-declarations"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[fuse] = " --enable-fuse, --disable-fuse, fuse"
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} = "--system xrdp"
+USERADD_PARAM:${PN} = "--system --home /var/run/xrdp -g xrdp \
+ --no-create-home --shell /bin/false xrdp"
+
+FILES:${PN} += "${datadir}/dbus-1/services/*.service \
+ ${datadir}/dbus-1/accessibility-services/*.service "
+
+FILES:${PN}-dev += "${libdir}/xrdp/libcommon.so \
+ ${libdir}/xrdp/libxrdp.so \
+ ${libdir}/xrdp/libscp.so \
+ ${libdir}/xrdp/libxrdpapi.so "
+
+EXTRA_OECONF = "--enable-pam-config=suse --enable-fuse \
+ --enable-pixman --enable-painter --enable-vsock \
+ --enable-ipv6 --with-imlib2 --with-socketdir=${localstatedir}/run/${PN}"
+
+do_configure:prepend() {
+ cd ${S}
+ ./bootstrap
+ cd -
+}
+
+do_compile:prepend() {
+ sed -i 's/(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am/(MAKE) $(AM_MAKEFLAGS) install-exec-am/g' ${S}/keygen/Makefile.in
+ echo "" > ${B}/xrdp_configure_options.h
+}
+
+do_install:append() {
+
+ # deal with systemd unit files
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${S}/instfiles/xrdp.service.in ${D}${systemd_unitdir}/system/xrdp.service
+ install -m 0644 ${S}/instfiles/xrdp-sesman.service.in ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@localstatedir@,${localstatedir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@sysconfdir@,${sysconfdir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+ sed -i -e 's,@sbindir@,${sbindir},g' ${D}${systemd_unitdir}/system/xrdp.service ${D}${systemd_unitdir}/system/xrdp-sesman.service
+
+ install -d ${D}${sysconfdir}/sysconfig/xrdp
+ install -m 0644 ${S}/instfiles/*.ini ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${S}/keygen/openssl.conf ${D}${sysconfdir}/xrdp/
+ install -m 0644 ${WORKDIR}/xrdp.sysconfig ${D}${sysconfdir}/sysconfig/xrdp/
+ chown xrdp:xrdp ${D}${sysconfdir}/xrdp
+}
+
+SYSTEMD_SERVICE:${PN} = "xrdp.service xrdp-sesman.service"
+
+pkg_postinst:${PN}() {
+ if test -z "$D"
+ then
+ if test -x ${bindir}/xrdp-keygen
+ then
+ ${bindir}/xrdp-keygen xrdp ${sysconfdir}/xrdp/rsakeys.ini >/dev/null
+ fi
+ if test ! -s ${sysconfdir}/xrdp/cert.pem
+ then
+ openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 3652 \
+ -keyout ${sysconfdir}/xrdp/key.pem \
+ -out ${sysconfdir}/xrdp/cert.pem \
+ -config ${sysconfdir}/xrdp/openssl.conf >/dev/null 2>&1
+ chmod 400 ${sysconfdir}/xrdp/key.pem
+ fi
+ fi
+}
diff --git a/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.10.bb b/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.10.bb
index becf991488..76aea6f41a 100644
--- a/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.10.bb
+++ b/meta-oe/recipes-support/xserver-xorg-cvt/xserver-xorg-cvt-native_1.20.10.bb
@@ -1,6 +1,6 @@
SUMMARY = "X.Org X cvt"
HOMEPAGE = "https://linux.die.net/man/1/cvt"
-LICENSE = "MIT-X"
+LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880"
DEPENDS += "pixman-native xorgproto-native libxrandr-native"
diff --git a/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb b/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb
deleted file mode 100644
index e437d4d15b..0000000000
--- a/meta-oe/recipes-support/xxhash/xxhash_0.8.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Extremely fast non-cryptographic hash algorithm"
-DESCRIPTION = "xxHash is an extremely fast non-cryptographic hash algorithm, \
-working at speeds close to RAM limits."
-HOMEPAGE = "http://www.xxhash.com/"
-LICENSE = "BSD-2-Clause & GPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=b335320506abb0505437e39295e799cb"
-
-SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=git"
-UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
-
-SRCREV = "94e5f23e736f2bb67ebdf90727353e65344f9fc0"
-
-S = "${WORKDIR}/git"
-
-do_compile () {
- oe_runmake all
-}
-
-do_install () {
- oe_runmake DESTDIR=${D} install
-}
diff --git a/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.6.3.bb b/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.6.3.bb
deleted file mode 100644
index 9d359d6244..0000000000
--- a/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.6.3.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "yaml-cpp parser and emitter library"
-DESCRIPTION = "yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec."
-HOMEPAGE = "https://github.com/jbeder/yaml-cpp"
-SECTION = "devel"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6a8aaf0595c2efc1a9c2e0913e9c1a2c"
-
-# yaml-cpp releases are stored as archive files in github.
-# download the exact revision of release
-SRC_URI = "git://github.com/jbeder/yaml-cpp.git"
-SRCREV = "9a3624205e8774953ef18f57067b3426c1c5ada6"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DYAML_CPP_BUILD_TESTS=OFF -DYAML_BUILD_SHARED_LIBS=ON -DYAML_CPP_BUILD_TOOLS=OFF"
diff --git a/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb b/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb
new file mode 100644
index 0000000000..44ac0687a7
--- /dev/null
+++ b/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "yaml-cpp parser and emitter library"
+DESCRIPTION = "yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec."
+HOMEPAGE = "https://github.com/jbeder/yaml-cpp"
+SECTION = "devel"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6a8aaf0595c2efc1a9c2e0913e9c1a2c"
+
+# yaml-cpp releases are stored as archive files in github.
+# download the exact revision of release
+SRC_URI = "git://github.com/jbeder/yaml-cpp.git;branch=master;protocol=https"
+SRCREV = "f7320141120f720aecc4c32be25586e7da9eb978"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DYAML_CPP_BUILD_TESTS=OFF -DYAML_BUILD_SHARED_LIBS=ON -DYAML_CPP_BUILD_TOOLS=OFF"
diff --git a/meta-oe/recipes-support/zbar/zbar/0001-qt-Create-subdir-in-Makefile.patch b/meta-oe/recipes-support/zbar/zbar/0001-qt-Create-subdir-in-Makefile.patch
index d7ca152074..3d8c07f02b 100644
--- a/meta-oe/recipes-support/zbar/zbar/0001-qt-Create-subdir-in-Makefile.patch
+++ b/meta-oe/recipes-support/zbar/zbar/0001-qt-Create-subdir-in-Makefile.patch
@@ -17,6 +17,8 @@ make: *** [Makefile:2459: qt/moc_QZBar.cpp] Error 1
Signed-off-by: Daniel Gomez <dagmcr@gmail.com>
---
+Upstream-Status: Pending
+
qt/Makefile.am.inc | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-support/zbar/zbar/0002-zbarcam-Create-subdir-in-Makefile.patch b/meta-oe/recipes-support/zbar/zbar/0002-zbarcam-Create-subdir-in-Makefile.patch
index a1c27b8b43..9030ed88f2 100644
--- a/meta-oe/recipes-support/zbar/zbar/0002-zbarcam-Create-subdir-in-Makefile.patch
+++ b/meta-oe/recipes-support/zbar/zbar/0002-zbarcam-Create-subdir-in-Makefile.patch
@@ -20,6 +20,8 @@ make: *** [Makefile:2438: zbarcam/moc_zbarcam_qt.h] Error 1
Signed-off-by: Daniel Gomez <dagmcr@gmail.com>
---
+Upstream-Status: Pending
+
zbarcam/Makefile.am.inc | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/recipes-support/zbar/zbar_git.bb b/meta-oe/recipes-support/zbar/zbar_git.bb
index a33aa2c960..975779cd18 100644
--- a/meta-oe/recipes-support/zbar/zbar_git.bb
+++ b/meta-oe/recipes-support/zbar/zbar_git.bb
@@ -6,17 +6,17 @@ intensity sensors. It supports EAN-13/UPC-A, UPC-E, EAN-8, Code 128, \
Code 93, Code 39, Codabar, Interleaved 2 of 5, QR Code and SQ Code"
SECTION = "graphics"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5e9ee833a2118adc7d8b5ea38e5b1cef"
-SRC_URI = "git://github.com/mchehab/zbar.git;branch=master \
+SRC_URI = "git://github.com/mchehab/zbar.git;branch=master;protocol=https \
file://0001-qt-Create-subdir-in-Makefile.patch \
file://0002-zbarcam-Create-subdir-in-Makefile.patch \
"
SRCREV = "89e7900d85dd54ef351a7ed582aec6a5a5d7fa37"
S = "${WORKDIR}/git"
-PV = "0.23.1+git${SRCPV}"
+PV = "0.23.1+git"
DEPENDS += "xmlto-native"
@@ -24,7 +24,7 @@ PACKAGECONFIG ??= "\
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
"
-PACKAGECONFIG ??= "video python3"
+PACKAGECONFIG ??= "video"
inherit autotools pkgconfig gettext \
${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3native', '', d)} \
@@ -39,11 +39,11 @@ PACKAGECONFIG[gtk3] = "--with-gtk=gtk3, --without-gtk, gtk+3"
PACKAGECONFIG[qt5] = "--with-qt5, --without-qt5, qtbase qtbase-native qtx11extras qtsvg, qtbase"
PACKAGECONFIG[imagemagick] = "--with-imagemagick, --without-imagemagick, imagemagick"
-FILES_${PN} += "${bindir} \
+FILES:${PN} += "${bindir} \
${@bb.utils.contains('DEPENDS', 'python3-native', '${libdir}', '', d)} \
"
-CPPFLAGS_append = "\
+CPPFLAGS:append = "\
${@bb.utils.contains('PACKAGECONFIG', 'qt5', '\
-I${STAGING_INCDIR}/QtX11Extras \
-I${STAGING_INCDIR}/dbus-1.0 \
@@ -51,8 +51,8 @@ CPPFLAGS_append = "\
', '', d)} \
"
-TARGET_CXXFLAGS_append = " -fPIC"
+TARGET_CXXFLAGS:append = " -fPIC"
-do_configure_prepend() {
+do_configure:prepend() {
install -m 755 ${STAGING_DATADIR_NATIVE}/gettext/ABOUT-NLS ${S}/
}
diff --git a/meta-oe/recipes-support/zchunk/zchunk_1.1.9.bb b/meta-oe/recipes-support/zchunk/zchunk_1.1.9.bb
deleted file mode 100644
index ab7b71ef7e..0000000000
--- a/meta-oe/recipes-support/zchunk/zchunk_1.1.9.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "A file format designed for highly efficient deltas while maintaining good compression"
-AUTHOR = "Jonathan Dieter"
-
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cd6e590282010ce90a94ef25dd31410f"
-
-SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https"
-
-SRCREV = "fe3e3af49fd30b68c21a9fcaac340ad8e7f91055"
-S = "${WORKDIR}/git"
-
-DEPENDS = "\
- curl \
- zstd \
- "
-
-DEPENDS_append_libc-musl = " argp-standalone"
-LDFLAGS_append_libc-musl = " -largp"
-
-inherit meson
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/zchunk/zchunk_1.4.0.bb b/meta-oe/recipes-support/zchunk/zchunk_1.4.0.bb
new file mode 100644
index 0000000000..0c8a9c7a5f
--- /dev/null
+++ b/meta-oe/recipes-support/zchunk/zchunk_1.4.0.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "A file format designed for highly efficient deltas while maintaining good compression"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=daf6e68539f564601a5a5869c31e5242"
+
+SRC_URI = "git://github.com/zchunk/zchunk.git;protocol=https;branch=main"
+
+SRCREV = "4dd91d31157ede4a1b092721d944ae2fdd161cd9"
+S = "${WORKDIR}/git"
+
+DEPENDS = "zstd"
+DEPENDS:append:libc-musl = " argp-standalone"
+
+inherit meson pkgconfig lib_package
+
+PACKAGECONFIG ??= "openssl zckdl"
+
+# zckdl gets packaged into zchunk-bin
+PACKAGECONFIG[zckdl] = "-Dwith-curl=enabled,-Dwith-curl=disabled,curl"
+# Use OpenSSL primitives for SHA
+PACKAGECONFIG[openssl] = "-Dwith-openssl=enabled,-Dwith-openssl=disabled,openssl"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-support/zile/zile_2.4.15.bb b/meta-oe/recipes-support/zile/zile_2.4.15.bb
index 41c4b76d2a..e86b3f82d2 100644
--- a/meta-oe/recipes-support/zile/zile_2.4.15.bb
+++ b/meta-oe/recipes-support/zile/zile_2.4.15.bb
@@ -2,7 +2,7 @@ SUMMARY = "Zile is lossy Emacs"
HOMEPAGE = "http://zile.sourceforge.net/"
DEPENDS = "ncurses bdwgc"
-LICENSE = "GPLv3"
+LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
SRC_URI = "${GNU_MIRROR}/zile/${BP}.tar.gz \
@@ -14,12 +14,12 @@ SRC_URI[sha256sum] = "39c300a34f78c37ba67793cf74685935a15568e14237a3a66fda8fcf40
inherit autotools pkgconfig
-do_install_append() {
+do_install:append() {
rm -rf ${D}${libdir}/charset.alias
rmdir --ignore-fail-on-non-empty ${D}${libdir} || true
}
PACKAGECONFIG ??= ""
-PACKAGECONFIG_append = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
+PACKAGECONFIG:append = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
diff --git a/meta-oe/recipes-test/bats/bats_1.1.0.bb b/meta-oe/recipes-test/bats/bats_1.1.0.bb
deleted file mode 100644
index a8179744ae..0000000000
--- a/meta-oe/recipes-test/bats/bats_1.1.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-SUMMARY = "Bash Automated Testing System"
-DESCRIPTION = "Bats is a TAP-compliant testing framework for Bash. It \
-provides a simple way to verify that the UNIX programs you write behave as expected."
-AUTHOR = "Sam Stephenson & bats-core organization"
-HOMEPAGE = "https://github.com/bats-core/bats-core"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2970203aedf9e829edb96a137a4fe81b"
-
-SRC_URI = "git://github.com/bats-core/bats-core.git \
- "
-# v1.1.0
-SRCREV = "c706d1470dd1376687776bbe985ac22d09780327"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- # Just a bunch of bash scripts to install
- ${S}/install.sh ${D}${prefix}
-}
-
-RDEPENDS_bats = "bash"
diff --git a/meta-oe/recipes-test/bats/bats_1.11.0.bb b/meta-oe/recipes-test/bats/bats_1.11.0.bb
new file mode 100644
index 0000000000..f0615f7b79
--- /dev/null
+++ b/meta-oe/recipes-test/bats/bats_1.11.0.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Bash Automated Testing System"
+DESCRIPTION = "Bats is a TAP-compliant testing framework for Bash. It \
+provides a simple way to verify that the UNIX programs you write behave as expected."
+HOMEPAGE = "https://github.com/bats-core/bats-core"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2970203aedf9e829edb96a137a4fe81b"
+
+SRC_URI = "\
+ git://github.com/bats-core/bats-core.git;branch=master;protocol=https \
+ "
+
+# v1.10.0
+SRCREV = "7531b575bb81487553553aecb654c41b237ae96c"
+
+S = "${WORKDIR}/git"
+
+# Numerous scripts assume ${baselib} == lib, which is not true.
+#
+do_configure:prepend() {
+ for f in ${S}/libexec/bats-core/* ${S}/lib/bats-core/* ; do
+ sed -i 's:\$BATS_ROOT/lib/:\$BATS_ROOT/${baselib}/:g' $f
+ done
+}
+
+do_install() {
+ # Just a bunch of bash scripts to install
+ ${S}/install.sh ${D}${prefix} ${baselib}
+}
+
+RDEPENDS:${PN} = "bash"
+FILES:${PN} += "${libdir}/bats-core/*"
+
+PACKAGECONFIG ??= "pretty"
+PACKAGECONFIG[pretty] = ",,,ncurses"
diff --git a/meta-oe/recipes-test/catch2/catch2_2.13.10.bb b/meta-oe/recipes-test/catch2/catch2_2.13.10.bb
new file mode 100644
index 0000000000..8512a0f30a
--- /dev/null
+++ b/meta-oe/recipes-test/catch2/catch2_2.13.10.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
+TDD and BDD - using C++11, C++14, C++17 and later."
+HOMEPAGE = "https://github.com/catchorg/Catch2"
+LICENSE = "BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
+
+SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x;protocol=https"
+SRCREV = "182c910b4b63ff587a3440e08f84f70497e49a81"
+
+S = "${WORKDIR}/git"
+
+inherit cmake python3native
+
+do_install:append() {
+ rm ${D}${datadir}/Catch2/lldbinit
+ rm ${D}${datadir}/Catch2/gdbinit
+ rmdir ${D}${datadir}/Catch2/
+}
+# Header-only library
+RDEPENDS:${PN}-dev = ""
+RRECOMMENDS:${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-test/catch2/catch2_2.13.4.bb b/meta-oe/recipes-test/catch2/catch2_2.13.4.bb
deleted file mode 100644
index 21004726a2..0000000000
--- a/meta-oe/recipes-test/catch2/catch2_2.13.4.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "A modern, C++-native, header-only, test framework for unit-tests, \
-TDD and BDD - using C++11, C++14, C++17 and later."
-AUTHOR = "Phil Nash, Martin Horenovsky and others"
-HOMEPAGE = "https://github.com/catchorg/Catch2"
-LICENSE = "BSL-1.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
-
-SRC_URI = "git://github.com/catchorg/Catch2.git;branch=v2.x"
-SRCREV = "de6fe184a9ac1a06895cdd1c9b437f0a0bdf14ad"
-
-S = "${WORKDIR}/git"
-
-inherit cmake python3native
-
-do_install_append() {
- rm ${D}${datadir}/Catch2/lldbinit
- rm ${D}${datadir}/Catch2/gdbinit
- rmdir ${D}${datadir}/Catch2/
-}
-# Header-only library
-RDEPENDS_${PN}-dev = ""
-RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb b/meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb
deleted file mode 100644
index e4afa43e97..0000000000
--- a/meta-oe/recipes-test/cmocka/cmocka_1.1.5.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-DESCRIPTION = "cmocka is an elegant unit testing framework for C with support for mock \
-objects. It only requires the standard C library, works on a range of computing \
-platforms (including embedded) and with different compilers."
-HOMEPAGE = "https://cmocka.org/"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRCREV = "a4fc3dd7705c277e3a57432895e9852ea105dac9"
-PV .= "+git${SRCPV}"
-SRC_URI = "git://git.cryptomilk.org/projects/cmocka.git \
- file://run-ptest \
- "
-
-S = "${WORKDIR}/git"
-
-inherit cmake ptest
-
-EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}"
-# Use -Wl,wrap linker flag, which does not work with LTO
-LTO = ""
-
-do_install_append () {
- install -d ${D}${datadir}/${BPN}/example
- install -d ${D}${datadir}/${BPN}/example/mock/chef_wrap
- install -d ${D}${datadir}/${BPN}/example/mock/uptime
-
- install -m 0755 ${B}/example/*_test ${D}/${datadir}/${BPN}/example
- install -m 0755 ${B}/example/mock/chef_wrap/waiter_test_wrap ${D}/${datadir}/${BPN}/example/mock/chef_wrap
- install -m 0755 ${B}/example/mock/uptime/uptime ${D}/${datadir}/${BPN}/example/mock/uptime
- install -m 0755 ${B}/example/mock/uptime/test_uptime ${D}/${datadir}/${BPN}/example/mock/uptime
- install -m 0644 ${B}/example/mock/uptime/libproc_uptime.so ${D}/${datadir}/${BPN}/example/mock/libproc_uptime.so
-}
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/tests/test_* ${D}${PTEST_PATH}/tests
-}
-
-PACKAGE_BEFORE_PN += "${PN}-examples"
-
-FILES_${PN}-examples = "${datadir}/${BPN}/example"
-INSANE_SKIP_${PN}-examples = "libdir"
diff --git a/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb b/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb
new file mode 100644
index 0000000000..6c94e9e275
--- /dev/null
+++ b/meta-oe/recipes-test/cmocka/cmocka_1.1.7.bb
@@ -0,0 +1,43 @@
+DESCRIPTION = "cmocka is an elegant unit testing framework for C with support for mock \
+objects. It only requires the standard C library, works on a range of computing \
+platforms (including embedded) and with different compilers."
+HOMEPAGE = "https://cmocka.org/"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
+
+SRCREV = "a01cc69ee9536f90e57c61a198f2d1944d3d4313"
+PV .= "+git"
+SRC_URI = "git://git.cryptomilk.org/projects/cmocka.git;protocol=https;branch=stable-1.1 \
+ file://0001-include-Check-for-previous-declaration-of-uintptr_t.patch \
+ file://run-ptest \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit cmake ptest
+
+EXTRA_OECMAKE += "${@bb.utils.contains('PTEST_ENABLED', '1', '-DCMAKE_BUILD_TYPE=Debug -DUNIT_TESTING=ON', '', d)}"
+# Use -Wl,wrap linker flag, which does not work with LTO
+LTO = ""
+
+do_install:append () {
+ install -d ${D}${libdir}/${BPN}/example
+ install -d ${D}${libdir}/${BPN}/example/mock/chef_wrap
+ install -d ${D}${libdir}/${BPN}/example/mock/uptime
+
+ install -m 0755 ${B}/example/*_test ${D}/${libdir}/${BPN}/example
+ install -m 0755 ${B}/example/mock/chef_wrap/waiter_test_wrap ${D}/${libdir}/${BPN}/example/mock/chef_wrap
+ install -m 0755 ${B}/example/mock/uptime/uptime ${D}/${libdir}/${BPN}/example/mock/uptime
+ install -m 0755 ${B}/example/mock/uptime/test_uptime ${D}/${libdir}/${BPN}/example/mock/uptime
+ install -m 0644 ${B}/example/mock/uptime/libproc_uptime.so ${D}/${libdir}/${BPN}/example/mock/libproc_uptime.so
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/tests/test_* ${D}${PTEST_PATH}/tests
+}
+
+PACKAGE_BEFORE_PN += "${PN}-examples"
+
+FILES:${PN}-examples = "${libdir}/${BPN}/example"
diff --git a/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch b/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch
new file mode 100644
index 0000000000..65d30ea993
--- /dev/null
+++ b/meta-oe/recipes-test/cmocka/files/0001-include-Check-for-previous-declaration-of-uintptr_t.patch
@@ -0,0 +1,43 @@
+From a54e035f802e79e3292d8ad39a14bd7c060eb7b1 Mon Sep 17 00:00:00 2001
+From: Breno Leitao <breno.leitao@gmail.com>
+Date: Tue, 21 Mar 2023 21:58:28 -0700
+Subject: [PATCH] include: Check for previous declaration of uintptr_t
+
+Adding a extra check before declaring uintptr_t. Currently musl uses
+macro __DEFINED_uintptr_t once it defines uintptr_t type. Checking
+this macro before defining it, and, defining it when uintptr_t is
+defined.
+
+Taken from Alpine
+
+Upstream-Status: Pending
+Signed-off-by: Breno Leitao <breno.leitao@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/cmocka.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/cmocka.h b/include/cmocka.h
+index a21d965..f540793 100644
+--- a/include/cmocka.h
++++ b/include/cmocka.h
+@@ -121,7 +121,7 @@ typedef uintmax_t LargestIntegralType;
+ ((LargestIntegralType)(value))
+
+ /* Smallest integral type capable of holding a pointer. */
+-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(HAVE_UINTPTR_T)
++#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(HAVE_UINTPTR_T) && !defined(__DEFINED_uintptr_t)
+ # if defined(_WIN32)
+ /* WIN32 is an ILP32 platform */
+ typedef unsigned int uintptr_t;
+@@ -147,6 +147,7 @@ typedef uintmax_t LargestIntegralType;
+
+ # define _UINTPTR_T
+ # define _UINTPTR_T_DEFINED
++# define __DEFINED_uintptr_t
+ #endif /* !defined(_UINTPTR_T) || !defined(_UINTPTR_T_DEFINED) */
+
+ /* Perform an unsigned cast to uintptr_t. */
+--
+2.40.0
+
diff --git a/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb b/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb
index f4871ee778..be81125652 100644
--- a/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb
+++ b/meta-oe/recipes-test/cppunit/cppunit_1.15.1.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests. "
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/cppunit"
-LICENSE = "LGPL-2.1"
+LICENSE = "LGPL-2.1-only"
SECTION = "libs"
LIC_FILES_CHKSUM = "file://COPYING;md5=b0e9ef921ff780eb328bdcaeebec3269"
diff --git a/meta-oe/recipes-test/cpputest/cpputest_4.0.bb b/meta-oe/recipes-test/cpputest/cpputest_4.0.bb
new file mode 100644
index 0000000000..5536cf07b6
--- /dev/null
+++ b/meta-oe/recipes-test/cpputest/cpputest_4.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "CppUTest unit testing and mocking framework for C/C++"
+HOMEPAGE = "http://cpputest.github.io/"
+SECTION = "devel"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ce5d5f1fe02bcd1343ced64a06fd4177"
+
+SRC_URI = "git://github.com/cpputest/cpputest.git;protocol=https;branch=master"
+SRCREV = "67d2dfd41e13f09ff218aa08e2d35f1c32f032a1"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DLONGLONG=ON \
+ -DC++11=ON \
+ -DTESTS=OFF \
+ "
+
+DEV_PKG_DEPENDENCY = ""
+
+FILES:${PN}-dev += "${libdir}/CppUTest/cmake/*"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[extensions] = "-DEXTENSIONS=ON,-DEXTENSIONS=OFF"
diff --git a/meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb b/meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb
deleted file mode 100644
index 34dd8c8686..0000000000
--- a/meta-oe/recipes-test/cukinia/cukinia_0.5.1.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Linux firmware validation framework"
-DESCRIPTION = "Cukinia is designed to help Linux-based embedded firmware \
-developers run simple system-level validation tests on their firmware."
-HOMEPAGE = "https://github.com/savoirfairelinux/cukinia"
-LICENSE = "GPLv3 & Apache-2.0"
-
-LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
- file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-SRC_URI = "git://github.com/savoirfairelinux/cukinia.git;protocol=https;branch=master"
-
-SRCREV = "ea934c5393ad99c37bec3c621a364122720cce02"
-
-S = "${WORKDIR}/git"
-
-do_install () {
- install -d ${D}${sbindir}
- install -m 0755 ${S}/cukinia ${D}${sbindir}
-}
diff --git a/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb b/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb
new file mode 100644
index 0000000000..1bcfb0a9bf
--- /dev/null
+++ b/meta-oe/recipes-test/cukinia/cukinia_0.6.2.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Linux firmware validation framework"
+DESCRIPTION = "Cukinia is designed to help Linux-based embedded firmware \
+developers run simple system-level validation tests on their firmware."
+HOMEPAGE = "https://github.com/savoirfairelinux/cukinia"
+LICENSE = "GPL-3.0-only | Apache-2.0"
+
+LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SRC_URI = "git://github.com/savoirfairelinux/cukinia.git;protocol=https;branch=master"
+
+SRCREV = "a290f2dbb813ce12ba407962655a5d8b57322221"
+
+S = "${WORKDIR}/git"
+
+RRECOMMENDS:${PN} = "libgpiod-tools"
+
+do_install () {
+ install -d ${D}${sbindir}
+ install -m 0755 ${S}/cukinia ${D}${sbindir}
+}
diff --git a/meta-oe/recipes-test/cunit/cunit_2.1-3.bb b/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
index c877d3bf1c..252ef60def 100644
--- a/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
+++ b/meta-oe/recipes-test/cunit/cunit_2.1-3.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "CUnit is a C framework for unit testing. Test output supports comandline and GUI results reporting"
HOMEPAGE = "http://cunit.sourceforge.net"
-LICENSE = "LGPL-2.0"
+LICENSE = "LGPL-2.0-only"
SECTION = "libs"
LIC_FILES_CHKSUM = "file://COPYING;md5=7734aa853b85d6f935466f081490ddbb"
@@ -15,7 +15,7 @@ SRC_URI[sha256sum] = "f5b29137f845bb08b77ec60584fdb728b4e58f1023e6f249a464efa49a
UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/cunit/files/releases"
-inherit autotools-brokensep remove-libtool ptest
+inherit autotools-brokensep ptest
EXTRA_OECONF = "--enable-memtrace --enable-automated --enable-basic --enable-console"
@@ -31,7 +31,7 @@ do_install_ptest() {
install -m 0755 ${S}${TESTBIN} ${D}${PTEST_PATH}/tests/
}
-FILES_${PN}-dev += "${datadir}/CUnit"
-FILES_${PN}-doc += "${docdir}"
+FILES:${PN}-dev += "${datadir}/CUnit"
+FILES:${PN}-doc += "${docdir}"
BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb b/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb
index 252eea3665..c5dfff2259 100644
--- a/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb
+++ b/meta-oe/recipes-test/cxxtest/cxxtest_4.4.bb
@@ -1,22 +1,23 @@
DESCRIPTION = "CxxTest is a unit testing framework for C++ that is similar in spirit to JUnit, CppUnit, and xUnit."
HOMEPAGE = "http://cxxtest.com/"
SECTION = "devel"
-LICENSE = "LGPL-2.0"
-LIC_FILES_CHKSUM = "file://${WORKDIR}/cxxtest-${PV}/COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+LICENSE = "LGPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
-SRC_URI = "http://downloads.sourceforge.net/project/cxxtest/cxxtest/${PV}/cxxtest-${PV}.tar.gz"
+SRC_URI = "http://downloads.sourceforge.net/project/cxxtest/cxxtest/${PV}/${BP}.tar.gz"
SRC_URI[md5sum] = "c3cc3355e2ac64e34c215f28e44cfcec"
SRC_URI[sha256sum] = "1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8"
-S = "${WORKDIR}/cxxtest-${PV}/python"
+inherit setuptools3
-inherit distutils3
+SETUPTOOLS_SETUP_PATH = "${S}/python"
-do_install_append() {
+do_install:append() {
install -d ${D}${includedir}
- cp -a ../cxxtest ${D}${includedir}
+ cp -a ${S}/cxxtest/ ${D}${includedir}
+ # Fix the interpretter as otherwise this points to the build host python
sed '1c\
-#!/usr/bin/env python' -i ${D}${bindir}/cxxtestgen
+#!/usr/bin/env python3' -i ${D}${bindir}/cxxtestgen
}
BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
index 706322d565..595b0296ea 100644
--- a/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
+++ b/meta-oe/recipes-test/evtest/evtest/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -1,4 +1,4 @@
-From fa57c78c33d26084f85f1a6b4c29378631dc9395 Mon Sep 17 00:00:00 2001
+From 490f5b6cd788692d989f07180a5714c76872911e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 30 Nov 2019 11:58:58 -0800
Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
@@ -10,17 +10,18 @@ input.h [1]
Upstream-Status: Submitted [https://gitlab.freedesktop.org/libevdev/evtest/merge_requests/6]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
---
- evtest.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
+ evtest.c | 5 +++++
+ 1 file changed, 5 insertions(+)
diff --git a/evtest.c b/evtest.c
-index 548c203..93063cd 100644
+index ba7a161..8fc2e5a 100644
--- a/evtest.c
+++ b/evtest.c
-@@ -61,6 +61,11 @@
- #include <sys/types.h>
- #include <unistd.h>
+@@ -63,6 +63,11 @@
+ #define input_event_usec time.tv_usec
+ #endif
+#ifndef input_event_sec
+#define input_event_sec time.tv_sec
@@ -30,12 +31,3 @@ index 548c203..93063cd 100644
#define BITS_PER_LONG (sizeof(long) * 8)
#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
#define OFF(x) ((x)%BITS_PER_LONG)
-@@ -1140,7 +1145,7 @@ static int print_events(int fd)
- type = ev[i].type;
- code = ev[i].code;
-
-- printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec);
-+ printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_sec);
-
- if (type == EV_SYN) {
- if (code == SYN_MT_REPORT)
diff --git a/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch b/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch
deleted file mode 100644
index b2bf94fd56..0000000000
--- a/meta-oe/recipes-test/evtest/evtest/add_missing_limits_h_include.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 5eb4ab1c139ea38ebe6bb4acba08b09ee7d77d3c Mon Sep 17 00:00:00 2001
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Sun, 18 Aug 2019 10:01:06 +0300
-Subject: Add missing limits.h include
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes build with musl libc that does not include limits.h indirectly via
-other headers.
-
-evtest.c: In function ‘scan_devices’:
-evtest.c:886:14: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean INT8_MAX’?
- char fname[PATH_MAX];
- ^~~~~~~~
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- evtest.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/evtest.c b/evtest.c
-index 37d4f85..548c203 100644
---- a/evtest.c
-+++ b/evtest.c
-@@ -56,6 +56,7 @@
- #include <getopt.h>
- #include <ctype.h>
- #include <signal.h>
-+#include <limits.h>
- #include <sys/time.h>
- #include <sys/types.h>
- #include <unistd.h>
---
-cgit v1.1
-
diff --git a/meta-oe/recipes-test/evtest/evtest_1.34.bb b/meta-oe/recipes-test/evtest/evtest_1.34.bb
deleted file mode 100644
index a3a23c8951..0000000000
--- a/meta-oe/recipes-test/evtest/evtest_1.34.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Simple tool for input event debugging"
-HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/"
-AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS = "libxml2"
-
-SRCREV = "16e5104127a620686bdddc4a9ad62881134d6c69"
-SRC_URI = "git://gitlab.freedesktop.org/libevdev/evtest.git;protocol=https \
- file://add_missing_limits_h_include.patch \
- file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
- "
-
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
diff --git a/meta-oe/recipes-test/evtest/evtest_1.35.bb b/meta-oe/recipes-test/evtest/evtest_1.35.bb
new file mode 100644
index 0000000000..52f684ce5f
--- /dev/null
+++ b/meta-oe/recipes-test/evtest/evtest_1.35.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Simple tool for input event debugging"
+HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/"
+SECTION = "console/utils"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "libxml2"
+
+SRCREV = "da347a8f88d2e5729dd12d61ee9743f902065b55"
+SRC_URI = "git://gitlab.freedesktop.org/libevdev/evtest.git;protocol=https;branch=master \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
diff --git a/meta-oe/recipes-test/fbtest/fb-test_1.1.0.bb b/meta-oe/recipes-test/fbtest/fb-test_1.1.0.bb
new file mode 100644
index 0000000000..6082ea2574
--- /dev/null
+++ b/meta-oe/recipes-test/fbtest/fb-test_1.1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Test suite for Linux framebuffer"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+
+SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2"
+SRC_URI = "git://github.com//ponty/fb-test-app.git;branch=master;protocol=https"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 fb-test ${D}${bindir}
+ # avoid collisions with perf (perf) and mesa-demos (offset)
+ for prog in perf rect offset ; do
+ install -m 0755 $prog ${D}${bindir}/fb-$prog
+ done
+}
diff --git a/meta-oe/recipes-test/fbtest/fb-test_git.bb b/meta-oe/recipes-test/fbtest/fb-test_git.bb
deleted file mode 100644
index 6a9d4b2787..0000000000
--- a/meta-oe/recipes-test/fbtest/fb-test_git.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Test suite for Linux framebuffer"
-
-PV = "1.1.0"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
-
-SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2"
-SRC_URI = "git://github.com/prpplague/fb-test-app.git"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 fb-test ${D}${bindir}
- # avoid collisions with perf (perf) and mesa-demos (offset)
- for prog in perf rect offset ; do
- install -m 0755 $prog ${D}${bindir}/fb-$prog
- done
-}
diff --git a/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch b/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch
index c2d679aabc..41eaa239d1 100644
--- a/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch
+++ b/meta-oe/recipes-test/fwts/fwts/0001-Add-correct-printf-qualifier-for-off_t.patch
@@ -1,16 +1,17 @@
-From 613e5cfe7751068062cc92f83870e436669fc0a8 Mon Sep 17 00:00:00 2001
+From ee787b53d734cd952c170c9303d213d3dd18a86f Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 8 Jun 2017 16:49:50 -0700
-Subject: [PATCH] Add correct printf qualifier for off_t
+Subject: [PATCH 1/6] Add correct printf qualifier for off_t
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
---
- src/bios/ebda_region/ebda_region.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
+Upstream-Status: Pending
+
+ src/bios/ebda_region/ebda_region.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/bios/ebda_region/ebda_region.c b/src/bios/ebda_region/ebda_region.c
-index 16c39357..ad6d635c 100644
+index b70ced10..947a24bd 100644
--- a/src/bios/ebda_region/ebda_region.c
+++ b/src/bios/ebda_region/ebda_region.c
@@ -83,9 +83,9 @@ static int ebda_test1(fwts_framework *fw)
@@ -25,14 +26,19 @@ index 16c39357..ad6d635c 100644
(entry->end_address - entry->start_address) / 1024,
memory_map_name,
entry->start_address,
-@@ -93,8 +93,8 @@ static int ebda_test1(fwts_framework *fw)
+@@ -93,9 +93,9 @@ static int ebda_test1(fwts_framework *fw)
} else
fwts_failed(fw, LOG_LEVEL_MEDIUM,
"EBDAMappedNotReserved",
- "EBDA region mapped at 0x%lx but not reserved in the %s table.",
- ebda_addr, memory_map_name);
+-
+ "EBDA region mapped at 0x%jdx but not reserved in the %s table.",
+ (intmax_t)ebda_addr, memory_map_name);
-
++
return FWTS_OK;
}
+
+--
+2.25.1
+
diff --git a/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch b/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch
deleted file mode 100644
index 4baefe4a4c..0000000000
--- a/meta-oe/recipes-test/fwts/fwts/0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From ed988c27efde5355c3ba9d0de8a14a4a40f798cc Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 6 Jun 2017 07:25:09 -0700
-Subject: [PATCH] Include poll.h instead of deprecated sys/poll.h
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/lib/src/fwts_ipmi.c | 3 ++-
- src/lib/src/fwts_pipeio.c | 2 +-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/lib/src/fwts_ipmi.c b/src/lib/src/fwts_ipmi.c
-index a4c8a511..e298969e 100644
---- a/src/lib/src/fwts_ipmi.c
-+++ b/src/lib/src/fwts_ipmi.c
-@@ -18,10 +18,11 @@
- *
- */
-
-+#include <poll.h>
-+
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
--#include <sys/poll.h>
- #include <sys/ioctl.h>
- #include <linux/ipmi.h>
-
-diff --git a/src/lib/src/fwts_pipeio.c b/src/lib/src/fwts_pipeio.c
-index 3b3cfaff..289564d1 100644
---- a/src/lib/src/fwts_pipeio.c
-+++ b/src/lib/src/fwts_pipeio.c
-@@ -30,9 +30,9 @@
- #include <stdlib.h>
- #include <string.h>
- #include <paths.h>
-+#include <poll.h>
-
- #include <sys/param.h>
--#include <sys/poll.h>
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <errno.h>
diff --git a/meta-oe/recipes-test/fwts/fwts/0001-Makefile.am-Add-missing-link-with-zlib.patch b/meta-oe/recipes-test/fwts/fwts/0001-Makefile.am-Add-missing-link-with-zlib.patch
new file mode 100644
index 0000000000..358f7c424d
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts/0001-Makefile.am-Add-missing-link-with-zlib.patch
@@ -0,0 +1,43 @@
+From dd97e711b13af6f770db27abec316d5c9271c777 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 12 Jun 2023 10:25:55 -0700
+Subject: [PATCH] Makefile.am: Add missing link with zlib
+
+It uses functions e.g. gzopen/gzclone/gzgets which are provided by zlib
+therefore add it to linker flags.
+
+Fixes
+| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: gzgets
+| >>> referenced by ../src/lib/src/.libs/libfwts.so
+|
+| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: gzopen
+| >>> referenced by ../src/lib/src/.libs/libfwts.so
+|
+| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: gzclose
+| >>> referenced by ../src/lib/src/.libs/libfwts.so
+| clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
+| make[3]: *** [Makefile:2301: fwts] Error 1
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/lib/src/Makefile.am b/src/lib/src/Makefile.am
+index 76c48d4..45eea88 100644
+--- a/src/lib/src/Makefile.am
++++ b/src/lib/src/Makefile.am
+@@ -30,7 +30,7 @@ pkglib_LTLIBRARIES = libfwts.la
+ libfwts_la_LDFLAGS = -version-info 1:0:0
+
+ libfwts_la_LIBADD = \
+- -lm -lpthread -lbsd \
++ -lm -lpthread -lbsd -lz \
+ @GIO_LIBS@ \
+ @GLIB_LIBS@
+
+--
+2.41.0
+
diff --git a/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch b/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
deleted file mode 100644
index 93a42213bb..0000000000
--- a/meta-oe/recipes-test/fwts/fwts/0001-Remove-Werror-from-build.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 475979cf5c1af978f4e8409666365ec75b3320ea Mon Sep 17 00:00:00 2001
-From: Benjamin Berg <bberg@redhat.com>
-Date: Mon, 21 Aug 2017 10:34:40 +0200
-Subject: [PATCH] Remove -Werror from build
-
-Upstream-Status: Pending
-
----
- src/Makefile.am | 2 +-
- src/lib/src/Makefile.am | 2 +-
- src/utilities/Makefile.am | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -14,7 +14,7 @@ AM_CPPFLAGS = \
- `pkg-config --silence-errors --cflags json` \
- `pkg-config --silence-errors --cflags json-c` \
- -pthread `pkg-config --cflags glib-2.0 gio-2.0` \
-- -Wall -Werror -Wextra \
-+ -Wall -Wextra \
- -Wno-address-of-packed-member \
- -Wfloat-equal -Wmissing-declarations \
- -Wno-long-long -Wredundant-decls -Wshadow \
---- a/src/lib/src/Makefile.am
-+++ b/src/lib/src/Makefile.am
-@@ -25,7 +25,7 @@ AM_CPPFLAGS = \
- `pkg-config --silence-errors --cflags json-c` \
- `pkg-config --cflags glib-2.0 gio-2.0` \
- -DDATAROOTDIR=\"$(datarootdir)\" \
-- -Wall -Werror -Wextra \
-+ -Wall -Wextra \
- -Wno-address-of-packed-member
-
- pkglib_LTLIBRARIES = libfwts.la
---- a/src/utilities/Makefile.am
-+++ b/src/utilities/Makefile.am
-@@ -16,7 +16,7 @@
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- #
-
--AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \
-+AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \
- `pkg-config --silence-errors --cflags json` \
- `pkg-config --silence-errors --cflags json-c`
-
diff --git a/meta-oe/recipes-test/fwts/fwts/0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch b/meta-oe/recipes-test/fwts/fwts/0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch
new file mode 100644
index 0000000000..90bee3e722
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts/0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch
@@ -0,0 +1,68 @@
+From 6135a318dd48787f1b6e1296c755d67575f44dc1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Dec 2022 15:18:55 -0800
+Subject: [PATCH] libfwtsiasl: Disable parallel builds of lex/bison files
+
+Since they are using mv cmds they maybe conflicting with each other in
+highly parallelized build resulting in errors like
+
+| mv dtcompilerparser.tab.c dtcompilerparser.c
+| mv dtcompilerparser.tab.c dtcompilerparser.c
+| cp dtcompilerparser.tab.h dtcompilerparser.y.h
+| mv dtcompilerparser.tab.c dtcompilerparser.c
+| mv: cannot stat 'dtcompilerparser.tab.c': No such file or directory
+| make[3]: *** [Makefile:4196: dtcompilerparser.c] Error 1
+| make[3]: *** Waiting for unfinished jobs....
+| mv: cannot stat 'dtcompilerparser.tab.c': No such file or directory
+| make[3]: *** [Makefile:4194: dtcompilerparser.y.h] Error 1
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/libfwtsiasl/Makefile.am | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/src/libfwtsiasl/Makefile.am
++++ b/src/libfwtsiasl/Makefile.am
+@@ -58,32 +58,24 @@ aslcompiler.y: $(ASL_PARSER)
+ aslcompilerlex.c: $(ASL_LEXER)
+ ${LEX} ${AM_LFLAGS} -PAslCompiler -o$@ $(top_srcdir)/src/acpica/source/compiler/aslcompiler.l
+
+-.NOTPARALLEL: aslcompiler.c
++.NOTPARALLEL: aslcompiler.c aslcompiler.y.h
+ aslcompiler.c aslcompiler.y.h: aslcompiler.y
+- ${YACC} ${AM_YFLAGS} -d -baslcompiler -pAslCompiler $^
+- mv aslcompiler.tab.c aslcompiler.c
+- cp aslcompiler.tab.h aslcompiler.y.h
++ ${YACC} ${AM_YFLAGS} -d -baslcompiler -pAslCompiler --header=aslcompiler.y.h --output=aslcompiler.c $^
+
+-.NOTPARALLEL: dtcompilerparserlex.c
++.NOTPARALLEL: dtcompilerparserlex.c dtcompilerparser.c dtcompilerparser.y.h
+ dtcompilerparserlex.c dtcompilerparser.c dtcompilerparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.l $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
+ ${LEX} ${AM_LFLAGS} -PDtCompilerParser -odtcompilerparserlex.c $<
+- ${YACC} ${AM_YFLAGS} -bdtcompilerparser -pDtCompilerParser $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
+- mv dtcompilerparser.tab.c dtcompilerparser.c
+- cp dtcompilerparser.tab.h dtcompilerparser.y.h
++ ${YACC} ${AM_YFLAGS} -bdtcompilerparser -pDtCompilerParser --header=dtcompilerparser.y.h --output=dtcompilerparser.c $(top_srcdir)/src/acpica/source/compiler/dtcompilerparser.y
+
+-.NOTPARALLEL: dtparserlex.c
++.NOTPARALLEL: dtparserlex.c dtparser.c dtparser.y.h
+ dtparserlex.c dtparser.c dtparser.y.h: $(top_srcdir)/src/acpica/source/compiler/dtparser.l $(top_srcdir)/src/acpica/source/compiler/dtparser.y
+ ${LEX} ${AM_LFLAGS} -PDtParser -odtparserlex.c $<
+- ${YACC} ${AM_YFLAGS} -bdtparser -pDtParser $(top_srcdir)/src/acpica/source/compiler/dtparser.y
+- mv dtparser.tab.c dtparser.c
+- cp dtparser.tab.h dtparser.y.h
++ ${YACC} ${AM_YFLAGS} -bdtparser -pDtParser --header=dtparser.y.h --output=dtparser.c $(top_srcdir)/src/acpica/source/compiler/dtparser.y
+
+-.NOTPARALLEL: prparserlex.c
++.NOTPARALLEL: prparserlex.c prparser.c prparser.y.h
+ prparserlex.c prparser.c prparser.y.h: $(top_srcdir)/src/acpica/source/compiler/prparser.l $(top_srcdir)/src/acpica/source/compiler/prparser.y
+ ${LEX} ${AM_LFLAGS} -PPrParser -oprparserlex.c $<
+- ${YACC} ${AM_YFLAGS} -bprparser -pPrParser $(top_srcdir)/src/acpica/source/compiler/prparser.y
+- mv prparser.tab.c prparser.c
+- cp prparser.tab.h prparser.y.h
++ ${YACC} ${AM_YFLAGS} -bprparser -pPrParser --header=prparser.y.h --output=prparser.c $(top_srcdir)/src/acpica/source/compiler/prparser.y
+
+ pkglib_LTLIBRARIES = libfwtsiasl.la
+
diff --git a/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch b/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch
deleted file mode 100644
index b45e46a3d9..0000000000
--- a/meta-oe/recipes-test/fwts/fwts/0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 1112e51d240a206bdcf253878ef1f4963b92da8a Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 6 Jun 2017 07:37:20 -0700
-Subject: [PATCH] Define __SWORD_TYPE if not defined by libc
-
-__SWORD_TYPE is internal to glibc, therefore
-check and define it if needed e.g. on musl
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/lib/src/fwts_uefi.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/lib/src/fwts_uefi.c b/src/lib/src/fwts_uefi.c
-index 544145fa..460b0b77 100644
---- a/src/lib/src/fwts_uefi.c
-+++ b/src/lib/src/fwts_uefi.c
-@@ -59,6 +59,10 @@ typedef struct {
- #define UEFI_IFACE_SYSFS (2) /* sysfs */
- #define UEFI_IFACE_EFIVARS (3) /* efivar fs */
-
-+#ifndef __SWORD_TYPE
-+typedef __typeof__( ((struct statfs *)0)->f_type ) __SWORD_TYPE;
-+#endif
-+
- /* File system magic numbers */
- #define PSTOREFS_MAGIC ((__SWORD_TYPE)0x6165676C)
- #define EFIVARFS_MAGIC ((__SWORD_TYPE)0xde5e81e4)
diff --git a/meta-oe/recipes-test/fwts/fwts/0003-Remove-Werror-from-build.patch b/meta-oe/recipes-test/fwts/fwts/0003-Remove-Werror-from-build.patch
new file mode 100644
index 0000000000..610113e6fe
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts/0003-Remove-Werror-from-build.patch
@@ -0,0 +1,45 @@
+From 7317aba872f2bcf052a7db9fa3c7a7ce3c55dc6b Mon Sep 17 00:00:00 2001
+From: Benjamin Berg <bberg@redhat.com>
+Date: Mon, 21 Aug 2017 10:34:40 +0200
+Subject: [PATCH 3/6] Remove -Werror from build
+
+Upstream-Status: Pending
+---
+ src/Makefile.am | 2 +-
+ src/lib/src/Makefile.am | 2 +-
+ src/utilities/Makefile.am | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -13,7 +13,7 @@ AM_CPPFLAGS = \
+ -I$(top_srcdir)/efi_runtime \
+ -I$(top_srcdir)/smccc_test \
+ -pthread \
+- -Wall -Werror -Wextra \
++ -Wall -Wextra \
+ -Wno-address-of-packed-member \
+ -Wfloat-equal -Wmissing-declarations \
+ -Wno-long-long -Wredundant-decls -Wshadow \
+--- a/src/lib/src/Makefile.am
++++ b/src/lib/src/Makefile.am
+@@ -22,7 +22,7 @@ AM_CPPFLAGS = \
+ -I$(top_srcdir)/src/acpica/source/include \
+ -I$(top_srcdir)/src/acpica/source/compiler \
+ -DDATAROOTDIR=\"$(datarootdir)\" \
+- -Wall -Werror -Wextra \
++ -Wall -Wextra \
+ -Wno-address-of-packed-member
+
+ pkglib_LTLIBRARIES = libfwts.la
+--- a/src/utilities/Makefile.am
++++ b/src/utilities/Makefile.am
+@@ -16,7 +16,7 @@
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ #
+
+-AM_CPPFLAGS = -Wall -Werror -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \
++AM_CPPFLAGS = -Wall -Wextra -DDATAROOTDIR=\"$(datarootdir)\" \
+ -I$(srcdir)/../lib/include
+
+ bin_PROGRAMS = kernelscan
diff --git a/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch b/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch
deleted file mode 100644
index 1d8c620efa..0000000000
--- a/meta-oe/recipes-test/fwts/fwts/0003-Undefine-PAGE_SIZE.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 244e9551ab9bbc1dfa91d19cd472ef254a94ae41 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 6 Jun 2017 07:39:28 -0700
-Subject: [PATCH] Undefine PAGE_SIZE
-
-musl defines PAGE_SIZE and build complains
-of multiple definitions
-
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/lib/src/fwts_acpi_tables.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
-index bdd224aa..58e982a6 100644
---- a/src/lib/src/fwts_acpi_tables.c
-+++ b/src/lib/src/fwts_acpi_tables.c
-@@ -42,6 +42,7 @@
- #define BIOS_START (0x000e0000) /* Start of BIOS memory */
- #define BIOS_END (0x000fffff) /* End of BIOS memory */
- #define BIOS_LENGTH (BIOS_END - BIOS_START) /* Length of BIOS memory */
-+#undef PAGE_SIZE
- #define PAGE_SIZE (4096)
-
- static fwts_acpi_table_info tables[ACPI_MAX_TABLES];
diff --git a/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch b/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch
deleted file mode 100644
index bebbfa4ad1..0000000000
--- a/meta-oe/recipes-test/fwts/fwts/0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 1848b8f8b9be500046ca5d632789a068d6151815 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 8 Jun 2017 16:50:59 -0700
-Subject: [PATCH] use intptr_t to fix pointer-to-int-cast issues
-
-uintptr_t is guaranteed to be wide enough that
-converting a void* to uintptr_t and back again
-will yield the original pointer value
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- src/lib/src/fwts_acpi_tables.c | 4 ++--
- src/lib/src/fwts_mmap.c | 2 +-
- src/lib/src/fwts_smbios.c | 4 ++--
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
-index 58e982a6..6522032f 100644
---- a/src/lib/src/fwts_acpi_tables.c
-+++ b/src/lib/src/fwts_acpi_tables.c
-@@ -156,7 +156,7 @@ static fwts_acpi_table_rsdp *fwts_acpi_get_rsdp(fwts_framework *fw, void *addr,
- return NULL;
- }
-
-- if ((mem = fwts_mmap((off_t)addr, sizeof(fwts_acpi_table_rsdp))) == FWTS_MAP_FAILED)
-+ if ((mem = fwts_mmap((uintptr_t)addr, sizeof(fwts_acpi_table_rsdp))) == FWTS_MAP_FAILED)
- return NULL;
-
- if (fwts_safe_memcpy(rsdp, mem, sizeof(fwts_acpi_table_rsdp)) != FWTS_OK) {
-@@ -455,7 +455,7 @@ static int fwts_acpi_load_tables_from_firmware(fwts_framework *fw)
- if ((rsdp = fwts_acpi_get_rsdp(fw, rsdp_addr, &rsdp_len)) == NULL)
- return FWTS_ERROR;
-
-- fwts_acpi_add_table("RSDP", rsdp, (uint64_t)(off_t)rsdp_addr, rsdp_len, FWTS_ACPI_TABLE_FROM_FIRMWARE);
-+ fwts_acpi_add_table("RSDP", rsdp, (uint64_t)(uintptr_t)rsdp_addr, rsdp_len, FWTS_ACPI_TABLE_FROM_FIRMWARE);
-
- /* Load any tables from XSDT if it's valid */
- if (rsdp->xsdt_address) {
-diff --git a/src/lib/src/fwts_mmap.c b/src/lib/src/fwts_mmap.c
-index e28abf87..2180b2cc 100644
---- a/src/lib/src/fwts_mmap.c
-+++ b/src/lib/src/fwts_mmap.c
-@@ -81,7 +81,7 @@ int fwts_munmap(void *mem, const size_t size)
- off_t offset;
-
- page_size = fwts_page_size();
-- offset = ((off_t)(mem)) & (page_size - 1);
-+ offset = ((uintptr_t)(mem)) & (page_size - 1);
-
- if (munmap((void *)((uint8_t *)mem - offset), size + offset) < 0)
- return FWTS_ERROR;
-diff --git a/src/lib/src/fwts_smbios.c b/src/lib/src/fwts_smbios.c
-index e5b3c774..c8134926 100644
---- a/src/lib/src/fwts_smbios.c
-+++ b/src/lib/src/fwts_smbios.c
-@@ -55,7 +55,7 @@ static void *fwts_smbios_find_entry_uefi(fwts_framework *fw, fwts_smbios_entry *
- fwts_smbios_entry *mapped_entry;
- const size_t size = sizeof(fwts_smbios_entry);
-
-- if ((mapped_entry = fwts_mmap((off_t)addr, size)) != FWTS_MAP_FAILED) {
-+ if ((mapped_entry = fwts_mmap((uintptr_t)addr, size)) != FWTS_MAP_FAILED) {
- if (fwts_safe_memcpy(entry, mapped_entry, size) == FWTS_OK) {
- (void)fwts_munmap(mapped_entry, size);
- *type = FWTS_SMBIOS;
-@@ -91,7 +91,7 @@ static void *fwts_smbios30_find_entry_uefi(fwts_framework *fw, fwts_smbios30_ent
- fwts_smbios30_entry *mapped_entry;
- const size_t size = sizeof(fwts_smbios30_entry);
-
-- if ((mapped_entry = fwts_mmap((off_t)addr, size)) != FWTS_MAP_FAILED) {
-+ if ((mapped_entry = fwts_mmap((uintptr_t)addr, size)) != FWTS_MAP_FAILED) {
- if (fwts_safe_memread(mapped_entry, size) == FWTS_OK) {
- *entry = *mapped_entry;
- (void)fwts_munmap(mapped_entry, size);
diff --git a/meta-oe/recipes-test/fwts/fwts/0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch b/meta-oe/recipes-test/fwts/fwts/0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch
new file mode 100644
index 0000000000..0c78e730e4
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts/0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch
@@ -0,0 +1,28 @@
+From 9456f2f779d3ed4a134d55571d8bec78ad3b28c1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Jun 2017 07:37:20 -0700
+Subject: [PATCH 4/6] Define __SWORD_TYPE if not defined by libc
+
+__SWORD_TYPE is internal to glibc, therefore
+check and define it if needed e.g. on musl
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/src/fwts_uefi.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/src/lib/src/fwts_uefi.c
++++ b/src/lib/src/fwts_uefi.c
+@@ -63,6 +63,10 @@ typedef struct {
+ #define UEFI_IFACE_SYSFS (2) /* sysfs */
+ #define UEFI_IFACE_EFIVARS (3) /* efivar fs */
+
++#ifndef __SWORD_TYPE
++typedef __typeof__( ((struct statfs *)0)->f_type ) __SWORD_TYPE;
++#endif
++
+ /* File system magic numbers */
+ #define PSTOREFS_MAGIC ((__SWORD_TYPE)0x6165676C)
+ #define EFIVARFS_MAGIC ((__SWORD_TYPE)0xde5e81e4)
diff --git a/meta-oe/recipes-test/fwts/fwts/0005-Undefine-PAGE_SIZE.patch b/meta-oe/recipes-test/fwts/fwts/0005-Undefine-PAGE_SIZE.patch
new file mode 100644
index 0000000000..df768d1e9d
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts/0005-Undefine-PAGE_SIZE.patch
@@ -0,0 +1,25 @@
+From 53b9f97fb7faed043134f2ab738347b20379d32f Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 6 Jun 2017 07:39:28 -0700
+Subject: [PATCH 5/6] Undefine PAGE_SIZE
+
+musl defines PAGE_SIZE and build complains
+of multiple definitions
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/src/fwts_acpi_tables.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/src/lib/src/fwts_acpi_tables.c
++++ b/src/lib/src/fwts_acpi_tables.c
+@@ -40,6 +40,7 @@
+ #define BIOS_START (0x000e0000) /* Start of BIOS memory */
+ #define BIOS_END (0x000fffff) /* End of BIOS memory */
+ #define BIOS_LENGTH (BIOS_END - BIOS_START) /* Length of BIOS memory */
++#undef PAGE_SIZE
+ #define PAGE_SIZE (4096)
+
+ static fwts_acpi_table_info tables[ACPI_MAX_TABLES];
diff --git a/meta-oe/recipes-test/fwts/fwts/0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch b/meta-oe/recipes-test/fwts/fwts/0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch
new file mode 100644
index 0000000000..b723b87c7a
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts/0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch
@@ -0,0 +1,60 @@
+From f723458eb649a9ad1d5d0e3dd6e801b284680fa7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 8 Jun 2017 16:50:59 -0700
+Subject: [PATCH 6/6] use intptr_t to fix pointer-to-int-cast issues
+
+uintptr_t is guaranteed to be wide enough that
+converting a void* to uintptr_t and back again
+will yield the original pointer value
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/lib/src/fwts_acpi_tables.c | 4 ++--
+ src/lib/src/fwts_mmap.c | 2 +-
+ src/lib/src/fwts_smbios.c | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+--- a/src/lib/src/fwts_acpi_tables.c
++++ b/src/lib/src/fwts_acpi_tables.c
+@@ -171,7 +171,7 @@ static fwts_acpi_table_rsdp *fwts_acpi_g
+ return NULL;
+ }
+
+- if ((mem = fwts_mmap((off_t)addr, sizeof(fwts_acpi_table_rsdp))) == FWTS_MAP_FAILED)
++ if ((mem = fwts_mmap((uintptr_t)addr, sizeof(fwts_acpi_table_rsdp))) == FWTS_MAP_FAILED)
+ return NULL;
+
+ if (fwts_safe_memcpy(rsdp, mem, sizeof(fwts_acpi_table_rsdp)) != FWTS_OK) {
+@@ -484,7 +484,7 @@ static int fwts_acpi_load_tables_from_fi
+ if ((rsdp = fwts_acpi_get_rsdp(fw, rsdp_addr, &rsdp_len)) == NULL)
+ return FWTS_ERROR;
+
+- fwts_acpi_add_table("RSDP", rsdp, (uint64_t)(off_t)rsdp_addr, rsdp_len, FWTS_ACPI_TABLE_FROM_FIRMWARE);
++ fwts_acpi_add_table("RSDP", rsdp, (uint64_t)(uintptr_t)rsdp_addr, rsdp_len, FWTS_ACPI_TABLE_FROM_FIRMWARE);
+
+ /* Load any tables from XSDT if it's valid */
+ if (rsdp->xsdt_address) {
+--- a/src/lib/src/fwts_mmap.c
++++ b/src/lib/src/fwts_mmap.c
+@@ -82,7 +82,7 @@ int fwts_munmap(void *mem, const size_t
+ off_t offset;
+
+ page_size = fwts_page_size();
+- offset = ((off_t)(mem)) & (page_size - 1);
++ offset = ((uintptr_t)(mem)) & (page_size - 1);
+
+ if (munmap((void *)((uint8_t *)mem - offset), size + offset) < 0)
+ return FWTS_ERROR;
+--- a/src/lib/src/fwts_smbios.c
++++ b/src/lib/src/fwts_smbios.c
+@@ -78,7 +78,7 @@ static void *fwts_smbios_find_entry_uefi
+ if ((addr = fwts_scan_efi_systab(smbios)) != NULL) {
+ fwts_smbios_entry *mapped_entry;
+
+- if ((mapped_entry = fwts_mmap((off_t)addr, size)) != FWTS_MAP_FAILED) {
++ if ((mapped_entry = fwts_mmap((uintptr_t)addr, size)) != FWTS_MAP_FAILED) {
+ if (fwts_safe_memcpy(entry, mapped_entry, size) == FWTS_OK) {
+ (void)fwts_munmap(mapped_entry, size);
+ *type = FWTS_SMBIOS;
diff --git a/meta-oe/recipes-test/fwts/fwts_20.07.00.bb b/meta-oe/recipes-test/fwts/fwts_20.07.00.bb
deleted file mode 100644
index 28565eb8ca..0000000000
--- a/meta-oe/recipes-test/fwts/fwts_20.07.00.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Firmware testsuite"
-DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
-HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
-
-SRC_URI = "http://fwts.ubuntu.com/release/fwts-V${PV}.tar.gz;subdir=${BP} \
- file://0001-Include-poll.h-instead-of-deprecated-sys-poll.h.patch \
- file://0002-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
- file://0003-Undefine-PAGE_SIZE.patch \
- file://0001-Add-correct-printf-qualifier-for-off_t.patch \
- file://0003-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \
- file://0001-Remove-Werror-from-build.patch \
- "
-SRC_URI[sha256sum] = "4a8e0211b388efbcfcb6530297e9a924d0afa2d6db58e9db2f031129eda6d66f"
-
-COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
-
-DEPENDS = "libpcre json-c glib-2.0 dtc bison-native libbsd"
-DEPENDS_append_libc-musl = " libexecinfo"
-
-inherit autotools-brokensep bash-completion pkgconfig
-
-CFLAGS += "-I${STAGING_INCDIR}/json-c -Wno-error=unknown-pragmas"
-LDFLAGS_append_libc-musl = " -lexecinfo"
-
-FILES_${PN} += "${libdir}/fwts/lib*${SOLIBS}"
-FILES_${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
-FILES_${PN}-staticdev += "${libdir}/fwts/lib*a"
-FILES_${PN}-dbg += "${libdir}/fwts/.debug"
-
diff --git a/meta-oe/recipes-test/fwts/fwts_22.11.00.bb b/meta-oe/recipes-test/fwts/fwts_22.11.00.bb
new file mode 100644
index 0000000000..2448082620
--- /dev/null
+++ b/meta-oe/recipes-test/fwts/fwts_22.11.00.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Firmware testsuite"
+DESCRIPTION = "The tool fwts comprises of over fifty tests that are designed to exercise and test different aspects of a machine's firmware. Many of these tests need super user access to read BIOS data and ACPI tables, so the tool requires running with super user privileges (e.g. with sudo)."
+HOMEPAGE = "https://wiki.ubuntu.com/Kernel/Reference/fwts"
+
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=16;md5=31da590f3e9f3bd34dcdb9e4db568519"
+
+SRC_URI = "http://fwts.ubuntu.com/release/fwts-V${PV}.tar.gz;subdir=${BP} \
+ file://0001-Add-correct-printf-qualifier-for-off_t.patch \
+ file://0003-Remove-Werror-from-build.patch \
+ file://0004-Define-__SWORD_TYPE-if-not-defined-by-libc.patch \
+ file://0005-Undefine-PAGE_SIZE.patch \
+ file://0006-use-intptr_t-to-fix-pointer-to-int-cast-issues.patch \
+ file://0001-libfwtsiasl-Disable-parallel-builds-of-lex-bison-fil.patch \
+ file://0001-Makefile.am-Add-missing-link-with-zlib.patch \
+ "
+SRC_URI[sha256sum] = "4af4e1e0f1ae9313297af722d744ba47a81c81bc5bdeab3f4f40837a39e4b808"
+
+COMPATIBLE_HOST = "(i.86|x86_64|aarch64|powerpc64).*-linux"
+
+DEPENDS = "libpcre glib-2.0 dtc bison-native flex-native libbsd"
+DEPENDS:append:libc-musl = " libexecinfo"
+
+inherit autotools bash-completion pkgconfig
+
+LDFLAGS:append:libc-musl = " -lexecinfo"
+
+# We end up linker barfing with undefined symbols on ppc64 but not on other arches
+# surprisingly
+ASNEEDED:powerpc64le = ""
+
+FILES:${PN} += "${libdir}/fwts/lib*${SOLIBS}"
+FILES:${PN}-dev += "${libdir}/fwts/lib*${SOLIBSDEV} ${libdir}/fwts/lib*.la"
+FILES:${PN}-staticdev += "${libdir}/fwts/lib*a"
+
+RDEPENDS:${PN} += "dtc"
diff --git a/meta-oe/recipes-test/googletest/googletest_1.14.0.bb b/meta-oe/recipes-test/googletest/googletest_1.14.0.bb
new file mode 100644
index 0000000000..6546845715
--- /dev/null
+++ b/meta-oe/recipes-test/googletest/googletest_1.14.0.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "Google's framework for writing C++ tests"
+HOMEPAGE = "https://github.com/google/googletest"
+SECTION = "libs"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
+
+PROVIDES += "gmock gtest"
+
+S = "${WORKDIR}/git"
+SRCREV = "f8d7d77c06936315286eb55f8de22cd23c188571"
+SRC_URI = "git://github.com/google/googletest.git;branch=main;protocol=https"
+
+inherit cmake pkgconfig
+
+# allow for shared libraries, but do not default to them
+#
+PACKAGECONFIG[shared] = "-DBUILD_SHARED_LIBS=ON,-DBUILD_SHARED_LIBS=OFF,,"
+
+CXXFLAGS:append = " -fPIC"
+
+ALLOW_EMPTY:${PN} = "1"
+ALLOW_EMPTY:${PN}-dbg = "1"
+
+# -staticdev will not be implicitly put into an SDK, so we add an rdepend
+# if we are not building shared libraries
+#
+RDEPENDS:${PN}-dev += "${@bb.utils.contains("PACKAGECONFIG","shared","","${PN}-staticdev",d)}"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_configure:prepend() {
+ # explicitly use python3
+ # the scripts are already python3 compatible since https://github.com/google/googletest/commit/d404af0d987a9c38cafce82a7e26ec8468c88361 and other fixes like this
+ # but since this oe-core change http://git.openembedded.org/openembedded-core/commit/?id=5f8f16b17f66966ae91aeabc23e97de5ecd17447
+ # there isn't python in HOSTTOOLS so "env python" fails
+ sed -i 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@g' ${S}/googlemock/test/*py ${S}/googletest/test/*py
+}
diff --git a/meta-oe/recipes-test/googletest/googletest_git.bb b/meta-oe/recipes-test/googletest/googletest_git.bb
deleted file mode 100644
index 354e7de337..0000000000
--- a/meta-oe/recipes-test/googletest/googletest_git.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "Google's framework for writing C++ tests"
-HOMEPAGE = "https://github.com/google/googletest"
-SECTION = "libs"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://googlemock/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
- file://googletest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
-
-PV = "1.10.0"
-
-PROVIDES += "gmock gtest"
-
-S = "${WORKDIR}/git"
-SRCREV = "703bd9caab50b139428cea1aaff9974ebee5742e"
-SRC_URI = "git://github.com/google/googletest.git"
-
-inherit cmake
-
-ALLOW_EMPTY_${PN} = "1"
-ALLOW_EMPTY_${PN}-dbg = "1"
-
-RDEPENDS_${PN}-dev += "${PN}-staticdev"
-
-BBCLASSEXTEND = "native nativesdk"
-
-do_configure_prepend() {
- # explicitly use python3
- # the scripts are already python3 compatible since https://github.com/google/googletest/commit/d404af0d987a9c38cafce82a7e26ec8468c88361 and other fixes like this
- # but since this oe-core change http://git.openembedded.org/openembedded-core/commit/?id=5f8f16b17f66966ae91aeabc23e97de5ecd17447
- # there isn't python in HOSTTOOLS so "env python" fails
- sed -i 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@g' ${S}/googlemock/scripts/*py ${S}/googlemock/scripts/generator/*py ${S}/googlemock/scripts/generator/cpp/*py ${S}/googlemock/test/*py ${S}/googletest/scripts/*py ${S}/googletest/test/*py
-}
diff --git a/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch b/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch
new file mode 100644
index 0000000000..ff04837652
--- /dev/null
+++ b/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch
@@ -0,0 +1,45 @@
+From 735bb5d053efad274aa4ea5a6682e656ff792909 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 24 Aug 2023 01:49:48 -0700
+Subject: [PATCH] Makefile: Detect compiler in makefile
+
+Add compiler specific options based on detected compiler gcc/clang
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 62e924c..c15eb33 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -110,7 +110,23 @@ PREFIX ?= /usr/local
+ LIBDIRNAME ?= /lib/faketime
+ PLATFORM ?=$(shell uname)
+
+-CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
++ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1)
++COMPILER := clang
++else
++COMPILER := gcc
++endif
++export COMPILER
++
++CFLAGS += -std=gnu99 -Wall -Wextra -Werror -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
++
++ifeq ($(COMPILER),clang)
++CFLAGS += -Wno-tautological-pointer-compare
++endif
++
++ifeq ($(COMPILER),gcc)
++CFLAGS += -Wno-nonnull-compare
++endif
++
+ ifeq ($(PLATFORM),SunOS)
+ CFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=600
+ endif
+--
+2.42.0
+
diff --git a/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb b/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb
new file mode 100644
index 0000000000..f13925ee18
--- /dev/null
+++ b/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "A library for faking the system time in user-space programs"
+SECTION = "libs"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV = "d475b925943ad404c6c728ac868dc73949e7281c"
+
+SRC_URI = "git://github.com/wolfcw/libfaketime.git;branch=master;protocol=https \
+ file://0001-Makefile-Detect-compiler-in-makefile.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+CFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE"
+
+do_configure[noexec] = "1"
+do_compile () {
+ oe_runmake
+}
+do_install () {
+ install -d ${D}${libdir}/faketime
+ oe_libinstall -C src libfaketime ${D}${libdir}/faketime
+ install -d ${D}${bindir}
+ install -m 0755 src/faketime ${D}${bindir}
+}
+
+FILES:${PN} = "${bindir}/faketime ${libdir}/faketime/lib*${SOLIBS}"
+FILES:${PN}-dev += "${libdir}/faketime/lib*${SOLIBSDEV}"
diff --git a/meta-oe/recipes-test/linux-serial-test/linux-serial-test_git.bb b/meta-oe/recipes-test/linux-serial-test/linux-serial-test_git.bb
new file mode 100644
index 0000000000..e909676abc
--- /dev/null
+++ b/meta-oe/recipes-test/linux-serial-test/linux-serial-test_git.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "Linux Serial Test Application"
+HOMEPAGE = "https://github.com/cbrake/linux-serial-test"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSES/MIT;md5=544799d0b492f119fa04641d1b8868ed"
+
+SRC_URI = "git://github.com/cbrake/linux-serial-test.git;protocol=https;branch=master"
+
+PV = "0+git"
+SRCREV = "2ee61484167eab846f7b7c565284d7c350d738d3"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
diff --git a/meta-oe/recipes-test/pm-qa/pm-qa_git.bb b/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
index 7e9971ea4c..fc21e6192e 100644
--- a/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
+++ b/meta-oe/recipes-test/pm-qa/pm-qa_git.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Utilities for testing Power Management"
HOMEPAGE = "https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/PmQa"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PV = "0.5.2"
@@ -42,6 +42,7 @@ do_install () {
do
# Remove hardcoded relative paths
sed -i -e 's#..\/utils\/##' ${script}
+ sed -i -e 's#. ..\/Switches#${bindir}#g' ${script}
script_basename=`basename ${script}`
install -m 0755 $script ${D}${libdir}/${BPN}/${script_basename}
@@ -54,7 +55,7 @@ do_install () {
# if the script includes any helper scripts from the $libdir
# directory then change the source path to the absolute path
# to reflect the install location of the helper scripts.
- sed -i -e "s#source ../include#source ${libdir}/${BPN}#g" ${script}
+ sed -i -e "s#. ../include#. ${libdir}/${BPN}#g" ${script}
# Remove hardcoded relative paths
sed -i -e 's#..\/utils\/##' ${script}
@@ -62,7 +63,7 @@ do_install () {
install -m 0755 $script ${D}${bindir}/${script_basename}
done
}
-RDEPENDS_${PN} +="bash"
+RDEPENDS:${PN} +="bash"
# http://errors.yoctoproject.org/Errors/Details/186956/
-COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb b/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb
new file mode 100644
index 0000000000..683600f712
--- /dev/null
+++ b/meta-oe/recipes-test/shunit2/shunit2_2.1.8.bb
@@ -0,0 +1,13 @@
+SUMMARY = "shUnit2 is a xUnit based unit test framework for Bourne based shell scripts"
+HOMEPAGE = "https://github.com/kward/shunit2"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
+
+SRC_URI = " git://github.com/kward/shunit2.git;branch=master;protocol=https"
+SRCREV = "080159b303537888c5d41910b4d47a5002638e30"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+ install -D -m 0755 ${S}/shunit2 ${D}${bindir}/shunit2
+}
diff --git a/meta-oe/recipes-test/syzkaller/syzkaller/0001-executor-Include-missing-linux-falloc.h.patch b/meta-oe/recipes-test/syzkaller/syzkaller/0001-executor-Include-missing-linux-falloc.h.patch
new file mode 100644
index 0000000000..23bfb9a5e2
--- /dev/null
+++ b/meta-oe/recipes-test/syzkaller/syzkaller/0001-executor-Include-missing-linux-falloc.h.patch
@@ -0,0 +1,37 @@
+From 9db789b4498d4130450e988757914c03e42b40f5 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 19 Jun 2023 18:33:36 -0700
+Subject: [PATCH] executor: Include missing linux/falloc.h
+
+Its needed for FALLOC_FL_ZERO_RANGE which needs this header, it works
+with glibc because fcntl.h includes this header indirectly, however the
+failure comes to fore with musl C library where this header is not
+included indirectly by other system headers, therefore include it as
+required.
+
+Fixes
+In file included from executor/common.h:505:
+executor/common_linux.h:5604:16: error: use of undeclared identifier 'FALLOC_FL_ZERO_RANGE'
+ fallocate(fd, FALLOC_FL_ZERO_RANGE, 0, SWAP_FILE_SIZE);
+ ^
+Upstream-Status: Submitted [https://github.com/google/syzkaller/pull/3974]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ executor/common_linux.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/executor/common_linux.h b/executor/common_linux.h
+index d5152e058..9ae3fb159 100644
+--- a/executor/common_linux.h
++++ b/executor/common_linux.h
+@@ -5585,6 +5585,7 @@ static long syz_pkey_set(volatile long pkey, volatile long val)
+ #include <sys/stat.h>
+ #include <sys/swap.h>
+ #include <sys/types.h>
++#include <linux/falloc.h>
+
+ #define SWAP_FILE "./swap-file"
+ #define SWAP_FILE_SIZE (128 * 1000 * 1000) // 128 MB.
+--
+2.41.0
+
diff --git a/meta-oe/recipes-test/syzkaller/syzkaller/0001-sys-targets-targets.go-allow-users-to-override-hardc.patch b/meta-oe/recipes-test/syzkaller/syzkaller/0001-sys-targets-targets.go-allow-users-to-override-hardc.patch
new file mode 100644
index 0000000000..61f4351651
--- /dev/null
+++ b/meta-oe/recipes-test/syzkaller/syzkaller/0001-sys-targets-targets.go-allow-users-to-override-hardc.patch
@@ -0,0 +1,62 @@
+From aca1030d29f627314d13884ebc7b2c313d718df7 Mon Sep 17 00:00:00 2001
+From: Ovidiu Panait <ovidiu.panait@windriver.com>
+Date: Wed, 13 Apr 2022 17:17:54 +0300
+Subject: [PATCH] sys/targets/targets.go: allow users to override hardcoded
+ cross-compilers
+
+Currently, cross compiler names are hardcoded for each os/arch combo. However,
+toolchain tuples differ, especially when using vendor provided toolchains.
+Allow users to specify the cross compiler for an os/arch combo using
+SYZ_CC_<os>_<arch> environment variables.
+
+Also, remove hardcoded "-march=armv6" flag to fix compilation on arm.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+---
+ sys/targets/targets.go | 19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+--- a/sys/targets/targets.go
++++ b/sys/targets/targets.go
+@@ -262,7 +262,6 @@ var List = map[string]map[string]*Target
+ PtrSize: 4,
+ PageSize: 4 << 10,
+ LittleEndian: true,
+- CFlags: []string{"-D__LINUX_ARM_ARCH__=6", "-march=armv6"},
+ Triple: "arm-linux-gnueabi",
+ KernelArch: "arm",
+ KernelHeaderArch: "arm",
+@@ -700,12 +699,16 @@ func initTarget(target *Target, OS, arch
+ for i := range target.CFlags {
+ target.replaceSourceDir(&target.CFlags[i], sourceDir)
+ }
+- if OS == Linux && arch == runtime.GOARCH {
+- // Don't use cross-compiler for native compilation, there are cases when this does not work:
+- // https://github.com/google/syzkaller/pull/619
+- // https://github.com/google/syzkaller/issues/387
+- // https://github.com/google/syzkaller/commit/06db3cec94c54e1cf720cdd5db72761514569d56
+- target.Triple = ""
++ if OS == Linux {
++ if cc := os.Getenv("SYZ_CC_" + OS + "_" + arch); cc != "" {
++ target.CCompiler = cc
++ } else if arch == runtime.GOARCH {
++ // Don't use cross-compiler for native compilation, there are cases when this does not work:
++ // https://github.com/google/syzkaller/pull/619
++ // https://github.com/google/syzkaller/issues/387
++ // https://github.com/google/syzkaller/commit/06db3cec94c54e1cf720cdd5db72761514569d56
++ target.Triple = ""
++ }
+ }
+ if target.CCompiler == "" {
+ target.setCompiler(useClang)
+@@ -839,7 +842,7 @@ func (target *Target) lazyInit() {
+ // On CI we want to fail loudly if cross-compilation breaks.
+ // Also fail if SOURCEDIR_GOOS is set b/c in that case user probably assumes it will work.
+ if (target.OS != runtime.GOOS || !runningOnCI) && getSourceDir(target) == "" {
+- if _, err := exec.LookPath(target.CCompiler); err != nil {
++ if _, err := exec.LookPath(strings.Fields(target.CCompiler)[0]); err != nil {
+ target.BrokenCompiler = fmt.Sprintf("%v is missing (%v)", target.CCompiler, err)
+ return
+ }
diff --git a/meta-oe/recipes-test/syzkaller/syzkaller_git.bb b/meta-oe/recipes-test/syzkaller/syzkaller_git.bb
new file mode 100644
index 0000000000..b43207f2a7
--- /dev/null
+++ b/meta-oe/recipes-test/syzkaller/syzkaller_git.bb
@@ -0,0 +1,82 @@
+DESCRIPTION = "syzkaller is an unsupervised coverage-guided kernel fuzzer"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=5335066555b14d832335aa4660d6c376"
+
+inherit go-mod
+
+GO_IMPORT = "github.com/google/syzkaller"
+
+SRC_URI = "git://${GO_IMPORT};protocol=https;destsuffix=${BPN}-${PV}/src/${GO_IMPORT};branch=master \
+ file://0001-sys-targets-targets.go-allow-users-to-override-hardc.patch;patchdir=src/${GO_IMPORT} \
+ file://0001-executor-Include-missing-linux-falloc.h.patch;patchdir=src/${GO_IMPORT} \
+ "
+SRCREV = "25905f5d0a2a7883bd33491997556193582c6059"
+
+export GOPROXY = "https://proxy.golang.org,direct"
+# Workaround for network access issue during compile step.
+# This needs to be fixed in the recipes buildsystem so that
+# it can be accomplished during do_fetch task.
+do_compile[network] = "1"
+
+COMPATIBLE_HOST = "(x86_64|i.86|arm|aarch64).*-linux"
+
+B = "${S}/src/${GO_IMPORT}/bin"
+
+GO_EXTRA_LDFLAGS += ' -X ${GO_IMPORT}/prog.GitRevision=${SRCREV}'
+
+export GOHOSTFLAGS="${GO_LINKSHARED} ${GOBUILDFLAGS}"
+export GOTARGETFLAGS="${GO_LINKSHARED} ${GOBUILDFLAGS}"
+export TARGETOS = '${GOOS}'
+export TARGETARCH = '${GOARCH}'
+export TARGETVMARCH = '${GOARCH}'
+
+CGO_ENABLED = "1"
+
+LDFLAGS:append:class-target = "${@bb.utils.contains_any("TC_CXX_RUNTIME", "llvm android", " -lc++", " -lstdc++", d)}"
+
+DEPENDS:class-native += "qemu-system-native"
+
+do_compile:class-native() {
+ export HOSTOS="${GOHOSTOS}"
+ export HOSTARCH="${GOHOSTARCH}"
+
+ oe_runmake HOSTGO="${GO}" host
+}
+
+do_compile:class-target() {
+ export HOSTOS="${GOOS}"
+ export HOSTARCH="${GOARCH}"
+ export SYZ_CC_${TARGETOS}_${TARGETARCH}="${CC}"
+
+ # Unset GOOS and GOARCH so that the correct syz-sysgen binary can be
+ # generated. Fixes:
+ # go install: cannot install cross-compiled binaries when GOBIN is set
+ unset GOOS
+ unset GOARCH
+
+ oe_runmake GO="${GO}" CFLAGS="${CXXFLAGS} ${LDFLAGS}" REV=${SRCREV} target
+}
+
+do_install:class-native() {
+ SYZ_BINS_NATIVE="syz-manager syz-runtest syz-repro syz-mutate syz-prog2c \
+ syz-db syz-upgrade"
+
+ install -d ${D}${bindir}
+
+ for i in ${SYZ_BINS_NATIVE}; do
+ install -m 0755 ${B}/${i} ${D}${bindir}
+ done
+}
+
+do_install:class-target() {
+ SYZ_TARGET_DIR="${TARGETOS}_${TARGETARCH}"
+ SYZ_BINS_TARGET="syz-fuzzer syz-execprog syz-stress syz-executor"
+
+ install -d ${D}${bindir}/${SYZ_TARGET_DIR}
+
+ for i in ${SYZ_BINS_TARGET}; do
+ install -m 0755 ${B}/${SYZ_TARGET_DIR}/${i} ${D}${bindir}/${SYZ_TARGET_DIR}
+ done
+}
+
+BBCLASSEXTEND += "native"
diff --git a/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch b/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch
index 9f41bf2da0..908a352d0b 100644
--- a/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch
+++ b/meta-oe/recipes-test/testfloat/files/0001-Makefile-for-cross-compile-SoftFloat.patch
@@ -9,6 +9,8 @@ from Fabio Berton <fabio.berton@ossystems.com.br>.
Signed-off-by: Zong Li <zongbox@gmail.com>
---
+Upstream-Status: Pending
+
SoftFloat-3e/build/Linux-Cross-Compile/Makefile | 325 ++++++++++++++++++++++
SoftFloat-3e/build/Linux-Cross-Compile/platform.h | 52 ++++
2 files changed, 377 insertions(+)
diff --git a/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch b/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
index b7d861f8fc..c99ba71b37 100644
--- a/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
+++ b/meta-oe/recipes-test/testfloat/files/0002-Makefile-for-cross-compile-TestFloat.patch
@@ -9,6 +9,8 @@ from Fabio Berton <fabio.berton@ossystems.com.br>.
Signed-off-by: Zong Li <zongbox@gmail.com>
---
+Upstream-Status: Pending
+
TestFloat-3e/build/Linux-Cross-Compile/Makefile | 353 ++++++++++++++++++++++
TestFloat-3e/build/Linux-Cross-Compile/platform.h | 48 +++
2 files changed, 401 insertions(+)